From 8e3c43b7fc76ee67f446019d881738e97528e72d Mon Sep 17 00:00:00 2001 From: Zane Kaminski Date: Wed, 16 Aug 2023 21:04:05 -0400 Subject: [PATCH] MachXO2 stuff --- CPLD/LCMXO2-640HC-old/.run_manager.ini | 9 - CPLD/LCMXO2-640HC-old/.setting.ini | 4 - CPLD/LCMXO2-640HC-old/EFB.ipx | 8 - CPLD/LCMXO2-640HC-old/EFB.sort | 1 - CPLD/LCMXO2-640HC-old/EFB.sym | Bin 464 -> 0 bytes CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC.ldf | 14 - CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC.lpf | 215 - .../RAM2GS_LCMXO2_640HC_tcl.html | 112 - .../pn210817003052.tcr | 6 - .../pn210817054927.tcr | 9 - .../pn210817062320.tcr | 24 - .../pn211010064144.tcr | 6 - CPLD/LCMXO2-640HC-old/impl1/.build_status | 46 - .../.vdbs/RAM2GS_LCMXO2_640HC_impl1_map.vdb | Bin 91027 -> 0 bytes .../impl1/.vdbs/RAM2GS_rtl.vdb | Bin 147042 -> 0 bytes .../impl1/.vdbs/RAM2GS_tech.vdb | Bin 116485 -> 0 bytes CPLD/LCMXO2-640HC-old/impl1/.vdbs/dbStat.txt | 1 - .../impl1/IBIS/RAM2GS_LCMXO2_640HC~.ibs | 2837 -- .../impl1/RAM2GS_LCMXO2_640HC_impl1.arearep | 22 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.bgn | 86 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.bit | Bin 6667 -> 0 bytes .../RAM2GS_LCMXO2_640HC_impl1.dir/5_1.ncd | Bin 302666 -> 0 bytes .../RAM2GS_LCMXO2_640HC_impl1.dir/5_1.pad | 273 - .../RAM2GS_LCMXO2_640HC_impl1.dir/5_1_par.asd | 41 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.jed | 1431 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.lpf | 4 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.lsedata | 9954 ------ .../impl1/RAM2GS_LCMXO2_640HC_impl1.mrp | 402 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.mt | 9 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.ncd | Bin 302666 -> 0 bytes .../impl1/RAM2GS_LCMXO2_640HC_impl1.ngd | Bin 234541 -> 0 bytes .../impl1/RAM2GS_LCMXO2_640HC_impl1.p3t | 5 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.pad | 273 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.prf | 158 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.t2b | 5 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.tw1 | 2547 -- .../impl1/RAM2GS_LCMXO2_640HC_impl1.twr | 4466 --- .../impl1/RAM2GS_LCMXO2_640HC_impl1_bgn.html | 152 - .../RAM2GS_LCMXO2_640HC_impl1_iotiming.html | 198 - .../RAM2GS_LCMXO2_640HC_impl1_lattice.synproj | 41 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_map.cam | 94 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_map.hrr | 10 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_map.ncd | Bin 212106 -> 0 bytes .../impl1/RAM2GS_LCMXO2_640HC_impl1_mrp.html | 428 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_pad.html | 338 - .../RAM2GS_LCMXO2_640HC_impl1_summary.html | 83 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_tw1.html | 2780 -- .../impl1/RAM2GS_LCMXO2_640HC_impl1_twr.html | 4699 --- CPLD/LCMXO2-640HC-old/impl1/RAM2GS_drc.log | 15 - CPLD/LCMXO2-640HC-old/impl1/RAM2GS_lse.twr | 335 - .../impl1/RAM2GS_lse_lsetwr.html | 400 - CPLD/LCMXO2-640HC-old/impl1/RAM2GS_prim.v | 1243 - CPLD/LCMXO2-640HC-old/impl1/automake.log | 982 - .../impl1/hdla_gen_hierarchy.html | 12 - .../impl1/ram2gs_lcmxo2_640hc_impl1.ior | 133 - .../impl1/ram2gs_lcmxo2_640hc_impl1_trce.asd | 91 - CPLD/LCMXO2-640HC-old/impl1/synthesis.log | 271 - .../LCMXO2-640HC-old/impl1/synthesis_lse.html | 336 - .../impl1/xxx_lse_cp_file_list | 350 - CPLD/LCMXO2-640HC-old/impl1/xxx_lse_sign_file | 350 - CPLD/LCMXO2-640HC/.floorplanner.ini | 14 + CPLD/LCMXO2-640HC/.setting.ini | 1 - CPLD/LCMXO2-640HC/.spreadsheet_view.ini | 2 +- ...M2GS_LCMXO2_640HC.ldf => LCMXO2_640HC.ldf} | 10 +- CPLD/LCMXO2-640HC/LCMXO2_640HC.lpf | 2 + .../LCMXO2_640HC1.sty} | 0 ...2_640HC_tcl.html => LCMXO2_640HC_tcl.html} | 26 +- .../LCMXO2_640HC_tcr.dir/pn230816203441.tcr | 7 + .../LCMXO2_640HC_tcr.dir/pn230816210353.tcr | 24 + ...2GS_LCMXO2_640HC.ccl => RAM2GS-LCMXO2.ccl} | 0 CPLD/LCMXO2-640HC/RAM2GS_LCMXO2_640HC1.sty | 205 - .../pn230815045824.tcr | 9 - .../pn230815050055.tcr | 4 - .../pn230816015720.tcr | 79 - .../EFB.edn => LCMXO2-640HC/REFB.edn} | 16 +- CPLD/LCMXO2-640HC/REFB.ipx | 8 + .../EFB.lpc => LCMXO2-640HC/REFB.lpc} | 10 +- .../EFB.naf => LCMXO2-640HC/REFB.naf} | 0 CPLD/LCMXO2-640HC/REFB.sort | 1 + .../EFB.srp => LCMXO2-640HC/REFB.srp} | 16 +- CPLD/LCMXO2-640HC/REFB.sym | Bin 0 -> 466 bytes .../EFB.v => LCMXO2-640HC/REFB.v} | 10 +- .../REFB_generate.log} | 18 +- .../EFB_tmpl.v => LCMXO2-640HC/REFB_tmpl.v} | 6 +- .../_math_real.vhd | 0 .../generate_core.tcl | 2 +- .../generate_ngd.tcl | 58 +- CPLD/LCMXO2-640HC/hdlparser.log | 3 - CPLD/LCMXO2-640HC/impl1/.build_status | 53 +- .../.vdbs/RAM2GS_LCMXO2_640HC_impl1_map.vdb | Bin 67964 -> 0 bytes CPLD/LCMXO2-640HC/impl1/.vdbs/RAM2GS_rtl.vdb | Bin 74346 -> 0 bytes CPLD/LCMXO2-640HC/impl1/.vdbs/RAM2GS_tech.vdb | Bin 67453 -> 0 bytes CPLD/LCMXO2-640HC/impl1/.vdbs/dbStat.txt | 1 - .../impl1/LCMXO2_640HC_impl1.alt} | 110 +- .../impl1/LCMXO2_640HC_impl1.areasrr | 42 + ...640HC_impl1.bgn => LCMXO2_640HC_impl1.bgn} | 14 +- .../impl1/LCMXO2_640HC_impl1.dir/5_1.ncd | Bin 0 -> 278109 bytes .../5_1.pad | 20 +- .../impl1/LCMXO2_640HC_impl1.dir}/5_1.par | 148 +- .../5_1_par.asd | 20 +- .../LCMXO2_640HC_impl1.par} | 14 +- .../impl1/LCMXO2_640HC_impl1.drc} | 0 .../{impl1.edi => LCMXO2_640HC_impl1.edi} | 2997 +- ...640HC_impl1.fse => LCMXO2_640HC_impl1.fse} | 0 .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.htm | 9 + ...640HC_impl1.jed => LCMXO2_640HC_impl1.jed} | 767 +- .../impl1/LCMXO2_640HC_impl1.log} | 0 ...640HC_impl1.mrp => LCMXO2_640HC_impl1.mrp} | 298 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ncd | Bin 0 -> 278109 bytes .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ngd | Bin 0 -> 207794 bytes .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ngo | Bin 0 -> 108369 bytes .../impl1/LCMXO2_640HC_impl1.p2t} | 0 .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.p3t | 5 + ...640HC_impl1.pad => LCMXO2_640HC_impl1.pad} | 20 +- .../impl1/LCMXO2_640HC_impl1.par} | 162 +- ...640HC_impl1.prf => LCMXO2_640HC_impl1.prf} | 6 +- .../impl1/LCMXO2_640HC_impl1.pt} | 0 .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srd | Bin 0 -> 36801 bytes .../{impl1.srr => LCMXO2_640HC_impl1.srf} | 799 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srm | Bin 0 -> 38081 bytes .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srr | 1209 + .../impl1/LCMXO2_640HC_impl1.srr.db | Bin 0 -> 16384 bytes .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srs | Bin 0 -> 13269 bytes ...640HC_impl1.t2b => LCMXO2_640HC_impl1.t2b} | 0 ...1_bgn.html => LCMXO2_640HC_impl1_bgn.html} | 12 +- ...pl1_cck.rpt => LCMXO2_640HC_impl1_cck.rpt} | 10 +- ...k.rpt.db => LCMXO2_640HC_impl1_cck.rpt.db} | Bin 8192 -> 8192 bytes .../impl1/LCMXO2_640HC_impl1_map.asd} | 12 +- ...pl1_map.cam => LCMXO2_640HC_impl1_map.cam} | 65 +- .../impl1/LCMXO2_640HC_impl1_map.hrr | 20 + .../impl1/LCMXO2_640HC_impl1_map.ncd | Bin 0 -> 197654 bytes ...1_mrp.html => LCMXO2_640HC_impl1_mrp.html} | 237 +- .../LCMXO2_640HC_impl1_multi_srs_gen.htm | 9 + ...pl1_ngd.asd => LCMXO2_640HC_impl1_ngd.asd} | 0 ...1_pad.html => LCMXO2_640HC_impl1_pad.html} | 20 +- .../impl1/LCMXO2_640HC_impl1_par.html} | 162 +- ...1_scck.rpt => LCMXO2_640HC_impl1_scck.rpt} | 50 +- ....rpt.db => LCMXO2_640HC_impl1_scck.rpt.db} | Bin ...y.html => LCMXO2_640HC_impl1_summary.html} | 12 +- ....html => LCMXO2_640HC_impl1_synplify.html} | 835 +- ...fy.lpf => LCMXO2_640HC_impl1_synplify.lpf} | 0 ...fy.tcl => LCMXO2_640HC_impl1_synplify.tcl} | 17 +- ...f => LCMXO2_640HC_impl1_synplify_tmp2.lpf} | 0 ...f => LCMXO2_640HC_impl1_synplify_tmp4.lpf} | 0 ...f => LCMXO2_640HC_impl1_synplify_tmp8.lpf} | 0 .../impl1/RAM2GS_LCMXO2_640HC_impl1.alt | 75 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.arearep | 21 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.areasrr | 29 - .../RAM2GS_LCMXO2_640HC_impl1.dir/5_1.ncd | Bin 204561 -> 0 bytes .../RAM2GS_LCMXO2_640HC_impl1.dir/5_1.par | 214 - .../RAM2GS_LCMXO2_640HC_impl1.par | 28 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.drc | 1 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.edi | 2989 -- .../impl1/RAM2GS_LCMXO2_640HC_impl1.htm | 9 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.log | 4 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.lpf | 4 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.lsedata | 6331 ---- .../impl1/RAM2GS_LCMXO2_640HC_impl1.mt | 9 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.ncd | Bin 204561 -> 0 bytes .../impl1/RAM2GS_LCMXO2_640HC_impl1.ngd | Bin 153585 -> 0 bytes .../impl1/RAM2GS_LCMXO2_640HC_impl1.ngo | Bin 75951 -> 0 bytes .../impl1/RAM2GS_LCMXO2_640HC_impl1.p2t | 9 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.p3t | 5 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.par | 242 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.pt | 10 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.srd | Bin 22959 -> 0 bytes .../impl1/RAM2GS_LCMXO2_640HC_impl1.srf | 964 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.srm | Bin 30417 -> 0 bytes .../impl1/RAM2GS_LCMXO2_640HC_impl1.srr | 964 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.srr.db | Bin 16384 -> 0 bytes .../impl1/RAM2GS_LCMXO2_640HC_impl1.srs | Bin 10332 -> 0 bytes .../impl1/RAM2GS_LCMXO2_640HC_impl1.tw1 | 417 - .../impl1/RAM2GS_LCMXO2_640HC_impl1.twr | 2253 -- .../impl1/RAM2GS_LCMXO2_640HC_impl1_cck.rpt | 155 - .../RAM2GS_LCMXO2_640HC_impl1_iotiming.html | 203 - .../RAM2GS_LCMXO2_640HC_impl1_lattice.synproj | 41 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_map.asd | 15 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_map.hrr | 12 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_map.ncd | Bin 149601 -> 0 bytes .../RAM2GS_LCMXO2_640HC_impl1_mapvho.sdf | 3483 -- .../RAM2GS_LCMXO2_640HC_impl1_mapvho.vho | 27823 ---------------- .../impl1/RAM2GS_LCMXO2_640HC_impl1_mapvo.sdf | 3483 -- .../impl1/RAM2GS_LCMXO2_640HC_impl1_mapvo.vo | 4093 --- ...AM2GS_LCMXO2_640HC_impl1_multi_srs_gen.htm | 9 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_par.html | 310 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_scck.rpt | 59 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_tw1.html | 506 - .../impl1/RAM2GS_LCMXO2_640HC_impl1_twr.html | 2342 -- CPLD/LCMXO2-640HC/impl1/RAM2GS_drc.log | 15 - CPLD/LCMXO2-640HC/impl1/RAM2GS_lse.twr | 297 - .../LCMXO2-640HC/impl1/RAM2GS_lse_lsetwr.html | 362 - CPLD/LCMXO2-640HC/impl1/RAM2GS_prim.v | 802 - CPLD/LCMXO2-640HC/impl1/automake.log | 1493 +- .../impl1/backup/LCMXO2_640HC_impl1.srr | 832 + .../backup/RAM2GS_LCMXO2_640HC_impl1.srr | 911 - CPLD/LCMXO2-640HC/impl1/dm/layer0.xdm | 182 +- .../impl1/hdla_gen_hierarchy.html | 11 +- CPLD/LCMXO2-640HC/impl1/impl1.areasrr | 29 - CPLD/LCMXO2-640HC/impl1/impl1.htm | 9 - CPLD/LCMXO2-640HC/impl1/impl1.srd | Bin 22971 -> 0 bytes CPLD/LCMXO2-640HC/impl1/impl1.srm | Bin 30371 -> 0 bytes CPLD/LCMXO2-640HC/impl1/impl1.srr.db | Bin 16384 -> 0 bytes CPLD/LCMXO2-640HC/impl1/impl1.srs | Bin 10256 -> 0 bytes CPLD/LCMXO2-640HC/impl1/impl1.xcf | 52 - CPLD/LCMXO2-640HC/impl1/impl1_cck.rpt.db | Bin 8192 -> 0 bytes CPLD/LCMXO2-640HC/impl1/impl1_syn.prj | 76 - CPLD/LCMXO2-640HC/impl1/impl1_synplify.lpf | 24 - .../impl1/impl1_synplify_tmp8.lpf | 0 CPLD/LCMXO2-640HC/impl1/launch_synplify.tcl | 55 - .../impl1/ram2gs_lcmxo2_640hc_impl1.ior | 138 - .../impl1/ram2gs_lcmxo2_640hc_impl1_trce.asd | 17 - CPLD/LCMXO2-640HC/impl1/run_options.txt | 16 +- CPLD/LCMXO2-640HC/impl1/scratchproject.prs | 14 +- CPLD/LCMXO2-640HC/impl1/stdout.log | 43 +- CPLD/LCMXO2-640HC/impl1/stdout.log.bak.1 | 44 +- CPLD/LCMXO2-640HC/impl1/stdout.log.bak.2 | 70 +- CPLD/LCMXO2-640HC/impl1/stdout.log.bak.3 | 70 +- CPLD/LCMXO2-640HC/impl1/stdout.log.bak.4 | 42 +- CPLD/LCMXO2-640HC/impl1/stdout.log.bak.5 | 67 +- CPLD/LCMXO2-640HC/impl1/synlog.tcl | 2 +- .../LCMXO2_640HC_impl1_comp.rt.csv.rptmap | 1 + ...er.srr => LCMXO2_640HC_impl1_compiler.srr} | 42 +- ....db => LCMXO2_640HC_impl1_compiler.srr.db} | Bin 8192 -> 8192 bytes .../LCMXO2_640HC_impl1_compiler.srr.rptmap | 1 + ...srr => LCMXO2_640HC_impl1_fpga_mapper.srr} | 619 +- ... => LCMXO2_640HC_impl1_fpga_mapper.srr.db} | Bin 8192 -> 8192 bytes .../synlog/LCMXO2_640HC_impl1_fpga_mapper.szr | Bin 0 -> 22628 bytes ...r => LCMXO2_640HC_impl1_multi_srs_gen.srr} | 6 +- .../LCMXO2_640HC_impl1_multi_srs_gen.srr.db} | Bin ...emap.srr => LCMXO2_640HC_impl1_premap.srr} | 91 +- ...rr.db => LCMXO2_640HC_impl1_premap.srr.db} | Bin 8192 -> 8192 bytes .../synlog/LCMXO2_640HC_impl1_premap.szr | Bin 0 -> 12566 bytes ...emap.xck => LCMXO2_640HC_impl1_premap.xck} | 0 ...M2GS_LCMXO2_640HC_impl1_comp.rt.csv.rptmap | 1 - ...2GS_LCMXO2_640HC_impl1_compiler.srr.rptmap | 1 - .../RAM2GS_LCMXO2_640HC_impl1_fpga_mapper.srr | 657 - .../RAM2GS_LCMXO2_640HC_impl1_fpga_mapper.szr | Bin 20755 -> 0 bytes ...GS_LCMXO2_640HC_impl1_multi_srs_gen.srr.db | Bin 8192 -> 0 bytes .../RAM2GS_LCMXO2_640HC_impl1_premap.srr | 162 - .../RAM2GS_LCMXO2_640HC_impl1_premap.srr.db | Bin 8192 -> 0 bytes .../RAM2GS_LCMXO2_640HC_impl1_premap.szr | Bin 12443 -> 0 bytes .../impl1/synlog/impl1_comp.rt.csv.rptmap | 1 - .../impl1/synlog/impl1_compiler.srr | 112 - .../impl1/synlog/impl1_compiler.srr.db | Bin 8192 -> 0 bytes .../impl1/synlog/impl1_compiler.srr.rptmap | 1 - .../impl1/synlog/impl1_fpga_mapper.srr.db | Bin 8192 -> 0 bytes .../impl1/synlog/impl1_fpga_mapper.szr | Bin 21850 -> 0 bytes .../impl1/synlog/impl1_multi_srs_gen.srr | 29 - .../impl1/synlog/impl1_premap.srr.db | Bin 8192 -> 0 bytes .../impl1/synlog/impl1_premap.szr | Bin 12410 -> 0 bytes .../impl1/synlog/impl1_premap.xck | 4 - .../LCMXO2_640HC_impl1_compiler_errors.txt | 2 + .../LCMXO2_640HC_impl1_compiler_notes.txt | 9 + .../LCMXO2_640HC_impl1_compiler_warnings.txt | 2 + ...LCMXO2_640HC_impl1_fpga_mapper_errors.txt} | 0 ... LCMXO2_640HC_impl1_fpga_mapper_notes.txt} | 11 +- ..._640HC_impl1_fpga_mapper_resourceusage.rpt | 28 + ...MXO2_640HC_impl1_fpga_mapper_warnings.txt} | 3 +- ...CMXO2_640HC_impl1_premap_combined_clk.rpt} | 6 +- .../LCMXO2_640HC_impl1_premap_errors.txt} | 0 ...xt => LCMXO2_640HC_impl1_premap_notes.txt} | 8 +- ...=> LCMXO2_640HC_impl1_premap_warnings.txt} | 0 ...M2GS_LCMXO2_640HC_impl1_compiler_notes.txt | 5 - ..._LCMXO2_640HC_impl1_fpga_mapper_errors.txt | 0 ..._640HC_impl1_fpga_mapper_resourceusage.rpt | 27 - ...AM2GS_LCMXO2_640HC_impl1_premap_errors.txt | 0 .../synlog/report/impl1_compiler_notes.txt | 9 - .../report/impl1_fpga_mapper_errors.txt | 0 .../synlog/report/impl1_fpga_mapper_notes.txt | 20 - .../impl1_fpga_mapper_resourceusage.rpt | 27 - .../report/impl1_fpga_mapper_warnings.txt | 6 - .../report/impl1_premap_combined_clk.rpt | 24 - .../synlog/report/impl1_premap_errors.txt | 0 .../synlog/report/impl1_premap_notes.txt | 27 - .../synlog/report/impl1_premap_warnings.txt | 1 - .../impl1/synlog/report/metrics.db | Bin 53248 -> 45056 bytes .../synlog/syntax_constraint_check.rpt.rptmap | 2 +- CPLD/LCMXO2-640HC/impl1/synthesis.log | 237 - CPLD/LCMXO2-640HC/impl1/synthesis_lse.html | 302 - .../impl1/syntmp/LCMXO2_640HC_impl1.plg | 29 + ... LCMXO2_640HC_impl1_multi_srs_gen_srr.htm} | 10 +- ... LCMXO2_640HC_impl1_multi_srs_gen_toc.htm} | 9 +- ...pl1_srr.htm => LCMXO2_640HC_impl1_srr.htm} | 914 +- .../impl1/syntmp/LCMXO2_640HC_impl1_toc.htm | 60 + .../syntmp/RAM2GS_LCMXO2_640HC_impl1.plg | 23 - .../syntmp/RAM2GS_LCMXO2_640HC_impl1_srr.htm | 983 - .../syntmp/RAM2GS_LCMXO2_640HC_impl1_toc.htm | 58 - .../impl1/syntmp/cmdrec_compiler.log | 12 +- .../impl1/syntmp/cmdrec_fpga_mapper.log | 14 +- .../impl1/syntmp/cmdrec_multi_srs_gen.log | 10 +- .../impl1/syntmp/cmdrec_premap.log | 18 +- CPLD/LCMXO2-640HC/impl1/syntmp/impl1.plg | 23 - CPLD/LCMXO2-640HC/impl1/syntmp/impl1_toc.htm | 55 - .../impl1/syntmp/statusReport.html | 41 +- CPLD/LCMXO2-640HC/impl1/synwork/.cckTransfer | Bin 465 -> 465 bytes .../synwork/LCMXO2_640HC_impl1_comp.fdep | 21 + ....rt.csv => LCMXO2_640HC_impl1_comp.rt.csv} | 0 .../impl1/synwork/LCMXO2_640HC_impl1_comp.srs | Bin 0 -> 21157 bytes .../impl1/synwork/LCMXO2_640HC_impl1_m.srm | Bin 0 -> 38081 bytes .../synwork/LCMXO2_640HC_impl1_m_srm/1.srm | Bin 0 -> 9931 bytes .../LCMXO2_640HC_impl1_m_srm/fileinfo.srm | Bin 0 -> 328 bytes ...1_mult.gcr => LCMXO2_640HC_impl1_mult.gcr} | 4 +- .../impl1/synwork/LCMXO2_640HC_impl1_mult.srs | Bin 0 -> 13269 bytes .../synwork/LCMXO2_640HC_impl1_mult_srs/1.srs | Bin 0 -> 4774 bytes .../LCMXO2_640HC_impl1_mult_srs/fileinfo.srs | Bin 0 -> 273 bytes .../LCMXO2_640HC_impl1_mult_srs/skeleton.srs | Bin 0 -> 1329 bytes .../LCMXO2_640HC_impl1_prem.fse} | 0 .../impl1/synwork/LCMXO2_640HC_impl1_prem.srd | Bin 0 -> 28839 bytes .../impl1/synwork/LCMXO2_640HC_impl1_prem.srm | Bin 0 -> 16330 bytes .../synwork/LCMXO2_640HC_impl1_prem_srm/1.srm | Bin 0 -> 7771 bytes .../LCMXO2_640HC_impl1_prem_srm/fileinfo.srm | Bin 0 -> 330 bytes .../LCMXO2_640HC_impl1_prem_srm/skeleton.srm | Bin 0 -> 1459 bytes .../RAM2GS_LCMXO2_640HC_impl1_comp.fdep | 16 - .../RAM2GS_LCMXO2_640HC_impl1_comp.srs | Bin 10463 -> 0 bytes .../synwork/RAM2GS_LCMXO2_640HC_impl1_m.srm | Bin 30417 -> 0 bytes .../RAM2GS_LCMXO2_640HC_impl1_m_srm/1.srm | Bin 1712 -> 0 bytes .../fileinfo.srm | Bin 308 -> 0 bytes .../RAM2GS_LCMXO2_640HC_impl1_mult.srs | Bin 10332 -> 0 bytes .../fileinfo.srs | Bin 252 -> 0 bytes .../skeleton.srs | Bin 842 -> 0 bytes .../RAM2GS_LCMXO2_640HC_impl1_prem.fse | 0 .../RAM2GS_LCMXO2_640HC_impl1_prem.srd | Bin 16785 -> 0 bytes .../RAM2GS_LCMXO2_640HC_impl1_prem.srm | Bin 13487 -> 0 bytes .../fileinfo.srm | Bin 309 -> 0 bytes .../skeleton.srm | Bin 951 -> 0 bytes .../impl1/synwork/impl1_comp.fdep | 16 - .../impl1/synwork/impl1_comp.rt.csv | 1 - .../LCMXO2-640HC/impl1/synwork/impl1_comp.srs | Bin 10465 -> 0 bytes CPLD/LCMXO2-640HC/impl1/synwork/impl1_m.srm | Bin 30371 -> 0 bytes .../impl1/synwork/impl1_m_srm/1.srm | Bin 1675 -> 0 bytes .../impl1/synwork/impl1_m_srm/fileinfo.srm | Bin 308 -> 0 bytes .../LCMXO2-640HC/impl1/synwork/impl1_mult.gcr | 26 - .../LCMXO2-640HC/impl1/synwork/impl1_mult.srs | Bin 10256 -> 0 bytes .../impl1/synwork/impl1_mult_srs/fileinfo.srs | Bin 252 -> 0 bytes .../impl1/synwork/impl1_mult_srs/skeleton.srs | Bin 825 -> 0 bytes .../LCMXO2-640HC/impl1/synwork/impl1_prem.fse | 0 .../LCMXO2-640HC/impl1/synwork/impl1_prem.srd | Bin 16785 -> 0 bytes .../LCMXO2-640HC/impl1/synwork/impl1_prem.srm | Bin 13456 -> 0 bytes .../impl1/synwork/impl1_prem_srm/fileinfo.srm | Bin 309 -> 0 bytes .../impl1/synwork/impl1_prem_srm/skeleton.srm | Bin 934 -> 0 bytes .../impl1/synwork/incr_compile.rpt | 8 +- CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdep | 13 +- CPLD/LCMXO2-640HC/impl1/synwork/layer0.srs | Bin 9713 -> 24961 bytes CPLD/LCMXO2-640HC/impl1/synwork/layer0.tlg | 26 +- CPLD/LCMXO2-640HC/impl1/synwork/layer0.tlg.db | Bin 8192 -> 8192 bytes .../impl1/synwork/modulechange.db | Bin 24576 -> 24576 bytes CPLD/LCMXO2-640HC/impl1/xxx_lse_cp_file_list | 250 - CPLD/LCMXO2-640HC/impl1/xxx_lse_sign_file | 250 - .../msg_file.log | 16 +- CPLD/RAM2GS-AGM.v | 425 + ...2GS_LCMXO2_640HC.lpf => RAM2GS-LCMXO2.lpf} | 8 - CPLD/RAM2GS-LCMXO2.v | 1432 +- CPLD/RAM2GS-MAX.v | 899 +- CPLD/RAM2GS-SPI.v | 787 +- CPLD/RAM4GS-AGM.v | 426 - 355 files changed, 11501 insertions(+), 105646 deletions(-) delete mode 100644 CPLD/LCMXO2-640HC-old/.run_manager.ini delete mode 100644 CPLD/LCMXO2-640HC-old/.setting.ini delete mode 100644 CPLD/LCMXO2-640HC-old/EFB.ipx delete mode 100644 CPLD/LCMXO2-640HC-old/EFB.sort delete mode 100644 CPLD/LCMXO2-640HC-old/EFB.sym delete mode 100644 CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC.ldf delete mode 100644 CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC.lpf delete mode 100644 CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcl.html delete mode 100644 CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817003052.tcr delete mode 100644 CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817054927.tcr delete mode 100644 CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817062320.tcr delete mode 100644 CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn211010064144.tcr delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/.build_status delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/.vdbs/RAM2GS_LCMXO2_640HC_impl1_map.vdb delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/.vdbs/RAM2GS_rtl.vdb delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/.vdbs/RAM2GS_tech.vdb delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/.vdbs/dbStat.txt delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/IBIS/RAM2GS_LCMXO2_640HC~.ibs delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.arearep delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.bgn delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.bit delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.dir/5_1.ncd delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.dir/5_1.pad delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.dir/5_1_par.asd delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.jed delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.lpf delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.lsedata delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.mrp delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.mt delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.ncd delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.ngd delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.p3t delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.pad delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.prf delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.t2b delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.tw1 delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.twr delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_bgn.html delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_iotiming.html delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_lattice.synproj delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.cam delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.hrr delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.ncd delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_mrp.html delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_pad.html delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_summary.html delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_tw1.html delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_twr.html delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_drc.log delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_lse.twr delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_lse_lsetwr.html delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/RAM2GS_prim.v delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/automake.log delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/hdla_gen_hierarchy.html delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/ram2gs_lcmxo2_640hc_impl1.ior delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/ram2gs_lcmxo2_640hc_impl1_trce.asd delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/synthesis.log delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/synthesis_lse.html delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/xxx_lse_cp_file_list delete mode 100644 CPLD/LCMXO2-640HC-old/impl1/xxx_lse_sign_file create mode 100644 CPLD/LCMXO2-640HC/.floorplanner.ini rename CPLD/LCMXO2-640HC/{RAM2GS_LCMXO2_640HC.ldf => LCMXO2_640HC.ldf} (54%) create mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC.lpf rename CPLD/{LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC1.sty => LCMXO2-640HC/LCMXO2_640HC1.sty} (100%) rename CPLD/LCMXO2-640HC/{RAM2GS_LCMXO2_640HC_tcl.html => LCMXO2_640HC_tcl.html} (63%) create mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230816203441.tcr create mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230816210353.tcr rename CPLD/LCMXO2-640HC/{RAM2GS_LCMXO2_640HC.ccl => RAM2GS-LCMXO2.ccl} (100%) delete mode 100644 CPLD/LCMXO2-640HC/RAM2GS_LCMXO2_640HC1.sty delete mode 100644 CPLD/LCMXO2-640HC/RAM2GS_LCMXO2_640HC_tcr.dir/pn230815045824.tcr delete mode 100644 CPLD/LCMXO2-640HC/RAM2GS_LCMXO2_640HC_tcr.dir/pn230815050055.tcr delete mode 100644 CPLD/LCMXO2-640HC/RAM2GS_LCMXO2_640HC_tcr.dir/pn230816015720.tcr rename CPLD/{LCMXO2-640HC-old/EFB.edn => LCMXO2-640HC/REFB.edn} (98%) create mode 100644 CPLD/LCMXO2-640HC/REFB.ipx rename CPLD/{LCMXO2-640HC-old/EFB.lpc => LCMXO2-640HC/REFB.lpc} (89%) rename CPLD/{LCMXO2-640HC-old/EFB.naf => LCMXO2-640HC/REFB.naf} (100%) create mode 100644 CPLD/LCMXO2-640HC/REFB.sort rename CPLD/{LCMXO2-640HC-old/EFB.srp => LCMXO2-640HC/REFB.srp} (68%) create mode 100644 CPLD/LCMXO2-640HC/REFB.sym rename CPLD/{LCMXO2-640HC-old/EFB.v => LCMXO2-640HC/REFB.v} (92%) rename CPLD/{LCMXO2-640HC-old/EFB_generate.log => LCMXO2-640HC/REFB_generate.log} (70%) rename CPLD/{LCMXO2-640HC-old/EFB_tmpl.v => LCMXO2-640HC/REFB_tmpl.v} (64%) rename CPLD/{LCMXO2-640HC-old => LCMXO2-640HC}/_math_real.vhd (100%) rename CPLD/{LCMXO2-640HC-old => LCMXO2-640HC}/generate_core.tcl (98%) rename CPLD/{LCMXO2-640HC-old => LCMXO2-640HC}/generate_ngd.tcl (50%) delete mode 100644 CPLD/LCMXO2-640HC/hdlparser.log delete mode 100644 CPLD/LCMXO2-640HC/impl1/.vdbs/RAM2GS_LCMXO2_640HC_impl1_map.vdb delete mode 100644 CPLD/LCMXO2-640HC/impl1/.vdbs/RAM2GS_rtl.vdb delete mode 100644 CPLD/LCMXO2-640HC/impl1/.vdbs/RAM2GS_tech.vdb delete mode 100644 CPLD/LCMXO2-640HC/impl1/.vdbs/dbStat.txt rename CPLD/{LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.alt => LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.alt} (95%) create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.areasrr rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1.bgn => LCMXO2_640HC_impl1.bgn} (90%) create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1.ncd rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1.dir => LCMXO2_640HC_impl1.dir}/5_1.pad (95%) rename CPLD/{LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.dir => LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir}/5_1.par (56%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1.dir => LCMXO2_640HC_impl1.dir}/5_1_par.asd (69%) rename CPLD/{LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.dir/RAM2GS_LCMXO2_640HC_impl1.par => LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/LCMXO2_640HC_impl1.par} (66%) rename CPLD/{LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.drc => LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.drc} (100%) rename CPLD/LCMXO2-640HC/impl1/{impl1.edi => LCMXO2_640HC_impl1.edi} (51%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1.fse => LCMXO2_640HC_impl1.fse} (100%) create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.htm rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1.jed => LCMXO2_640HC_impl1.jed} (74%) rename CPLD/{LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.log => LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.log} (100%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1.mrp => LCMXO2_640HC_impl1.mrp} (58%) create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ncd create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ngd create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ngo rename CPLD/{LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.p2t => LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.p2t} (100%) create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.p3t rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1.pad => LCMXO2_640HC_impl1.pad} (95%) rename CPLD/{LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.par => LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.par} (57%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1.prf => LCMXO2_640HC_impl1.prf} (93%) rename CPLD/{LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.pt => LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.pt} (100%) create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srd rename CPLD/LCMXO2-640HC/impl1/{impl1.srr => LCMXO2_640HC_impl1.srf} (60%) create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srm create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srr create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srr.db create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srs rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1.t2b => LCMXO2_640HC_impl1.t2b} (100%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_bgn.html => LCMXO2_640HC_impl1_bgn.html} (91%) rename CPLD/LCMXO2-640HC/impl1/{impl1_cck.rpt => LCMXO2_640HC_impl1_cck.rpt} (93%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_cck.rpt.db => LCMXO2_640HC_impl1_cck.rpt.db} (92%) rename CPLD/{LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.asd => LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.asd} (72%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_map.cam => LCMXO2_640HC_impl1_map.cam} (73%) create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.hrr create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.ncd rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_mrp.html => LCMXO2_640HC_impl1_mrp.html} (61%) create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_multi_srs_gen.htm rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_ngd.asd => LCMXO2_640HC_impl1_ngd.asd} (100%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_pad.html => LCMXO2_640HC_impl1_pad.html} (94%) rename CPLD/{LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_par.html => LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_par.html} (61%) rename CPLD/LCMXO2-640HC/impl1/{impl1_scck.rpt => LCMXO2_640HC_impl1_scck.rpt} (51%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_scck.rpt.db => LCMXO2_640HC_impl1_scck.rpt.db} (100%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_summary.html => LCMXO2_640HC_impl1_summary.html} (93%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_synplify.html => LCMXO2_640HC_impl1_synplify.html} (50%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_synplify.lpf => LCMXO2_640HC_impl1_synplify.lpf} (100%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_synplify.tcl => LCMXO2_640HC_impl1_synplify.tcl} (80%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_synplify_tmp2.lpf => LCMXO2_640HC_impl1_synplify_tmp2.lpf} (100%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_synplify_tmp4.lpf => LCMXO2_640HC_impl1_synplify_tmp4.lpf} (100%) rename CPLD/LCMXO2-640HC/impl1/{RAM2GS_LCMXO2_640HC_impl1_synplify_tmp8.lpf => LCMXO2_640HC_impl1_synplify_tmp8.lpf} (100%) delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.alt delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.arearep delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.areasrr delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.dir/5_1.ncd delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.dir/5_1.par delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.dir/RAM2GS_LCMXO2_640HC_impl1.par delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.drc delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.edi delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.htm delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.log delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.lpf delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.lsedata delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.mt delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.ncd delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.ngd delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.ngo delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.p2t delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.p3t delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.par delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.pt delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.srd delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.srf delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.srr delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.srr.db delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.srs delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.tw1 delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1.twr delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_cck.rpt delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_iotiming.html delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_lattice.synproj delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_map.asd delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_map.hrr delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_map.ncd delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_mapvho.sdf delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_mapvho.vho delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_mapvo.sdf delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_mapvo.vo delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_multi_srs_gen.htm delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_par.html delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_scck.rpt delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_tw1.html delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_LCMXO2_640HC_impl1_twr.html delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_drc.log delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_lse.twr delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_lse_lsetwr.html delete mode 100644 CPLD/LCMXO2-640HC/impl1/RAM2GS_prim.v create mode 100644 CPLD/LCMXO2-640HC/impl1/backup/LCMXO2_640HC_impl1.srr delete mode 100644 CPLD/LCMXO2-640HC/impl1/backup/RAM2GS_LCMXO2_640HC_impl1.srr delete mode 100644 CPLD/LCMXO2-640HC/impl1/impl1.areasrr delete mode 100644 CPLD/LCMXO2-640HC/impl1/impl1.htm delete mode 100644 CPLD/LCMXO2-640HC/impl1/impl1.srd delete mode 100644 CPLD/LCMXO2-640HC/impl1/impl1.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/impl1.srr.db delete mode 100644 CPLD/LCMXO2-640HC/impl1/impl1.srs delete mode 100644 CPLD/LCMXO2-640HC/impl1/impl1.xcf delete mode 100644 CPLD/LCMXO2-640HC/impl1/impl1_cck.rpt.db delete mode 100644 CPLD/LCMXO2-640HC/impl1/impl1_syn.prj delete mode 100644 CPLD/LCMXO2-640HC/impl1/impl1_synplify.lpf delete mode 100644 CPLD/LCMXO2-640HC/impl1/impl1_synplify_tmp8.lpf delete mode 100644 CPLD/LCMXO2-640HC/impl1/launch_synplify.tcl delete mode 100644 CPLD/LCMXO2-640HC/impl1/ram2gs_lcmxo2_640hc_impl1.ior delete mode 100644 CPLD/LCMXO2-640HC/impl1/ram2gs_lcmxo2_640hc_impl1_trce.asd create mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_comp.rt.csv.rptmap rename CPLD/LCMXO2-640HC/impl1/synlog/{RAM2GS_LCMXO2_640HC_impl1_compiler.srr => LCMXO2_640HC_impl1_compiler.srr} (64%) rename CPLD/LCMXO2-640HC/impl1/synlog/{RAM2GS_LCMXO2_640HC_impl1_compiler.srr.db => LCMXO2_640HC_impl1_compiler.srr.db} (90%) create mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_compiler.srr.rptmap rename CPLD/LCMXO2-640HC/impl1/synlog/{impl1_fpga_mapper.srr => LCMXO2_640HC_impl1_fpga_mapper.srr} (57%) rename CPLD/LCMXO2-640HC/impl1/synlog/{RAM2GS_LCMXO2_640HC_impl1_fpga_mapper.srr.db => LCMXO2_640HC_impl1_fpga_mapper.srr.db} (61%) create mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_fpga_mapper.szr rename CPLD/LCMXO2-640HC/impl1/synlog/{RAM2GS_LCMXO2_640HC_impl1_multi_srs_gen.srr => LCMXO2_640HC_impl1_multi_srs_gen.srr} (87%) rename CPLD/LCMXO2-640HC/impl1/{impl1_scck.rpt.db => synlog/LCMXO2_640HC_impl1_multi_srs_gen.srr.db} (100%) rename CPLD/LCMXO2-640HC/impl1/synlog/{impl1_premap.srr => LCMXO2_640HC_impl1_premap.srr} (70%) rename CPLD/LCMXO2-640HC/impl1/synlog/{impl1_multi_srs_gen.srr.db => LCMXO2_640HC_impl1_premap.srr.db} (76%) create mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.szr rename CPLD/LCMXO2-640HC/impl1/synlog/{RAM2GS_LCMXO2_640HC_impl1_premap.xck => LCMXO2_640HC_impl1_premap.xck} (100%) delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/RAM2GS_LCMXO2_640HC_impl1_comp.rt.csv.rptmap delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/RAM2GS_LCMXO2_640HC_impl1_compiler.srr.rptmap delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/RAM2GS_LCMXO2_640HC_impl1_fpga_mapper.srr delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/RAM2GS_LCMXO2_640HC_impl1_fpga_mapper.szr delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/RAM2GS_LCMXO2_640HC_impl1_multi_srs_gen.srr.db delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/RAM2GS_LCMXO2_640HC_impl1_premap.srr delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/RAM2GS_LCMXO2_640HC_impl1_premap.srr.db delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/RAM2GS_LCMXO2_640HC_impl1_premap.szr delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/impl1_comp.rt.csv.rptmap delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/impl1_compiler.srr delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/impl1_compiler.srr.db delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/impl1_compiler.srr.rptmap delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/impl1_fpga_mapper.srr.db delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/impl1_fpga_mapper.szr delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/impl1_multi_srs_gen.srr delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/impl1_premap.srr.db delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/impl1_premap.szr delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/impl1_premap.xck create mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_compiler_errors.txt create mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_compiler_notes.txt create mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_compiler_warnings.txt rename CPLD/LCMXO2-640HC/impl1/{impl1.fse => synlog/report/LCMXO2_640HC_impl1_fpga_mapper_errors.txt} (100%) rename CPLD/LCMXO2-640HC/impl1/synlog/report/{RAM2GS_LCMXO2_640HC_impl1_fpga_mapper_notes.txt => LCMXO2_640HC_impl1_fpga_mapper_notes.txt} (51%) create mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_resourceusage.rpt rename CPLD/LCMXO2-640HC/impl1/synlog/report/{RAM2GS_LCMXO2_640HC_impl1_fpga_mapper_warnings.txt => LCMXO2_640HC_impl1_fpga_mapper_warnings.txt} (77%) rename CPLD/LCMXO2-640HC/impl1/synlog/report/{RAM2GS_LCMXO2_640HC_impl1_premap_combined_clk.rpt => LCMXO2_640HC_impl1_premap_combined_clk.rpt} (80%) rename CPLD/LCMXO2-640HC/impl1/{impl1_synplify_tmp2.lpf => synlog/report/LCMXO2_640HC_impl1_premap_errors.txt} (100%) rename CPLD/LCMXO2-640HC/impl1/synlog/report/{RAM2GS_LCMXO2_640HC_impl1_premap_notes.txt => LCMXO2_640HC_impl1_premap_notes.txt} (79%) rename CPLD/LCMXO2-640HC/impl1/synlog/report/{RAM2GS_LCMXO2_640HC_impl1_premap_warnings.txt => LCMXO2_640HC_impl1_premap_warnings.txt} (100%) delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/RAM2GS_LCMXO2_640HC_impl1_compiler_notes.txt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/RAM2GS_LCMXO2_640HC_impl1_fpga_mapper_errors.txt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/RAM2GS_LCMXO2_640HC_impl1_fpga_mapper_resourceusage.rpt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/RAM2GS_LCMXO2_640HC_impl1_premap_errors.txt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/impl1_compiler_notes.txt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/impl1_fpga_mapper_errors.txt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/impl1_fpga_mapper_notes.txt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/impl1_fpga_mapper_resourceusage.rpt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/impl1_fpga_mapper_warnings.txt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/impl1_premap_combined_clk.rpt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/impl1_premap_errors.txt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/impl1_premap_notes.txt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synlog/report/impl1_premap_warnings.txt delete mode 100644 CPLD/LCMXO2-640HC/impl1/synthesis.log delete mode 100644 CPLD/LCMXO2-640HC/impl1/synthesis_lse.html create mode 100644 CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1.plg rename CPLD/LCMXO2-640HC/impl1/syntmp/{RAM2GS_LCMXO2_640HC_impl1_multi_srs_gen_srr.htm => LCMXO2_640HC_impl1_multi_srs_gen_srr.htm} (82%) rename CPLD/LCMXO2-640HC/impl1/syntmp/{RAM2GS_LCMXO2_640HC_impl1_multi_srs_gen_toc.htm => LCMXO2_640HC_impl1_multi_srs_gen_toc.htm} (64%) rename CPLD/LCMXO2-640HC/impl1/syntmp/{impl1_srr.htm => LCMXO2_640HC_impl1_srr.htm} (55%) create mode 100644 CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_toc.htm delete mode 100644 CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1.plg delete mode 100644 CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1_srr.htm delete mode 100644 CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1_toc.htm delete mode 100644 CPLD/LCMXO2-640HC/impl1/syntmp/impl1.plg delete mode 100644 CPLD/LCMXO2-640HC/impl1/syntmp/impl1_toc.htm create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.fdep rename CPLD/LCMXO2-640HC/impl1/synwork/{RAM2GS_LCMXO2_640HC_impl1_comp.rt.csv => LCMXO2_640HC_impl1_comp.rt.csv} (100%) create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.srs create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_m.srm create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_m_srm/1.srm create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_m_srm/fileinfo.srm rename CPLD/LCMXO2-640HC/impl1/synwork/{RAM2GS_LCMXO2_640HC_impl1_mult.gcr => LCMXO2_640HC_impl1_mult.gcr} (97%) create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.srs create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult_srs/1.srs create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult_srs/fileinfo.srs create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult_srs/skeleton.srs rename CPLD/LCMXO2-640HC/impl1/{impl1_synplify_tmp4.lpf => synwork/LCMXO2_640HC_impl1_prem.fse} (100%) create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem.srd create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem.srm create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem_srm/1.srm create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem_srm/fileinfo.srm create mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem_srm/skeleton.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_comp.fdep delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_comp.srs delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_m.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_m_srm/1.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_m_srm/fileinfo.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_mult.srs delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_mult_srs/fileinfo.srs delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_mult_srs/skeleton.srs delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_prem.fse delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_prem.srd delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_prem.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_prem_srm/fileinfo.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_prem_srm/skeleton.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_comp.fdep delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_comp.rt.csv delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_comp.srs delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_m.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_m_srm/1.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_m_srm/fileinfo.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_mult.gcr delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_mult.srs delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_mult_srs/fileinfo.srs delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_mult_srs/skeleton.srs delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem.fse delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem.srd delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem_srm/fileinfo.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem_srm/skeleton.srm delete mode 100644 CPLD/LCMXO2-640HC/impl1/xxx_lse_cp_file_list delete mode 100644 CPLD/LCMXO2-640HC/impl1/xxx_lse_sign_file rename CPLD/{LCMXO2-640HC-old => LCMXO2-640HC}/msg_file.log (69%) create mode 100644 CPLD/RAM2GS-AGM.v rename CPLD/{LCMXO2-640HC/RAM2GS_LCMXO2_640HC.lpf => RAM2GS-LCMXO2.lpf} (93%) delete mode 100644 CPLD/RAM4GS-AGM.v diff --git a/CPLD/LCMXO2-640HC-old/.run_manager.ini b/CPLD/LCMXO2-640HC-old/.run_manager.ini deleted file mode 100644 index 8c0aa7b..0000000 --- a/CPLD/LCMXO2-640HC-old/.run_manager.ini +++ /dev/null @@ -1,9 +0,0 @@ -[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-old/.setting.ini b/CPLD/LCMXO2-640HC-old/.setting.ini deleted file mode 100644 index 449a648..0000000 --- a/CPLD/LCMXO2-640HC-old/.setting.ini +++ /dev/null @@ -1,4 +0,0 @@ -[General] -Map.auto_tasks=MapTrace -Export.auto_tasks=IBIS, Bitgen, Jedecgen -PAR.auto_tasks=PARTrace, IOTiming diff --git a/CPLD/LCMXO2-640HC-old/EFB.ipx b/CPLD/LCMXO2-640HC-old/EFB.ipx deleted file mode 100644 index 0954007..0000000 --- a/CPLD/LCMXO2-640HC-old/EFB.ipx +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/CPLD/LCMXO2-640HC-old/EFB.sort b/CPLD/LCMXO2-640HC-old/EFB.sort deleted file mode 100644 index 8437cdd..0000000 --- a/CPLD/LCMXO2-640HC-old/EFB.sort +++ /dev/null @@ -1 +0,0 @@ -EFB.v diff --git a/CPLD/LCMXO2-640HC-old/EFB.sym b/CPLD/LCMXO2-640HC-old/EFB.sym deleted file mode 100644 index 98635d35b1f64bfccca3395cd1f2b9bd133a0e8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 464 zcmYk2F-yZx5Xb-52x>(r;?Th%Lnm=~gCIyJX)_6Cs3?fOwuwS$r7^7r!4J?eh##P{ zba3og#9162J2^T#`hTy~7&!9dckk}qz3~b7IgAfkG6+>@ii@fo3a~3xni;lHsS(!G zwr+)qj?VV>)j1ke3f?@o!d%ep=m_Z2$GG_C?*rq9^se0Hy~5UD(QCwaQC6BX|ZFcYUCvD=sl zdh=}-XUq%Cuq735N3fQ*1ATjSt)t}TuM4p0)V%}Lq%6MF>B~|=T~0+%Vy&qUEl=${ zv8>W( - - - - - - - - - - - - - diff --git a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC.lpf b/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC.lpf deleted file mode 100644 index 746bae4..0000000 --- a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC.lpf +++ /dev/null @@ -1,215 +0,0 @@ -BLOCK RESETPATHS ; -BLOCK ASYNCPATHS ; -LOCATE COMP "Dout[0]" SITE "76" ; -LOCATE COMP "Dout[6]" SITE "78" ; -LOCATE COMP "Dout[7]" SITE "82" ; -LOCATE COMP "Dout[4]" SITE "83" ; -LOCATE COMP "Dout[5]" SITE "84" ; -LOCATE COMP "Dout[3]" SITE "85" ; -LOCATE COMP "Dout[1]" SITE "86" ; -LOCATE COMP "Dout[2]" SITE "87" ; -LOCATE COMP "Din[2]" SITE "88" ; -LOCATE COMP "Din[1]" SITE "96" ; -LOCATE COMP "Din[3]" SITE "97" ; -LOCATE COMP "Din[5]" SITE "98" ; -LOCATE COMP "Din[4]" SITE "99" ; -LOCATE COMP "Din[7]" SITE "1" ; -LOCATE COMP "Din[6]" SITE "2" ; -LOCATE COMP "Din[0]" SITE "3" ; -LOCATE COMP "LED" SITE "34" ; -LOCATE COMP "RA[0]" SITE "66" ; -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 "62" ; -LOCATE COMP "RA[10]" SITE "64" ; -LOCATE COMP "RA[11]" SITE "59" ; -LOCATE COMP "RBA[1]" SITE "60" ; -LOCATE COMP "RBA[0]" SITE "58" ; -LOCATE COMP "RCKE" SITE "53" ; -LOCATE COMP "RDQMH" SITE "51" ; -LOCATE COMP "RDQML" SITE "48" ; -LOCATE COMP "nRCAS" SITE "52" ; -LOCATE COMP "nRCS" SITE "57" ; -LOCATE COMP "nRRAS" SITE "54" ; -LOCATE COMP "nRWE" SITE "49" ; -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 "PHI2" SITE "8" ; -LOCATE COMP "RCLK" SITE "63" ; -LOCATE COMP "nCCAS" SITE "9" ; -LOCATE COMP "nCRAS" SITE "17" ; -LOCATE COMP "CROW[0]" SITE "10" ; -LOCATE COMP "CROW[1]" SITE "16" ; -LOCATE COMP "nFWE" SITE "15" ; -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" ; -IOBUF PORT "CROW[0]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "CROW[1]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "nCRAS" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "nCCAS" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "RCLK" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "PHI2" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "Din[0]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "Din[1]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "Din[2]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "Din[3]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "Din[4]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "Din[5]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "Din[6]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "Din[7]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "MAin[0]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "MAin[1]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "MAin[2]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "MAin[3]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "MAin[4]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "MAin[5]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "MAin[6]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "MAin[7]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "MAin[8]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "MAin[9]" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "nFWE" PULLMODE=NONE IO_TYPE=LVTTL33 ; -IOBUF PORT "Dout[0]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "Dout[1]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "Dout[2]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "Dout[3]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "Dout[4]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "Dout[5]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "Dout[6]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "Dout[7]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "LED" PULLMODE=NONE IO_TYPE=LVTTL33 DRIVE=16 SLEWRATE=SLOW ; -IOBUF PORT "RA[0]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[1]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[2]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[3]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[4]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[5]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[6]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[7]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[8]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[9]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[10]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[11]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RBA[0]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RBA[1]" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RCKE" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RDQMH" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RDQML" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "nRCAS" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "nRCS" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "nRRAS" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "nRWE" PULLMODE=NONE IO_TYPE=LVTTL33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RD[0]" PULLMODE=KEEPER IO_TYPE=LVTTL33 DRIVE=4 SLEWRATE=SLOW ; -IOBUF PORT "RD[1]" PULLMODE=KEEPER IO_TYPE=LVTTL33 DRIVE=4 SLEWRATE=SLOW ; -IOBUF PORT "RD[2]" PULLMODE=KEEPER IO_TYPE=LVTTL33 DRIVE=4 SLEWRATE=SLOW ; -IOBUF PORT "RD[3]" PULLMODE=KEEPER IO_TYPE=LVTTL33 DRIVE=4 SLEWRATE=SLOW ; -IOBUF PORT "RD[4]" PULLMODE=KEEPER IO_TYPE=LVTTL33 DRIVE=4 SLEWRATE=SLOW ; -IOBUF PORT "RD[5]" PULLMODE=KEEPER IO_TYPE=LVTTL33 DRIVE=4 SLEWRATE=SLOW ; -IOBUF PORT "RD[6]" PULLMODE=KEEPER IO_TYPE=LVTTL33 DRIVE=4 SLEWRATE=SLOW ; -IOBUF PORT "RD[7]" PULLMODE=KEEPER IO_TYPE=LVTTL33 DRIVE=4 SLEWRATE=SLOW ; -OUTPUT PORT "RD[7]" LOAD 20.000000 pF ; -OUTPUT PORT "RD[0]" LOAD 20.000000 pF ; -OUTPUT PORT "RD[1]" LOAD 20.000000 pF ; -OUTPUT PORT "RD[2]" LOAD 20.000000 pF ; -OUTPUT PORT "RD[3]" LOAD 20.000000 pF ; -OUTPUT PORT "RD[4]" LOAD 20.000000 pF ; -OUTPUT PORT "RD[5]" LOAD 20.000000 pF ; -OUTPUT PORT "RD[6]" LOAD 20.000000 pF ; -OUTPUT PORT "nRWE" LOAD 10.000000 pF ; -OUTPUT PORT "nRCAS" LOAD 10.000000 pF ; -OUTPUT PORT "nRCS" LOAD 10.000000 pF ; -OUTPUT PORT "nRRAS" LOAD 10.000000 pF ; -OUTPUT PORT "RDQML" LOAD 10.000000 pF ; -OUTPUT PORT "RDQMH" LOAD 10.000000 pF ; -OUTPUT PORT "RCKE" LOAD 10.000000 pF ; -OUTPUT PORT "RBA[1]" LOAD 10.000000 pF ; -OUTPUT PORT "RBA[0]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[11]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[10]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[9]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[8]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[7]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[6]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[5]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[4]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[3]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[2]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[1]" LOAD 10.000000 pF ; -OUTPUT PORT "RA[0]" LOAD 10.000000 pF ; -OUTPUT PORT "LED" LOAD 25.000000 pF ; -OUTPUT PORT "Dout[0]" LOAD 20.000000 pF ; -OUTPUT PORT "Dout[1]" LOAD 20.000000 pF ; -OUTPUT PORT "Dout[2]" LOAD 20.000000 pF ; -OUTPUT PORT "Dout[4]" LOAD 20.000000 pF ; -OUTPUT PORT "Dout[3]" LOAD 20.000000 pF ; -OUTPUT PORT "Dout[5]" LOAD 20.000000 pF ; -OUTPUT PORT "Dout[6]" LOAD 20.000000 pF ; -OUTPUT PORT "Dout[7]" LOAD 20.000000 pF ; -USE PRIMARY NET "PHI2_c" ; -USE PRIMARY NET "RCLK_c" ; -VOLTAGE 3.300 V; -VCCIO_DERATE BANK 0 PERCENT -5; -VCCIO_DERATE PERCENT -5; -VCCIO_DERATE BANK 1 PERCENT -5; -PERIOD NET "PHI2_c" 350.000000 ns ; -PERIOD NET "nCCAS_c" 350.000000 ns ; -PERIOD NET "nCRAS_c" 350.000000 ns ; -PERIOD NET "RCLK_c" 16.000000 ns ; -CLOCK_TO_OUT PORT "RD[0]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "Dout[0]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "Dout[7]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "Dout[6]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "Dout[5]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "Dout[4]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "Dout[3]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "Dout[2]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "Dout[1]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RBA[1]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RBA[0]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[11]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[10]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[9]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[8]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[7]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[6]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[5]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[4]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[3]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[2]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[1]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RA[0]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "nRCS" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RCKE" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "nRWE" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "nRRAS" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "nRCAS" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RDQMH" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RDQML" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RD[7]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RD[6]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RD[5]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RD[4]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RD[3]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RD[2]" 12.500000 ns CLKPORT "RCLK" ; -CLOCK_TO_OUT PORT "RD[1]" 12.500000 ns CLKPORT "RCLK" ; -USE PRIMARY NET "nCCAS_c" ; -USE PRIMARY NET "nCRAS_c" ; diff --git a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcl.html b/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcl.html deleted file mode 100644 index ee9c39f..0000000 --- a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcl.html +++ /dev/null @@ -1,112 +0,0 @@ - -Lattice TCL Log - - -
pn210817003052
-#Start recording tcl command: 8/16/2021 23:26:11
-#Project Location: C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC; Project name: RAM2GS_LCMXO2_640HC
-prj_project new -name "RAM2GS_LCMXO2_640HC" -impl "impl1" -dev LCMXO2-640HC-4TG100C -synthesis "lse"
-prj_src add "C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/RAM2GS-LCMXO2.v"
-prj_project save
-#Stop recording: 8/17/2021 00:30:52
-
-
-
-pn210817054927
-#Start recording tcl command: 8/17/2021 00:30:55
-#Project Location: C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC; Project name: RAM2GS_LCMXO2_640HC
-prj_project open "C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/RAM2GS_LCMXO2_640HC.ldf"
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-#Stop recording: 8/17/2021 05:49:27
-
-
-
-pn210817062320
-#Start recording tcl command: 8/17/2021 05:49:30
-#Project Location: C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC; Project name: RAM2GS_LCMXO2_640HC
-prj_project open "C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/RAM2GS_LCMXO2_640HC.ldf"
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_src add "C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/EFB.v"
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_src remove "C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/EFB.v"
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceAll
-prj_run Synthesis -impl impl1
-prj_run Synthesis -impl impl1 -forceOne
-prj_run Map -impl impl1 -forceOne
-prj_run Export -impl impl1 -forceAll
-prj_run Export -impl impl1 -forceOne
-#Stop recording: 8/17/2021 06:23:20
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - diff --git a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817003052.tcr b/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817003052.tcr deleted file mode 100644 index ffbaf5f..0000000 --- a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817003052.tcr +++ /dev/null @@ -1,6 +0,0 @@ -#Start recording tcl command: 8/16/2021 23:26:11 -#Project Location: C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC; Project name: RAM2GS_LCMXO2_640HC -prj_project new -name "RAM2GS_LCMXO2_640HC" -impl "impl1" -dev LCMXO2-640HC-4TG100C -synthesis "lse" -prj_src add "C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/RAM2GS-LCMXO2.v" -prj_project save -#Stop recording: 8/17/2021 00:30:52 diff --git a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817054927.tcr b/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817054927.tcr deleted file mode 100644 index 76d8b28..0000000 --- a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817054927.tcr +++ /dev/null @@ -1,9 +0,0 @@ -#Start recording tcl command: 8/17/2021 00:30:55 -#Project Location: C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC; Project name: RAM2GS_LCMXO2_640HC -prj_project open "C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/RAM2GS_LCMXO2_640HC.ldf" -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -#Stop recording: 8/17/2021 05:49:27 diff --git a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817062320.tcr b/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817062320.tcr deleted file mode 100644 index 9f6f1a8..0000000 --- a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn210817062320.tcr +++ /dev/null @@ -1,24 +0,0 @@ -#Start recording tcl command: 8/17/2021 05:49:30 -#Project Location: C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC; Project name: RAM2GS_LCMXO2_640HC -prj_project open "C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/RAM2GS_LCMXO2_640HC.ldf" -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_src add "C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/EFB.v" -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_src remove "C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/EFB.v" -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceAll -prj_run Synthesis -impl impl1 -prj_run Synthesis -impl impl1 -forceOne -prj_run Map -impl impl1 -forceOne -prj_run Export -impl impl1 -forceAll -prj_run Export -impl impl1 -forceOne -#Stop recording: 8/17/2021 06:23:20 diff --git a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn211010064144.tcr b/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn211010064144.tcr deleted file mode 100644 index 21e57a4..0000000 --- a/CPLD/LCMXO2-640HC-old/RAM2GS_LCMXO2_640HC_tcr.dir/pn211010064144.tcr +++ /dev/null @@ -1,6 +0,0 @@ -#Start recording tcl command: 10/9/2021 01:18:46 -#Project Location: C:/Users/zanek/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC; Project name: RAM2GS_LCMXO2_640HC -prj_project open "C:/Users/zanek/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/RAM2GS_LCMXO2_640HC.ldf" -prj_run Map -impl impl1 -forceAll -prj_run PAR -impl impl1 -forceAll -#Stop recording: 10/10/2021 06:41:44 diff --git a/CPLD/LCMXO2-640HC-old/impl1/.build_status b/CPLD/LCMXO2-640HC-old/impl1/.build_status deleted file mode 100644 index 9e3c1d3..0000000 --- a/CPLD/LCMXO2-640HC-old/impl1/.build_status +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CPLD/LCMXO2-640HC-old/impl1/.vdbs/RAM2GS_LCMXO2_640HC_impl1_map.vdb b/CPLD/LCMXO2-640HC-old/impl1/.vdbs/RAM2GS_LCMXO2_640HC_impl1_map.vdb deleted file mode 100644 index 7051715d6931cca081a4521d0e85c1db6d1c5dc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91027 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 diff --git a/CPLD/LCMXO2-640HC-old/impl1/.vdbs/RAM2GS_rtl.vdb b/CPLD/LCMXO2-640HC-old/impl1/.vdbs/RAM2GS_rtl.vdb deleted file mode 100644 index aa285e972574d3b6e00adec57ad9b8c13cba1b6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147042 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 U-1xKKKClZCQ&c^h9X>Pqf0mWHTmS$7 diff --git a/CPLD/LCMXO2-640HC-old/impl1/.vdbs/dbStat.txt b/CPLD/LCMXO2-640HC-old/impl1/.vdbs/dbStat.txt deleted file mode 100644 index 0a575a4..0000000 --- a/CPLD/LCMXO2-640HC-old/impl1/.vdbs/dbStat.txt +++ /dev/null @@ -1 +0,0 @@ -RAM2GS_rtl.vdb diff --git a/CPLD/LCMXO2-640HC-old/impl1/IBIS/RAM2GS_LCMXO2_640HC~.ibs b/CPLD/LCMXO2-640HC-old/impl1/IBIS/RAM2GS_LCMXO2_640HC~.ibs deleted file mode 100644 index 4b06874..0000000 --- a/CPLD/LCMXO2-640HC-old/impl1/IBIS/RAM2GS_LCMXO2_640HC~.ibs +++ /dev/null @@ -1,2837 +0,0 @@ -|************************************************************************ -| IBIS Models Generator: Lattice Diamond (64-bit) 3.12.0.240.2 -| Generate date: Tue Aug 17 06:21:03 2021 -|************************************************************************ -| 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] RAM2GS_LCMXO2_640HC~.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] lvt330axxxefaaaaaain -16 CROW[1] lvt330axxxefaaaaaain -3 Din[0] lvt330axxxefaaaaaain -96 Din[1] lvt330axxxefaaaaaain -88 Din[2] lvt330axxxefaaaaaain -97 Din[3] lvt330axxxefaaaaaain -99 Din[4] lvt330axxxefaaaaaain -98 Din[5] lvt330axxxefaaaaaain -2 Din[6] lvt330axxxefaaaaaain -1 Din[7] lvt330axxxefaaaaaain -76 Dout[0] lvt330s040aaaaaaaaou -86 Dout[1] lvt330s040aaaaaaaaou -87 Dout[2] lvt330s040aaaaaaaaou -85 Dout[3] lvt330s040aaaaaaaaou -83 Dout[4] lvt330s040aaaaaaaaou -84 Dout[5] lvt330s040aaaaaaaaou -78 Dout[6] lvt330s040aaaaaaaaou -82 Dout[7] lvt330s040aaaaaaaaou -34 LED lvt330s160aaaaaaaaou -14 MAin[0] lvt330axxxefaaaaaain -12 MAin[1] lvt330axxxefaaaaaain -13 MAin[2] lvt330axxxefaaaaaain -21 MAin[3] lvt330axxxefaaaaaain -20 MAin[4] lvt330axxxefaaaaaain -19 MAin[5] lvt330axxxefaaaaaain -24 MAin[6] lvt330axxxefaaaaaain -18 MAin[7] lvt330axxxefaaaaaain -25 MAin[8] lvt330axxxefaaaaaain -32 MAin[9] lvt330axxxefaaaaaain -8 PHI2 lvt330axxxefaaaaaain -66 RA[0] lvt330s040aaaaaaaaou -64 RA[10] lvt330s040aaaaaaaaou -59 RA[11] lvt330s040aaaaaaaaou -67 RA[1] lvt330s040aaaaaaaaou -69 RA[2] lvt330s040aaaaaaaaou -71 RA[3] lvt330s040aaaaaaaaou -74 RA[4] lvt330s040aaaaaaaaou -70 RA[5] lvt330s040aaaaaaaaou -68 RA[6] lvt330s040aaaaaaaaou -75 RA[7] lvt330s040aaaaaaaaou -65 RA[8] lvt330s040aaaaaaaaou -62 RA[9] lvt330s040aaaaaaaaou -58 RBA[0] lvt330s040aaaaaaaaou -60 RBA[1] lvt330s040aaaaaaaaou -53 RCKE lvt330s040aaaaaaaaou -63 RCLK lvt330axxxefaaaaaain -51 RDQMH lvt330s040aaaaaaaaou -48 RDQML lvt330s040aaaaaaaaou -36 RD[0] lvt330s040haaaaaaaio -37 RD[1] lvt330s040haaaaaaaio -38 RD[2] lvt330s040haaaaaaaio -39 RD[3] lvt330s040haaaaaaaio -40 RD[4] lvt330s040haaaaaaaio -41 RD[5] lvt330s040haaaaaaaio -42 RD[6] lvt330s040haaaaaaaio -43 RD[7] lvt330s040haaaaaaaio -9 nCCAS lvt330axxxefaaaaaain -17 nCRAS lvt330axxxefaaaaaain -15 nFWE lvt330axxxefaaaaaain -52 nRCAS lvt330s040aaaaaaaaou -57 nRCS lvt330s040aaaaaaaaou -54 nRRAS lvt330s040aaaaaaaaou -49 nRWE lvt330s040aaaaaaaaou -|************************************************************************ -[Model] lvt330axxxefaaaaaain -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.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.1216A 0.1237A 0.1238A - -3.15 0.1196A 0.1223A 0.1209A - -3.05 0.1173A 0.1206A 0.1178A - -2.95 0.1149A 0.1187A 0.1145A - -2.85 0.1124A 0.1167A 0.1111A - -2.75 0.1096A 0.1144A 0.1076A - -2.65 0.1067A 0.1119A 0.1038A - -2.55 0.1036A 0.1092A 99.9050mA - -2.45 0.1003A 0.1063A 95.7580mA - -2.35 96.7690mA 0.1032A 91.3580mA - -2.25 92.9860mA 99.8100mA 86.6530mA - -2.15 88.9230mA 96.2310mA 81.5730mA - -2.05 84.5480mA 92.4190mA 76.0140mA - -1.95 79.8300mA 88.3720mA 69.8490mA - -1.85 74.7460mA 84.0930mA 62.9770mA - -1.75 69.2870mA 79.5850mA 55.3980mA - -1.65 63.4650mA 74.8610mA 47.2410mA - -1.55 57.3080mA 69.9360mA 38.7130mA - -1.45 50.8520mA 64.8290mA 30.0630mA - -1.35 44.1410mA 59.5630mA 21.7860mA - -1.25 37.2260mA 54.1610mA 15.4630mA - -1.15 30.1740mA 48.6420mA 11.3590mA - -1.05 23.0900mA 43.0210mA 6.9249mA - -0.95 16.2170mA 37.3010mA 3.1428mA - -0.85 10.2220mA 31.4860mA 0.8130mA - -0.75 6.0667mA 25.5900mA 0.1206mA - -0.65 3.1215mA 19.6580mA 19.6640uA - -0.55 1.0958mA 13.7970mA 3.9127uA - -0.45 0.2189mA 8.2788mA 1.9769uA - -0.35 37.5650uA 3.8148mA 1.5352uA - -0.25 5.9156uA 1.3265mA 1.2603uA - -0.15 0.9342uA 0.3367mA 1.0262uA - -0.05 0.2497uA 63.0770uA 0.8243uA - 0.00 0.1905uA 26.3140uA 0.7347uA - 0.05 0.1661uA 10.7330uA 0.6522uA - 0.15 0.1377uA 1.6689uA 0.5077uA - 0.25 0.1149uA 0.2675uA 0.3882uA - 0.35 95.5840nA 94.4800nA 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.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.2566nA -22.2600nA - 2.15 -16.3730nA -7.8413nA -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 -| -| End [Model] lvt330axxxefaaaaaain -|************************************************************************ -[Model] lvt330s040aaaaaaaaou -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] lvt330s040aaaaaaaaou -|************************************************************************ -[Model] lvt330s040haaaaaaaio -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] lvt330s040haaaaaaaio -|************************************************************************ -[Model] lvt330s160aaaaaaaaou -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 -46.0510mA -33.7410mA -59.5510mA - -3.20 -46.0510mA -33.7410mA -59.5510mA - -3.10 -46.0510mA -33.7410mA -59.5510mA - -3.00 -46.0510mA -33.7410mA -59.5510mA - -2.90 -46.0510mA -33.7410mA -59.5510mA - -2.80 -46.0510mA -33.7410mA -59.5510mA - -2.70 -46.0510mA -33.7410mA -59.5510mA - -2.60 -46.0510mA -33.7410mA -59.5510mA - -2.50 -46.0510mA -33.7410mA -59.5510mA - -2.40 -46.0510mA -33.7410mA -59.5510mA - -2.30 -46.0510mA -33.7410mA -59.5510mA - -2.20 -46.0510mA -33.7410mA -59.5510mA - -2.10 -46.0510mA -33.7410mA -59.5510mA - -2.00 -46.0510mA -33.7410mA -59.5510mA - -1.90 -46.0510mA -33.7410mA -59.5510mA - -1.80 -46.0510mA -33.7410mA -59.5510mA - -1.70 -46.0510mA -33.7410mA -59.5510mA - -1.60 -46.0510mA -33.7410mA -59.5510mA - -1.50 -46.0510mA -33.7410mA -59.5510mA - -1.40 -46.0510mA -33.7410mA -59.5510mA - -1.30 -46.0510mA -33.7410mA -59.5510mA - -1.20 -46.0510mA -33.7410mA -59.5510mA - -1.10 -46.0510mA -33.7410mA -59.5510mA - -1.00 -46.0510mA -33.7410mA -57.7460mA - -0.90 -45.1960mA -33.7410mA -53.3800mA - -0.80 -42.7900mA -33.0880mA -50.7690mA - -0.70 -40.7010mA -32.1190mA -48.9510mA - -0.60 -38.5892mA -30.1763mA -47.3570mA - -0.50 -35.7989mA -27.1490mA -45.2332mA - -0.40 -30.5530mA -22.5448mA -39.2561mA - -0.30 -23.3101mA -17.0730mA -30.0082mA - -0.20 -15.6753mA -11.4360mA -20.2124mA - -0.10 -7.9044mA -5.7449mA -10.2109mA - 0.00 9.1810nA 6.6370nA 14.6880nA - 0.10 7.8212mA 5.6449mA 10.1501mA - 0.20 15.3310mA 11.0300mA 19.9541mA - 0.30 22.5240mA 16.1530mA 29.4071mA - 0.40 29.3980mA 21.0130mA 38.5000mA - 0.50 35.9480mA 25.6080mA 47.2270mA - 0.60 42.1700mA 29.9370mA 55.5800mA - 0.70 48.0590mA 33.9980mA 63.5490mA - 0.80 53.6080mA 37.7880mA 71.1220mA - 0.90 58.8090mA 41.3050mA 78.2850mA - 1.00 63.6510mA 44.5440mA 85.0150mA - 1.10 68.1160mA 47.4970mA 91.2820mA - 1.20 72.1780mA 50.1540mA 97.0390mA - 1.30 75.8000mA 52.4980mA 0.1022A - 1.40 78.9390mA 54.5150mA 0.1067A - 1.50 81.5710mA 56.2010mA 0.1106A - 1.60 83.7180mA 57.5820mA 0.1137A - 1.70 85.4430mA 58.7040mA 0.1161A - 1.80 86.8340mA 59.6220mA 0.1181A - 1.90 87.9720mA 60.3850mA 0.1196A - 2.00 88.9210mA 61.0310mA 0.1209A - 2.10 89.7270mA 61.5880mA 0.1220A - 2.20 90.4240mA 62.0750mA 0.1229A - 2.30 91.0370mA 62.5080mA 0.1237A - 2.40 91.5820mA 62.8970mA 0.1244A - 2.50 92.0740mA 63.2500mA 0.1250A - 2.60 92.5210mA 63.5730mA 0.1256A - 2.70 92.9309mA 63.8720mA 0.1261A - 2.80 93.3099mA 64.1499mA 0.1266A - 2.90 93.6629mA 64.4089mA 0.1270A - 3.00 93.9929mA 64.6529mA 0.1274A - 3.10 94.3029mA 64.8829mA 0.1278A - 3.20 94.5958mA 65.1008mA 0.1281A - 3.30 94.8758mA 65.3076mA 0.1285A - 3.40 95.1436mA 65.5013mA 0.1288A - 3.50 95.4017mA 65.6576mA 0.1291A - 3.60 95.6462mA 65.9236mA 0.1294A - 3.70 95.8369mA 66.2546mA 0.1298A - 3.80 96.2034mA 67.0655mA 0.1301A - 3.90 96.5733mA 69.0584mA 0.1303A - 4.00 97.3652mA 73.2123mA 0.1309A - 4.10 99.2509mA 79.1820mA 0.1314A - 4.20 0.1022A 85.9597mA 0.1322A - 4.30 0.1063A 93.0914mA 0.1344A - 4.40 0.1126A 0.1004A 0.1384A - 4.50 0.1206A 0.1078A 0.1435A - 4.60 0.1294A 0.1153A 0.1489A - 4.70 0.1385A 0.1229A 0.1551A - 4.80 0.1479A 0.1307A 0.1648A - 4.90 0.1573A 0.1386A 0.1760A - 5.00 0.1669A 0.1467A 0.1878A - 5.10 0.1765A 0.1550A 0.1999A - 5.20 0.1863A 0.1634A 0.2120A - 5.30 0.1961A 0.1719A 0.2241A - 5.40 0.2062A 0.1805A 0.2362A - 5.50 0.2163A 0.1892A 0.2482A - 5.60 0.2265A 0.1980A 0.2603A - 5.70 0.2369A 0.2068A 0.2726A - 5.80 0.2473A 0.2158A 0.2851A - 5.90 0.2579A 0.2248A 0.2978A - 6.00 0.2687A 0.2339A 0.3108A - 6.10 0.2796A 0.2431A 0.3240A - 6.20 0.2907A 0.2524A 0.3374A - 6.30 0.3021A 0.2618A 0.3511A - 6.40 0.3136A 0.2714A 0.3652A - 6.50 0.3254A 0.2811A 0.3794A - 6.60 0.3374A 0.2909A 0.3940A -| -[Pullup] -|Voltage I(typ) I(min) I(max) -| - -3.30 0.3688A 0.3085A 0.4482A - -3.20 0.3595A 0.3039A 0.4356A - -3.10 0.3495A 0.2972A 0.4227A - -3.00 0.3390A 0.2892A 0.4094A - -2.90 0.3282A 0.2805A 0.3959A - -2.80 0.3171A 0.2712A 0.3822A - -2.70 0.3056A 0.2615A 0.3683A - -2.60 0.2939A 0.2514A 0.3543A - -2.50 0.2819A 0.2409A 0.3400A - -2.40 0.2697A 0.2303A 0.3256A - -2.30 0.2573A 0.2194A 0.3110A - -2.20 0.2447A 0.2084A 0.2962A - -2.10 0.2318A 0.1972A 0.2811A - -2.00 0.2189A 0.1859A 0.2659A - -1.90 0.2058A 0.1745A 0.2504A - -1.80 0.1927A 0.1631A 0.2346A - -1.70 0.1795A 0.1517A 0.2186A - -1.60 0.1662A 0.1402A 0.2025A - -1.50 0.1528A 0.1288A 0.1863A - -1.40 0.1394A 0.1175A 0.1702A - -1.30 0.1260A 0.1062A 0.1543A - -1.20 0.1126A 94.9202mA 0.1391A - -1.10 99.3436mA 83.7786mA 0.1252A - -1.00 86.4581mA 72.7899mA 0.1110A - -0.90 74.6466mA 62.0952mA 97.2911mA - -0.80 64.2979mA 52.0534mA 84.6162mA - -0.70 54.8762mA 43.3265mA 72.7261mA - -0.60 46.1133mA 35.9755mA 61.5078mA - -0.50 37.8734mA 29.3476mA 50.1553mA - -0.40 29.8849mA 23.1046mA 40.2866mA - -0.30 22.2622mA 17.0802mA 30.1199mA - -0.20 14.7337mA 11.2591mA 20.0045mA - -0.10 7.3149mA 5.5671mA 9.9673mA - 0.00 -27.6800nA -12.5600nA -0.2990uA - 0.10 -7.1350mA -5.3932mA -9.7862mA - 0.20 -14.0071mA -10.5601mA -19.2690mA - 0.30 -20.6131mA -15.4991mA -28.4448mA - 0.40 -26.9531mA -20.2101mA -37.3096mA - 0.50 -33.0231mA -24.6920mA -45.8605mA - 0.60 -38.8211mA -28.9440mA -54.0924mA - 0.70 -44.3460mA -32.9660mA -62.0013mA - 0.80 -49.5950mA -36.7560mA -69.5842mA - 0.90 -54.5660mA -40.3130mA -76.8361mA - 1.00 -59.2570mA -43.6380mA -83.7531mA - 1.10 -63.6650mA -46.7280mA -90.3311mA - 1.20 -67.7890mA -49.5840mA -96.5660mA - 1.30 -71.6270mA -52.2040mA -0.1025A - 1.40 -75.1760mA -54.5890mA -0.1080A - 1.50 -78.4330mA -56.7370mA -0.1132A - 1.60 -81.3980mA -58.6480mA -0.1180A - 1.70 -84.0680mA -60.3220mA -0.1224A - 1.80 -86.4420mA -61.7600mA -0.1265A - 1.90 -88.5180mA -62.9650mA -0.1302A - 2.00 -90.2990mA -63.9430mA -0.1335A - 2.10 -91.7860mA -64.7110mA -0.1365A - 2.20 -92.9940mA -65.3040mA -0.1391A - 2.30 -93.9530mA -65.7740mA -0.1412A - 2.40 -94.7160mA -66.1750mA -0.1431A - 2.50 -95.3540mA -66.5370mA -0.1446A - 2.60 -95.9200mA -66.8780mA -0.1458A - 2.70 -96.4460mA -67.2020mA -0.1469A - 2.80 -96.9450mA -67.5150mA -0.1478A - 2.90 -97.4230mA -67.8180mA -0.1487A - 3.00 -97.8850mA -68.1109mA -0.1495A - 3.10 -98.3320mA -68.3969mA -0.1504A - 3.20 -98.7659mA -68.6739mA -0.1511A - 3.30 -99.1879mA -68.9436mA -0.1519A - 3.40 -99.5979mA -69.2026mA -0.1526A - 3.50 -99.9963mA -69.3920mA -0.1533A - 3.60 -0.1004A -69.3920mA -0.1540A - 3.70 -0.1005A -69.3920mA -0.1547A - 3.80 -0.1005A -69.3920mA -0.1553A - 3.90 -0.1005A -69.3920mA -0.1554A - 4.00 -0.1005A -69.3920mA -0.1554A - 4.10 -0.1005A -69.3920mA -0.1554A - 4.20 -0.1005A -69.3920mA -0.1554A - 4.30 -0.1005A -69.3920mA -0.1554A - 4.40 -0.1005A -69.3920mA -0.1554A - 4.50 -0.1005A -69.3920mA -0.1554A - 4.60 -0.1005A -69.3920mA -0.1554A - 4.70 -0.1005A -69.3920mA -0.1554A - 4.80 -0.1005A -69.3920mA -0.1554A - 4.90 -0.1005A -69.3920mA -0.1554A - 5.00 -0.1005A -69.3920mA -0.1554A - 5.10 -0.1005A -69.3920mA -0.1554A - 5.20 -0.1005A -69.3920mA -0.1554A - 5.30 -0.1005A -69.3920mA -0.1554A - 5.40 -0.1005A -69.3920mA -0.1554A - 5.50 -0.1005A -69.3920mA -0.1554A - 5.60 -0.1005A -69.3920mA -0.1554A - 5.70 -0.1005A -69.3920mA -0.1554A - 5.80 -0.1005A -69.3920mA -0.1554A - 5.90 -0.1005A -69.3920mA -0.1554A - 6.00 -0.1005A -69.3920mA -0.1554A - 6.10 -0.1005A -69.3920mA -0.1554A - 6.20 -0.1005A -69.3920mA -0.1554A - 6.30 -0.1005A -69.3920mA -0.1554A - 6.40 -0.1005A -69.3920mA -0.1554A - 6.50 -0.1005A -69.3920mA -0.1554A - 6.55 -0.1005A -69.3920mA -0.1554A -| -[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.8320uA - -2.65 67.1940uA 0.1484mA 47.8300uA - -2.55 33.3840uA 79.2130uA 38.1430uA - -2.45 21.1020uA 36.2270uA 33.4230uA - -2.35 16.7350uA 18.9540uA 30.1320uA - -2.25 14.6020uA 13.5630uA 27.2570uA - -2.15 13.0530uA 11.4700uA 24.5650uA - -2.05 11.6730uA 10.2220uA 22.0130uA - -1.95 10.3790uA 9.1903uA 19.5970uA - -1.85 9.1554uA 8.2406uA 17.3220uA - -1.75 8.0024uA 7.3472uA 15.1930uA - -1.65 6.9220uA 6.5055uA 13.2180uA - -1.55 5.9168uA 5.7151uA 11.4030uA - -1.45 4.9897uA 4.9762uA 9.7538uA - -1.35 4.1435uA 4.2896uA 8.2775uA - -1.25 3.3813uA 3.6558uA 6.9794uA - -1.15 2.7058uA 3.0755uA 5.8656uA - -1.05 2.1197uA 2.5496uA 4.9436uA - -0.95 1.6260uA 2.0788uA 4.2185uA - -0.85 1.2282uA 1.6639uA 3.6568uA - -0.75 0.9321uA 1.3059uA 3.6568uA - -0.65 0.7406uA 1.0064uA 3.6568uA - -0.55 0.6334uA 0.7687uA 3.6568uA - -0.45 0.5657uA 0.5976uA 1.9769uA - -0.35 0.5657uA 0.4934uA 1.5352uA - -0.25 0.5657uA 0.4388uA 1.2603uA - -0.15 0.5657uA 0.4063uA 1.0262uA - -0.05 0.2497uA 0.3931uA 0.8243uA - 0.00 0.1905uA 0.3931uA 0.7347uA - 0.05 0.1661uA 0.3931uA 0.6522uA - 0.15 0.1377uA 0.3931uA 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.2566nA -22.2600nA - 2.15 -16.3730nA -7.8413nA -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.4966/0.2592n 1.2936/0.4087n 1.7021/0.1678n -dV/dt_f 1.5290/0.2281n 1.3043/0.3741n 1.7112/0.1501n -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.7516V 0.9661V 0.6180V -0.1010nS 0.7516V 0.9661V 0.6180V -0.2020nS 0.7516V 0.9661V 0.6180V -0.3030nS 0.7516V 0.9661V 0.6180V -0.4040nS 0.7516V 0.9661V 0.6171V -0.5051nS 0.7517V 0.9661V 0.7829V -0.6061nS 0.7505V 0.9661V 2.0255V -0.7071nS 0.7950V 0.9661V 2.8797V -0.8081nS 1.7861V 0.9664V 3.3462V -0.9091nS 2.4193V 0.9655V 3.4176V -1.0101nS 2.8512V 0.9681V 3.4439V -1.1111nS 3.1357V 1.3754V 3.4564V -1.2121nS 3.2249V 2.1421V 3.4627V -1.3131nS 3.2565V 2.5293V 3.4661V -1.4141nS 3.2737V 2.7345V 3.4678V -1.5152nS 3.2838V 2.8969V 3.4688V -1.6162nS 3.2896V 3.0120V 3.4693V -1.7172nS 3.2934V 3.0632V 3.4696V -1.8182nS 3.2957V 3.0894V 3.4697V -1.9192nS 3.2972V 3.1045V 3.4698V -2.0202nS 3.2981V 3.1151V 3.4699V -2.1212nS 3.2987V 3.1221V 3.4699V -2.2222nS 3.2991V 3.1274V 3.4699V -2.3232nS 3.2994V 3.1308V 3.4699V -2.4242nS 3.2996V 3.1334V 3.4700V -2.5253nS 3.2997V 3.1352V 3.4700V -2.6263nS 3.2998V 3.1365V 3.4700V -2.7273nS 3.2998V 3.1374V 3.4700V -2.8283nS 3.2999V 3.1380V 3.4700V -2.9293nS 3.2999V 3.1385V 3.4700V -3.0303nS 3.2999V 3.1389V 3.4700V -3.1313nS 3.2999V 3.1391V 3.4700V -3.2323nS 3.3000V 3.1393V 3.4700V -3.3333nS 3.3000V 3.1395V 3.4700V -3.4343nS 3.3000V 3.1396V 3.4700V -3.5354nS 3.3000V 3.1397V 3.4700V -3.6364nS 3.3000V 3.1398V 3.4700V -3.7374nS 3.3000V 3.1398V 3.4700V -3.8384nS 3.3000V 3.1398V 3.4700V -3.9394nS 3.3000V 3.1399V 3.4700V -4.0404nS 3.3000V 3.1399V 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.1399V 3.4700V -4.5455nS 3.3000V 3.1400V 3.4700V -4.6465nS 3.3000V 3.1400V 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.4700V -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.4700V -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.4700V -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.4700V -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.4700V -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.4700V -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 0.4849uV 0.6538uV 0.4584uV -0.1010nS -91.8400nV 63.2160nV -25.7920nV -0.2020nS -2.6993uV -0.4530uV -0.2185uV -0.3030nS -0.1263uV -1.9171uV 9.8177uV -0.4040nS 2.2148uV 0.3884uV -0.7508mV -0.5051nS 17.9080uV 0.4320uV -54.9180mV -0.6061nS -0.9283mV 2.0154uV -38.8140mV -0.7071nS -36.0310mV 19.4020uV 0.5590V -0.8081nS -59.6090mV 49.7370uV 1.7463V -0.9091nS -7.5013mV -0.5918mV 2.5098V -1.0101nS 0.3035V -13.7970mV 2.7118V -1.1111nS 0.8765V -46.7140mV 2.7764V -1.2121nS 1.5353V -51.2590mV 2.8047V -1.3131nS 2.0287V -34.8250mV 2.8192V -1.4141nS 2.2720V 25.7290mV 2.8271V -1.5152nS 2.3732V 0.1849V 2.8315V -1.6162nS 2.4197V 0.4573V 2.8339V -1.7172nS 2.4473V 0.8065V 2.8353V -1.8182nS 2.4633V 1.1645V 2.8360V -1.9192nS 2.4738V 1.4818V 2.8364V -2.0202nS 2.4810V 1.7269V 2.8366V -2.1212nS 2.4853V 1.8846V 2.8368V -2.2222nS 2.4883V 1.9770V 2.8368V -2.3232nS 2.4902V 2.0335V 2.8369V -2.4242nS 2.4916V 2.0698V 2.8369V -2.5253nS 2.4924V 2.0942V 2.8369V -2.6263nS 2.4930V 2.1112V 2.8369V -2.7273nS 2.4934V 2.1231V 2.8370V -2.8283nS 2.4937V 2.1316V 2.8369V -2.9293nS 2.4938V 2.1374V 2.8370V -3.0303nS 2.4940V 2.1420V 2.8369V -3.1313nS 2.4940V 2.1455V 2.8370V -3.2323nS 2.4942V 2.1480V 2.8369V -3.3333nS 2.4941V 2.1499V 2.8370V -3.4343nS 2.4942V 2.1514V 2.8369V -3.5354nS 2.4942V 2.1525V 2.8370V -3.6364nS 2.4943V 2.1533V 2.8369V -3.7374nS 2.4942V 2.1539V 2.8370V -3.8384nS 2.4943V 2.1544V 2.8369V -3.9394nS 2.4942V 2.1548V 2.8370V -4.0404nS 2.4943V 2.1551V 2.8369V -4.1414nS 2.4942V 2.1553V 2.8370V -4.2424nS 2.4943V 2.1554V 2.8369V -4.3434nS 2.4942V 2.1556V 2.8370V -4.4444nS 2.4943V 2.1557V 2.8369V -4.5455nS 2.4942V 2.1557V 2.8370V -4.6465nS 2.4943V 2.1558V 2.8369V -4.7475nS 2.4942V 2.1558V 2.8370V -4.8485nS 2.4943V 2.1559V 2.8369V -4.9495nS 2.4942V 2.1559V 2.8370V -5.0505nS 2.4942V 2.1559V 2.8369V -5.1515nS 2.4943V 2.1560V 2.8369V -5.2525nS 2.4943V 2.1560V 2.8370V -5.3535nS 2.4943V 2.1560V 2.8369V -5.4545nS 2.4943V 2.1560V 2.8370V -5.5556nS 2.4943V 2.1560V 2.8369V -5.6566nS 2.4943V 2.1560V 2.8370V -5.7576nS 2.4943V 2.1560V 2.8370V -5.8586nS 2.4943V 2.1560V 2.8370V -5.9596nS 2.4943V 2.1560V 2.8370V -6.0606nS 2.4943V 2.1560V 2.8370V -6.1616nS 2.4943V 2.1560V 2.8370V -6.2626nS 2.4943V 2.1560V 2.8370V -6.3636nS 2.4943V 2.1560V 2.8370V -6.4646nS 2.4943V 2.1560V 2.8370V -6.5657nS 2.4943V 2.1560V 2.8370V -6.6667nS 2.4943V 2.1560V 2.8370V -6.7677nS 2.4943V 2.1560V 2.8370V -6.8687nS 2.4943V 2.1560V 2.8370V -6.9697nS 2.4943V 2.1560V 2.8370V -7.0707nS 2.4943V 2.1560V 2.8370V -7.1717nS 2.4943V 2.1560V 2.8370V -7.2727nS 2.4943V 2.1560V 2.8370V -7.3737nS 2.4943V 2.1560V 2.8370V -7.4747nS 2.4943V 2.1560V 2.8370V -7.5758nS 2.4943V 2.1560V 2.8370V -7.6768nS 2.4943V 2.1560V 2.8370V -7.7778nS 2.4943V 2.1560V 2.8370V -7.8788nS 2.4943V 2.1560V 2.8370V -7.9798nS 2.4943V 2.1560V 2.8370V -8.0808nS 2.4943V 2.1560V 2.8370V -8.1818nS 2.4943V 2.1560V 2.8370V -8.2828nS 2.4943V 2.1560V 2.8370V -8.3838nS 2.4943V 2.1560V 2.8370V -8.4848nS 2.4943V 2.1560V 2.8370V -8.5859nS 2.4943V 2.1560V 2.8370V -8.6869nS 2.4943V 2.1560V 2.8370V -8.7879nS 2.4943V 2.1560V 2.8370V -8.8889nS 2.4943V 2.1560V 2.8370V -8.9899nS 2.4943V 2.1560V 2.8370V -9.0909nS 2.4943V 2.1560V 2.8370V -9.1919nS 2.4943V 2.1560V 2.8370V -9.2929nS 2.4943V 2.1560V 2.8370V -9.3939nS 2.4943V 2.1560V 2.8370V -9.4949nS 2.4943V 2.1560V 2.8370V -9.5960nS 2.4943V 2.1560V 2.8370V -9.6970nS 2.4943V 2.1560V 2.8370V -9.7980nS 2.4943V 2.1560V 2.8370V -9.8990nS 2.4943V 2.1560V 2.8370V -10.0000nS 2.4943V 2.1560V 2.8369V -| -[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.4943V 2.1560V 2.8370V -0.1010nS 2.4943V 2.1560V 2.8370V -0.2020nS 2.4943V 2.1560V 2.8370V -0.3030nS 2.4943V 2.1560V 2.8370V -0.4040nS 2.4943V 2.1560V 2.8378V -0.5051nS 2.4943V 2.1560V 2.8500V -0.6061nS 2.4952V 2.1560V 1.9447V -0.7071nS 2.4905V 2.1560V 0.3637V -0.8081nS 2.4067V 2.1560V 67.8100mV -0.9091nS 1.4125V 2.1561V 29.4150mV -1.0101nS 0.4767V 2.1575V 14.9410mV -1.1111nS 0.1262V 2.1538V 7.5466mV -1.2121nS 43.6680mV 2.1382V 3.8422mV -1.3131nS 26.1960mV 1.7150V 1.8945mV -1.4141nS 16.2920mV 1.0257V 0.9804mV -1.5152nS 10.0550mV 0.5310V 0.5148mV -1.6162nS 6.1813mV 0.2066V 0.2988mV -1.7172nS 3.9618mV 85.0700mV 0.1781mV -1.8182nS 2.4789mV 45.0760mV 0.1309mV -1.9192nS 1.5559mV 28.7760mV 93.0170uV -2.0202nS 0.9974mV 19.8010mV 83.3720uV -2.1212nS 0.6445mV 14.0690mV 58.3290uV -2.2222nS 0.4351mV 10.1110mV 63.2910uV -2.3232nS 0.2957mV 7.2280mV 53.7290uV -2.4242nS 0.2210mV 5.1895mV 54.2190uV -2.5253nS 0.1601mV 3.7800mV 40.3540uV -2.6263nS 0.1279mV 2.7268mV 47.2160uV -2.7273nS 0.1002mV 1.9853mV 36.9860uV -2.8283nS 88.8660uV 1.4440mV 40.0480uV -2.9293nS 72.7920uV 1.0670mV 26.3870uV -3.0303nS 69.1040uV 0.7846mV 34.6390uV -3.1313nS 57.4210uV 0.5846mV 26.3910uV -3.2323nS 56.9730uV 0.4404mV 29.4630uV -3.3333nS 47.8400uV 0.3494mV 17.8610uV -3.4343nS 48.1880uV 0.2584mV 25.6730uV -3.5354nS 40.2540uV 0.2118mV 18.4590uV -3.6364nS 41.5730uV 0.1702mV 21.8800uV -3.7374nS 34.4050uV 0.1443mV 11.4790uV -3.8384nS 35.9660uV 0.1162mV 17.0260uV -3.9394nS 29.3730uV 0.1105mV 5.6280uV -4.0404nS 31.4140uV 89.4040uV 15.1470uV -4.1414nS 25.3750uV 81.0200uV 11.2580uV -4.2424nS 27.4070uV 65.5230uV 14.1370uV -4.3434nS 21.6970uV 73.0300uV 6.2960uV -4.4444nS 23.9220uV 61.3290uV 11.4660uV -4.5455nS 18.5100uV 55.7850uV 2.5000uV -4.6465nS 21.0070uV 43.3670uV 8.5284uV -4.7475nS 15.9410uV 53.7310uV -0.8463uV -4.8485nS 18.4620uV 44.3590uV 8.1933uV -4.9495nS 13.5820uV 42.1040uV 5.3730uV -5.0505nS 13.8755uV 37.5100uV 5.0024uV -5.1515nS 14.2440uV 35.8510uV 6.5401uV -5.2525nS 9.9306uV 32.2800uV -0.5688uV -5.3535nS 12.5350uV 22.2570uV 4.7038uV -5.4545nS 8.4738uV 33.7280uV -2.8971uV -5.5556nS 11.0900uV 26.9540uV 2.5971uV -5.6566nS 7.1635uV 25.5280uV -4.8609uV -5.7576nS 9.8408uV 16.9880uV 3.2391uV -5.8586nS 6.3372uV 28.3550uV 2.3236uV -5.9596nS 9.0525uV 22.5320uV 4.3172uV -6.0606nS 5.7477uV 20.9750uV 0.3230uV -6.1616nS 8.1503uV 12.8560uV 3.9291uV -6.2626nS 4.9071uV 23.9660uV -1.1511uV -6.3636nS 7.3040uV 18.3760uV 3.1809uV -6.4646nS 4.1860uV 17.0320uV -1.7162uV -6.5657nS 6.6287uV 9.1986uV 2.2452uV -6.6667nS 3.6832uV 20.0790uV -2.7234uV -6.7677nS 12.2830uV 15.0650uV 1.3304uV -6.8687nS 11.0620uV 13.9980uV -3.5352uV -6.9697nS 6.9534uV 6.5462uV 0.3451uV -7.0707nS 2.2290uV 17.0770uV -4.3708uV -7.1717nS 9.7848uV 12.3720uV -0.5607uV -7.2727nS 7.5664uV 11.6590uV -5.1318uV -7.3737nS 5.3831uV 4.8851uV -1.5330uV -7.4747nS 1.7643uV 15.0970uV -5.9574uV -7.5758nS 9.2753uV 13.3100uV -0.1708uV -7.6768nS 7.7000uV 23.0430uV 3.4595uV -7.7778nS 4.9844uV 14.4320uV 7.4385uV -7.8788nS 1.3245uV 8.9262uV -2.6402uV -7.9798nS 8.2644uV 4.9790uV 1.1411uV -8.0808nS 6.6183uV 14.1310uV 1.9398uV -8.1818nS 4.3304uV 7.8499uV 7.3706uV -8.2828nS 0.9901uV 15.2460uV 4.3539uV -8.3838nS 7.4534uV 11.2570uV -1.5751uV -8.4848nS 6.0071uV 10.9100uV -4.0515uV -8.5859nS 3.9708uV 6.6233uV 6.1371uV -8.6869nS 0.8938uV 12.1060uV 5.2581uV -8.7879nS 7.0344uV 11.9130uV 1.0700uV -8.8889nS 5.6379uV 18.0050uV -3.9073uV -8.9899nS 2.9239uV 9.1095uV 0.1500uV -9.0909nS 2.8023uV 6.8319uV 7.0838uV -9.1919nS 8.4026uV 3.9617uV 5.4861uV -9.2929nS 4.3812uV 7.2141uV -1.7852uV -9.3939nS 2.8463uV -53.3950nV -0.4309uV -9.4949nS 0.5257uV 12.7920uV -1.2755uV -9.5960nS 6.2361uV 11.5200uV 6.5424uV -9.6970nS 8.1020uV 10.1450uV 2.3600uV -9.7980nS 11.5310uV 9.4795uV 0.8669uV -9.8990nS 9.9990uV 13.4000uV 1.3956uV -10.0000nS 9.1292uV 5.3100uV 7.4741uV -| -[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.4709V -0.5051nS 3.3000V 3.1400V 3.4873V -0.6061nS 3.3010V 3.1400V 3.3893V -0.7071nS 3.2951V 3.1400V 2.0959V -0.8081nS 3.3780V 3.1400V 1.0643V -0.9091nS 3.2704V 3.1400V 0.7316V -1.0101nS 2.5838V 3.1420V 0.6666V -1.1111nS 1.8182V 3.1363V 0.6418V -1.2121nS 1.2499V 3.1699V 0.6302V -1.3131nS 0.9556V 3.2348V 0.6244V -1.4141nS 0.8500V 3.1829V 0.6213V -1.5152nS 0.8083V 2.8929V 0.6196V -1.6162nS 0.7853V 2.4877V 0.6188V -1.7172nS 0.7729V 2.0731V 0.6184V -1.8182nS 0.7651V 1.7150V 0.6182V -1.9192nS 0.7601V 1.4389V 0.6181V -2.0202nS 0.7571V 1.2526V 0.6181V -2.1212nS 0.7551V 1.1433V 0.6181V -2.2222nS 0.7539V 1.0821V 0.6180V -2.3232nS 0.7531V 1.0456V 0.6180V -2.4242nS 0.7526V 1.0220V 0.6180V -2.5253nS 0.7523V 1.0060V 0.6180V -2.6263nS 0.7521V 0.9948V 0.6180V -2.7273nS 0.7519V 0.9867V 0.6180V -2.8283nS 0.7518V 0.9812V 0.6180V -2.9293nS 0.7518V 0.9773V 0.6180V -3.0303nS 0.7518V 0.9745V 0.6180V -3.1313nS 0.7517V 0.9724V 0.6180V -3.2323nS 0.7517V 0.9708V 0.6180V -3.3333nS 0.7517V 0.9696V 0.6180V -3.4343nS 0.7517V 0.9687V 0.6180V -3.5354nS 0.7517V 0.9681V 0.6180V -3.6364nS 0.7517V 0.9676V 0.6180V -3.7374nS 0.7517V 0.9673V 0.6180V -3.8384nS 0.7517V 0.9670V 0.6180V -3.9394nS 0.7517V 0.9668V 0.6180V -4.0404nS 0.7517V 0.9666V 0.6180V -4.1414nS 0.7517V 0.9665V 0.6180V -4.2424nS 0.7517V 0.9664V 0.6180V -4.3434nS 0.7517V 0.9664V 0.6180V -4.4444nS 0.7517V 0.9663V 0.6180V -4.5455nS 0.7517V 0.9663V 0.6180V -4.6465nS 0.7517V 0.9662V 0.6180V -4.7475nS 0.7517V 0.9662V 0.6180V -4.8485nS 0.7517V 0.9662V 0.6180V -4.9495nS 0.7516V 0.9662V 0.6180V -5.0505nS 0.7517V 0.9662V 0.6180V -5.1515nS 0.7517V 0.9662V 0.6180V -5.2525nS 0.7516V 0.9661V 0.6180V -5.3535nS 0.7517V 0.9661V 0.6180V -5.4545nS 0.7516V 0.9661V 0.6180V -5.5556nS 0.7517V 0.9661V 0.6180V -5.6566nS 0.7516V 0.9661V 0.6180V -5.7576nS 0.7516V 0.9661V 0.6180V -5.8586nS 0.7516V 0.9661V 0.6180V -5.9596nS 0.7517V 0.9661V 0.6180V -6.0606nS 0.7516V 0.9661V 0.6180V -6.1616nS 0.7517V 0.9661V 0.6180V -6.2626nS 0.7516V 0.9661V 0.6180V -6.3636nS 0.7517V 0.9661V 0.6180V -6.4646nS 0.7517V 0.9661V 0.6180V -6.5657nS 0.7516V 0.9661V 0.6180V -6.6667nS 0.7516V 0.9661V 0.6180V -6.7677nS 0.7516V 0.9661V 0.6180V -6.8687nS 0.7516V 0.9661V 0.6180V -6.9697nS 0.7517V 0.9661V 0.6180V -7.0707nS 0.7516V 0.9661V 0.6180V -7.1717nS 0.7516V 0.9661V 0.6180V -7.2727nS 0.7516V 0.9661V 0.6180V -7.3737nS 0.7516V 0.9661V 0.6180V -7.4747nS 0.7516V 0.9661V 0.6180V -7.5758nS 0.7516V 0.9661V 0.6180V -7.6768nS 0.7516V 0.9661V 0.6180V -7.7778nS 0.7516V 0.9661V 0.6180V -7.8788nS 0.7516V 0.9661V 0.6180V -7.9798nS 0.7516V 0.9661V 0.6180V -8.0808nS 0.7516V 0.9661V 0.6180V -8.1818nS 0.7516V 0.9661V 0.6180V -8.2828nS 0.7516V 0.9661V 0.6180V -8.3838nS 0.7516V 0.9661V 0.6180V -8.4848nS 0.7516V 0.9661V 0.6180V -8.5859nS 0.7516V 0.9661V 0.6180V -8.6869nS 0.7516V 0.9661V 0.6180V -8.7879nS 0.7516V 0.9661V 0.6180V -8.8889nS 0.7516V 0.9661V 0.6180V -8.9899nS 0.7517V 0.9661V 0.6180V -9.0909nS 0.7516V 0.9661V 0.6180V -9.1919nS 0.7517V 0.9661V 0.6180V -9.2929nS 0.7516V 0.9661V 0.6180V -9.3939nS 0.7517V 0.9661V 0.6180V -9.4949nS 0.7516V 0.9661V 0.6180V -9.5960nS 0.7516V 0.9661V 0.6180V -9.6970nS 0.7516V 0.9661V 0.6180V -9.7980nS 0.7516V 0.9661V 0.6180V -9.8990nS 0.7516V 0.9661V 0.6180V -10.0000nS 0.7517V 0.9661V 0.6180V -| -| End [Model] lvt330s160aaaaaaaaou -|************************************************************************ -| End [Component] -[End] diff --git a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.arearep b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.arearep deleted file mode 100644 index e5894f8..0000000 --- a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.arearep +++ /dev/null @@ -1,22 +0,0 @@ ----------------------------------------------------------------------- -Report for cell RAM2GS.TECH -Register bits: 119 of 877 (13.569%) -I/O cells: 63 - Cell usage: - cell count Res Usage(%) - BB 8 100.0 - CCU2D 10 100.0 - EFB 1 100.0 - FD1P3AX 30 100.0 - FD1P3AY 4 100.0 - FD1P3IX 3 100.0 - FD1S3AX 64 100.0 - FD1S3IX 14 100.0 - FD1S3JX 4 100.0 - GSR 1 100.0 - IB 25 100.0 - INV 3 100.0 - LUT4 236 100.0 - OB 30 100.0 - PFUMX 16 100.0 - TOTAL 449 diff --git a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.bgn b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.bgn deleted file mode 100644 index 86c3161..0000000 --- a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.bgn +++ /dev/null @@ -1,86 +0,0 @@ -BITGEN: Bitstream Generator Diamond (64-bit) 3.12.0.240.2 -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. -Tue Aug 17 06:21:07 2021 - - -Command: bitgen -g RamCfg:Reset -path C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC -w -jedec -gui -msgset C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/promote.xml RAM2GS_LCMXO2_640HC_impl1.ncd RAM2GS_LCMXO2_640HC_impl1.prf - -Loading design for application Bitgen from file RAM2GS_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 RAM2GS_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 "RAM2GS_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: 0 Page. - -Total CPU Time: 1 secs -Total REAL Time: 2 secs -Peak Memory Usage: 245 MB diff --git a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.bit b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.bit deleted file mode 100644 index cdb167c5268a3d603c732e7d12e97a54bdf5657d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6667 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 BDV+cS diff --git a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.dir/5_1.ncd b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.dir/5_1.ncd deleted file mode 100644 index 20354b068d1cc304e39b72530ef3ad19477c8d19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302666 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

5Lj`0E)>o6aT|u27atW(n0(N|`$e-XcYg+Y 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 nk+2STSVyB{6hg)w|91 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.mrp b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.mrp deleted file mode 100644 index aa483f5..0000000 --- a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.mrp +++ /dev/null @@ -1,402 +0,0 @@ - - Lattice Mapping Report File for Design Module 'RAM2GS' - - -Design Information ------------------- - -Command line: map -a MachXO2 -p LCMXO2-640HC -t TQFP100 -s 4 -oc Commercial - RAM2GS_LCMXO2_640HC_impl1.ngd -o RAM2GS_LCMXO2_640HC_impl1_map.ncd -pr - RAM2GS_LCMXO2_640HC_impl1.prf -mp RAM2GS_LCMXO2_640HC_impl1.mrp -lpf C:/Use - rs/zanek/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/impl1/RAM2GS_LCMX - O2_640HC_impl1.lpf -lpf C:/Users/zanek/Documents/GitHub/RAM2GS/CPLD/LCMXO2/ - LCMXO2-640HC/RAM2GS_LCMXO2_640HC.lpf -c 0 -gui -Target Vendor: LATTICE -Target Device: LCMXO2-640HCTQFP100 -Target Performance: 4 -Mapper: xo2c00, version: Diamond (64-bit) 3.12.0.240.2 -Mapped on: 10/09/21 01:19:14 - -Design Summary --------------- - - Number of registers: 119 out of 877 (14%) - PFU registers: 119 out of 640 (19%) - PIO registers: 0 out of 237 (0%) - Number of SLICEs: 131 out of 320 (41%) - SLICEs as Logic/ROM: 131 out of 320 (41%) - SLICEs as RAM: 0 out of 240 (0%) - SLICEs as Carry: 10 out of 320 (3%) - Number of LUT4s: 255 out of 640 (40%) - Number used as logic LUTs: 235 - 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 RCLK_c: 52 loads, 52 rising, 0 falling (Driver: PIO RCLK ) - Net wb_clk: 1 loads, 1 rising, 0 falling (Driver: wb_clk_550 ) - Net PHI2_c: 13 loads, 5 rising, 8 falling (Driver: PIO PHI2 ) - Net nCRAS_c: 7 loads, 0 rising, 7 falling (Driver: PIO nCRAS ) - Net nCCAS_c: 4 loads, 0 rising, 4 falling (Driver: PIO nCCAS ) - Number of Clock Enables: 14 - Net RCLK_c_enable_27: 8 loads, 8 LSLICEs - Net RCLK_c_enable_20: 4 loads, 4 LSLICEs - - Page 1 - - - - -Design: RAM2GS Date: 10/09/21 01:19:14 - -Design Summary (cont) ---------------------- - Net RCLK_c_enable_29: 2 loads, 2 LSLICEs - Net RCLK_c_enable_25: 2 loads, 2 LSLICEs - Net InitReady: 1 loads, 1 LSLICEs - Net RCLK_c_enable_24: 2 loads, 2 LSLICEs - Net PHI2_N_151_enable_1: 1 loads, 1 LSLICEs - Net RCLK_c_enable_26: 1 loads, 1 LSLICEs - Net PHI2_N_151_enable_3: 1 loads, 1 LSLICEs - Net PHI2_N_151_enable_5: 2 loads, 2 LSLICEs - Net Ready_N_280: 1 loads, 1 LSLICEs - Net PHI2_N_151_enable_6: 1 loads, 1 LSLICEs - Net RCLK_c_enable_28: 1 loads, 1 LSLICEs - Net PHI2_N_151_enable_7: 1 loads, 1 LSLICEs - Number of LSRs: 8 - Net RASr2: 1 loads, 1 LSLICEs - Net nRowColSel_N_34: 1 loads, 1 LSLICEs - Net wb_rst: 1 loads, 0 LSLICEs - Net nRWE_N_210: 1 loads, 1 LSLICEs - Net C1Submitted_N_232: 2 loads, 2 LSLICEs - Net wb_adr_7__N_92: 2 loads, 2 LSLICEs - Net nRowColSel_N_35: 1 loads, 1 LSLICEs - Net Ready: 7 loads, 7 LSLICEs - Number of nets driven by tri-state buffers: 0 - Top 10 highest fanout non-clock nets: - Net InitReady: 36 loads - Net FS_10: 32 loads - Net FS_11: 32 loads - Net FS_9: 26 loads - Net FS_7: 25 loads - Net FS_8: 23 loads - Net FS_5: 21 loads - Net FS_6: 21 loads - Net FS_12: 20 loads - Net Ready: 18 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 | -| | | IO_TYPE | Register | -+---------------------+-----------+-----------+------------+ -| RCLK | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| nFWE | INPUT | LVTTL33 | | - - Page 2 - - - - -Design: RAM2GS Date: 10/09/21 01:19:14 - -IO (PIO) Attributes (cont) --------------------------- -+---------------------+-----------+-----------+------------+ -| nCRAS | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| nCCAS | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Din[0] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Din[1] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Din[2] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Din[3] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Din[4] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Din[5] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Din[6] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Din[7] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| CROW[0] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| CROW[1] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| MAin[0] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| MAin[1] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| MAin[2] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| MAin[3] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| MAin[4] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| MAin[5] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| MAin[6] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| MAin[7] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| MAin[8] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| MAin[9] | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| PHI2 | INPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RDQML | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RDQMH | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| nRCAS | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| nRRAS | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| nRWE | OUTPUT | LVTTL33 | | - - Page 3 - - - - -Design: RAM2GS Date: 10/09/21 01:19:14 - -IO (PIO) Attributes (cont) --------------------------- -+---------------------+-----------+-----------+------------+ -| RCKE | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| nRCS | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[0] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[1] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[2] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[3] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[4] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[5] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[6] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[7] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[8] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[9] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[10] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RA[11] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RBA[0] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RBA[1] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| LED | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Dout[0] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Dout[1] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Dout[2] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Dout[3] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Dout[4] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Dout[5] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Dout[6] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| Dout[7] | OUTPUT | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RD[0] | BIDIR | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RD[1] | BIDIR | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RD[2] | BIDIR | LVTTL33 | | - - Page 4 - - - - -Design: RAM2GS Date: 10/09/21 01:19:14 - -IO (PIO) Attributes (cont) --------------------------- -+---------------------+-----------+-----------+------------+ -| RD[3] | BIDIR | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RD[4] | BIDIR | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RD[5] | BIDIR | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RD[6] | BIDIR | LVTTL33 | | -+---------------------+-----------+-----------+------------+ -| RD[7] | BIDIR | LVTTL33 | | -+---------------------+-----------+-----------+------------+ - -Removed logic -------------- - -Block i2 undriven or does not drive anything - clipped. -Block GSR_INST undriven or does not drive anything - clipped. -Signal PHI2_N_151 was merged into signal PHI2_c -Signal nRWE_N_209 was merged into signal nRWE_N_210 -Signal RCLK_c_enable_22 was merged into signal InitReady -Signal n2557 was merged into signal nRowColSel_N_34 -Signal n4935 was merged into signal Ready -Signal n4933 was merged into signal nRowColSel_N_35 -Signal GND_net undriven or does not drive anything - clipped. -Signal VCC_net undriven or does not drive anything - clipped. -Signal FS_972_add_4_1/S0 undriven or does not drive anything - clipped. -Signal FS_972_add_4_1/CI undriven or does not drive anything - clipped. -Signal FS_972_add_4_19/S1 undriven or does not drive anything - clipped. -Signal FS_972_add_4_19/CO undriven or does not drive anything - clipped. -Block i4008 was optimized away. -Block nRWE_I_53_1_lut was optimized away. -Block InitReady_I_0_586_1_lut_rep_73 was optimized away. -Block i1683_1_lut was optimized away. -Block i1044_1_lut_rep_86 was optimized away. -Block i1684_1_lut_rep_84 was optimized away. -Block i1 was optimized away. - - - -Embedded Functional Block Connection Summary --------------------------------------------- - - Desired WISHBONE clock frequency: 50.0 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: NO_WB - UFM Connection: DISABLED - PLL0 Connection: DISABLED - PLL1 Connection: DISABLED - I2C Function Summary: - -------------------- - - Page 5 - - - - -Design: RAM2GS Date: 10/09/21 01:19:14 - -Embedded Functional Block Connection Summary (cont) ---------------------------------------------------- - None - SPI Function Summary: - -------------------- - None - Timer/Counter Function Summary: - ------------------------------ - None - UFM Function Summary: - -------------------- - UFM Utilization: General Purpose Flash Memory - 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 - Type: EFB - -Run Time and Memory Usage -------------------------- - - Total CPU Time: 0 secs - Total REAL Time: 0 secs - Peak Memory Usage: 37 MB - - - - - - - - - - - - - - - - - - - - - - - - - - Page 6 - - -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-old/impl1/RAM2GS_LCMXO2_640HC_impl1.mt b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.mt deleted file mode 100644 index 2d70ad1..0000000 --- a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.mt +++ /dev/null @@ -1,9 +0,0 @@ --v -1 - - --gt - - --mapchkpnt 0 --sethld diff --git a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.ncd b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1.ncd deleted file mode 100644 index 20354b068d1cc304e39b72530ef3ad19477c8d19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302666 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

5Lj`0E)>o6aT|u27atW(n0(N|`$e-XcYg+Y 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 -Bitgen Report - - -

BITGEN: Bitstream Generator Diamond (64-bit) 3.12.0.240.2
-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.
-Tue Aug 17 06:21:07 2021
-
-
-Command: bitgen -g RamCfg:Reset -path C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC -w -jedec -gui -msgset C:/Users/Dog/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/promote.xml RAM2GS_LCMXO2_640HC_impl1.ncd RAM2GS_LCMXO2_640HC_impl1.prf 
-
-Loading design for application Bitgen from file RAM2GS_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 RAM2GS_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 "RAM2GS_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:                     0 Page.
- 
-Total CPU Time: 1 secs 
-Total REAL Time: 2 secs 
-Peak Memory Usage: 245 MB
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - diff --git a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_iotiming.html b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_iotiming.html deleted file mode 100644 index 2e5e5a5..0000000 --- a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_iotiming.html +++ /dev/null @@ -1,198 +0,0 @@ - -I/O Timing Report - - -
I/O Timing Report
-Loading design for application iotiming from file ram2gs_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 ram2gs_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 ram2gs_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: ram2gs_lcmxo2_640hc_impl1.ncd
-// Version: Diamond (64-bit) 3.12.0.240.2
-// Written on Sat Oct 09 01:19:25 2021
-// M: Minimum Performance Grade
-// iotiming RAM2GS_LCMXO2_640HC_impl1.ncd RAM2GS_LCMXO2_640HC_impl1.prf -gui
-
-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    -0.195      M       1.729     4
-CROW[1] nCRAS F    -0.218      M       1.801     4
-Din[0]  PHI2  F     6.339      4       1.186     4
-Din[0]  nCCAS F     1.641      4       0.107     M
-Din[1]  PHI2  F     6.084      4       1.570     4
-Din[1]  nCCAS F     0.198      4       1.314     4
-Din[2]  PHI2  F     3.778      4       1.771     4
-Din[2]  nCCAS F     0.075      4       1.431     4
-Din[3]  PHI2  F     4.331      4       1.705     4
-Din[3]  nCCAS F    -0.116      M       1.722     4
-Din[4]  PHI2  F     6.176      4       1.711     4
-Din[4]  nCCAS F     1.065      4       0.575     4
-Din[5]  PHI2  F     4.684      4       1.261     4
-Din[5]  nCCAS F    -0.081      M       1.625     4
-Din[6]  PHI2  F     5.243      4       0.356     4
-Din[6]  nCCAS F     1.414      4       0.309     4
-Din[7]  PHI2  F     6.602      4       1.175     4
-Din[7]  nCCAS F    -0.286      M       2.137     4
-MAin[0] PHI2  F     5.034      4       0.629     4
-MAin[0] nCRAS F     1.094      4       0.380     4
-MAin[1] PHI2  F     6.081      4       1.157     4
-MAin[1] nCRAS F     0.544      4       0.877     4
-MAin[2] PHI2  F     9.979      4      -0.319     M
-MAin[2] nCRAS F    -0.050      M       1.401     4
-MAin[3] PHI2  F     9.162      4      -0.219     M
-MAin[3] nCRAS F     1.032      4       0.440     4
-MAin[4] PHI2  F    11.678      4      -0.770     M
-MAin[4] nCRAS F    -0.150      M       1.620     4
-MAin[5] PHI2  F     8.668      4      -0.081     M
-MAin[5] nCRAS F    -0.050      M       1.401     4
-MAin[6] PHI2  F     8.516      4      -0.025     M
-MAin[6] nCRAS F     1.003      4       0.478     4
-MAin[7] PHI2  F     9.320      4      -0.061     M
-MAin[7] nCRAS F     1.001      4       0.478     4
-MAin[8] nCRAS F    -0.146      M       1.657     4
-MAin[9] nCRAS F    -0.360      M       2.140     4
-PHI2    RCLK  R     3.079      4      -0.602     M
-nCCAS   RCLK  R     3.574      4      -0.705     M
-nCCAS   nCRAS F     3.232      4      -0.351     M
-nCRAS   RCLK  R     2.757      4      -0.470     M
-nFWE    PHI2  F     5.913      4       0.723     4
-nFWE    nCRAS F     0.547      4       0.890     4
-
-
-// Clock to Output Delay
-
-Port   Clock Edge  Max_Delay Performance_Grade  Min_Delay Performance_Grade
-------------------------------------------------------------------------
-LED    RCLK  R    10.062         4        3.164          M
-RA[0]  RCLK  R    10.645         4        3.471          M
-RA[0]  nCRAS F    11.744         4        3.770          M
-RA[10] RCLK  R     9.485         4        3.236          M
-RA[11] PHI2  R    11.513         4        3.824          M
-RA[1]  RCLK  R    10.921         4        3.549          M
-RA[1]  nCRAS F    12.664         4        4.036          M
-RA[2]  RCLK  R    10.923         4        3.527          M
-RA[2]  nCRAS F    12.463         4        3.984          M
-RA[3]  RCLK  R    11.178         4        3.615          M
-RA[3]  nCRAS F    12.304         4        3.917          M
-RA[4]  RCLK  R    11.365         4        3.630          M
-RA[4]  nCRAS F    13.243         4        4.179          M
-RA[5]  RCLK  R    11.365         4        3.630          M
-RA[5]  nCRAS F    12.940         4        4.098          M
-RA[6]  RCLK  R    11.099         4        3.573          M
-RA[6]  nCRAS F    12.162         4        3.870          M
-RA[7]  RCLK  R    10.948         4        3.552          M
-RA[7]  nCRAS F    12.282         4        3.936          M
-RA[8]  RCLK  R    11.114         4        3.608          M
-RA[8]  nCRAS F    12.909         4        4.116          M
-RA[9]  RCLK  R    11.005         4        3.561          M
-RA[9]  nCRAS F    12.959         4        4.081          M
-RBA[0] nCRAS F    11.842         4        3.911          M
-RBA[1] nCRAS F    11.343         4        3.771          M
-RCKE   RCLK  R     9.884         4        3.362          M
-RDQMH  RCLK  R    10.941         4        3.559          M
-RDQML  RCLK  R    10.641         4        3.470          M
-RD[0]  nCCAS F    12.628         4        4.413          M
-RD[1]  nCCAS F    12.231         4        4.302          M
-RD[2]  nCCAS F    12.231         4        4.302          M
-RD[3]  nCCAS F    11.928         4        4.221          M
-RD[4]  nCCAS F    12.427         4        4.361          M
-RD[5]  nCCAS F    12.697         4        4.400          M
-RD[6]  nCCAS F    12.427         4        4.361          M
-RD[7]  nCCAS F    12.427         4        4.361          M
-nRCAS  RCLK  R     9.674         4        3.300          M
-nRCS   RCLK  R     9.674         4        3.300          M
-nRRAS  RCLK  R     9.797         4        3.322          M
-nRWE   RCLK  R     9.275         4        3.194          M
-WARNING: you must also run trce with hold speed: 4
-WARNING: you must also run trce with setup speed: M
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - diff --git a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_lattice.synproj b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_lattice.synproj deleted file mode 100644 index 7540ad6..0000000 --- a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_lattice.synproj +++ /dev/null @@ -1,41 +0,0 @@ --a "MachXO2" --d LCMXO2-640HC --t TQFP100 --s 4 --frequency 200 --optimization_goal Balanced --bram_utilization 100 --ramstyle Auto --romstyle auto --dsp_utilization 100 --use_dsp 1 --use_carry_chain 1 --carry_chain_length 0 --force_gsr Auto --resource_sharing 1 --propagate_constants 1 --remove_duplicate_regs 1 --mux_style Auto --max_fanout 1000 --fsm_encoding_style Auto --twr_paths 3 --fix_gated_clocks 1 --loop_limit 1950 - - - --use_io_insertion 1 --resolve_mixed_drivers 0 --use_io_reg auto - - --lpf 1 --p "C:/Users/zanek/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC" --ver "C:/Users/zanek/Documents/GitHub/RAM2GS/CPLD/LCMXO2/RAM2GS-LCMXO2.v" --top RAM2GS - - --p "C:/lscc/diamond/3.12/ispfpga/xo2c00/data" "C:/Users/zanek/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC/impl1" "C:/Users/zanek/Documents/GitHub/RAM2GS/CPLD/LCMXO2/LCMXO2-640HC" - --ngd "RAM2GS_LCMXO2_640HC_impl1.ngd" - diff --git a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.cam b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.cam deleted file mode 100644 index 1db8fb1..0000000 --- a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.cam +++ /dev/null @@ -1,94 +0,0 @@ -[ START MERGED ] -n4935 Ready -n4933 nRowColSel_N_35 -n2557 nRowColSel_N_34 -nRWE_N_209 nRWE_N_210 -PHI2_N_151 PHI2_c -RCLK_c_enable_22 InitReady -[ END MERGED ] -[ START CLIPPED ] -GND_net -VCC_net -FS_972_add_4_1/S0 -FS_972_add_4_1/CI -FS_972_add_4_19/S1 -FS_972_add_4_19/CO -[ END CLIPPED ] -[ START DESIGN PREFS ] -SCHEMATIC START ; -# map: version Diamond (64-bit) 3.12.0.240.2 -- WARNING: Map write only section -- Sat Oct 09 01:19:15 2021 - -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 "RCLK" SITE "63" ; -LOCATE COMP "nFWE" SITE "15" ; -LOCATE COMP "nCRAS" SITE "17" ; -LOCATE COMP "nCCAS" SITE "9" ; -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 "CROW[0]" SITE "10" ; -LOCATE COMP "CROW[1]" SITE "16" ; -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 "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 "nRCS" SITE "57" ; -LOCATE COMP "RA[0]" SITE "66" ; -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 "62" ; -LOCATE COMP "RA[10]" SITE "64" ; -LOCATE COMP "RA[11]" SITE "59" ; -LOCATE COMP "RBA[0]" SITE "58" ; -LOCATE COMP "RBA[1]" SITE "60" ; -LOCATE COMP "LED" SITE "34" ; -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 "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" ; -PERIOD NET "PHI2_c" 350.000000 ns ; -USE PRIMARY NET "RCLK_c" ; -PERIOD NET "nCCAS_c" 350.000000 ns ; -USE PRIMARY NET "PHI2_c" ; -PERIOD NET "nCRAS_c" 350.000000 ns ; -USE PRIMARY NET "nCRAS_c" ; -PERIOD NET "RCLK_c" 16.000000 ns ; -USE PRIMARY NET "nCCAS_c" ; -SCHEMATIC END ; -[ END DESIGN PREFS ] diff --git a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.hrr b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.hrr deleted file mode 100644 index 1264102..0000000 --- a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.hrr +++ /dev/null @@ -1,10 +0,0 @@ ---------------------------------------------------- -Report for cell RAM2GS - Instance path: RAM2GS - Cell usage: - cell count Res Usage(%) - SLIC 131.00 100.0 - LUT4 235.00 100.0 - IOBUF 63 100.0 - PFUREG 119 100.0 - RIPPLE 10 100.0 diff --git a/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.ncd b/CPLD/LCMXO2-640HC-old/impl1/RAM2GS_LCMXO2_640HC_impl1_map.ncd deleted file mode 100644 index 5f6f396caecdbe60d88f4d0ff2f969b0d46ab839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212106 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 +
  • Session Log (20:59 16-Aug)
    • diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/impl1_srr.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_srr.htm similarity index 55% rename from CPLD/LCMXO2-640HC/impl1/syntmp/impl1_srr.htm rename to CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_srr.htm index 7408ad9..741590b 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/impl1_srr.htm +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_srr.htm @@ -1,11 +1,11 @@
      -
      +
       #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
       
      -# Tue Aug 15 22:34:17 2023
      +# Wed Aug 16 20:59:29 2023
       
       #Implementation: impl1
       
      @@ -25,7 +25,7 @@ Hostname: ZANEPC
       Implementation : impl1
       Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
       
      -@N: :  | Running in 64-bit mode 
      +@N: :  | Running in 64-bit mode 
       ###########################################################[
       
       Copyright (C) 1994-2021 Synopsys, Inc.
      @@ -43,38 +43,57 @@ Hostname: ZANEPC
       Implementation : impl1
       Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
       
      -@N: :  | Running in 64-bit mode 
      -@N:CG1349 :  | Running Verilog Compiler in System Verilog mode 
      -
      -@N:CG1350 :  | Running Verilog Compiler in Multiple File Compilation Unit mode 
      -
      +@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-SPI.v" (library work)
      +@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!
      -Options changed - recompiling
      +
      +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.
      +@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: 93MB peak: 93MB)
      +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: 93MB peak: 94MB)
      +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: 93MB peak: 94MB)
      +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.
      -# Tue Aug 15 22:34:18 2023
      +# Wed Aug 16 20:59:29 2023
       
       ###########################################################]
       ###########################################################[
      @@ -94,22 +113,23 @@ 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 
      -@N:NF107 : ram2gs-spi.v(1) | Selected library: work cell: RAM2GS view verilog as top level
      -@N:NF107 : ram2gs-spi.v(1) | Selected library: work cell: RAM2GS view verilog as top level
      +@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)
      +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.
      -# Tue Aug 15 22:34:18 2023
      +# Wed Aug 16 20:59:29 2023
       
       ###########################################################]
       
       For a summary of runtime and memory usage for all design units, please see file:
       ==========================================================
      -Linked File:  impl1_comp.rt.csv
      +Linked File:  LCMXO2_640HC_impl1_comp.rt.csv
       
       @END
       
      @@ -118,53 +138,30 @@ At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory
       Process took 0h:00m:01s realtime, 0h:00m:01s cputime
       
       Process completed successfully.
      -# Tue Aug 15 22:34:18 2023
      +# 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 
      -@N:NF107 : ram2gs-spi.v(1) | Selected library: work cell: RAM2GS view verilog as top level
      -@N:NF107 : ram2gs-spi.v(1) | Selected library: work cell: RAM2GS view verilog as top level
      -
      -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.
      -# Tue Aug 15 22:34:19 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
       
       
       
      -
      -# Tue Aug 15 22:34:20 2023
      +
      +# Wed Aug 16 20:59:30 2023
       
       
       Copyright (C) 1994-2021 Synopsys, Inc.
      @@ -186,14 +183,14 @@ Implementation : impl1
       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: 122MB peak: 130MB)
      +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:  impl1_scck.rpt
      -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\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.) 
      +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)
       
      @@ -201,84 +198,83 @@ Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s
       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: 138MB peak: 138MB)
      +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 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: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: 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:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB)
      +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:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB)
      +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  
      +@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:00s; Memory used current: 171MB peak: 171MB)
      +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     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    
      -=======================================================================================
      +          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      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)  
      -========================================================================================
      +           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
      @@ -292,52 +288,52 @@ For details review file gcc_ICG_report.rpt
       
       #### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
       
      -4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s)
      +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                   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]      
      +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. 
      +@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: 172MB peak: 172MB)
       
       
      -Finished constraint checker preprocessing (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: 172MB peak: 172MB)
      +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: 88MB peak: 174MB)
      +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
      -# Tue Aug 15 22:34:21 2023
      +# Wed Aug 16 20:59:32 2023
       
       ###########################################################]
       
       
      -
      +
       Map & Optimize Report
       
       
       
      -
      -# Tue Aug 15 22:34:22 2023
      +
      +# Wed Aug 16 20:59:32 2023
       
       
       Copyright (C) 1994-2021 Synopsys, Inc.
      @@ -356,11 +352,11 @@ 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: 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.) 
      +@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)
       
      @@ -377,103 +373,98 @@ Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h
       
       Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB)
       
      -@N:MT204 :  | Auto Constrain mode is disabled because the following clocks are already defined: 
      -
      -            RCLK
      -            PHI2
      -            nCRAS
      -            nCCAS
      -
       
       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]. 
      +@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: 173MB peak: 173MB)
      +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: 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:00s; Memory used current: 174MB peak: 175MB)
      +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:00s; 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: 177MB peak: 177MB)
       
       
      -Finished 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: 178MB peak: 178MB)
       
       
      -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 176MB)
      +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: 176MB peak: 176MB)
      +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: 176MB peak: 176MB)
      +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		 128 /        89
      -   2		0h:00m:01s		    -2.34ns		 140 /        89
      -   3		0h:00m:01s		    -2.34ns		 140 /        89
      -@N:FX271 : ram2gs-spi.v(147) | Replicating instance Ready (in view: work.RAM2GS(verilog)) with 12 loads 1 time to improve timing.
      +   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 1 Registers via timing driven replication
      -Added 0 LUTs via timing driven replication
      +Added 4 Registers via timing driven replication
      +Added 1 LUTs via timing driven replication
       
      -   4		0h:00m:01s		    -2.04ns		 140 /        90
      +   4		0h:00m:01s		    -1.83ns		 210 /       109
       
       
      -   5		0h:00m:01s		    -2.04ns		 141 /        90
      -   6		0h:00m:01s		    -2.04ns		 141 /        90
      -   7		0h:00m:01s		    -2.04ns		 141 /        90
      -   8		0h:00m:01s		    -2.04ns		 141 /        90
      -   9		0h:00m:01s		    -2.04ns		 141 /        90
      +   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: 177MB peak: 177MB)
      +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.   
      +@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: 177MB peak: 177MB)
      +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:01s; Memory used current: 141MB peak: 177MB)
      +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\impl1_m.srm
      +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:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 178MB peak: 178MB)
      +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\impl1.edi 
      -@N:BW106 :  | Synplicity Constraint File capacitance units using default value of 1pF  
      +@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: 183MB peak: 183MB)
      +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: 183MB peak: 184MB)
      +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: 181MB peak: 184MB)
      +Start final timing analysis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 190MB peak: 193MB)
       
      -@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  
      +@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 Tue Aug 15 22:34:24 2023
      +# Timing report written on Wed Aug 16 20:59:35 2023
       #
       
       
      @@ -483,9 +474,9 @@ 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: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:MT322 :  | Clock constraints include only register-to-register paths associated with each individual clock. 
       
       
       
      @@ -493,41 +484,44 @@ Constraint File(s):    D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc
       *******************
       
       
      -Worst slack in design: -2.389
      +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       0.8 MHz       350.000       1186.150      -2.389     declared     default_clkgroup
      -RCLK               62.5 MHz      18.4 MHz      16.000        54.224        -0.784     declared     default_clkgroup
      +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       987.210       -1.821     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: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: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  
      ---------------------------------------------------------------------------------------------------------------
      -RCLK      RCLK    |  16.000      8.400  |  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       -2.389 
      -PHI2      PHI2    |  No paths    -      |  350.000     345.378  |  175.000     167.920  |  175.000     173.428
      -nCRAS     RCLK    |  No paths    -      |  No paths    -        |  No paths    -        |  1.000       -1.821 
      -==============================================================================================================
      +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.
       
      @@ -549,46 +543,46 @@ No IO constraint found
       Starting Points with Worst Slack
       ********************************
       
      -                 Starting                                            Arrival            
      -Instance         Reference     Type         Pin     Net              Time        Slack  
      -                 Clock                                                                  
      -----------------------------------------------------------------------------------------
      -CmdSubmitted     PHI2          FD1S3AX      Q       CmdSubmitted     1.148       -2.389 
      -CmdUFMCS         PHI2          FD1P3AX      Q       CmdUFMCS         0.972       -1.517 
      -CmdUFMSDI        PHI2          FD1P3AX      Q       CmdUFMSDI        0.972       -0.740 
      -CmdLEDEN         PHI2          FD1P3AX      Q       CmdLEDEN         1.044       -0.572 
      -Cmdn8MEGEN       PHI2          FD1P3AX      Q       Cmdn8MEGEN       1.044       -0.572 
      -CmdUFMCLK        PHI2          FD1P3AX      Q       CmdUFMCLK        0.972       -0.500 
      -Bank_0io[0]      PHI2          IFS1P3DX     Q       Bank[0]          0.972       167.920
      -Bank_0io[1]      PHI2          IFS1P3DX     Q       Bank[1]          0.972       167.920
      -Bank_0io[2]      PHI2          IFS1P3DX     Q       Bank[2]          0.972       167.920
      -Bank_0io[3]      PHI2          IFS1P3DX     Q       Bank[3]          0.972       167.920
      -========================================================================================
      +                      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                                                                       
      ---------------------------------------------------------------------------------------------
      -UFMCLK_0io      PHI2          OFS1P3DX     SP      i2_i                 0.528        -2.389 
      -nUFMCS          PHI2          FD1S3AY      D       nUFMCS_s_0_N_5_i     1.089        -1.829 
      -UFMSDI          PHI2          FD1S3AX      D       UFMSDI_RNO           1.462        -1.751 
      -LEDEN           PHI2          FD1P3AX      SP      N_28                 0.528        -1.236 
      -n8MEGEN         PHI2          FD1P3AX      SP      N_26                 0.528        -1.236 
      -LEDEN           PHI2          FD1P3AX      D       N_74_i               1.089        -0.572 
      -n8MEGEN         PHI2          FD1P3AX      D       N_131                1.089        -0.572 
      -UFMCLK_0io      PHI2          OFS1P3DX     D       i1_i                 1.089        -0.500 
      -ADSubmitted     PHI2          FD1S3AX      D       ADSubmitted_r_0      175.089      167.920
      -C1Submitted     PHI2          FD1S3AX      D       C1Submitted_s_0      175.089      167.920
      -============================================================================================
      +               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
      +View Worst Path in Analyst
       ***********************
       
       
      @@ -598,122 +592,110 @@ Path information for path number 1:
           + Clock delay at ending point:           0.000 (ideal)
           = Required time:                         0.528
       
      -    - Propagation time:                      2.917
      +    - Propagation time:                      2.361
           - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (critical) :                     -2.389
      +    = Slack (critical) :                     -1.832
       
      -    Number of logic level(s):                2
      -    Starting point:                          CmdSubmitted / Q
      -    Ending point:                            UFMCLK_0io / SP
      +    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 SCLK
      +    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.148     1.148 r     -         
      -CmdSubmitted         Net          -        -       -         -           4         
      -PHI2r3_RNITCN41      ORCALUT4     A        In      0.000     1.148 r     -         
      -PHI2r3_RNITCN41      ORCALUT4     Z        Out     1.153     2.301 r     -         
      -N_141_i              Net          -        -       -         -           3         
      -UFMCLK_0io_RNO_0     ORCALUT4     A        In      0.000     2.301 r     -         
      -UFMCLK_0io_RNO_0     ORCALUT4     Z        Out     0.617     2.917 r     -         
      -i2_i                 Net          -        -       -         -           1         
      -UFMCLK_0io           OFS1P3DX     SP       In      0.000     2.917 r     -         
      -===================================================================================
      +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.089
      +    - Setup time:                            0.472
           + Clock delay at ending point:           0.000 (ideal)
      -    = Required time:                         1.089
      +    = Required time:                         0.528
       
      -    - Propagation time:                      2.917
      +    - Propagation time:                      2.361
           - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.829
      +    = Slack (critical) :                     -1.832
       
      -    Number of logic level(s):                2
      -    Starting point:                          CmdSubmitted / Q
      -    Ending point:                            nUFMCS / D
      +    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         FD1S3AX      Q        Out     1.148     1.148 r     -         
      -CmdSubmitted         Net          -        -       -         -           4         
      -PHI2r3_RNITCN41      ORCALUT4     A        In      0.000     1.148 r     -         
      -PHI2r3_RNITCN41      ORCALUT4     Z        Out     1.153     2.301 r     -         
      -N_141_i              Net          -        -       -         -           3         
      -nUFMCS_s_0_N_5_i     ORCALUT4     A        In      0.000     2.301 r     -         
      -nUFMCS_s_0_N_5_i     ORCALUT4     Z        Out     0.617     2.917 r     -         
      -nUFMCS_s_0_N_5_i     Net          -        -       -         -           1         
      -nUFMCS               FD1S3AY      D        In      0.000     2.917 r     -         
      -===================================================================================
      +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.462
      +    - Setup time:                            0.472
           + Clock delay at ending point:           0.000 (ideal)
      -    = Required time:                         1.462
      +    = Required time:                         0.528
       
      -    - Propagation time:                      3.214
      +    - Propagation time:                      2.361
           - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.751
      +    = Slack (critical) :                     -1.832
       
      -    Number of logic level(s):                2
      -    Starting point:                          CmdSubmitted / Q
      -    Ending point:                            UFMSDI / D
      +    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)
      -----------------------------------------------------------------------------------
      -CmdSubmitted        FD1S3AX      Q        Out     1.148     1.148 r     -         
      -CmdSubmitted        Net          -        -       -         -           4         
      -PHI2r3_RNITCN41     ORCALUT4     A        In      0.000     1.148 r     -         
      -PHI2r3_RNITCN41     ORCALUT4     Z        Out     1.153     2.301 r     -         
      -N_141_i             Net          -        -       -         -           3         
      -UFMSDI_RNO          PFUMX        C0       In      0.000     2.301 r     -         
      -UFMSDI_RNO          PFUMX        Z        Out     0.913     3.214 r     -         
      -UFMSDI_RNO          Net          -        -       -         -           1         
      -UFMSDI              FD1S3AX      D        In      0.000     3.214 r     -         
      -==================================================================================
      +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.089
      +    - Setup time:                            0.472
           + Clock delay at ending point:           0.000 (ideal)
      -    = Required time:                         1.089
      +    = Required time:                         0.528
       
      -    - Propagation time:                      2.605
      +    - Propagation time:                      2.361
           - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.517
      +    = Slack (critical) :                     -1.832
       
      -    Number of logic level(s):                2
      -    Starting point:                          CmdUFMCS / Q
      -    Ending point:                            nUFMCS / D
      +    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)
      ------------------------------------------------------------------------------------
      -CmdUFMCS             FD1P3AX      Q        Out     0.972     0.972 r     -         
      -CmdUFMCS             Net          -        -       -         -           1         
      -nUFMCS_s_0_m4_yy     ORCALUT4     A        In      0.000     0.972 r     -         
      -nUFMCS_s_0_m4_yy     ORCALUT4     Z        Out     1.017     1.989 r     -         
      -nUFMCS_s_0_m4_yy     Net          -        -       -         -           1         
      -nUFMCS_s_0_N_5_i     ORCALUT4     C        In      0.000     1.989 r     -         
      -nUFMCS_s_0_N_5_i     ORCALUT4     Z        Out     0.617     2.605 f     -         
      -nUFMCS_s_0_N_5_i     Net          -        -       -         -           1         
      -nUFMCS               FD1S3AY      D        In      0.000     2.605 f     -         
      -===================================================================================
      +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: 
      @@ -722,26 +704,26 @@ Path information for path number 5:
           + Clock delay at ending point:           0.000 (ideal)
           = Required time:                         0.528
       
      -    - Propagation time:                      1.765
      +    - Propagation time:                      2.361
           - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.236
      +    = Slack (critical) :                     -1.832
       
           Number of logic level(s):                1
      -    Starting point:                          CmdSubmitted / Q
      -    Ending point:                            LEDEN / SP
      +    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)
      ----------------------------------------------------------------------------------
      -CmdSubmitted       FD1S3AX      Q        Out     1.148     1.148 r     -         
      -CmdSubmitted       Net          -        -       -         -           4         
      -un1_FS_13_i_0      ORCALUT4     A        In      0.000     1.148 r     -         
      -un1_FS_13_i_0      ORCALUT4     Z        Out     0.617     1.765 r     -         
      -N_28               Net          -        -       -         -           1         
      -LEDEN              FD1P3AX      SP       In      0.000     1.765 r     -         
      -=================================================================================
      +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     -         
      +=======================================================================================
       
       
       
      @@ -762,13 +744,13 @@ Instance       Reference     Type        Pin     Net            Time        Slac
       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[12]         RCLK          FD1S3AX     Q       FS[12]         1.108       8.400 
      -FS[13]         RCLK          FD1S3AX     Q       FS[13]         1.108       8.400 
      -FS[14]         RCLK          FD1S3AX     Q       FS[14]         1.108       8.400 
      -FS[17]         RCLK          FD1S3AX     Q       FS[17]         1.108       8.400 
      -FS[16]         RCLK          FD1S3AX     Q       FS[16]         1.148       9.377 
      -FS[15]         RCLK          FD1S3AX     Q       FS[15]         1.108       9.417 
      -InitReady      RCLK          FD1S3AX     Q       InitReady      1.268       9.849 
      +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 
       ==================================================================================
       
       
      @@ -794,7 +776,7 @@ RowA[7]        RCLK          FD1S3AX      D       RowAd_0[7]     1.089        -0
       
       
       Worst Path Information
      -View Worst Path in Analyst
      +View Worst Path in Analyst
       ***********************
       
       
      @@ -949,13 +931,15 @@ RowA[6]            FD1S3AX      D        In      0.000     1.873 r     -
       Starting Points with Worst Slack
       ********************************
       
      -             Starting                                   Arrival           
      -Instance     Reference     Type        Pin     Net      Time        Slack 
      -             Clock                                                        
      ---------------------------------------------------------------------------
      -CBR          nCRAS         FD1S3AX     Q       CBR      1.204       -1.821
      -FWEr         nCRAS         FD1S3AX     Q       FWEr     1.148       -1.765
      -==========================================================================
      +              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
      @@ -965,17 +949,17 @@ FWEr         nCRAS         FD1S3AX     Q       FWEr     1.148       -1.765
       Instance       Reference     Type         Pin     Net                Time         Slack 
                      Clock                                                                    
       ----------------------------------------------------------------------------------------
      -nRCAS_0io      nCRAS         OFS1P3BX     D       N_179_i            1.089        -1.821
      -nRWE_0io       nCRAS         OFS1P3BX     D       N_180_i            1.089        -1.821
      -nRCS_0io       nCRAS         OFS1P3BX     D       N_27_i             1.089        -1.765
      -nRowColSel     nCRAS         FD1S3IX      D       nRowColSel_0_0     1.089        -1.749
      -RCKEEN         nCRAS         FD1S3AX      D       RCKEEN_8           1.089        -1.693
      +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
      +View Worst Path in Analyst
       ***********************
       
       
      @@ -985,12 +969,12 @@ Path information for path number 1:
           + Clock delay at ending point:           0.000 (ideal)
           = Required time:                         1.089
       
      -    - Propagation time:                      2.909
      +    - Propagation time:                      2.813
           - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.821
      +    = Slack (non-critical) :                 -1.725
       
           Number of logic level(s):                2
      -    Starting point:                          CBR / Q
      +    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
      @@ -998,15 +982,15 @@ Path information for path number 1:
       Instance / Net                         Pin      Pin               Arrival     No. of    
       Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
       ----------------------------------------------------------------------------------------
      -CBR                       FD1S3AX      Q        Out     1.204     1.204 r     -         
      -CBR                       Net          -        -       -         -           7         
      -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.204 r     -         
      -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.089     2.293 r     -         
      +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.293 r     -         
      -nRCAS_0io_RNO             ORCALUT4     Z        Out     0.617     2.909 f     -         
      -N_179_i                   Net          -        -       -         -           1         
      -nRCAS_0io                 OFS1P3BX     D        In      0.000     2.909 f     -         
      +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     -         
       ========================================================================================
       
       
      @@ -1016,12 +1000,12 @@ Path information for path number 2:
           + Clock delay at ending point:           0.000 (ideal)
           = Required time:                         1.089
       
      -    - Propagation time:                      2.909
      +    - Propagation time:                      2.813
           - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.821
      +    = Slack (non-critical) :                 -1.725
       
           Number of logic level(s):                2
      -    Starting point:                          CBR / Q
      +    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
      @@ -1029,15 +1013,15 @@ Path information for path number 2:
       Instance / Net                         Pin      Pin               Arrival     No. of    
       Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
       ----------------------------------------------------------------------------------------
      -CBR                       FD1S3AX      Q        Out     1.204     1.204 r     -         
      -CBR                       Net          -        -       -         -           7         
      -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.204 r     -         
      -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.089     2.293 r     -         
      +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.293 r     -         
      -nRWE_0io_RNO              ORCALUT4     Z        Out     0.617     2.909 r     -         
      -N_180_i                   Net          -        -       -         -           1         
      -nRWE_0io                  OFS1P3BX     D        In      0.000     2.909 r     -         
      +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     -         
       ========================================================================================
       
       
      @@ -1047,29 +1031,29 @@ Path information for path number 3:
           + Clock delay at ending point:           0.000 (ideal)
           = Required time:                         1.089
       
      -    - Propagation time:                      2.853
      +    - Propagation time:                      2.781
           - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.765
      +    = Slack (non-critical) :                 -1.693
       
           Number of logic level(s):                2
      -    Starting point:                          FWEr / Q
      +    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)
      ---------------------------------------------------------------------------------------
      -FWEr                    FD1S3AX      Q        Out     1.148     1.148 r     -         
      -FWEr                    Net          -        -       -         -           4         
      -nRCAS_r_i_a3_1_1_tz     ORCALUT4     D        In      0.000     1.148 r     -         
      -nRCAS_r_i_a3_1_1_tz     ORCALUT4     Z        Out     1.089     2.237 r     -         
      -N_27_i_1                Net          -        -       -         -           2         
      -nRCAS_0io_RNO           ORCALUT4     A        In      0.000     2.237 r     -         
      -nRCAS_0io_RNO           ORCALUT4     Z        Out     0.617     2.853 f     -         
      -N_179_i                 Net          -        -       -         -           1         
      -nRCAS_0io               OFS1P3BX     D        In      0.000     2.853 f     -         
      -======================================================================================
      +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: 
      @@ -1078,28 +1062,28 @@ Path information for path number 4:
           + Clock delay at ending point:           0.000 (ideal)
           = Required time:                         1.089
       
      -    - Propagation time:                      2.853
      +    - Propagation time:                      2.781
           - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.765
      +    = Slack (non-critical) :                 -1.693
       
           Number of logic level(s):                2
      -    Starting point:                          FWEr / Q
      -    Ending point:                            nRCS_0io / D
      +    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 SCLK
      +    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.148     1.148 r     -         
      -FWEr                    Net          -        -       -         -           4         
      -nRCAS_r_i_a3_1_1_tz     ORCALUT4     D        In      0.000     1.148 r     -         
      -nRCAS_r_i_a3_1_1_tz     ORCALUT4     Z        Out     1.089     2.237 r     -         
      -N_27_i_1                Net          -        -       -         -           2         
      -nRCS_0io_RNO            ORCALUT4     B        In      0.000     2.237 r     -         
      -nRCS_0io_RNO            ORCALUT4     Z        Out     0.617     2.853 f     -         
      -N_27_i                  Net          -        -       -         -           1         
      -nRCS_0io                OFS1P3BX     D        In      0.000     2.853 f     -         
      +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     -         
       ======================================================================================
       
       
      @@ -1109,76 +1093,144 @@ Path information for path number 5:
           + Clock delay at ending point:           0.000 (ideal)
           = Required time:                         1.089
       
      -    - Propagation time:                      2.837
      +    - Propagation time:                      2.741
           - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.749
      +    = Slack (non-critical) :                 -1.653
       
           Number of logic level(s):                2
      -    Starting point:                          CBR / Q
      -    Ending point:                            nRCS_0io / D
      +    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 SCLK
      +    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.204     1.204 r     -         
      -CBR                Net          -        -       -         -           7         
      -nRCS_0io_RNO_0     ORCALUT4     A        In      0.000     1.204 r     -         
      -nRCS_0io_RNO_0     ORCALUT4     Z        Out     1.017     2.221 f     -         
      -N_27_i_sn          Net          -        -       -         -           1         
      -nRCS_0io_RNO       ORCALUT4     C        In      0.000     2.221 f     -         
      -nRCS_0io_RNO       ORCALUT4     Z        Out     0.617     2.837 r     -         
      -N_27_i             Net          -        -       -         -           1         
      -nRCS_0io           OFS1P3BX     D        In      0.000     2.837 r     -         
      +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: 182MB peak: 184MB)
      +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:02s; Memory used current: 182MB peak: 184MB)
      +Finished timing report (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:03s; Memory used current: 191MB peak: 193MB)
       
       ---------------------------------------
      -Resource Usage Report
      +Resource Usage Report
       Part: lcmxo2_640hc-4
       
      -Register bits: 90 of 640 (14%)
      +Register bits: 109 of 640 (17%)
       PIC Latch:       0
      -I/O cells:       67
      +I/O cells:       63
       
       
       Details:
       BB:             8
       CCU2D:          10
      -FD1P3AX:        11
      -FD1S3AX:        49
      -FD1S3AY:        1
      +EFB:            1
      +FD1P3AX:        27
      +FD1P3IX:        3
      +FD1S3AX:        51
       FD1S3IX:        3
       GSR:            1
      -IB:             26
      +IB:             25
       IFS1P3DX:       9
      -INV:            7
      -OB:             33
      +INV:            8
      +OB:             30
       OFS1P3BX:       4
      -OFS1P3DX:       12
      +OFS1P3DX:       11
       OFS1P3JX:       1
      -ORCALUT4:       135
      +ORCALUT4:       206
       PFUMX:          1
       PUR:            1
      -VHI:            1
      -VLO:            1
      +VHI:            2
      +VLO:            2
       Mapper successful!
       
      -At Mapper Exit (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 67MB peak: 184MB)
      +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:02s realtime, 0h:00m:02s cputime
      -# Tue Aug 15 22:34:24 2023
      +Process took 0h:00m:03s realtime, 0h:00m:03s cputime
      +# Wed Aug 16 20:59:35 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
      new file mode 100644
      index 0000000..d3b0487
      --- /dev/null
      +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_toc.htm
      @@ -0,0 +1,60 @@
      +  
      +  
      +    
      +      
      +   
      +
      +  
      +   
      +    
      +
      +   
      +
      +  
      + 
      \ No newline at end of file
      diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1.plg b/CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1.plg
      deleted file mode 100644
      index 3b8cd49..0000000
      --- a/CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1.plg
      +++ /dev/null
      @@ -1,23 +0,0 @@
      -@P:  Worst Slack : -2.389
      -@P:  PHI2 - Estimated Frequency : 0.8 MHz
      -@P:  PHI2 - Requested Frequency : 2.9 MHz
      -@P:  PHI2 - Estimated Period : 1186.150
      -@P:  PHI2 - Requested Period : 350.000
      -@P:  PHI2 - Slack : -2.389
      -@P:  RCLK - Estimated Frequency : 18.4 MHz
      -@P:  RCLK - Requested Frequency : 62.5 MHz
      -@P:  RCLK - Estimated Period : 54.224
      -@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 : 987.210
      -@P:  nCRAS - Requested Period : 350.000
      -@P:  nCRAS - Slack : -1.821
      -@P:  Total Area : 142.0
      -@P:  CPU Time : 0h:00m:02s
      diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1_srr.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1_srr.htm
      deleted file mode 100644
      index cf508f4..0000000
      --- a/CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1_srr.htm
      +++ /dev/null
      @@ -1,983 +0,0 @@
      -
      -
      -#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
      -
      -# Tue Aug 15 23:12:41 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-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: 93MB peak: 93MB)
      -Running optimization stage 2 on RAM2GS .......
      -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 94MB)
      -
      -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.
      -# Tue Aug 15 23:12: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 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.
      -# Tue Aug 15 23:12:41 2023
      -
      -###########################################################]
      -
      -For a summary of runtime and memory usage for all design units, please see file:
      -==========================================================
      -Linked File:  RAM2GS_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.
      -# Tue Aug 15 23:12: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 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\RAM2GS_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: 90MB peak: 91MB)
      -
      -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
      -
      -Process completed successfully.
      -# Tue Aug 15 23:12:42 2023
      -
      -###########################################################]
      -
      -
      -
      -
      -# Tue Aug 15 23:12:42 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:  RAM2GS_LCMXO2_640HC_impl1_scck.rpt
      -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\RAM2GS_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: 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=2 on top level netlist RAM2GS  
      -
      -Finished netlist restructuring (Real Time elapsed 0h:00m:00s; 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: 88MB peak: 174MB)
      -
      -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
      -# Tue Aug 15 23:12:44 2023
      -
      -###########################################################]
      -
      -
      -
      -
      -# Tue Aug 15 23:12:44 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:00s; CPU Time elapsed 0h:00m:00s; 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: 176MB peak: 176MB)
      -
      -Pass		 CPU time		Worst Slack		Luts / Registers
      -------------------------------------------------------------
      -   1		0h:00m:01s		    -2.34ns		 128 /        89
      -   2		0h:00m:01s		    -2.34ns		 140 /        89
      -   3		0h:00m:01s		    -2.34ns		 140 /        89
      -@N:FX271 : ram2gs-spi.v(147) | Replicating instance Ready (in view: work.RAM2GS(verilog)) with 12 loads 1 time to improve timing.
      -Timing driven replication report
      -Added 1 Registers via timing driven replication
      -Added 0 LUTs via timing driven replication
      -
      -   4		0h:00m:01s		    -2.04ns		 140 /        90
      -
      -
      -   5		0h:00m:01s		    -2.04ns		 141 /        90
      -   6		0h:00m:01s		    -2.04ns		 141 /        90
      -   7		0h:00m:01s		    -2.04ns		 141 /        90
      -   8		0h:00m:01s		    -2.04ns		 141 /        90
      -   9		0h:00m:01s		    -2.04ns		 141 /        90
      -
      -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB)
      -
      -@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: 177MB peak: 177MB)
      -
      -
      -Start Writing Netlists (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 141MB peak: 178MB)
      -
      -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\RAM2GS_LCMXO2_640HC_impl1_m.srm
      -
      -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 178MB peak: 178MB)
      -
      -Writing EDIF Netlist and constraint files
      -@N:FX1056 :  | Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\RAM2GS_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: 183MB peak: 183MB)
      -
      -
      -Finished Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 183MB peak: 184MB)
      -
      -
      -Start final timing analysis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 181MB peak: 184MB)
      -
      -@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 Tue Aug 15 23:12:47 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: -2.389
      -
      -                   Requested     Estimated     Requested     Estimated                Clock        Clock           
      -Starting Clock     Frequency     Frequency     Period        Period        Slack      Type         Group           
      --------------------------------------------------------------------------------------------------------------------
      -PHI2               2.9 MHz       0.8 MHz       350.000       1186.150      -2.389     declared     default_clkgroup
      -RCLK               62.5 MHz      18.4 MHz      16.000        54.224        -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       987.210       -1.821     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      8.400  |  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       -2.389 
      -PHI2      PHI2    |  No paths    -      |  350.000     345.378  |  175.000     167.920  |  175.000     173.428
      -nCRAS     RCLK    |  No paths    -      |  No paths    -        |  No paths    -        |  1.000       -1.821 
      -==============================================================================================================
      - 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.148       -2.389 
      -CmdUFMCS         PHI2          FD1P3AX      Q       CmdUFMCS         0.972       -1.517 
      -CmdUFMSDI        PHI2          FD1P3AX      Q       CmdUFMSDI        0.972       -0.740 
      -CmdLEDEN         PHI2          FD1P3AX      Q       CmdLEDEN         1.044       -0.572 
      -Cmdn8MEGEN       PHI2          FD1P3AX      Q       Cmdn8MEGEN       1.044       -0.572 
      -CmdUFMCLK        PHI2          FD1P3AX      Q       CmdUFMCLK        0.972       -0.500 
      -Bank_0io[0]      PHI2          IFS1P3DX     Q       Bank[0]          0.972       167.920
      -Bank_0io[1]      PHI2          IFS1P3DX     Q       Bank[1]          0.972       167.920
      -Bank_0io[2]      PHI2          IFS1P3DX     Q       Bank[2]          0.972       167.920
      -Bank_0io[3]      PHI2          IFS1P3DX     Q       Bank[3]          0.972       167.920
      -========================================================================================
      -
      -
      -Ending Points with Worst Slack
      -******************************
      -
      -                Starting                                                Required            
      -Instance        Reference     Type         Pin     Net                  Time         Slack  
      -                Clock                                                                       
      ---------------------------------------------------------------------------------------------
      -UFMCLK_0io      PHI2          OFS1P3DX     SP      i2_i                 0.528        -2.389 
      -nUFMCS          PHI2          FD1S3AY      D       nUFMCS_s_0_N_5_i     1.089        -1.829 
      -UFMSDI          PHI2          FD1S3AX      D       UFMSDI_RNO           1.462        -1.751 
      -LEDEN           PHI2          FD1P3AX      SP      N_28                 0.528        -1.236 
      -n8MEGEN         PHI2          FD1P3AX      SP      N_26                 0.528        -1.236 
      -LEDEN           PHI2          FD1P3AX      D       N_74_i               1.089        -0.572 
      -n8MEGEN         PHI2          FD1P3AX      D       N_131                1.089        -0.572 
      -UFMCLK_0io      PHI2          OFS1P3DX     D       i1_i                 1.089        -0.500 
      -ADSubmitted     PHI2          FD1S3AX      D       ADSubmitted_r_0      175.089      167.920
      -C1Submitted     PHI2          FD1S3AX      D       C1Submitted_s_0      175.089      167.920
      -============================================================================================
      -
      -
      -
      -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.917
      -    - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (critical) :                     -2.389
      -
      -    Number of logic level(s):                2
      -    Starting point:                          CmdSubmitted / Q
      -    Ending point:                            UFMCLK_0io / 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 SCLK
      -
      -Instance / Net                    Pin      Pin               Arrival     No. of    
      -Name                 Type         Name     Dir     Delay     Time        Fan Out(s)
      ------------------------------------------------------------------------------------
      -CmdSubmitted         FD1S3AX      Q        Out     1.148     1.148 r     -         
      -CmdSubmitted         Net          -        -       -         -           4         
      -PHI2r3_RNITCN41      ORCALUT4     A        In      0.000     1.148 r     -         
      -PHI2r3_RNITCN41      ORCALUT4     Z        Out     1.153     2.301 r     -         
      -N_141_i              Net          -        -       -         -           3         
      -UFMCLK_0io_RNO_0     ORCALUT4     A        In      0.000     2.301 r     -         
      -UFMCLK_0io_RNO_0     ORCALUT4     Z        Out     0.617     2.917 r     -         
      -i2_i                 Net          -        -       -         -           1         
      -UFMCLK_0io           OFS1P3DX     SP       In      0.000     2.917 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:                      2.917
      -    - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.829
      -
      -    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.148     1.148 r     -         
      -CmdSubmitted         Net          -        -       -         -           4         
      -PHI2r3_RNITCN41      ORCALUT4     A        In      0.000     1.148 r     -         
      -PHI2r3_RNITCN41      ORCALUT4     Z        Out     1.153     2.301 r     -         
      -N_141_i              Net          -        -       -         -           3         
      -nUFMCS_s_0_N_5_i     ORCALUT4     A        In      0.000     2.301 r     -         
      -nUFMCS_s_0_N_5_i     ORCALUT4     Z        Out     0.617     2.917 r     -         
      -nUFMCS_s_0_N_5_i     Net          -        -       -         -           1         
      -nUFMCS               FD1S3AY      D        In      0.000     2.917 r     -         
      -===================================================================================
      -
      -
      -Path information for path number 3: 
      -      Requested Period:                      1.000
      -    - Setup time:                            -0.462
      -    + Clock delay at ending point:           0.000 (ideal)
      -    = Required time:                         1.462
      -
      -    - Propagation time:                      3.214
      -    - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.751
      -
      -    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.148     1.148 r     -         
      -CmdSubmitted        Net          -        -       -         -           4         
      -PHI2r3_RNITCN41     ORCALUT4     A        In      0.000     1.148 r     -         
      -PHI2r3_RNITCN41     ORCALUT4     Z        Out     1.153     2.301 r     -         
      -N_141_i             Net          -        -       -         -           3         
      -UFMSDI_RNO          PFUMX        C0       In      0.000     2.301 r     -         
      -UFMSDI_RNO          PFUMX        Z        Out     0.913     3.214 r     -         
      -UFMSDI_RNO          Net          -        -       -         -           1         
      -UFMSDI              FD1S3AX      D        In      0.000     3.214 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
      -FS[12]         RCLK          FD1S3AX     Q       FS[12]         1.108       8.400 
      -FS[13]         RCLK          FD1S3AX     Q       FS[13]         1.108       8.400 
      -FS[14]         RCLK          FD1S3AX     Q       FS[14]         1.108       8.400 
      -FS[17]         RCLK          FD1S3AX     Q       FS[17]         1.108       8.400 
      -FS[16]         RCLK          FD1S3AX     Q       FS[16]         1.148       9.377 
      -FS[15]         RCLK          FD1S3AX     Q       FS[15]         1.108       9.417 
      -InitReady      RCLK          FD1S3AX     Q       InitReady      1.268       9.849 
      -==================================================================================
      -
      -
      -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     -         
      -=================================================================================
      -
      -
      -
      -
      -====================================
      -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.204       -1.821
      -FWEr         nCRAS         FD1S3AX     Q       FWEr     1.148       -1.765
      -==========================================================================
      -
      -
      -Ending Points with Worst Slack
      -******************************
      -
      -               Starting                                              Required           
      -Instance       Reference     Type         Pin     Net                Time         Slack 
      -               Clock                                                                    
      -----------------------------------------------------------------------------------------
      -nRCAS_0io      nCRAS         OFS1P3BX     D       N_179_i            1.089        -1.821
      -nRWE_0io       nCRAS         OFS1P3BX     D       N_180_i            1.089        -1.821
      -nRCS_0io       nCRAS         OFS1P3BX     D       N_27_i             1.089        -1.765
      -nRowColSel     nCRAS         FD1S3IX      D       nRowColSel_0_0     1.089        -1.749
      -RCKEEN         nCRAS         FD1S3AX      D       RCKEEN_8           1.089        -1.693
      -========================================================================================
      -
      -
      -
      -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.909
      -    - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.821
      -
      -    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.204     1.204 r     -         
      -CBR                       Net          -        -       -         -           7         
      -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.204 r     -         
      -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.089     2.293 r     -         
      -nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
      -nRCAS_0io_RNO             ORCALUT4     B        In      0.000     2.293 r     -         
      -nRCAS_0io_RNO             ORCALUT4     Z        Out     0.617     2.909 f     -         
      -N_179_i                   Net          -        -       -         -           1         
      -nRCAS_0io                 OFS1P3BX     D        In      0.000     2.909 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.909
      -    - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.821
      -
      -    Number of logic level(s):                2
      -    Starting point:                          CBR / 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                       FD1S3AX      Q        Out     1.204     1.204 r     -         
      -CBR                       Net          -        -       -         -           7         
      -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.204 r     -         
      -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.089     2.293 r     -         
      -nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
      -nRWE_0io_RNO              ORCALUT4     A        In      0.000     2.293 r     -         
      -nRWE_0io_RNO              ORCALUT4     Z        Out     0.617     2.909 r     -         
      -N_180_i                   Net          -        -       -         -           1         
      -nRWE_0io                  OFS1P3BX     D        In      0.000     2.909 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.853
      -    - Clock delay at starting point:         0.000 (ideal)
      -    = Slack (non-critical) :                 -1.765
      -
      -    Number of logic level(s):                2
      -    Starting point:                          FWEr / 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)
      ---------------------------------------------------------------------------------------
      -FWEr                    FD1S3AX      Q        Out     1.148     1.148 r     -         
      -FWEr                    Net          -        -       -         -           4         
      -nRCAS_r_i_a3_1_1_tz     ORCALUT4     D        In      0.000     1.148 r     -         
      -nRCAS_r_i_a3_1_1_tz     ORCALUT4     Z        Out     1.089     2.237 r     -         
      -N_27_i_1                Net          -        -       -         -           2         
      -nRCAS_0io_RNO           ORCALUT4     A        In      0.000     2.237 r     -         
      -nRCAS_0io_RNO           ORCALUT4     Z        Out     0.617     2.853 f     -         
      -N_179_i                 Net          -        -       -         -           1         
      -nRCAS_0io               OFS1P3BX     D        In      0.000     2.853 f     -         
      -======================================================================================
      -
      -
      -
      -##### 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: 182MB peak: 184MB)
      -
      -
      -Finished timing report (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 182MB peak: 184MB)
      -
      ----------------------------------------
      -Resource Usage Report
      -Part: lcmxo2_640hc-4
      -
      -Register bits: 90 of 640 (14%)
      -PIC Latch:       0
      -I/O cells:       67
      -
      -
      -Details:
      -BB:             8
      -CCU2D:          10
      -FD1P3AX:        11
      -FD1S3AX:        49
      -FD1S3AY:        1
      -FD1S3IX:        3
      -GSR:            1
      -IB:             26
      -IFS1P3DX:       9
      -INV:            7
      -OB:             33
      -OFS1P3BX:       4
      -OFS1P3DX:       12
      -OFS1P3JX:       1
      -ORCALUT4:       135
      -PFUMX:          1
      -PUR:            1
      -VHI:            1
      -VLO:            1
      -Mapper successful!
      -
      -At Mapper Exit (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 67MB peak: 184MB)
      -
      -Process took 0h:00m:02s realtime, 0h:00m:02s cputime
      -# Tue Aug 15 23:12:47 2023
      -
      -###########################################################]
      -
      -
      diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1_toc.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1_toc.htm deleted file mode 100644 index dd30c89..0000000 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/RAM2GS_LCMXO2_640HC_impl1_toc.htm +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - \ 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 67c8bf4..b95cb8d 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_compiler.log +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_compiler.log @@ -1,10 +1,12 @@ -C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\RAM2GS_LCMXO2_640HC_impl1_comp.srs -top RAM2GS -hdllog D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\RAM2GS_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-SPI.v -jobname "compiler" -relcom:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn ..\synwork\RAM2GS_LCMXO2_640HC_impl1_comp.srs -top RAM2GS -hdllog ..\synlog\RAM2GS_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-SPI.v -jobname "compiler" +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\RAM2GS_LCMXO2_640HC_impl1_comp.srs|io:o|time:1692155561|size:10463|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO2_640HC_impl1_compiler.srr|io:o|time:1692155561|size:4591|exec:0|csum: +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-SPI.v|io:i|time:1692155394|size:11758|exec:0|csum:1D033D06BAC573F583D1480CDDD96F81 +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 diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_fpga_mapper.log b/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_fpga_mapper.log index 9cc96e0..77a28d0 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 -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\LCMXO2-640HC\impl1\synlog\report\RAM2GS_LCMXO2_640HC_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\LCMXO2-640HC\impl1\RAM2GS_LCMXO2_640HC_impl1.edi -freq 70.000 -tcl D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\RAM2GS_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\RAM2GS_LCMXO2_640HC_impl1.plg -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\RAM2GS_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\RAM2GS_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 -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_LCMXO2_640HC_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -ta_num_paths 3 -oedif ..\RAM2GS_LCMXO2_640HC_impl1.edi -freq 70.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\RAM2GS_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 RAM2GS_LCMXO2_640HC_impl1.plg -osyn ..\RAM2GS_LCMXO2_640HC_impl1.srm -prjdir ..\ -prjname proj_1 -log ..\synlog\RAM2GS_LCMXO2_640HC_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" +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:..\RAM2GS_LCMXO2_640HC_impl1.edi|io:o|time:1692155566|size:135533|exec:0|csum: +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\RAM2GS_LCMXO2_640HC_impl1_prem.srd|io:i|time:1692155563|size:16785|exec:0|csum:E0DA21F06B7F0F84BB4B88EF6879699C +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:RAM2GS_LCMXO2_640HC_impl1.plg|io:o|time:1692155567|size:853|exec:0|csum: -file:..\RAM2GS_LCMXO2_640HC_impl1.srm|io:o|time:1692155566|size:30417|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO2_640HC_impl1_fpga_mapper.srr|io:o|time:1692155567|size:35619|exec:0|csum: +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 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 b38047b..cf97934 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\RAM2GS_LCMXO2_640HC_impl1_comp.srs -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\RAM2GS_LCMXO2_640HC_impl1_mult.srs -log D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\RAM2GS_LCMXO2_640HC_impl1_multi_srs_gen.srr -relcom:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs ..\synwork\RAM2GS_LCMXO2_640HC_impl1_comp.srs -osyn ..\synwork\RAM2GS_LCMXO2_640HC_impl1_mult.srs -log ..\synlog\RAM2GS_LCMXO2_640HC_impl1_multi_srs_gen.srr +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\RAM2GS_LCMXO2_640HC_impl1_comp.srs|io:i|time:1692155561|size:10463|exec:0|csum:43BAA23EACACCD6D11E31E1651718DD7 -file:..\synwork\RAM2GS_LCMXO2_640HC_impl1_mult.srs|io:o|time:1692155562|size:10332|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO2_640HC_impl1_multi_srs_gen.srr|io:o|time:1692155562|size:1163|exec:0|csum: +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 diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_premap.log b/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_premap.log index 3ea9f3a..736b297 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 -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\LCMXO2-640HC\impl1\synlog\report\RAM2GS_LCMXO2_640HC_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -ta_num_paths 3 -oedif D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\RAM2GS_LCMXO2_640HC_impl1.edi -conchk_prepass D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\RAM2GS_LCMXO2_640HC_impl1_cck.rpt -freq 70.000 -tcl D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\RAM2GS_LCMXO2_640HC_impl1_mult.srs -flow prepass -gcc_prepass -osrd D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\RAM2GS_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\RAM2GS_LCMXO2_640HC_impl1.plg -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\RAM2GS_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\RAM2GS_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 -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_LCMXO2_640HC_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -ta_num_paths 3 -oedif ..\RAM2GS_LCMXO2_640HC_impl1.edi -conchk_prepass ..\RAM2GS_LCMXO2_640HC_impl1_cck.rpt -freq 70.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\RAM2GS_LCMXO2_640HC_impl1_mult.srs -flow prepass -gcc_prepass -osrd ..\synwork\RAM2GS_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 RAM2GS_LCMXO2_640HC_impl1.plg -osyn ..\synwork\RAM2GS_LCMXO2_640HC_impl1_prem.srd -prjdir ..\ -prjname proj_1 -log ..\synlog\RAM2GS_LCMXO2_640HC_impl1_premap.srr -sn 2021.03 -jobname "premap" +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:..\RAM2GS_LCMXO2_640HC_impl1.edi|io:o|time:1692155404|size:135532|exec:0|csum: -file:..\RAM2GS_LCMXO2_640HC_impl1_cck.rpt|io:o|time:1692155564|size:4751|exec:0|csum: +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\RAM2GS_LCMXO2_640HC_impl1_mult.srs|io:i|time:1692155562|size:10332|exec:0|csum:0BE029DC3BEEF698461F9E379A2ED022 -file:..\synwork\RAM2GS_LCMXO2_640HC_impl1_prem.srd|io:o|time:1692155563|size:16785|exec:0|csum: +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:RAM2GS_LCMXO2_640HC_impl1.plg|io:o|time:1692155563|size:0|exec:0|csum: -file:..\synwork\RAM2GS_LCMXO2_640HC_impl1_prem.srd|io:o|time:1692155563|size:16785|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO2_640HC_impl1_premap.srr|io:o|time:1692155564|size:8429|exec:0|csum: +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 diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/impl1.plg b/CPLD/LCMXO2-640HC/impl1/syntmp/impl1.plg deleted file mode 100644 index 3b8cd49..0000000 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/impl1.plg +++ /dev/null @@ -1,23 +0,0 @@ -@P: Worst Slack : -2.389 -@P: PHI2 - Estimated Frequency : 0.8 MHz -@P: PHI2 - Requested Frequency : 2.9 MHz -@P: PHI2 - Estimated Period : 1186.150 -@P: PHI2 - Requested Period : 350.000 -@P: PHI2 - Slack : -2.389 -@P: RCLK - Estimated Frequency : 18.4 MHz -@P: RCLK - Requested Frequency : 62.5 MHz -@P: RCLK - Estimated Period : 54.224 -@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 : 987.210 -@P: nCRAS - Requested Period : 350.000 -@P: nCRAS - Slack : -1.821 -@P: Total Area : 142.0 -@P: CPU Time : 0h:00m:02s diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/impl1_toc.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/impl1_toc.htm deleted file mode 100644 index b6ef59b..0000000 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/impl1_toc.htm +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/statusReport.html b/CPLD/LCMXO2-640HC/impl1/syntmp/statusReport.html index 5f88a13..9175808 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/statusReport.html +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/statusReport.html @@ -12,7 +12,7 @@ Project Name proj_1 Device Name impl1: Lattice MachXO2 : LCMXO2_640HC Implementation Name impl1 Top Module RAM2GS - Pipelining 0 Retiming 0 + 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 @@ -34,40 +34,38 @@ (compiler)Complete - 4 + 8 0 0 - 00m:00s - -8/15/2023
      11:12:41 PM +8/16/2023
      8:59:29 PM (premap)Complete - 27 + 23 1 0 0m:01s 0m:01s -174MB -8/15/2023
      11:12:44 PM +175MB +8/16/2023
      8:59:32 PM (fpga_mapper)Complete - 19 - 6 + 22 + 7 0 -0m:02s -0m:02s -184MB -8/15/2023
      11:12:47 PM +0m:03s +0m:03s +193MB +8/16/2023
      8:59:35 PM - - Multi-srs Generator - Complete8/15/2023
      11:12:42 PM +
      @@ -75,8 +73,8 @@ - - + + +(total_luts)
      Register bits 90I/O cells 67Register bits 109I/O cells 63
      Block RAMs @@ -86,7 +84,7 @@
      ORCA LUTs -(total_luts) 135 206

      @@ -96,10 +94,11 @@ Clock NameReq FreqEst FreqSlack - PHI22.9 MHz0.8 MHz-2.389 - RCLK62.5 MHz18.4 MHz-0.784 + PHI22.9 MHz1.0 MHz-1.832 + RCLK62.5 MHz22.1 MHz-0.784 nCCAS2.9 MHzNANA - nCRAS2.9 MHz1.0 MHz-1.821 + nCRAS2.9 MHz1.0 MHz-1.725 + System100.0 MHzNA15.472
      diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/.cckTransfer b/CPLD/LCMXO2-640HC/impl1/synwork/.cckTransfer index 5aa3ef009922e39ca9db2d22f849bb1bbd30284b..5be0367a8d17ca95aac755314f30f037738728a8 100644 GIT binary patch delta 433 zcmV;i0Z#tW1JMJJDt~X(Kn#V?lN}I&^srq3uRDd3-Ekq z=GE>hI%wQTw11j7wubxi++&adsOHW=rTqO9+Zi!vLih(&d&?5 zed^xNH>dgLSU)r$FHLiK!D@p2I8TSj+Vt}yetl@Jek%6R?UlHD)jGi=_1x&g5n0`g b&y9Ud%~ezDHvj+t|NjF3FBzOnwE_SDqWROq delta 433 zcmV;i0Z#tW1JMJJDu0jDKn#V?y7{@>iIhNI9V@|T)IQVGvdBT=Cy((W?uofq) zASbRwIfEv53Ms7b#SyD4sR~pG{or z9n!)2YBxlz-XP=NgB=#m0n1WcM5T~ms?ph%6(JfdNl>k7y+S+!x+`RLA&tsx4kccg zd9_`Q4w^RNt$#Z9t>KWKdyF!I%2a`iYZ)bnB8#RMUc0JQlxT=L1YHvRmBUmu#ApDI0cxRFvy)jGiw_1x(F8BvQF bUmE)unwzH9ZvX%Q|NjF31NfErwE_SD1_jr4 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.fdep b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.fdep new file mode 100644 index 0000000..68dc0e5 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.fdep @@ -0,0 +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 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_comp.rt.csv b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.rt.csv similarity index 100% rename from CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_comp.rt.csv rename to CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.rt.csv diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.srs b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.srs new file mode 100644 index 0000000000000000000000000000000000000000..c9a54d2cd0f41663287e823860c8bf887f907c71 GIT binary patch literal 21157 zcmV)nK%KuIiwFP!000003v^OVZ{jczz2{eqKuEh1L?loOIV}oRTd9SrwAwvbsvKv4 zQ4>3|ou!fb<9E!mJ#^Jm68nA4n+yg6Xsq$5{J$rbFFUF*>PLN8qp!$$I9l=^H5d&) zv4my2hhzrnIJ=l*bjcl~YQHl4Q+u z3o(h4R0zjwE~G;t3evOb>EK24Kf^V}_=deKnWgjDIJvx-pS4!3wb8h;^qXm`b3iA= zHTj#i5aMxppI&c;$RF-jLfqx|zc%S;HXYyOLQvgQ$;stt>??D=u+u5Udz=-;T_#o&hhd(dOp(T-Wqy8j{DtpOf|CpIGNtg)|xw7dy@s= zUf+KC=#F=f{e{+5{~53w*Bh}Jxw`2xrcFDuet))OR87>`fZy{LTHua$-k3fyj>To& z>Bsr*w%-AwlEKZKskR1O_UCJFJbRqR{dIRuiFW&OI&o*(dNT6XAIsmeepUEyUBX?^a%WeHSGH3@A-d?9_u!q{a@GKx5xdd zyK}w8dfp#DOds9OleYFAI$tKU_3lw4Phb(ZU=n=Z|4Opx%Wl4QyEl`X?)Cq*?u)za z%O48+`eD55`gcFO0`DJS&&*wTU;Dt~U2?TmiWfHid`)Hj5Sma?PHPSSjLC0(mf10zCXsGBKFVXtLMT_>BrlvyMnzaf9$@FKNMZ##U#(I z<4vP0mVEwf6G{`?)@eeC%{CkZgY_`cXRrW!__OPFfa)0?F@8Pn-t0z?vtTrLM~~B) zd&ktD10Qv_=q^01+N=2NsV=(_jti}f%oKfrdq(pH!94Jdw&78 z`SD>IXcKogDeZ94g}oKPe&%!6@421bY}N_1Q81ZJ<{!rN&vO2A&x3`4jcXm?ERl1K zrh(^9KkVS1iv0cT-uZ5~+y{Vj{F!}Ds7-+~n@Y*-A3vbKw}X8&9tFFp_cUXVt~&Uk zUVXl0pOIa7&Q8d+{m|LD3H#gbBy7hX+>X0@V0aJvcj z>6c)pJ%Fds0I%!yCmpKczMAqeBIrwXo7yDWd}VCRb|3Coo^pE|jGs7%9rsUnwwqR* z?rz49!E7`ixuYrSHdpUb)Gg@SbG5oJS)A^z#h7(>Tftj;mvi0k*x2))0?>YE41V@b z%~P(=k6jI{<931qEpIk zzy=NNSmyzbGievRKh8f6rZ?c_ChTEKZ^eArn^61uhT7Z?us=Ah5z}05Blvruxzhds zm_;d-^4k9U2LroEz#>Z9Mcex_4Q3BoFx6(7=RQsQor$L*U!SLZjHR6<`qHM!25f1} zzV4I{?64RzzSpmwIESwLXJ zw=MFfsD~lH=Z$wyutl|TC%93VdKe5#pEDiJo_6~g%%R~Nf#VZ;V9JmLzM~L!Fo(fj z@!2691`ghLf-o@lY1n&76}&zKuP-Qv!78|S@<2Hl-xSunQ-a<$H2v=f_WH67e19JX zh54+om)8SaZNo4yi@*r?O7UFX%Y!0Uf*%G;&DY@Y;)h#5$Pd0!1lyNag&q8t0EP+= zik}C@A$?&*=u_eZy`pEBis`fMvrkU0vAr%Fq) zze)Lf&rClJUV5g&_6{tscOUq@J6|ykw$J^*JPculhRJ+$U(W4s`R`)?(?rbXf7srH zeoAo{Y=0KL!u)xUWBERC6B=RfFXKDTfkYWb@Yi>v$NPu=*7z$3Q+8*V0X%JN!yq;O zy2E)_eu>RtVSsu?nVZhN5|}yv?UcVw_H5wwK1_oUCJjO-4IBWggkkCg4z4Q%nv}pW zw@QfZFv%X;b8NpuOxWLm3&4ZzKJ*7Y@&0!Q#mHH@3Vj$WEcUOep>W%kcG+X9KQxP6 zReJUNr0qVenfYqZ%!{Ei=y6+Dg2OOW9o8#+bJ)ujzMoEQdd1Ws`d($h4zI)DpuWHZ z+veE83cBR?hi`_$h?;c=79YPCD0iUOtmD#T1Vj`O;x>=td^6n?a_@4^fX+#Bp! zp@U7*Xv+(*^B+p8noSIHzxcr+-zovdEb4ZfDkt;R_lf$~&vLzJivn|7y95M`E%{}O!CD8NNho2QzhaUF`HCTnSz7GYbd=9z)PHh7FD8ci#2%KEan>JA2 zt8M*?V0FJ&UQg`__tA@z_E@35m_}HRg?q0B8$O!@0SD8EJ$f=nW3RuRV{iT}6wu3m z+WH~qKfwmfZSSX2+_&}Td))~C>Z#wG>we=W&h$;gzwT7yd|xBIYwNoLJg@4$+3)CM zRM?9zd>!BiOk95sKE+Y@`F-kC&r07TczkB2p%%)vF`o2CR%XRl)?gMcnB#zVgMJ}l zu|CLj>|6OLRbk)S5#);aj~h<;TmmD(9F@ zgU+~fv+F$0VBL+g|I=&lEyf;nN8etbn|lwSCWiC7xr)Q6qsPUxf&qfXplK9czv-h)Wi1-fSwEf{^6%_nU9Cy%v1vi9e- z;Blux4AuwLTqVc2`hz!h`#X<~RgC$%5cA0#7V;ZU#)gzixw7mbtj8a+mE-64ZE^4_ zA3FD#FE;uwxg@LD9zyJZ{SDs?Tl@hbK<@$21cC zH}-I7hS=Zq!(nUxaA*!s`eVw(;5FE4HB_#Ao^OFFMws*RylAMdR;uDduI2Gu zi!3o6kTP5KhK0d=oy&obd*17gcAWrYU(B`fY&VLYKhW#*L*}vJk|6)szRDPvS6M5D z0!%amoANLp!ML6Pev~n>qoK{)E#QF5w*0nO4SSa1tDeY761pV19djAmk&W#UxDz2; zdBioUe$?b5%1UVw!9^^%h|hBoH@L8<#bt)Jz_}oT3v!kVQs*KA4p8dEP6QWJa6!*; zK~K1dZJo;vNNi687s%$u#1@61-7GIpgdz2 zJ--N>b`cA^h`C*0JK6=8ZCvzL!@>$1T*SgIa0naQqtItUwsL`MtlLE_>>?I+QF0Lr zF52yabJ4JiSlC6(?SgYb1Q+dgfop8qMJ((h=5~SYRB+L17q~`x!iBJl80`Yv6TwCD zE*D3;h=g5~a=B0P9Ou__NWF@r-8S}2&3k!L=uIpUwF#FSkoi7Okc)lB__J9%9ywpb zM&igOD5J(asPL<#_Zn zcqro0D?AqB!2%kWn>`hF#&t$fXW1E@QMA>%&MZ>;8!G{SBXR64#-Fv$=uFIK)pZ8S zk5O8dO}Wk}>MWAaMrU-!=Nm)~j;u1iu(CZVIg0BX#qV(xH#y3zQtGk9L5>`evmB8V zj4UzRAZhU;MPqU+mSgt?4gxQpO~DY-aX8^-}3?{VFN zJ&stn4zD+&Y#qbg`;KaED_)o494)04VvY`55_7S3PD3YG@BNeh%Tkg!G#w)hx6Fau zW!u)@2pv-mPv$3?kQ>MXedfczt-65w4ZB*F=Pk(WV86aFbNgx@URvjc9NQdhf&a1O ze?z6jTm|-Fy3%yMGA2x;b1`Ac{qm8EsLUHT)`|!& zV!=g=PZnInbuKL6fX9ZgIRqC(a6!&-K~A`c${1slh?tNHF6g^l&?XmpEaXOTkq9o5 z^IRkiE|z5uyIHPu$l(ho#hfQ~+H-hk2ysAK>knojv8`d_K&O;@9b*s3snd90!1){-t@b6`PO!uRODwUF3QJ4=RAC_vERmE)ER@ej z-@!uPV6g-iOJYeXEN9|hj-_tzlu#)VOOfNA(f2)wJM{K_C)?^+z*M=t5xvZzxDVv^ zhCZYv$L98idoOEXiKRSZvG{yv{Gn_+!4e59k;D>JSkBnX8=pvtCFK!I%;$^W!4kj0 zk_jxC#6l`8XY7SzY1j+Vr95Jxe7-ZjQMR36Sqdymi6yD9oUxZT{*lI1N*|PsF(b=U z9vh}k-iAfC)v?6FUSiC-dCk~#Ql@O>v&z->EgqtlaqKp2_=lL3dospYNW`Bh*2R0& zEZTewj)QGYUl*6POB!1~}oYyo5NJcq_vITqm@k#{&EEgVIq z?eJO&e@`YjBLBt_dCL*zIptVOTg1gBN8}xj$QzE9JWinT#<%#ojvSHm9Fca8$~*_` z2=W}{(NB$UJh%Af8?EP@Y-^mAJp2{oPz&dh&|%e(+{ z6vf;!KHeEU@o^M0-PU=r1TP?U?@; z#q_sj&XoECWqWp3U?OT+>e#sau5$a9i%9B13+!^+&t**1NcMWi%!d+#8}TZ*{A zy=>2MgKZ~RVu2-=SV)DX#kW^j8ou3%q&#AY`F!y^SmHNWEP=(6SfUC`%b8bUX`Fdh zCgl-}#pko$!D79^q6;j##FAB5T4I3;OCuJrmQo(E=zKo?9W44AEE|DkgIFBc1l;Zb z)7d?VZOuK2wHT~BQ5y+@ak!5WvK5QJ_YL*iaSvo@`&7y(+&cXG8Go=1-`IZ0AkFq0 z>&W!d?lU|$Q^?aG!&m?CVqAS|&F>t@ zmwgr1*1!)(B$rX*tPalwyH~gz+$(R^;4t-2Jg@HYy?hNzB(PXcVjse1v&V+t9rN%U ze($yB6S7S`{pPPjZ2U%$f76NIj>_)_2M;dCg5S2@Ovk&4>psvatG)}xZw{|*LS{Dq zPLTJneLu>7U%BP?iM+12DQgT%d{J>tc)s^{T7EYu@^2N35iQwUOsvh_$LW5K>}|-(VH*wbJ-vtm6F|@EaYmMh&cyl)r(M zl=aw6OrqK9=>sU=)v z-QLU-tOM}9v;W29HNL~C>H_#J#Vq)uO@oJ-r)f|9sXNiUPW3%E#uShQEO`=)hu1Zc zwF8N_y2ko8)-NvRp;m)I9-zOI=J(aOPM+uNKIQV#eT(ZC@m+#CD|s+N=?i3ire3GH z5NjlAEEb8cWqqXLR>@a<%ygw(%qyN&LZZ*&wS&Z{?4Y`qHG|8s9_toFzm_!zir?b@ zf|2EQRfC}a_MN@>R-d0OrM!-Hf;BJfFa3-huYBKF7=x5tsxvC`OsWf=iMmh4Z(AMc z5{{|hnASLsPB@N^9AEBlC|OD=IOgX-jpMew{a-mI$gy6^YrW){`y5)cU%1A1Uszwb z^o%&Ead3{y`UI&s7T3HcLBh*9wumhy=UCKNDvsr~;3WPHjw2~+97iV{pVo{n<2V)^ z$2E?v6OJv(@nz@5Nqw!xadyIS#yQD;gJUWK1I2Jiz3^DPwPpTRe=feNRT5D35a6w{Q$_;Q))uR619x;ph z6O%P7nY&(syH=-?xO=Q<;KplNQ@R*;6!RFBS}=TtyH_-DiyD@Ecl%qof$ycLwNPSR z+p>Nl_lvydIwk%$QBV5U{SxDTf%F&Ubw-JNH(a+7{;oKc?}{(Cky`Cca7`Q~Pq%f< zXXeeHWBsd+8?OcK-k`V~cUIPDW6R!1+`PtC$Bp`{aD$#N#m(z4uq{zu zM>;9%IX;fXZP5Hx)rXj@8U5DSM2sD0)!32~`FxkIy_l0ooG;N5&KHx|vMwZj z)Y*E{Wn){SPG(hOGe52P5Z8Q;RJ@nJ$gf7?9UdCuHR12wxA#ZP@>m-~96X4bDLR_29-Z!_~%VSZB>7%HjTqmVn)O|-=E#=a2g~W4< z*M1UnTek^*Eo+3A^LwlfVr(G#(;8lWUDdNLjBzay8(1PXDEEi6l`*ay&m@f3x(3^e zV_ZwT?*iRLTz8^|Sm~~0f`wfnlg5zb4WBr8VW_|LavpeJ8)&UcC0vyYFm*lv*es&J#FzkK5oa3zg zmY-%3)`Orw{vV!d+_w7N1w3RT_R7HGu0vvDol=hZrlxtxc(uAFACILD=QRAq@OS7q zm&dY1a0!Pf#zCvsp>r@^{BPCSDQcdpZ%o!f|84BgSIX7Z{{R30|NlxWNzKWz=5lZa z00030|CCwpZ=y;U{#^cw3G4^SW+zTMkrqQD=n}lIP-k50?oFB#uJlT=D3mIjzIp%m zcLu9fw8@gRshuP5H}d!i%AMg}7dhZQdUgo~x|8!S$HmKf6V6 zH-NrB7zF&eua-Kp6}6IieQjL0-eBG3RN=w+8a!?6^@{;_*EHxVW0zkSv9~_abH}^@ zZ|${x4Y+%MSdYj2)i6NcI*@bnROxH{`pdHq8Wfu5_1iaHo>X>x?F;w=?@HLZ`7c*H z6qT!K)cO{+^11zOUgpzpoo`dawmXYtkE7w_)f{+GMY z?F-qF{=CxfBtvZkZEsZRYtSBjreDd9^gBEK#c()+J_oP*+XYX=*1H}QZSdS;{p<(* zAy-Fz7(&-mm7ce&7juQD3v*=(+yHJ0&wObm!&^SOfuMK+uXSrC{8*;kidykR&f5cb zU3h*!c;+K@2t{ynz+DL3#av)hI=mS{AY%HGw9MNPA42;kfR^`S^5phJ_KB~8Mipy! z=j(!2xOj)_)^XhrTp@!NeKEVq?Zr38tN1=&(h`uZF<-Dx zB4s6F?Q^XkjG^uKA-Er`xkhofvr_olUxH5&D{XP2+DQkZuCD|-oBt+>%ZJ6|6@M7B-CaXl^SfX< z0&o0X4Ag%6Z)IXFwY$+cfbWXeE#xe>5_ouOuBeH>YLQv(cgKTjf5QJYhY5FiarMZv zbbklYMt93#0Atq|7n4a_`TNe=ap?|RrB?{hmN}I-AS!UpuhB=He&8Wq+Izf%e5Oq7 zCnsYgOU!=aay0Rj8L{@&PV$*;%ynk%XYbpW z`5rUcV@AiA_<)H&FzE*--C-stn2E$RSRPh9-)Hj*Gc@vwr<{}bJagL!CC~lbE_oU= zJD-OYW;Lt7^OTs;9y2<|#0O0Lf%$PykUS-3a)OyC*<_RDiQL;d)WJrXWJZ?cE3x;z zz6KLl*(6ye?RWO|p$yzfw#gD{Uz=O|T06pw&M@(1OnMPBImL96{7GXqJM`xk%yB5m>T3oi`Pn{vVIMx-x0w+3L>zX^g^|rRW#nv) zrDtm-cF3`BVdgj|e4RAv3F7oe>}ZKkWkeR4$) zb({`6yE+DN>FrCWs`)ez=lhzcuBhetu9l-y?C1jV8EZw(5RG)4i>_Uy+C* zqu3#-lUcQyhB9S>i9;QfrSX|w@~&s(b&iX7Jp<)udU!Hb7`|Xn=(Tow_>w&=dEyK9 zS_vF_LY$&H=1O8Rhw9dkv^HnbN>9h^N4@4I3x$vkljq<>M}bw=0!lBwJGFC+B}DONGp0r?y&xpX_TybTJFXC$iN+=ETdSmTTIn`kd%#w8oK& z7)p+!rN$>brXq$1yr_nUlRe%^ohoox@0{6L?Ch*+c7(rF`s+x4<5n%Uk;HQliO*{- zQV83yvmA=qSoUUS#bFJrGf72XK%-IgZGy~^} zf$@mMFt>Zx?#c5B@hgJN5gmi8%qDrJBIBTw!|Z8;-Z)bYlI1q)8tUFJdDiOda;@S< z5MexiRawgpKm5YvG0TwwxuNPjNk&w1Pmbg^ypc_bgixi)@2iJ{Uk--McmifTGDLO0 z=Z6uz#yL2dnsG5z5ZlPmL1%^`e|tikx?iH!K-5v4JAn<`qSWBIx+QwJ!`X1cF2qgl z&4Ab?VR~4{7uX=4hw#YaOExy-p^CwOF6reYdwf9RPi#D({OOWD)8i2I@TZ~vI`vs{ zje&)_4nKeC#;3Yz`14W3|5IH(eY~VQ6MWv(&8c3=k?lZusXoGu1L;-|Q*Izto!OO- z5IRK0CL@SDs+b#6r^0b~2*x%=4p&3f+3xo``@QnL+N;Nj;En9~BW7ZcaA-p~3Rh95 z)7fL`sbD4aS`l8!cUz&y9YLqE5pp%nUSE-{JGqWPC$U(KRdhIqay^A`gMefySIcf$ z`4tM-M;WKun!|L6)sUxZS?+l;aCC77LbXiGgO4bE)YCGX)pIZRZ=5_tZ~CQJzVULa z<|sbI9dS{QV8kI|zgAqGt4UVjY~Ms}vpCFQ^U4vSyBxi31!qP=2*X^5*G-NVoXU4+ zp8Res@S*Lt?~C?xp!L1q9IJBn{y1-uZsGbFlxy{~fvxB`XBLle7>b~avPMy8;iJ4r z*&CEw7RIdN6A=qv;wdoI3p~#_8oE{WgJVA2GGyI4kUbfUJsK9$4aq^y?lP}Je&8pj zCCNP%IU^PdjXjr5D9++5vfd2QueTsmFM2~>#n(WVdK}+eK>wWqB6@mKOK;vmw?rah z+gM~$)Sw!plbkUqvl2m?>)Y^wtEl@^ReJyM9!=y|TBaG{ujaB{^yPbncESt3?6>>H zlFPMyjC>#5{(aH+M@xBT{^{}FyEet<*XUjg29^GO!h`-m z&@ZyPix)4m`Sk8GCG(G~-RwD~v#;^&IZ0!m^f$lW(CD&1O$T@6>M^17#b9tdoW*ne zNaSw@9~XCvcsC>S7o1Kn?-u0aAf|V_`C|4mCHRu0cOMt?-OKY+6W;ue?C9cUF-!)O z%vb$4e}nqJMiS=L$AP%}yc-N?JQ*&?Wid@Z-jUUEHmB)eIQ*ZONVxOWY?;!>-7rq* zVDU%?>0lARBoo~(Jm1mBIei?Yv&Y8;i6^p;EAnwh=gal)$zr`&tm0xqrqj#+h2IS5 zRr2+5{=A^Gcu3}t^8G6U{aHN6i!YO8mYQ)TgDaZM78hdtlm8)oj*E9b&U^pLK6}0Q ze=(H5|Eu?}2xVoEVeIvAk8l20jD7Kmd=l8ma8`r@Df}<==RLXq>rW)wTI|Tj;e1AS z$>Jp?&v75_>)!++7w?xG2VuSm-xhhY4M}nHmTVT=A`fpiq`EgPZbbhUA7{HEm2)p} z`6lMRzeuL!a`7qrBw(*TO;}790 z!V7QaWW4r<5{~bUyT>&q{ds>ql<)x`i{VaCNE%BVy*x@-)$bkww~xd5ZuK%t2UC*O z&+(Dx=*V+^Sro8~8FhgMgYrz-4h2M~^zrjHNf=_P6 z+!dEM?Y?aKe*adFxh$|)41#QNxb??g1*387?8kK6hxr8D4F|i$FiwZ$5>H?JM>4+I z7Sl&X*Sp90FkQ`FvH=nIUH~SBJ`El#zP#EEXM^;GTxR;W=+JNZ;oq`DzYPxmwmkG( zZ_jV%6)zF^!~p|d;)h9;jKuszo%H4lij(sRvLd02MLN8jVbZT@kYUUO;R6l6`q7Vw z_^+2gx@g{io&Kn3kdQ}PyeJNkXIDw{w zd|lj;bk?6@Ge*%j4lr3#gnq>j{7!!0D}HdWZ$XKJEG&`e+aLb;&Hs~(|NP^vbI#tz zfBad`53DyF2wVr_(Eo$Hy~6X?E_nlRr>|n2yd-|H*@8?;#Js2UP6+;ZDES@2B)BXE z4JKrBv&GXyw4Z()+$AxMS3?SPh694i7x7zI(-luoKHd$|IHt*PMpr3*8ITeM;PvpGF9})mG4=nLzP%po z4_*sOxKDn9eqTOc1PZ;kA^G@W_`hrkMgm`I^f530nn$9=^#JpH@}y?{W{k6E2g~@ zbPHkA9bHo#WSO*455n@2r9Y2G^I3d3JNzzBF#X|2y=m|1AT1!!Ex!HCe!U%+qkq!B z?m5~WeQ!a>$&{j_Gzk4WO|H7@fF&%A@dJd%f|Kp!mW1_vbH{>CyL>UvKFwxIm}a5X0Od0O)LB$)Tb zh|=f5@9XK8^yK+Jg~!3We0FhEjsdP_^y`ICT8`4ces_xa>2q*g-l};$ZA@bP{1jTn z{-zKd?NmBQHhv^9QJ(t##vebNw6=CaKNw{6_b<=u^c3DYiZ*mmR_~v*Cf`TiDLT@W zW~a<=N+-MGcRF}Z*I!N=A6mu&AIIro9KAhU`sd*RrN{Y#nd9P&In%UxTpl<2!%ytb z#n%~^vAYv^55G8VjhJ_j^VF#K4B@(4v8IZnb1{jYd$&nCD^BBA(2uLZS2`?i&*ED^ zSLHc$CFaoJ^kg2U_&z=ZPq;YwUBvk5?*<3n-Dw}P$8#Qf;RnpvDqKI`#w!wjFN!%? z?)(eVBk!MejCmceo>%|Ay_9sYxS+oQFT9*x{97D%bTC}p{lIxt ze!IOAXG1!;U0(kC7LLEsg~1=d0=^6P;0W(bXu8|d1;lIse!89P;9SBSPEzVEw&8EZ z&2n-})9rB4d^WeA&CRom^ebJ?f4luk(+g;0{gtj3&vdu`{Wp2M{C)ZeesNyKKoR0$ z8Gc}3gVFDZ6eKJbB)OB;>9}> z^?vl82xVY{_1F_7e)M@tE+1tKjCqhA5Qru-mV}ibn7q9TEQI84kq|EE7yR(+SLrhy zzy9$?Dqn1_VU)NC%L2NMJ%E7|dcTN=eo7`+29B*0uCE&QBe8tSaxSodCB{=C9Oj~9 zkuw+aI;!U)(sNOkAx1D4CFZRB5Q2?G{IThSx|a56GA8d3mx149GANN{I0!RnPxFuO zdEKVI7vl0 zoowhE_yHkaY5d?-+_Ab3Iy3YQU_opV-~xW7uj+GpakE7Yc-rsX@PU)+SobZ@a+p$# z*e3Kb!Cs9Ye}jFGY&?uf6Bn3gVoo{6Vrl|OBOB`D@7T0n>-~Dt z?dBNb&|HAZ5eup@fM5Ol$c9nHnxX%ZAPuq^$!iV6!@PpQJp&`^gb`^NQ3WG1Fc4;; z_&>{0C~*V+c$jm&R@QgK+!HW@Egea`;ZcnbT!u_^g)=!X_`^t?d@oENMg$k|Px?@F zyP0k`tJ<}FC(U`R?O#H%du`75!L9s=tU(vTZrBobV`2a!@-Fid^jKIHN;oX9=5+f$ z%D>+<`t+WUD!P)e@*8=r`+%_kz%vX$7^>DB@F3EAYOFhTPy2#;?@#1m+S_R!R-hsb z3c&#L5LLLrbSu_IgMSpN9}rg<-4N+-Q@=+j3k6zH7KB{>J`(GWk9N+Qi$-L}P0V2< z*6(!3H4G+T6imWE8cz^&aOU%VtJds&A?Ndct7${P2v8taYKQ`+`ccIhaN*49y#Qq3 zsPlVn%_~B{1I3U^WY#^s2mfZPKeRv^Kh?SHQ$05&LSYV5)a(;)^@&@3Qs?)`?vs!- zg6z4#7Ser!n1{W7{=)Q6a*wpXQRX-4-xnP6JTe~Qf-$am*?6%Pbl6yfDz*?3Ec*hv zMCDD0iGJ7c1TJJIXF_y(Ow%vCrii8&>+)?LfR(VuJ_J*XY&P0Uh3!OH7PzhG_}#n1%;SNUTAz zf`mT7rA{LGj?1Tk*FoOT`lddAzajE?1eT1UxUj^$GYt#Q0T$%LXdNfaa$XAkAjm@y zgeEQl`D$%gNap|Om;~g;0X%Oj27!wjW{z+Pd<#hh%)}7{6Y7A;nFW)FTc*aF2YS3H z^bq7@AWsN5l*{pg?--#bAJq5s`XxK0V*?sa2|7n9;bao0!p6jel{P+8JlU~jNu=If zVn&3G`}f29+b&)V)ffwzfF`5@+l9mR_gK>DFy5`ndbo>sWVpVJP0mWPo3G+^e49WH zpOjC)ZXhj3$d%bD9jM>02I(wL$!aDnHF>USIe?5e78Zg5hofk-Q|n?vRx9B52>87i zE1VO^4H7oX=2 zv#pWe7?)p-%ZG9K|72XgGcF`19MlRSc|y=Lfp(Rgfc8FLq=}??&@H`-My{vi_2;zx zne@|sa-r7)4vPR%x5OxOi6fxd6`8C6Z_$oy$Y>WSJ1CmI{(wBlNZ7`Ykf%GRkGt7$ zm6DeM>&hhpdbsRY^j)>VpuJq^!6OTIat>jRVNTJG{-gQqk9PH#aL(WljEQ{q<@#Ao zR$zn4f6y<*r=`AoCQW{x`hBg-VFs-T{JrPl1L^HdTfO&(-2-{=t#`tPLqfnUmd}iTPGKvf(AdwwAF`1qbv56a<0vPl(^-eqP~K(%F~iHOaw#@T67X{*jZaL!nK~mvs~z$nb7|~1WfuQ zbQ}}(rc~%nWFq|%-?E?n8|nSB&p}?{*BfDtj(cWY0&Bt)h6DPLu+SH)4r?6@`UBU{ zAE7`Jy@s^Dqd@{(%fa^UWKEST7MGpVxlHpI}VJpC?Gwp>r%5IY zz8;7f;uslv0KWj_IDjn=$2B%~Dyr>h&aHD}?);`IC2_+EhL!#~OYr@gVnRUph7Zip8ttD{|y30{MzYhOgALD0qpOaq&|gfG-^;>W@GGX~Q}MUj$D#UBf*ve*2VIv$2rVx8-{q5* zPeKzC!xQ)gUM^#a1;qw0K)-Yu<7FY&iBKL26N6mck~E$T8nH2SMKvw+Fz4WM&4tWj z8a6@P=oJ7P@(=V8eETH0c`ucppLjR#nfCeT4PSWyzVb}r0!5?T(lJ2ppd=^qz8-tT z2>1!4EvbF!`+VmB6LRDnm@LVNyzlzaQQPlq{Nk2xUACcp>#7a6-wgT<_d9*#+&afC z-@Syd{p0{Yh(?72KS&B9@9%>TFkN51Cj@HE1s`x9&mIhHNz6T|6XV`51~#YQqq0-49;VC=%o;kisinM!$oadU$nD_gDEl6s)3=({GIl+3mw#TP6ES&`(PtSp{GH zuwkUnb&jla zUZ3l@9Oz&`i=G%GtH+2`oY9Q25b{_bx9_9UlC_0(epDW3)m#cLmKk|0_=$}}#e0xG zzI$~{&{|jTf)eXWf+0LJK9{l~|~B~X>a zxN^~+9#^o8i`KY;LLY73S>vcUj4xKn5-}i9Ne#XNdwo~>Q(%r_EI}1xDBW>&j)j@A zFncU*90f=pCGS6mBeVxcWhrqamRV_VB=j-QZO_A8>uR2sIr)jSQOA&BPbk7dG2yKE z5NcUSuDE4GS2`-6ToLQ}J05Li90YH%#M=#)YXJ*9!7~}h3CuG&*BJKAE4?JZUYLQ6 zsbh6MmOhJy?QZ-T)idMs(0Tp}7TC;SNO`%Efp#vVEl2E}x+Eoy_hKUbSJL*oEVaJ_ zRqGS{B`lNv5 zw2vbY>|IO~gbSJC^AHQ5u1yay1C_fVpMSd4iRsbipyr8>&>@EKD$ zN44Ex`4xgv=CB}4RnFL#ov=|iLWqE`N#55!1}*Q5J}HZ$NIM(>y}>?corg@mqz3me zuXHog`JlvkPvXeuQZKS>dnWx1nALVPerm(kdes0|cz3TWoO0WT0b~HS2PmwNrzH1$ z>zu#usijLe{j}c`)FpGSfL5lQ@6`!M{>JpBNxJ|G*R*TB*Pvatmv((Ir%2DK?emkc zkQsmDJy`F_mGlb+4SOAV#$H!C6t(?T`rbEG=~d`g6|b*&I+FU&wD-%{)q)?0180I6 zNj?sFl?1VdoQM3zB_sM-SIk|;hPBK`mdr<%43X!|IuES#(mMAfFEep%usNW<0YuBd z#{#kd`egf%bgsPa?>cDu`_`!5Cs@lHWa$dXl0(RfjibOiw{#BVX+CWGKg5z{LYM>$ zOBn)vDs348`JCki()}%6e}s`!$dVn_IkV0K>%6qiJ+xK)zo_^>zG>h)0Eb)y-&q^q znZ|c^8ovJ_j$sawJBO&`(tm(d9?<)UIr{ZGQ+{c9W@N852iQ9Q|IVd@U&xKH@teE& z&1?MT`|w-*SMZA~{Guj)tGoyczZ|>x<>1Fs&x}v#UdThWUTQla@Gx*3%fDpN0<-;( z#-?Xi^x!pC*Wi26Hg!bIY=f<2f$`B=dA$%A|jaS@0m|4n}WXI~8+oqHp+O%7xE5XksM1rJrR z%*Aj=N*T)>BmYL$)RD1S@f_kWGJf`-pMUSIFXhB>q-;{~xQhD@$!;O%j#qO7c!4-D zhxX(ij+e)u+rR%)?5Ufx7Z`@SPbrC(#oM9UXdMH#}MbW?If8ebxxkeJ?U%M`|2I(ST3q!j!4F` zwBMD@sPTacT~5b&Xu@niEtCDSpZka$;Q#L6+;};bHJ1+AglL~lh?+JbYU|a)B*1<_qUn!b zr(YD-sNSOt@aMn>?&^KZdT(qtVwJtfGU+$f_M)(_0H>nUnar7tLn)^VS6>&lmeeEl z9wq3b{ho>wLoU4R_kBrZF7@_)gzu%_1Hn1BV)|aG?NpWgPf8Q>~I;wrO4n! zU4soR?Uma9B4aRCJXqSrf#sXf``;URuZr#|;8(8)<*TUHKz5vFV4u95n`_Ytb?C;u zwtVIuXw8Uu#%C_=(7gAn(O=yr(2a&ee&zaIvxf_L;43zJxNQA8(E9~|4?DVdp#9n{AFnL|PxJ!=VoSJ>) zdCaKF0nxH7P_gbn-4ALXa=RT>f1++FW=vFg(_WN=Zkh75)nd&hhr@SE%NB`5X~6Yj~m%{+~{fJ=mbk=JxYTscd{gtJu%>cFyEm6b&plw3Sj{)`MjNLgck?o5_ zrQE=er7u$ZVRby;rVlH}7HfN`>z=OXqU$H_+pk{5r|R5VW!IF(7f>4dvi5H`^>C9X zo|&9$sat1t4pL^<(jBk zk$>rlgRa$~Z65_+?TctQu#CzuRh8=`s*YLMqK(rt|^y%8urhxB~Yqe^l zO~^Sb^MFe~DbyS^{o34-F?sOiJuB}_)=|>mMj}`pkvej9Wa=2GW2ufZ=Tm;SK@^RgMbVsmgU*2oxy&?Z?EcaeuwdWP7BUeYJj)6Ls>L_#GRJ|xG*Qd(66DP25 zEqZtx`<8r@*KZ_(xiC3*;CF_7-cU;lYOli)sUufMrjCI+mg?wLd+>C9s+)cONvI*y zrB|prHO7bLUc1kvOk)`~v;+P)RMd5EtU8vBcC7n;3NgC^H)2mLzju9OR%uFEjXNn zB}%zj7w&aMC%M)|_r`glE&(nan^EPC*!qZA36QJM&`CP<6=d%#KppYa4*P#oj=I}- zp0#Q>yZcPs{CY=EtMP?}B8FukS?9YNJzUHFG2J}CetJQAMkjxWuwUZ}z7>j~NSw3> z%>Ku$mD_{AWtF{=33~%-W=FoMw|X$=#`gWW>#V|eW^m))t7#(B^^-M!Wtx9m^(YDk z>l^A(2sLsPzJuSxt8;47$%xeVASVLqzKOL7d9z^slwq?-PgS4TeaTFn(qW%@8IS;D5VW~%}Wz= zwPkToz!hax+P`xMfsY;DEFb4(Rpbl{U99FX8`%{Itc(pPzL(7rq zi9Giv(jH>E{;1xMC*=HDbMf4-U{0S7=IBA+Sk=$m$P=fJQZ|s@lX(vPtZV$5+A&5q zfo~n3Qx{IdJ=)hQ#~re|v^_Q}E_gdnj2GrvXP%h#eHh!94tWiYIs&X2KLI;R9UJTW zh^`$NJD9iZQu7Sff5lq@n@2%EGp*~_z9!LAVUvR6U-25_@6>!I!t_o1e3gD^t{*mI zzst{W*M@=`H|ko-A^%C&waU(}jTiN$%Jt@d4SrMN^BUnQ!KQTYME#LuN z`PBVB?v(YT@Sbv3*Jqrh6Y#yVaLWtGzu!_O>r6uqzSL9Ox_@V$tF31`H6-0{*L3Nt zI#;r^?GEQ#MViMj@VzizgdaF#z-Q84a*JoNy?@kvmx182aSncYwa-`94~LrH+P4k+ z->q6IrnU+A=ylBz)_6Ct_zJ^QXf2zcT4$oC_WE+ONDYE`;_EiOTH*O#XVBLl(9ptx1PlVvVJ9-j`ho~4cGBq zE9%B+-Mr7P?@H->8aD^k&4KI8SIfI$G<@s1lN)6D^gH~>d-PYA3K0~b3@$Z?vR*t-@c?l|v&2N35s&Q_8Q>^75gc=J% zH?3<;3m%+|}wD*f!{seQ+@E6MUJ>x4_c?(&#Z@!wfsG}zt^?(v@HKVsrMmAF?n83>V8|YUHUrhe(U#WJTd$na#Jqj^XA-Y z5CeRd9=#jSm4@C_oh?u~w=>Ck>(>j`Cy$!Igy>*S~n(`7SgSU9eAclUkZ zubLl4Uj2Q%efzUqI%Fwr_&U0tchU5kHTH)!bT{*TBgU#)gOGn+`!4XlJyv)}3rEky zZk~+EQ|E{C$0;^3f>u1TptzNfVZU$3vjZzvVt?TvcbUft%OevTJl)b&q|dV%E)?c-DP8mQA%U zThFhlYYAWC%)%mPq5cM)UJJF&BhaSi=Qd4h-3IEv zFXL;)(~t5Bci&BW4GWm9^=sYR_m1cbvh}Pz_zv1K#ibFiGfzWbYgwv&P?iigFp-m& z7X=`o8mhaiZz6;a4mVj(e%T^(Vh2ChTIV*THznGB!2#!53m; z@U~30@MF{Bxx5kj0etbe-oRRGM%{1d4Ry^>Zfuf6Yp0>N1!gSvx8zBef7i~p>{{#4 z7Zn?Bd%nNc=gG@(|ptRFRQj?Zj1aT<@IpAimxS4g=@E6XTSfx_9Q&;YiL+- z4m`QyU&zp>`_8d*M=x!)smCykuid$6>^m6ZdhXo!?Kx=nyVmvLen%Vo&Rct>&%n9K zJ5qF>Y1()3<@U*b=GYW;#Yk&zU3_=qzRt}*h;O%VZu>(d=f4YQjeG9g?~&t17cXyV zVEMiq_wC#!QU>-jtk;H{`=sz>`%$R=*3ZqBU3cm7LZ|$D{Qj0+57XB7hFzTpzC(l; zw6MO3_^4{OOoYNjx45YCD7&w>MH$`zZmyTHY0Kp~*G2O?N_%8Z1<$Mf@MINBUbP)A znr(`AbQ?kr$!o~{S^sG6DL8i@C(Olk(T*=J^V(-(`7L7$pT;I4!`lYVpCMp^?eBGu)SpQ#lG}#V@dM+F9{!u0RR6308u>B I)PM>B05uj`T>t<8 literal 0 HcmV?d00001 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_m.srm b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_m.srm new file mode 100644 index 0000000000000000000000000000000000000000..b926cbbb533e787c9d769d2c8b4c5211a27c65df GIT binary patch literal 38081 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
      V3&H@$Yu3=xn@rTho1Lu=;?Xz$>{&Y>q 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

      ;~*{u*MwUsMD$Z0pyCjD;VqT??yEZwXSMGOx zqoLg!A=bm6{(C(yfE+DgcBA|_9JOvGR4{_CtzB}F)m{lY@IxuU4J}9<+paN zkeA*c5d-{5;Hy+=Zk{d8xKOUMqzsuEQ}V3_89LzP()8Fthgsx#N| z?HT{Ih|*5KpoqDGZ`kU74odx?o7=)iM~y4o9^URY0lM(w1Fz+H-*KIm7wkPXM8%3y zDOSwKm)t^B<4RT8z2_#7@UE*7TjM`hQEsg@HV*jjrKa;0DNX(7l2KP{0N(6ZAJSYO zgOfZ1H}U3QLhR@=m^Xq}+77S6s3AVQa%}?7<5buJa7~8!tOR*^-x|A+`%=vH$52C@ zEPsivYGc4Yz~IfE14=c|yK|eHzk0T9X#hVZ3WSZ4W5eU-PJ}u)EqT+c1rlK88r|9% zp+U2KTU>sAXs3)9Mv~&C(JY>nydsa=sjF&NWpxEHy$z!s0gdgY)eMi9%x6JB7^#y- zwRy3XIi%3V4pVAmqvbY2d8Bs;jCK)h1D0-=Cp9l}O_Y3Jt!v2}0*p=9NNFTQ(d6Yn zDe2z8EIrJ$kjb9G={}F+jf|&yOOJLUYE!RAlKd|3Ed^X5z1jC^Bf{*Bd?kUV=9gh6 zb&taR;6X_RJx!whJN0?AXyq;w=A!0HxUX?_UVx^LaIL9X?MzHD7kp2N%ybSShM#6v zy>dhlA)sGYdvY_+<{x=RZol7R;JD*!u}!y(q*m9B9Z@z{=ol{+0{RsAe5TS}d<}B@ z%<(4J+D|U+$IJ(lkqyDd`I?d6cv07fevgam!Oa0z`OXsGKMUL@3K#eW;XOd+LflqD zhdfuPRO0|yy6=ftz!p;$x}mRe({tT4I&kzW719aISwccI3pHJT0);vGd_AiII%Cf# zx->nab@|UQe9oSm_$h_ng4Hrg&yOyATz=JI`B-wHRBPM3F`tiC#{^D&O_(?KJy@8Pj3l0qfXSR~KiLondzOSL#Ts7o)e*;N4AAiSL<$A>W=i|zM`xs!PM(hxzkAm`l E010mah5!Hn literal 0 HcmV?d00001 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_m_srm/fileinfo.srm b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_m_srm/fileinfo.srm new file mode 100644 index 0000000000000000000000000000000000000000..f43e3da9c269911355e253ff983bc575e5b894d0 GIT binary patch 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& literal 0 HcmV?d00001 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_mult.gcr b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.gcr similarity index 97% rename from CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_mult.gcr rename to CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.gcr index 4fc0177..bf5564a 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_mult.gcr +++ b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.gcr @@ -1,12 +1,12 @@ i RCLK m 0 0 -u 27 48 +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 +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 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.srs b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.srs new file mode 100644 index 0000000000000000000000000000000000000000..e9279133688462e42dc52dc7c6191e6ec2c8efc4 GIT binary patch literal 13269 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 T0ssI2|NjF3B!E~7!K?rP21Ad4 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..ea524b7f32e20664cf280d32644c0dd8b76e0172 GIT binary patch literal 4774 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 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..bdbde5add3ecfe5347053e4a5ed8d5a3e970c0ee GIT binary patch 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*~_HuRWqk&t=lnB zxGd+FVA^@q07q(x3mx?T{Wp9{my}i~djFI>quelyi3SPImg{ooPLKOl8p>Y*L%WGvz92sKq>ugp17$0W{&jldTnzTh4-Bf8 z_iw8my*m0{K|K!1fySB(@(I6-Irq2QEXJOcRlvoltiU7*B{FC_Lp99kroAB!g8upo z=sq+zB*1*=#*mT(tN}C`S$`%7^THuD#!}{?IERkq5)3vZGD{(x3v_vt8M4>zvkQw{ zOE%@NxX@F+$#H@Okxu^bdg5ocBc^Y<>*+9hg0I7sEgqb+*w@I_^zt|Pl(L5b9TrX~ zf57U#nnupqXZ9Na0RR6=D@o1CvF37c1poj5|No>^O>g5i5Ivi}!U%mZ4>4$1h%5;{ zL{eEQ5b1QXmU{^Xk=>+A*;XW`4v@wE_mYkibb%gujpl&&V1SHbEq4u-+@dpA7Yg~DvKQ&_dswJ#b3IX546 zs?cg$^NU~L`ST`xDO185-A~6aX&U;1af?i4F!n4;bR}$ zv(TgGRb84+WkP_dv?J3*zJgklVIqd`913Ue*mZA$IJySbo%u!Q%Em!pSOi_r2Pb}3 zLg;Hc+X;Of1C@Ht6xcKQnh1wqJvTeoaLAHwN|XRLO*_|*V8`&wy|4R)g-7z7)CL~o z%7D&t3gOG2{EenGTNR_&_0k`&7lb2-2T z7Uh!UgFA;7DVODKG!&weY`MHF)vZ~T>j`2|MZDZ-#{<15Q}n&df;m`ORVG$ZF93Y zA-Q?iha0esbYdPbjQZ32nso%sgnbkOLpS5?zJ@pR&_`}I>+`RGZ za|n_35JW6+`3%;MGXP{^(7N0=*gv=$NqycWH}qUrdAp+U`7V-MI5Y}f9}_?_SM?t=e4E1Xkp+1_QC-U}b~qz_#!A=wTbJ9p~0_Cg}b# zZN2Z`9{jAiHG@&@_Pw$^r@95Q`ZsMhUYm{AX7hivxr*4;r#4qVtIgqEo5Q;{ho94C n{GrYGq|Nw0YD4}800960;&M>n0ssI2|NjF3QAcxS0|)>BLVJz^ literal 0 HcmV?d00001 diff --git a/CPLD/LCMXO2-640HC/impl1/impl1_synplify_tmp4.lpf b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem.fse similarity index 100% rename from CPLD/LCMXO2-640HC/impl1/impl1_synplify_tmp4.lpf rename to CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem.fse diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem.srd b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem.srd new file mode 100644 index 0000000000000000000000000000000000000000..9c5ca3a5aa0f875b97af731c7c3a24ff373f8ace GIT binary patch literal 28839 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 M0L&xT?0*6Q0M(YadH?_b literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..bfcc1db134e8f1b3dd2b3a7427fcda88414f9cf0 GIT binary patch literal 7771 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 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..30acc282ab75e7a5a6d136a5dc527796e1e1c9a1 GIT binary patch literal 330 zcmV-Q0k!@giwFP!000003%rxtYQr!LK;QcnCZmtdtzEaZzhW?stTZmZVLM^@`=ule z*%)lyXrF9kbdDtC^?FU5w-F&;PZX?{3Rg8r;6POXph9wOjiB4KC~4@8t9U@FWJOgA zXd=}dns-~KU2-H(mu!-+cuhzeA~%A2L6W>kj$=#))}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 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..c919829852109566bc782c25d86e375b9f2ed891 GIT binary patch literal 1459 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 VP~ZXp009600|0IOIDZd+003IMf2IHc diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_m.srm b/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_m.srm deleted file mode 100644 index 33a15e2b3c8940c428801e37843c0d766a5e4b2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30417 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

      Vv%%K!#(%C=O(|xyaXIi0dwtz)6Ox6d49an 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 M09^EAN;V<_045KMv;Y7A diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_m_srm/1.srm b/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_m_srm/1.srm deleted file mode 100644 index 3aed49f6e5a4faada65ccba51a7a61db17a951ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1712 zcmV;h22c4PiwFP!000003sO~8RVXORFG)=lOBJN+VUvVYh2vtG1$Qiupfy4c>SJ(KX520U9*UrNytKFVt z#VqzBx81GVBITKttl|)t#<=aT-Cb<*MrH|vt%Tv1&Xn|nihbVW;*=@Qnc|drL6U(5 zNfL@_f&`=4?}0tYmB-V3;bDuCWA?lmD)v`T-p{d3_l3rz9%>c$&m-MpcjM8adq6gg zE1O9x2)wYB<7Cp(Eo{^?5%;&q6K zONSxGLQ4x?_PoezNo7PHB~z6dczwMLAU z!XsKxs0SyqnpAMNie#_kPmG*&-%T)hij@sVH*# zu}Z+s=C8~6mwGkqhZ^ITpB=J639Ytta4H&BUuiUR!(Shvw$gp!V)g*P?aTekc^#kQ z1+oqoba6b}BRenR?=gL|EKc9w9v!&r`K&?z?h zkUK23=eZN&CcF>(9qpW%ZfX^-F?OJZ8DLT^7BFaB=5?Pqp5EfYM|t7seBT>S zo4~Y%*#jHr)^j^lN7NP^h`~_LZY;4hw!hGfm0K0m252ncDqW zz}ztF`{<4q5rlTb)q^TuXRWU*XkK{D67KrIy2ZnVa_MK(*BL{v4w63M;If{RlfHU9 zMb(y9@U(@9U$wr?Awkp}E>fU^Fdry!!GCzQkReY)-utMF0G>(u$sM5Iv38tPA|$Vz z+=e@fR!Ns|3Dq{RRJgHzhTAPZxNcY0{?-6XWUznM+Lid(QxC%~a99f?OzqXzGe$MF zg3H8hWd)^n+W!$9{>ToY1XnMY6zG5cflEn7$U6W40RR8ua!}v`00030{{sMf=l(<1 z1^@sbiwFP!000003vzG;00030|0+z)C{tGmDp06$%5X|Fb~3NhGY%}(EDKV%uJi~B zaQ5&Fvfv8Ja^O>Z zt=4!%3mVPfB&$gUx0^`yS`F3L2iHXq6J*ts(81|w*nFYU!VQ0Yq%M^EB;?{Ae%WV??`+!L ztZtsWconZ`n#VC+J$`=u`Do+2pEqgDelLiXfRYhlITHS%Qw(|fo~I%IuG5R&lNVNw zz-Q935@F4NlxsqnLpW_Ggn8di`4UDx+o?Tv8UbzC2ei|SMBB#N40F~(;7b}&A8WT>h-~8reubalLLe;PSf1( z#~hXux4w_=Xc0jgH(WfZ_I1|!x}0XY*E|uf53FlEoT*TLMst}l^y(n#69JC(f}G67 z<0+~NQNdFIk+^7cokM}F1)P;c4Pide@{IrRYNwbt09h zoGQW{Wvi7-go3IFEFEraUf_C*cdpx&wZApM8aeD=jBzD?^wh(!3mo3U2y=V!^^8%^ ztrRM8g{q)5&iFrK!XMcol;G<1ngadLKX55wg!};j0RR8ua!}v`00030{{sM{`T{YV G0{{S(tyZl7 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_m_srm/fileinfo.srm b/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_m_srm/fileinfo.srm deleted file mode 100644 index 6bacc31b212869e893cff9f0ab1b95a980654eea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmV-40n7d$iwFP!000003%t|GYQr!P2H<<1Lb&8uZ|R!6ia^Mkajc*Xjcn?-uY(g~ zN_z-2IZ2F=KK@~}-ELWkKA}q26+yJx;HG7n+H*rnanRCw2Yi=THK);qMiO$P8*X}q zE^#YW_vPz+$PVo3e4CXU*)o<>k`819mX%d@m}{EEfKeNNWYwjFPQ@`yG%F7`!NF<) z*skE}&hRi@=iL}ES`V~>>qo%7jY7$w?F!yK0w#r1t9^5tCS;xZ<#Bk>0V$`UTkzMP zI1M-8u;<<(L_Ht}uX;NT6!D`@UElC1ZG9xJf`QBanSx#gf4g&VXOwr8a*$~;-~S~@ zPN0@2KQ1vwC(gXl?I@;mG5@7MJ6Bx6VgZX8EM}xQgT*i4=gr_Z00030{{sLtL}vt~ G1ONamlaD6= diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_mult.srs b/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_mult.srs deleted file mode 100644 index 2e048d5a3951f10d9c1a61b4f011afd1c88d87cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10332 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 ~({JMkg7(Lnu@CXhxa-fm!}Hd2 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 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_mult_srs/fileinfo.srs b/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_mult_srs/fileinfo.srs deleted file mode 100644 index 8d3d80374ab8a509f6d7e3ce0a66ea3179967ad1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 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 E0KbdLJpcdz diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_prem.srm b/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_prem.srm deleted file mode 100644 index b51d8b935ca04529813b10f7a485451d417ce045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13487 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 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_prem_srm/fileinfo.srm b/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_prem_srm/fileinfo.srm deleted file mode 100644 index 77da4e045c03310eddc1ffac52ce585dff5b0d1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmV-50m}X#iwFP!000003%rxtYQr!LK;QcnCZmr_nsnFpR}99HoW{jBEGH~~zm%jQ zjKS!jeX^0!Ig*gK+bs*xCk5$xDin=2YSXX`4%`p`M=h;)$oF|!aT;8xB`I!n%}oc& zC2l3OU%txw?8u%j*=)Cw4P!Ya=}<;w*{;lvQ%sZSRn*3xSUHE3gE)jy&34C|#KCHT zs#%H4JB#}F`{qi_@&_Pj7eY?nC zf6A%9L5>IRox-Sl#nD4&$Auz((y8rg9;K~L#32}*@6QzUs`0lwH|`90M=3{{7U%mv z%FYR40es9w4^CWUMmK{P-^KKE=BX4{e6iq*313Xe;({-J!GHdN{{{d6|NjF3nR?NM HZUg`TK24Uo diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_prem_srm/skeleton.srm b/CPLD/LCMXO2-640HC/impl1/synwork/RAM2GS_LCMXO2_640HC_impl1_prem_srm/skeleton.srm deleted file mode 100644 index 122ae4dd70b52fc14896e22ab253922c49b3c37f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 951 zcmV;o14#TIiwFP!000003sO~8RVXORFG)=I1q-<Qv59T2P4GWPao+4?v%%Wu6K`rkk zAVPbSRSaN;8&5g*orskh~tjAIay!}1T=C1K((8n+v z=TeJIzOx|aqxIL#@-~>%x6AAHx~$iA8(tr7qs`{}5U#I+W&K=FM&-BREaMrLh2CPT z8?GxO$~k=Bw;E$=)Ncev?Yx$bO4-bT!Gdm8 zwua?WFa#gIJOq9feJhjhx$I+TJ0YLrq-20Zx+1%-43n5Zx(iob!pay$0>ngi36yc< zawn%;9#LL(uCen#CjvPF|C%wUP2 zF(iyS@0B^twXr!Z6f}7Gy*4;sySY@mK3{utskS~}J2_M9`K6K!d|ycV+5i7c(ks8N zBpFsBiRaD<$dt8HL^wnbAA3K;q>nzn_?&}0_AH&EBZtFFf70oXhbfCbpre38)K7QD z?IllTsi4RKXM6Y*?b)XYJsBt=DQRXaNdHRx>$Hu_Oh8ZzbtQF2qQN(J4-jBE_d%`dNV`5Z@h}qvR!(yR+V$l9 zJi_kr+?{`e&HBV&xnc#000$t$dUj6 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_comp.fdep b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_comp.fdep deleted file mode 100644 index 841c519..0000000 --- a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_comp.fdep +++ /dev/null @@ -1,16 +0,0 @@ -#OPTIONS:"|-layerid|0|-orig_srs|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO2-640HC\\impl1\\synwork\\impl1_comp.srs|-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|-sysv|-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" -#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-SPI.v":1692152477 -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 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_comp.rt.csv b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_comp.rt.csv deleted file mode 100644 index 915b7cd..0000000 --- a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_comp.rt.csv +++ /dev/null @@ -1 +0,0 @@ -Library, Design Unit, compile Time, Peak Mem Usage diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_comp.srs b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_comp.srs deleted file mode 100644 index cf3e2d62f7e12ed81f32f4299240bfbb4da8de63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10465 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 X;&M>n0ssI2|NjF3;M1MW4}Smvr|+St diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_m.srm b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_m.srm deleted file mode 100644 index b4d59f58e0b809d3f202568b41c6b8a57d9107cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30371 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 z 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 S00030{{sN(^epAFAp!t-MWMw2 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_m_srm/1.srm b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_m_srm/1.srm deleted file mode 100644 index 0bac0a303625e0be4c822b9411c47774af77867c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1675 zcmV;626Xu!iwFP!000003sO~8RVXORFG)=lOBJN+VUvVYh2vtG1$Qiupfy4c>SJ(KX520U9*UrNytKFVt z#VqzBx81GVBITKttl|)t#<=aT-Cb<*MrH|vt%Tv1&Xn|nihbVW;*=@Qnc|drL6U(5 zNfL@_f&`=4?}0tYmB-V3;bDuCWA?lmD)v`T-p{d3_l3rz9%>c$&m-MpcjM8adq6gg zE1O9x2)wYB<7Cp(Eo{FNCPT2~JWhf)q5kpWy982#tlk_TF^_sMugRtNm3=k}*eWGZA2vF9G)dy^ zOP#^6P}Y=m@Fp2H-)XY&!(XN{rS{*XT0FzAhn$N~x)s~i&-V^j4=c|3)6?hby?e+z zo^DghIs3gJP5~-LfN><^OXnDUdh==YZ#uu~Bl%#}2x2BJs}R-v>~Naq_Be7_PQryfx;KXi%KG6tgPPFi zTm?9hm7``G4ARi>oW*ti3Md9aU?z&!mRBj4TsxY(Lu0RR630MUK&)4~P-03VA800000000Yea0LJW z0RR6gOwA}$R|qOlsB+41N;GyduhKIPEY&OvQn#-32nula@C>rx3d(ZeQsCkO00030 z|4J)K&B?Lma&QFz00960T#~_V+b|4<&(l*BaSzKOnS%&*5y1yZuA_@QhsJuyMX(a2 z1#K@DbSU6q?>@;%hhZoFAjFUSNr48j7Sjj^9%F{)jOdKPGdeJ6d#_kcDtO!`x-+`3 zzQ6cW0&9Y-+SZVmN8Ov(2e!uc!6uWA%h@D8%Y*O@9jaab9Osu-^;f6rf@R7)K&L zb%rrdZ+RN?H=WJ;K;Bt7fS5?jN`wsqQf>%k9^tYZ5vD^s@+Ayna$|cw83c6EJGA43 z#JI+}964!n!m$w|$1Lg$8+*(>mNxMG1#uVO$6XF?DaO;(&U^G=)!4&iTI4R)Iczx3 zQ3TzkUS{`r3{hVt`Y`t{&?XpLJ{~{}OBcAOcpK}$gX%{b*o`BO=8oin)&!e07eQxP z&_|!!l37YF9uRgoj#GOWI4nou!W^fwLj+}gKlh*})HxUGIL&#`B9*?2tb06Osno%v zojt}`J)~VK!Lv@1i=BJCCRHITcr752v$l618dNResudcD{=ld!{==)4j(HmMp^v#L zkWAB0ZV%mFw8LalrDf%H5$~v4qkSqhR7GT&cw_qx_gmb!eqYw%)&Lt6aCo=Ym-snT z2mL;BL<<8eLsyg3@{${)ml#WRFmSuQwYC^uPX*O9><74*&oF|Nr80 VP~ZXp009600|14PyRe4?002NjGfw~j diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_m_srm/fileinfo.srm b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_m_srm/fileinfo.srm deleted file mode 100644 index 6bacc31b212869e893cff9f0ab1b95a980654eea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmV-40n7d$iwFP!000003%t|GYQr!P2H<<1Lb&8uZ|R!6ia^Mkajc*Xjcn?-uY(g~ zN_z-2IZ2F=KK@~}-ELWkKA}q26+yJx;HG7n+H*rnanRCw2Yi=THK);qMiO$P8*X}q zE^#YW_vPz+$PVo3e4CXU*)o<>k`819mX%d@m}{EEfKeNNWYwjFPQ@`yG%F7`!NF<) z*skE}&hRi@=iL}ES`V~>>qo%7jY7$w?F!yK0w#r1t9^5tCS;xZ<#Bk>0V$`UTkzMP zI1M-8u;<<(L_Ht}uX;NT6!D`@UElC1ZG9xJf`QBanSx#gf4g&VXOwr8a*$~;-~S~@ zPN0@2KQ1vwC(gXl?I@;mG5@7MJ6Bx6VgZX8EM}xQgT*i4=gr_Z00030{{sLtL}vt~ G1ONamlaD6= diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_mult.gcr b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_mult.gcr deleted file mode 100644 index 4fc0177..0000000 --- a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_mult.gcr +++ /dev/null @@ -1,26 +0,0 @@ -i RCLK -m 0 0 -u 27 48 -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/impl1_mult.srs b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_mult.srs deleted file mode 100644 index 0afd997d5fafecf22046adb991104fde882cc169..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10256 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 DxZ#qy diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem.fse b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem.fse deleted file mode 100644 index e69de29..0000000 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem.srd b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem.srd deleted file mode 100644 index c8bbb4f1ab1dc7056e92bb3f78104d6c2388980b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16785 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 E00%0%)c^nh diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem.srm b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem.srm deleted file mode 100644 index 3c33024b95202fdda416748d750096de414541d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13456 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 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem_srm/fileinfo.srm b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem_srm/fileinfo.srm deleted file mode 100644 index 77da4e045c03310eddc1ffac52ce585dff5b0d1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmV-50m}X#iwFP!000003%rxtYQr!LK;QcnCZmr_nsnFpR}99HoW{jBEGH~~zm%jQ zjKS!jeX^0!Ig*gK+bs*xCk5$xDin=2YSXX`4%`p`M=h;)$oF|!aT;8xB`I!n%}oc& zC2l3OU%txw?8u%j*=)Cw4P!Ya=}<;w*{;lvQ%sZSRn*3xSUHE3gE)jy&34C|#KCHT zs#%H4JB#}F`{qi_@&_Pj7eY?nC zf6A%9L5>IRox-Sl#nD4&$Auz((y8rg9;K~L#32}*@6QzUs`0lwH|`90M=3{{7U%mv z%FYR40es9w4^CWUMmK{P-^KKE=BX4{e6iq*313Xe;({-J!GHdN{{{d6|NjF3nR?NM HZUg`TK24Uo diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem_srm/skeleton.srm b/CPLD/LCMXO2-640HC/impl1/synwork/impl1_prem_srm/skeleton.srm deleted file mode 100644 index da1f86c6cf082e5a9da3de51745e74e205da07ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 934 zcmV;X16lkZiwFP!000003sO~8RVXORFG)=tBH|7x-e35fLWw)g)Q3XH|RXQ3+R- zHHID91d>TS%ScrH?`wyhZYvF9)r}OL#OFiD&wFf8aQ99)IFfb(&(o#MT+T&l>A zE*Bi4zHd?Fcgj>!{!tYRnE@*Kw~#Xetc1DW=T>IIQ2S3jHX|h^-v6Fw3*UIt*T*m$ z<;uuRy>lQJ!}e<$ZR*`%*WOHSR&29PS2wKP&38AqY*4e?a$FCF+i(3|Ml-Amv&YUf z!cGw=k zo2JvioT#)#Q!ZaXt|1TsR1iMzGw?vV^T@X+yZ>NX|V4pr7 z!wi!n`}h=MUexKx(l{xnQ_eo1lY|#`oF1%SOCHNoLy-f{p5Zfl=ARjQ zv`|7)(#%zm{+Wi?*S0<~0ZARyl`9*-09%vJpCzw@>F4L+aJs11Yi)3{GOF&i z3#=fD*S=;HYH||=Mu+b7aGnVZBdd%k9L=$A0Ij$!;W42lxJrT|wefvSz~@iaF_6i* zrt$Y`bFgqKAKqsDx_<}MU!GOXjPGL`_cK9Y?Q3qq_@08ECpbJ@I`eO^*__#I&TKZn z#%BJ?X5O=z|2msGu&D!^`v0&Q$Nk)%*^K`a8|0tA0RRC1|Kf5`-~s>u0RR630IsWN It9Azf0CRlAasU7T diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/incr_compile.rpt b/CPLD/LCMXO2-640HC/impl1/synwork/incr_compile.rpt index 1b93d00..1a088e6 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/incr_compile.rpt +++ b/CPLD/LCMXO2-640HC/impl1/synwork/incr_compile.rpt @@ -22,7 +22,7 @@ Modules that may have changed as a result of file changes: 0 MID: lib.cell.view ******************************************************************* -Unmodified files: 7 +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) @@ -30,9 +30,11 @@ FID: path (timestamp) 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-15 23:09:54) +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: 1 +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 77735f2..b5d3d64 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdep +++ b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdep @@ -1,4 +1,4 @@ -#OPTIONS:"|-layerid|0|-orig_srs|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO2-640HC\\impl1\\synwork\\RAM2GS_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" +#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 @@ -6,13 +6,18 @@ #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":1692155394 +#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-SPI.v" 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 +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.srs b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.srs index e58feb99b8a8e0c0d45637d068f2414ecfc5be14..8b59e6dfdd83561ac8f08be338e126093335904a 100644 GIT binary patch literal 24961 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 delta 8874 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 CBMMvq delta 43 ycmZp0XmHrTBEZJT-@w4%u(42*e_}%{TOA|2cq9Mh23bqy-~i9b`(qH%6M)8dag}jVPlP~eMFe*+C=R41+JXxLpt_TMo zI|Kg_{tkX0ejdIvd=vQm_}Diq3cTlKb7f~`Xk?unCZ{Fiq z22oMz^8BJ~kSS%UMVUGI>62gB%WyICzhmJ4#s7u>-DW|D2mCxN%*>pOY%EMbl6~_p He>MRCA-FoI delta 148 zcmZoTz}Rqrae}m<90LOb8xX@l=tLc3M!Ag%g}jWalP~eMFse)r=R41+Hd&qjt`Iw4 zAOrsq{tkX0ejdIvd=vNrH!CVw^Re2pu`rZR=9SZ$Tr0=U864oLSC(?ej%o7*xm-cs tJ2tm?fu=L^zhK~hu~{(S9{=PQ_A+dY{J$9Ze*yXL`575D|MF)O0022DCw~9{ diff --git a/CPLD/LCMXO2-640HC/impl1/xxx_lse_cp_file_list b/CPLD/LCMXO2-640HC/impl1/xxx_lse_cp_file_list deleted file mode 100644 index 1c1a02c..0000000 --- a/CPLD/LCMXO2-640HC/impl1/xxx_lse_cp_file_list +++ /dev/null @@ -1,250 +0,0 @@ -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v -3 d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v diff --git a/CPLD/LCMXO2-640HC/impl1/xxx_lse_sign_file b/CPLD/LCMXO2-640HC/impl1/xxx_lse_sign_file deleted file mode 100644 index 7e27975..0000000 --- a/CPLD/LCMXO2-640HC/impl1/xxx_lse_sign_file +++ /dev/null @@ -1,250 +0,0 @@ -LSE_CPS_ID_1 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:8[8:12]" -LSE_CPS_ID_2 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:91[9] 95[5]" -LSE_CPS_ID_3 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:186[13] 231[7]" -LSE_CPS_ID_4 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:232[12] 284[6]" -LSE_CPS_ID_5 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:232[12] 284[6]" -LSE_CPS_ID_6 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:91[9] 95[5]" -LSE_CPS_ID_7 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:91[9] 95[5]" -LSE_CPS_ID_8 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:91[9] 95[5]" -LSE_CPS_ID_9 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:91[9] 95[5]" -LSE_CPS_ID_10 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:91[9] 95[5]" -LSE_CPS_ID_11 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:91[9] 95[5]" -LSE_CPS_ID_12 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:91[9] 95[5]" -LSE_CPS_ID_13 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:98[9] 102[5]" -LSE_CPS_ID_14 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_15 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_16 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:123[9] 125[5]" -LSE_CPS_ID_17 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_18 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_19 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:141[9] 144[5]" -LSE_CPS_ID_20 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_21 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_22 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_23 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:91[9] 95[5]" -LSE_CPS_ID_24 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:288[9] 337[5]" -LSE_CPS_ID_25 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:288[9] 337[5]" -LSE_CPS_ID_26 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_27 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:255[14] 262[8]" -LSE_CPS_ID_28 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:60[14:16]" -LSE_CPS_ID_29 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_30 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_31 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_32 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_33 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_34 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_35 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:232[12] 284[6]" -LSE_CPS_ID_36 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:321[13] 335[7]" -LSE_CPS_ID_37 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_38 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_39 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:288[9] 337[5]" -LSE_CPS_ID_40 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:340[9] 410[5]" -LSE_CPS_ID_41 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:131[13:16]" -LSE_CPS_ID_42 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_43 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_44 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:99[22:51]" -LSE_CPS_ID_45 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:340[9] 410[5]" -LSE_CPS_ID_46 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:55[19:54]" -LSE_CPS_ID_47 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:309[7:24]" -LSE_CPS_ID_48 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:55[19:54]" -LSE_CPS_ID_49 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:55[19:54]" -LSE_CPS_ID_50 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:55[19:54]" -LSE_CPS_ID_51 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:55[19:54]" -LSE_CPS_ID_52 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_53 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:55[19:54]" -LSE_CPS_ID_54 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:91[9] 95[5]" -LSE_CPS_ID_55 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:168[14] 184[8]" -LSE_CPS_ID_56 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:55[19:54]" -LSE_CPS_ID_57 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:131[13:16]" -LSE_CPS_ID_58 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:131[13:16]" -LSE_CPS_ID_59 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:309[7:24]" -LSE_CPS_ID_60 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:340[9] 410[5]" -LSE_CPS_ID_61 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:55[19:54]" -LSE_CPS_ID_62 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:55[19:54]" -LSE_CPS_ID_63 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:345[12] 409[6]" -LSE_CPS_ID_64 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:55[19:54]" -LSE_CPS_ID_65 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:58[17:46]" -LSE_CPS_ID_66 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:98[9] 102[5]" -LSE_CPS_ID_67 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:195[13] 231[7]" -LSE_CPS_ID_68 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:309[7:24]" -LSE_CPS_ID_69 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_70 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:131[13:16]" -LSE_CPS_ID_71 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:309[7:24]" -LSE_CPS_ID_72 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_73 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_74 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_75 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:83[6:15]" -LSE_CPS_ID_76 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_77 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:195[13] 231[7]" -LSE_CPS_ID_78 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_79 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_80 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_81 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:83[6:15]" -LSE_CPS_ID_82 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_83 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_84 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:86[13:15]" -LSE_CPS_ID_85 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_86 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_87 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_88 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:233[8:20]" -LSE_CPS_ID_89 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:233[8:20]" -LSE_CPS_ID_90 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_91 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:288[9] 337[5]" -LSE_CPS_ID_92 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:340[9] 410[5]" -LSE_CPS_ID_93 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_94 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:340[9] 410[5]" -LSE_CPS_ID_95 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_96 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:288[9] 337[5]" -LSE_CPS_ID_97 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:288[9] 337[5]" -LSE_CPS_ID_98 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:288[9] 337[5]" -LSE_CPS_ID_99 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:288[9] 337[5]" -LSE_CPS_ID_100 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:288[9] 337[5]" -LSE_CPS_ID_101 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_102 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:233[8:20]" -LSE_CPS_ID_103 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:15[12:17]" -LSE_CPS_ID_104 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:131[13:16]" -LSE_CPS_ID_105 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_106 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:91[9] 95[5]" -LSE_CPS_ID_107 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:131[13:16]" -LSE_CPS_ID_108 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_109 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:147[9] 285[5]" -LSE_CPS_ID_110 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:23[27:31]" -LSE_CPS_ID_111 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:83[6:15]" -LSE_CPS_ID_112 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_113 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_114 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_115 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_116 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_117 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_118 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_119 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:263[11:15]" -LSE_CPS_ID_120 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_121 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_122 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_123 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_124 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_125 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_126 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_127 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_128 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_129 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_130 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_131 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_132 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_133 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_134 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_135 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_136 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_137 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_138 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:123[9] 125[5]" -LSE_CPS_ID_139 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:123[9] 125[5]" -LSE_CPS_ID_140 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:123[9] 125[5]" -LSE_CPS_ID_141 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:123[9] 125[5]" -LSE_CPS_ID_142 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:123[9] 125[5]" -LSE_CPS_ID_143 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:123[9] 125[5]" -LSE_CPS_ID_144 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:123[9] 125[5]" -LSE_CPS_ID_145 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_146 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_147 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_148 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_149 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_150 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_151 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_152 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_153 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_154 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:98[9] 102[5]" -LSE_CPS_ID_155 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:315[17:31]" -LSE_CPS_ID_156 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:143[40:46]" -LSE_CPS_ID_157 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:143[40:46]" -LSE_CPS_ID_158 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:98[9] 102[5]" -LSE_CPS_ID_159 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:98[9] 102[5]" -LSE_CPS_ID_160 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:98[9] 102[5]" -LSE_CPS_ID_161 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:98[9] 102[5]" -LSE_CPS_ID_162 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:98[9] 102[5]" -LSE_CPS_ID_163 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:98[9] 102[5]" -LSE_CPS_ID_164 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_165 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:60[14:16]" -LSE_CPS_ID_166 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:60[14:16]" -LSE_CPS_ID_167 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:60[14:16]" -LSE_CPS_ID_168 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:60[14:16]" -LSE_CPS_ID_169 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:60[14:16]" -LSE_CPS_ID_170 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:315[17:31]" -LSE_CPS_ID_171 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:60[14:16]" -LSE_CPS_ID_172 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:60[14:16]" -LSE_CPS_ID_173 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:27[15:19]" -LSE_CPS_ID_174 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:27[15:19]" -LSE_CPS_ID_175 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:27[15:19]" -LSE_CPS_ID_176 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:27[15:19]" -LSE_CPS_ID_177 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:27[15:19]" -LSE_CPS_ID_178 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:27[15:19]" -LSE_CPS_ID_179 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:27[15:19]" -LSE_CPS_ID_180 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:27[15:19]" -LSE_CPS_ID_181 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:22[9:12]" -LSE_CPS_ID_182 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:47[19:22]" -LSE_CPS_ID_183 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:47[19:22]" -LSE_CPS_ID_184 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_185 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_186 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_187 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_188 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_189 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_190 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_191 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_192 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_193 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_194 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_195 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:52[16:18]" -LSE_CPS_ID_196 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:46[13:17]" -LSE_CPS_ID_197 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:45[13:17]" -LSE_CPS_ID_198 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:46[45:49]" -LSE_CPS_ID_199 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:46[23:28]" -LSE_CPS_ID_200 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:46[34:39]" -LSE_CPS_ID_201 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:56[16:21]" -LSE_CPS_ID_202 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:56[9:14]" -LSE_CPS_ID_203 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:63[13:19]" -LSE_CPS_ID_204 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:64[13:19]" -LSE_CPS_ID_205 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:65[13:19]" -LSE_CPS_ID_206 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:8[8:12]" -LSE_CPS_ID_207 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:35[14:18]" -LSE_CPS_ID_208 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:35[14:18]" -LSE_CPS_ID_209 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:35[14:18]" -LSE_CPS_ID_210 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:35[14:18]" -LSE_CPS_ID_211 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:35[14:18]" -LSE_CPS_ID_212 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:35[14:18]" -LSE_CPS_ID_213 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:35[14:18]" -LSE_CPS_ID_214 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:35[14:18]" -LSE_CPS_ID_215 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:35[14:18]" -LSE_CPS_ID_216 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:35[14:18]" -LSE_CPS_ID_217 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:34[14:18]" -LSE_CPS_ID_218 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:34[14:18]" -LSE_CPS_ID_219 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:26[14:17]" -LSE_CPS_ID_220 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:26[14:17]" -LSE_CPS_ID_221 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:26[14:17]" -LSE_CPS_ID_222 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:26[14:17]" -LSE_CPS_ID_223 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:26[14:17]" -LSE_CPS_ID_224 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:26[14:17]" -LSE_CPS_ID_225 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:26[14:17]" -LSE_CPS_ID_226 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:26[14:17]" -LSE_CPS_ID_227 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:11[8:13]" -LSE_CPS_ID_228 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:11[15:20]" -LSE_CPS_ID_229 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:36[8:12]" -LSE_CPS_ID_230 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:41[8:12]" -LSE_CPS_ID_231 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:66[8:14]" -LSE_CPS_ID_232 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_233 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:23[17:23]" -LSE_CPS_ID_234 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_235 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:232[12] 284[6]" -LSE_CPS_ID_236 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:309[7:24]" -LSE_CPS_ID_237 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_238 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_239 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:134[9] 138[5]" -LSE_CPS_ID_240 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:232[12] 284[6]" -LSE_CPS_ID_241 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_242 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_243 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_244 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:136[9:13]" -LSE_CPS_ID_245 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:105[9] 120[5]" -LSE_CPS_ID_246 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:402[16:47]" -LSE_CPS_ID_247 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:11[15:20]" -LSE_CPS_ID_248 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:131[13:16]" -LSE_CPS_ID_249 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:11[8:13]" -LSE_CPS_ID_250 "d:/onedrive/documents/github/ram2gs/cpld/ram2gs-spi.v:402[16:47]" diff --git a/CPLD/LCMXO2-640HC-old/msg_file.log b/CPLD/LCMXO2-640HC/msg_file.log similarity index 69% rename from CPLD/LCMXO2-640HC-old/msg_file.log rename to CPLD/LCMXO2-640HC/msg_file.log index e93ec92..6f835a7 100644 --- a/CPLD/LCMXO2-640HC-old/msg_file.log +++ b/CPLD/LCMXO2-640HC/msg_file.log @@ -1,5 +1,5 @@ -SCUBA, Version Diamond (64-bit) 3.12.0.240.2 -Tue Aug 17 05:48:29 2021 +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. @@ -9,20 +9,20 @@ 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 EFB -lang verilog -synth lse -bus_exp 7 -bb -type efb -arch xo2c00 -freq 16 -ufm -ufm_ebr 190 -mem_size 1 -ufm_0 -wb -dev 640 - Circuit name : EFB + 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 : EFB.edn - Verilog output : EFB.v - Verilog template : EFB_tmpl.v + 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 : EFB.srp + Report output : REFB.srp Estimated Resource Usage: END SCUBA Module Synthesis diff --git a/CPLD/RAM2GS-AGM.v b/CPLD/RAM2GS-AGM.v new file mode 100644 index 0000000..0dc7503 --- /dev/null +++ b/CPLD/RAM2GS-AGM.v @@ -0,0 +1,425 @@ +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); + + /* 65816 Phase 2 Clock */ + input PHI2; + + /* Async. DRAM Control Inputs */ + input nCCAS, nCRAS; + + /* Synchronized PHI2 and DRAM signals */ + reg PHI2r, PHI2r2, PHI2r3; + reg RASr, RASr2, RASr3; + reg CASr, CASr2, CASr3; + reg FWEr; + reg CBR; + + /* Activity LED */ + reg LEDEN = 0; + output LED; + assign LED = !(!nCRAS && !CBR && LEDEN); + + /* 65816 Data */ + input [7:0] Din; + output [7:0] Dout; + assign Dout[7:0] = RD[7:0]; + + /* Latched 65816 Bank Address */ + reg [7:0] Bank; + + /* Async. DRAM Address Bus */ + input [1:0] CROW; + input [9:0] MAin; + input nFWE; + reg n8MEGEN = 0; + reg XOR8MEG = 0; + + /* SDRAM Clock */ + input RCLK; + + /* SDRAM */ + reg RCKEEN; + output reg RCKE = 0; + output reg nRCS = 1, nRRAS = 1, nRCAS = 1, nRWE = 1; + output reg [1:0] RBA; + reg nRowColSel; + reg RA11; + reg RA10; + reg [9:0] RowA; + output [11:0] RA; + assign RA[11] = RA11; + assign RA[10] = RA10; + assign RA[9:0] = ~nRowColSel ? RowA[9:0] : MAin[9:0]; + output RDQML, RDQMH; + assign RDQML = ~nRowColSel ? 1'b1 : ~MAin[9]; + assign RDQMH = ~nRowColSel ? 1'b1 : MAin[9]; + reg [7:0] WRD; + inout [7:0] RD; + assign RD[7:0] = (~nCCAS & ~nFWE) ? WRD[7:0] : 8'bZ; + + /* UFM Interface */ + reg nUFMCS = 1; + reg UFMCLK = 0; + reg UFMSDI = 0; + wire UFMSDO; + wire UFMOsc; + alta_ufms u_alta_ufms ( + .i_ufm_set (1'b1), + .i_osc_ena (1'b1), + .i_ufm_flash_csn (nUFMCS), + .i_ufm_flash_sclk (UFMCLK), + .i_ufm_flash_sdi (UFMSDI), + .o_ufm_flash_sdo (UFMSDO), + .o_osc (UFMOsc) + ); + + /* UFM Command Interface */ + reg C1Submitted = 0; + reg ADSubmitted = 0; + reg CmdEnable = 0; + reg CmdSubmitted = 0; + reg Cmdn8MEGEN = 0; + reg CmdLEDEN = 0; + reg CmdUFMCLK = 0; + reg CmdUFMSDI = 0; + reg CmdUFMCS = 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; + + /* State Counters */ + reg InitReady = 0; // 1 if ready for init sequence + reg Ready = 0; // 1 if done with init sequence + reg [1:0] S = 0; // post-RAS State counter + reg [17:0] FS = 0; // Fast init state counter + reg [3:0] IS = 0; // Init state counter + + /* Synchronize PHI2, RAS, CAS */ + always @(posedge RCLK) begin + PHI2r <= PHI2; PHI2r2 <= PHI2r; PHI2r3 <= PHI2r2; + RASr <= ~nCRAS; RASr2 <= RASr; RASr3 <= RASr2; + CASr <= ~nCCAS; CASr2 <= CASr; CASr3 <= CASr2; + end + + /* Latch 65816 bank when PHI2 rises */ + always @(posedge PHI2) begin + if (Ready) RA11 <= (Din[6] & ~n8MEGEN) ^ XOR8MEG; // Set RA11 + else RA11 <= 1'b0; // Reserved in mode register + Bank[7:0] <= Din[7:0]; // Latch bank + end + + /* Latch bank address, row address, WE, and CAS when RAS falls */ + always @(negedge nCRAS) begin + if (Ready) begin + RBA[1:0] <= CROW[1:0]; + RowA[9:0] <= MAin[9:0]; + end else begin + RBA[1:0] <= 2'b00; // Reserved in mode register + RowA[9] <= 1'b1; // "1" for single write mode + RowA[8] <= 1'b0; // Reserved + RowA[7] <= 1'b0; // "0" for not test mode + RowA[6:4] <= 3'b010; // "2" for CAS latency 2 + RowA[3] <= 1'b0; // "0" for sequential burst (not used) + RowA[2:0] <= 3'b000; // "0" for burst length 1 (no burst) + end + FWEr <= ~nFWE; + CBR <= ~nCCAS; + end + + /* Latch write data when CAS falls */ + always @(negedge nCCAS) begin + WRD[7:0] <= Din[7:0]; + end + + /* State counter from RAS */ + always @(posedge RCLK) begin + if (~RASr2) S <= 0; + else if (S==2'h3) S <= 2'h3; + else S <= S+2'h1; + end + /* Init state counter */ + always @(posedge RCLK) begin + // Wait ~4.178ms (at 62.5 MHz) before starting init sequence + FS <= FS+18'h1; + if (FS[17:10] == 8'hFF) InitReady <= 1'b1; + end + + /* SDRAM CKE */ + always @(posedge RCLK) begin + // Only 1 LUT4 allowed for this function! + RCKE <= ((RASr | RASr2) & RCKEEN) | (~RASr2 & RASr3); + end + + /* SDRAM command */ + always @(posedge RCLK) begin + if (Ready) begin + if (S==0) begin + if (RASr2) begin + if (CBR) begin + // AREF + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end else begin + // ACT + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // Bank RA10 consistently "1" + end + // Enable clock only for reads + RCKEEN <= ~CBR & ~FWEr; + end else if (RCKE) begin + // PCall + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b0; + RA10 <= 1'b1; // "all" + RCKEEN <= 1'b1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + RCKEEN <= 1'b1; + end + nRowColSel <= 1'b0; // Select registered row addres + end else if (S==1) begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + nRowColSel <= 1'b1; // Select asynchronous column address + RCKEEN <= ~CBR; // Disable clock if refresh cycle + end else if (S==2) begin + if (~FWEr & ~CBR) begin + // RD + nRCS <= 1'b0; + nRRAS <= 1'b1; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // Auto-precharge + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + nRowColSel <= 1'b1; // Select asynchronous column address + RCKEEN <= ~CBR & FWEr; // Enable clock only for writes + end else if (S==3) begin + if (CASr2 & ~CASr3 & ~CBR & FWEr) begin + // WR + nRCS <= 1'b0; + nRRAS <= 1'b1; + nRCAS <= 1'b0; + nRWE <= 1'b0; + RA10 <= 1'b1; // Auto-precharge + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + nRowColSel <= ~(~FWEr | CASr3 | CBR); + RCKEEN <= ~(~FWEr | CASr2 | CBR); + end + end else if (InitReady) begin + if (S==0 & RASr2) begin + if (IS==0) begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end else if (IS==1) begin + // PC all + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b0; + RA10 <= 1'b1; // "all" + end else if (IS==9) begin + // Load mode register + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b0; + RA10 <= 1'b0; // Reserved in mode register + end else begin + // AREF + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + IS <= IS+4'h1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + if (S==3 & ~RASr2 & IS==15) Ready <= 1'b1; + nRowColSel <= 1'b0; // Select registered row address + RCKEEN <= 1'b1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + nRowColSel <= 1'b0; // Select registered row address + RCKEEN <= 1'b0; + end + end + + /* Submit command when PHI2 falls */ + always @(negedge PHI2) begin + // Magic number check + if (C1WR & Din[7:0]==8'hC1) begin // "C1" magic number + if (ADSubmitted) begin + CmdEnable <= 1'b1; + end + C1Submitted <= 1'b1; + ADSubmitted <= 1'b0; + end else if (ADWR & Din[7:0]==8'hAD) begin // "AD" magic number + if (C1Submitted) begin + CmdEnable <= 1'b1; + end + ADSubmitted <= 1'b1; + C1Submitted <= 1'b0; + end else if (C1WR | ADWR) begin // wrong magic number submitted + CmdEnable <= 1'b0; + C1Submitted <= 1'b0; + ADSubmitted <= 1'b0; + end else if (CMDWR) CmdEnable <= 1'b0; + + // Submit command + if (CMDWR & CmdEnable) begin + // if (Din[7:4]==4'h0 && Din[3:2]==2'b00) begin // MAX w/LED + // if (Din[7:4]==4'h0) begin // MAX w/o LED + if (Din[7:4]==4'h0 && Din[3:2]==2'b01) begin // LCMXO / iCE40 / AGM + // if (Din[7:4]==4'h0 && Din[3:2]==2'b10) begin // LCMXO2 + XOR8MEG <= Din[0] && !(LEDEN && Din[1]); + end else if (Din[7:4]==4'h0) begin // Unsupported type + XOR8MEG <= 0; + end else if (Din[7:4]==4'h1) begin + CmdLEDEN <= Din[1]; + Cmdn8MEGEN <= ~Din[0]; + CmdSubmitted <= 1'b1; + end else if (Din[7:4]==4'h2) begin + // Reserved for MAX commands + end else if (Din[7:4]==4'h3 && !Din[3]) begin + // SPI (LCMXO, iCE40, AGM) commands + CmdLEDEN <= LEDEN; + Cmdn8MEGEN <= n8MEGEN; + CmdUFMCS <= Din[2]; + CmdUFMCLK <= Din[1]; + CmdUFMSDI <= Din[0]; + CmdSubmitted <= 1'b1; + end else if (Din[7:4]==4'h3 && Din[3]) begin + // Reserved for LCMXO2 commands + // Din[1] - Shift when high, execute when low + // Din[0] - Shift data + end + end + end + + /* UFM Control */ + output nUFMCSout = nUFMCS; + output UFMCLKout = UFMCLK; + output UFMSDIout = UFMSDI; + output UFMSDOout = UFMSDO; + input [3:0] In; + always @(posedge RCLK) begin + if (~InitReady && FS[17:10]==8'h00) begin + nUFMCS <= 1'b1; + UFMCLK <= 1'b0; + UFMSDI <= 1'b0; + end else if (~InitReady && FS[17:10]==8'h01) begin + nUFMCS <= 1'b0; + UFMCLK <= 1'b0; + UFMSDI <= 1'b0; + end else if (~InitReady && FS[17:10]==8'h02) begin + nUFMCS <= 1'b0; + UFMCLK <= FS[4]; + case (FS[9:5]) // Shift out read data command (0x03) + 5'h00: UFMSDI <= 1'b0; // command bit 7 (0) + 5'h01: UFMSDI <= 1'b0; // command bit 6 (0) + 5'h02: UFMSDI <= 1'b0; // command bit 5 (0) + 5'h03: UFMSDI <= 1'b0; // command bit 4 (0) + 5'h04: UFMSDI <= 1'b0; // command bit 3 (0) + 5'h05: UFMSDI <= 1'b0; // command bit 2 (0) + 5'h06: UFMSDI <= 1'b1; // command bit 1 (1) + 5'h07: UFMSDI <= 1'b1; // command bit 0 (1) + 5'h08: UFMSDI <= 1'b0; // address bit 23 (0) + 5'h09: UFMSDI <= 1'b0; // address bit 22 (0) + 5'h0A: UFMSDI <= 1'b0; // address bit 21 (0) + 5'h0B: UFMSDI <= 1'b0; // address bit 20 (0) + 5'h0C: UFMSDI <= 1'b0; // address bit 19 (0) + 5'h0D: UFMSDI <= 1'b0; // address bit 18 (0) + 5'h0E: UFMSDI <= 1'b0; // address bit 17 (0) + 5'h0F: UFMSDI <= 1'b0; // address bit 16 (0) + 5'h10: UFMSDI <= 1'b0; // address bit 15 (0) + 5'h11: UFMSDI <= 1'b0; // address bit 14 (0) + 5'h12: UFMSDI <= 1'b0; // address bit 13 (0) + 5'h13: UFMSDI <= 1'b1; // address bit 12 (0) + 5'h14: UFMSDI <= 1'b0; // address bit 11 (0) + 5'h15: UFMSDI <= 1'b0; // address bit 10 (0) + 5'h16: UFMSDI <= 1'b0; // address bit 09 (0) + 5'h17: UFMSDI <= 1'b0; // address bit 08 (0) + 5'h18: UFMSDI <= 1'b0; // address bit 07 (0) + 5'h19: UFMSDI <= 1'b0; // address bit 06 (0) + 5'h1A: UFMSDI <= 1'b0; // address bit 05 (0) + 5'h1B: UFMSDI <= 1'b0; // address bit 04 (0) + 5'h1C: UFMSDI <= 1'b0; // address bit 03 (0) + 5'h1D: UFMSDI <= 1'b0; // address bit 02 (0) + 5'h1E: UFMSDI <= 1'b0; // address bit 01 (0) + 5'h1F: UFMSDI <= 1'b0; // address bit 00 (0) + endcase + end else if (~InitReady && FS[17:10]==8'h03) begin + nUFMCS <= 1'b0; + UFMCLK <= FS[4]; + UFMSDI <= 1'b0; + // Latch n8MEGEN and LEDEN + if (FS[9:5]==5'h00 && FS[4:0]==5'h10) n8MEGEN <= ~UFMSDO; + if (FS[9:5]==5'h01 && FS[4:0]==5'h10) LEDEN <= ~UFMSDO; + end else if (~InitReady && FS[17:10]!=8'hFE && FS[17:10]!=8'hFF) begin + nUFMCS <= 1'b0; + UFMCLK <= FS[1]; + UFMSDI <= 1'b0; + end else if (~InitReady) begin + nUFMCS <= 1'b1; + UFMCLK <= 1'b0; + UFMSDI <= 1'b0; + end else if (~PHI2r2 & PHI2r3 & CmdSubmitted) begin + // Set user command signals after PHI2 falls + LEDEN <= CmdLEDEN; + n8MEGEN <= Cmdn8MEGEN; + nUFMCS <= ~CmdUFMCS; + UFMCLK <= CmdUFMCLK; + UFMSDI <= CmdUFMSDI; + end + end +endmodule diff --git a/CPLD/LCMXO2-640HC/RAM2GS_LCMXO2_640HC.lpf b/CPLD/RAM2GS-LCMXO2.lpf similarity index 93% rename from CPLD/LCMXO2-640HC/RAM2GS_LCMXO2_640HC.lpf rename to CPLD/RAM2GS-LCMXO2.lpf index dbcda5a..2e973f9 100644 --- a/CPLD/LCMXO2-640HC/RAM2GS_LCMXO2_640HC.lpf +++ b/CPLD/RAM2GS-LCMXO2.lpf @@ -24,7 +24,6 @@ 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 "UFMSDO" SITE "27" ; LOCATE COMP "nFWE" SITE "15" ; LOCATE COMP "Dout[0]" SITE "76" ; LOCATE COMP "Dout[1]" SITE "86" ; @@ -52,8 +51,6 @@ LOCATE COMP "RBA[1]" SITE "60" ; LOCATE COMP "RCKE" SITE "53" ; LOCATE COMP "RDQMH" SITE "51" ; LOCATE COMP "RDQML" SITE "48" ; -LOCATE COMP "UFMCLK" SITE "28" ; -LOCATE COMP "UFMSDI" SITE "29" ; LOCATE COMP "nRCAS" SITE "52" ; LOCATE COMP "nRCS" SITE "57" ; LOCATE COMP "nRRAS" SITE "54" ; @@ -90,7 +87,6 @@ IOBUF PORT "MAin[6]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER ; IOBUF PORT "MAin[7]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER ; IOBUF PORT "MAin[8]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER ; IOBUF PORT "MAin[9]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER ; -IOBUF PORT "UFMSDO" IO_TYPE=LVCMOS33 PULLMODE=KEEPER ; IOBUF PORT "nFWE" IO_TYPE=LVCMOS33 PULLMODE=UP ; IOBUF PORT "Dout[0]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 DIFFRESISTOR=OFF SLEWRATE=SLOW ; IOBUF PORT "Dout[1]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 DIFFRESISTOR=OFF SLEWRATE=SLOW ; @@ -118,13 +114,10 @@ IOBUF PORT "RBA[1]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "RCKE" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "RDQMH" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "RDQML" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; -IOBUF PORT "UFMCLK" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; -IOBUF PORT "UFMSDI" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "nRCAS" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "nRCS" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "nRRAS" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "nRWE" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; -IOBUF PORT "nUFMCS" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "RD[0]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "RD[1]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "RD[2]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; @@ -133,4 +126,3 @@ IOBUF PORT "RD[4]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "RD[5]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "RD[6]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; IOBUF PORT "RD[7]" IO_TYPE=LVCMOS33 PULLMODE=KEEPER DRIVE=4 SLEWRATE=SLOW ; -LOCATE COMP "nUFMCS" SITE "30" ; diff --git a/CPLD/RAM2GS-LCMXO2.v b/CPLD/RAM2GS-LCMXO2.v index 48ace8c..e7f3953 100644 --- a/CPLD/RAM2GS-LCMXO2.v +++ b/CPLD/RAM2GS-LCMXO2.v @@ -1,731 +1,735 @@ module RAM2GS(PHI2, MAin, CROW, Din, Dout, - nCCAS, nCRAS, nFWE, LED, - RBA, RA, RD, nRCS, RCLK, RCKE, - nRWE, nRRAS, nRCAS, RDQMH, RDQML); + nCCAS, nCRAS, nFWE, LED, + RBA, RA, RD, nRCS, RCLK, RCKE, + nRWE, nRRAS, nRCAS, RDQMH, RDQML); - /* 65816 Phase 2 Clock */ - input PHI2; - /* Activity LED */ - reg LEDEN = 0; - output LED; - assign LED = ~(~nCRAS && LEDEN); + /* 65816 Phase 2 Clock */ + input PHI2; - /* Async. DRAM Control Inputs */ - input nCCAS, nCRAS; + /* Async. DRAM Control Inputs */ + input nCCAS, nCRAS; - /* Synchronized PHI2 and DRAM signals */ - reg PHI2r, PHI2r2, PHI2r3; - reg RASr, RASr2, RASr3; - reg CASr, CASr2, CASr3; - reg FWEr; - reg CBR; + /* Synchronized PHI2 and DRAM signals */ + reg PHI2r, PHI2r2, PHI2r3; + reg RASr, RASr2, RASr3; + reg CASr, CASr2, CASr3; + reg FWEr; + reg CBR; - /* 65816 Data */ - input [7:0] Din; - output [7:0] Dout; - assign Dout[7:0] = RD[7:0]; + /* Activity LED */ + reg LEDEN = 0; + output LED; + assign LED = !(!nCRAS && !CBR && LEDEN); - /* Latched 65816 Bank Address */ - reg [7:0] Bank; + /* 65816 Data */ + input [7:0] Din; + output [7:0] Dout; + assign Dout[7:0] = RD[7:0]; - /* Async. DRAM Address Bus */ - input [1:0] CROW; - input [9:0] MAin; - input nFWE; - reg n8MEGEN = 0; - reg XOR8MEG = 0; - - /* SDRAM Clock */ - input RCLK; - - /* SDRAM */ - reg RCKEEN; - output reg RCKE = 0; - output reg nRCS = 1, nRRAS = 1, nRCAS = 1, nRWE = 1; - output reg [1:0] RBA; - reg nRowColSel; - reg RA11; - reg RA10; - reg [9:0] RowA; - output [11:0] RA; - assign RA[11] = RA11; - assign RA[10] = RA10; - assign RA[9:0] = ~nRowColSel ? RowA[9:0] : MAin[9:0]; - output RDQML, RDQMH; - assign RDQML = ~nRowColSel ? 1'b1 : ~MAin[9]; - assign RDQMH = ~nRowColSel ? 1'b1 : MAin[9]; - reg [7:0] WRD; - inout [7:0] RD = (~nCCAS & ~nFWE) ? WRD[7:0] : 8'bZ; + /* Latched 65816 Bank Address */ + reg [7:0] Bank; - /* UFM Command Interface */ - reg C1Submitted = 0; - reg ADSubmitted = 0; - reg CmdEnable = 0; - reg CmdSubmitted = 0; - reg CmdLEDEN = 0; - reg Cmdn8MEGEN = 0; - reg CmdUFMData = 0; - reg CmdUFMShift = 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; - - /* State Counters */ - reg InitReady = 0; // 1 if ready for init sequence - reg Ready = 0; // 1 if done with init sequence - reg [1:0] S = 0; // post-RAS State counter - reg [17:0] FS = 0; // Fast init state counter - reg [3:0] IS = 0; // Init state counter - reg WriteDone; - - /* Synchronize PHI2, RAS, CAS */ - always @(posedge RCLK) begin - PHI2r <= PHI2; PHI2r2 <= PHI2r; PHI2r3 <= PHI2r2; - RASr <= ~nCRAS; RASr2 <= RASr; RASr3 <= RASr2; - CASr <= ~nCCAS; CASr2 <= CASr; CASr3 <= CASr2; - end - - /* Latch 65816 bank when PHI2 rises */ - always @(posedge PHI2) begin - if (Ready) RA11 <= (Din[6] & ~n8MEGEN) ^ XOR8MEG; // Set RA11 - else RA11 <= 1'b0; // Reserved in mode register - Bank[7:0] <= Din[7:0]; // Latch bank - end - - /* Latch bank address, row address, WE, and CAS when RAS falls */ - always @(negedge nCRAS) begin - if (Ready) begin - RBA[1:0] <= CROW[1:0]; - RowA[9:0] <= MAin[9:0]; - end else begin - RBA[1:0] <= 2'b00; // Reserved in mode register - RowA[9] <= 1'b1; // "1" for single write mode - RowA[8] <= 1'b0; // Reserved - RowA[7] <= 1'b0; // "0" for not test mode - RowA[6:4] <= 3'b010; // "2" for CAS latency 2 - RowA[3] <= 1'b0; // "0" for sequential burst (not used) - RowA[2:0] <= 3'b000; // "0" for burst length 1 (no burst) - end - FWEr <= ~nFWE; - CBR <= ~nCCAS; - end + /* Async. DRAM Address Bus */ + input [1:0] CROW; + input [9:0] MAin; + input nFWE; + reg n8MEGEN = 0; + reg XOR8MEG = 0; + + /* SDRAM Clock */ + input RCLK; + + /* SDRAM */ + reg RCKEEN; + output reg RCKE = 0; + output reg nRCS = 1, nRRAS = 1, nRCAS = 1, nRWE = 1; + output reg [1:0] RBA; + reg nRowColSel; + reg RA11; + reg RA10; + reg [9:0] RowA; + output [11:0] RA; + assign RA[11] = RA11; + assign RA[10] = RA10; + assign RA[9:0] = ~nRowColSel ? RowA[9:0] : MAin[9:0]; + output RDQML, RDQMH; + assign RDQML = ~nRowColSel ? 1'b1 : ~MAin[9]; + assign RDQMH = ~nRowColSel ? 1'b1 : MAin[9]; + reg [7:0] WRD; + inout [7:0] RD; + assign RD[7:0] = (~nCCAS & ~nFWE) ? WRD[7:0] : 8'bZ; - /* Latch write data when CAS falls */ - always @(negedge nCCAS) begin - WRD[7:0] <= Din[7:0]; - end + /* UFM Interface */ + reg wb_clk; + reg wb_rst; + reg wb_cyc_stb; + reg wb_we; + reg [7:0] wb_adr; + reg [7:0] wb_dati; + wire wb_ack; + wire [7:0] wb_dato; + wire ufm_irq; + REFB ufmefb ( + .wb_clk_i(wb_clk), + .wb_rst_i(wb_rst), + .wb_cyc_i(wb_cyc_stb), + .wb_stb_i(wb_cyc_stb), + .wb_we_i(wb_we), + .wb_adr_i(wb_adr), + .wb_dat_i(wb_dati), + .wb_dat_o(wb_dato), + .wb_ack_o(wb_ack), + .wbc_ufm_irq(ufm_irq)); + /* UFM Command Interface */ + reg C1Submitted = 0; + reg ADSubmitted = 0; + reg CmdEnable = 0; + reg CmdSubmitted = 0; + reg Cmdn8MEGEN = 0; + reg CmdLEDEN = 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; + + /* State Counters */ + reg InitReady = 0; // 1 if ready for init sequence + reg Ready = 0; // 1 if done with init sequence + reg [1:0] S = 0; // post-RAS State counter + reg [17:0] FS = 0; // Fast init state counter + reg [3:0] IS = 0; // Init state counter + + /* Synchronize PHI2, RAS, CAS */ + always @(posedge RCLK) begin + PHI2r <= PHI2; PHI2r2 <= PHI2r; PHI2r3 <= PHI2r2; + RASr <= ~nCRAS; RASr2 <= RASr; RASr3 <= RASr2; + CASr <= ~nCCAS; CASr2 <= CASr; CASr3 <= CASr2; + end + + /* Latch 65816 bank when PHI2 rises */ + always @(posedge PHI2) begin + if (Ready) RA11 <= (Din[6] & ~n8MEGEN) ^ XOR8MEG; // Set RA11 + else RA11 <= 1'b0; // Reserved in mode register + Bank[7:0] <= Din[7:0]; // Latch bank + end + + /* Latch bank address, row address, WE, and CAS when RAS falls */ + always @(negedge nCRAS) begin + if (Ready) begin + RBA[1:0] <= CROW[1:0]; + RowA[9:0] <= MAin[9:0]; + end else begin + RBA[1:0] <= 2'b00; // Reserved in mode register + RowA[9] <= 1'b1; // "1" for single write mode + RowA[8] <= 1'b0; // Reserved + RowA[7] <= 1'b0; // "0" for not test mode + RowA[6:4] <= 3'b010; // "2" for CAS latency 2 + RowA[3] <= 1'b0; // "0" for sequential burst (not used) + RowA[2:0] <= 3'b000; // "0" for burst length 1 (no burst) + end + FWEr <= ~nFWE; + CBR <= ~nCCAS; + end - /* State counter from RAS */ - always @(posedge RCLK) begin - if (~RASr2) S <= 0; - else if (S==2'h3) S <= 2'h3; - else S <= S+1; - end - /* Init state counter */ - always @(posedge RCLK) begin - // Wait ~4.178ms (at 62.5 MHz) before starting init sequence - FS <= FS+1; - if (FS[17:10] == 8'hFF) InitReady <= 1'b1; - end + /* Latch write data when CAS falls */ + always @(negedge nCCAS) begin + WRD[7:0] <= Din[7:0]; + end - /* SDRAM CKE */ - always @(posedge RCLK) begin - // Only 1 LUT4 allowed for this function! - RCKE <= ((RASr | RASr2) & RCKEEN) | (~RASr2 & RASr3); - end + /* State counter from RAS */ + always @(posedge RCLK) begin + if (~RASr2) S <= 0; + else if (S==2'h3) S <= 2'h3; + else S <= S+2'h1; + end + /* Init state counter */ + always @(posedge RCLK) begin + // Wait ~4.178ms (at 62.5 MHz) before starting init sequence + FS <= FS+18'h1; + if (FS[17:10] == 8'hFF) InitReady <= 1'b1; + end - /* SDRAM command */ - always @(posedge RCLK) begin - if (Ready) begin - if (S==0) begin - if (RASr2) begin - if (CBR) begin - // AREF - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end else begin - // ACT - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // Bank RA10 consistently "1" - end - // Enable clock only for reads - RCKEEN <= ~CBR & ~FWEr; - end else if (RCKE) begin - // PCall - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b0; - RA10 <= 1'b1; // "all" - RCKEEN <= 1'b1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - RCKEEN <= 1'b1; - end - nRowColSel <= 1'b0; // Select registered row addres - end else if (S==1) begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - nRowColSel <= 1'b1; // Select asynchronous column address - RCKEEN <= ~CBR; // Disable clock if refresh cycle - end else if (S==2) begin - if (~FWEr & ~CBR) begin - // RD - nRCS <= 1'b0; - nRRAS <= 1'b1; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // Auto-precharge - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - nRowColSel <= 1'b1; // Select asynchronous column address - RCKEEN <= ~CBR & FWEr; // Enable clock only for writes - end else if (S==3) begin - if (CASr2 & ~CASr3 & ~CBR & FWEr) begin - // WR - nRCS <= 1'b0; - nRRAS <= 1'b1; - nRCAS <= 1'b0; - nRWE <= 1'b0; - RA10 <= 1'b1; // Auto-precharge - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - nRowColSel <= ~(~FWEr | CASr3 | CBR); - RCKEEN <= ~(~FWEr | CASr2 | CBR); - end - end else if (InitReady) begin - if (S==0 & RASr2) begin - if (IS==0) begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end else if (IS==1) begin - // PC all - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b0; - RA10 <= 1'b1; // "all" - end else if (IS==9) begin - // Load mode register - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b0; - RA10 <= 1'b0; // Reserved in mode register - end else begin - // AREF - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - IS <= IS+1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - if (S==3 & ~RASr2 & IS==15) Ready <= 1'b1; - nRowColSel <= 1'b0; // Select registered row address - RCKEEN <= 1'b1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - nRowColSel <= 1'b0; // Select registered row address - RCKEEN <= 1'b0; - end - end - - /* Submit command when PHI2 falls */ - always @(negedge PHI2) begin - // Magic number check - if (C1WR & Din[7:0]==8'hC1) begin // "C1" magic number - if (ADSubmitted) begin - CmdEnable <= 1'b1; - end - C1Submitted <= 1'b1; - ADSubmitted <= 1'b0; - end else if (ADWR & Din[7:0]==8'hAD) begin // "AD" magic number - if (C1Submitted) begin - CmdEnable <= 1'b1; - end - ADSubmitted <= 1'b1; - C1Submitted <= 1'b0; - end else if (C1WR | ADWR) begin // wrong magic number submitted - CmdEnable <= 1'b0; - C1Submitted <= 1'b0; - ADSubmitted <= 1'b0; - end else if (CMDWR) CmdEnable <= 1'b0; + /* SDRAM CKE */ + always @(posedge RCLK) begin + // Only 1 LUT4 allowed for this function! + RCKE <= ((RASr | RASr2) & RCKEEN) | (~RASr2 & RASr3); + end - // Submit command - if (CMDWR & CmdEnable) begin - if (Din[7:4]==4'h0) begin - XOR8MEG <= Din[0]; - end else if (Din[7:4]==4'h1) begin - CmdLEDEN <= ~Din[1]; - Cmdn8MEGEN <= ~Din[0]; - end else if (Din[7:4]==4'h3 && Din[3]) begin - CmdLEDEN <= LEDEN; - Cmdn8MEGEN <= n8MEGEN; - CmdUFMShift <= Din[1]; + /* SDRAM command */ + always @(posedge RCLK) begin + if (Ready) begin + if (S==0) begin + if (RASr2) begin + if (CBR) begin + // AREF + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end else begin + // ACT + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // Bank RA10 consistently "1" + end + // Enable clock only for reads + RCKEEN <= ~CBR & ~FWEr; + end else if (RCKE) begin + // PCall + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b0; + RA10 <= 1'b1; // "all" + RCKEEN <= 1'b1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + RCKEEN <= 1'b1; + end + nRowColSel <= 1'b0; // Select registered row addres + end else if (S==1) begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + nRowColSel <= 1'b1; // Select asynchronous column address + RCKEEN <= ~CBR; // Disable clock if refresh cycle + end else if (S==2) begin + if (~FWEr & ~CBR) begin + // RD + nRCS <= 1'b0; + nRRAS <= 1'b1; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // Auto-precharge + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + nRowColSel <= 1'b1; // Select asynchronous column address + RCKEEN <= ~CBR & FWEr; // Enable clock only for writes + end else if (S==3) begin + if (CASr2 & ~CASr3 & ~CBR & FWEr) begin + // WR + nRCS <= 1'b0; + nRRAS <= 1'b1; + nRCAS <= 1'b0; + nRWE <= 1'b0; + RA10 <= 1'b1; // Auto-precharge + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + nRowColSel <= ~(~FWEr | CASr3 | CBR); + RCKEEN <= ~(~FWEr | CASr2 | CBR); + end + end else if (InitReady) begin + if (S==0 & RASr2) begin + if (IS==0) begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end else if (IS==1) begin + // PC all + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b0; + RA10 <= 1'b1; // "all" + end else if (IS==9) begin + // Load mode register + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b0; + RA10 <= 1'b0; // Reserved in mode register + end else begin + // AREF + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + IS <= IS+4'h1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + if (S==3 & ~RASr2 & IS==15) Ready <= 1'b1; + nRowColSel <= 1'b0; // Select registered row address + RCKEEN <= 1'b1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + nRowColSel <= 1'b0; // Select registered row address + RCKEEN <= 1'b0; + end + end + + /* Submit command when PHI2 falls */ + always @(negedge PHI2) begin + // Magic number check + if (C1WR & Din[7:0]==8'hC1) begin // "C1" magic number + if (ADSubmitted) begin + CmdEnable <= 1'b1; + end + C1Submitted <= 1'b1; + ADSubmitted <= 1'b0; + end else if (ADWR & Din[7:0]==8'hAD) begin // "AD" magic number + if (C1Submitted) begin + CmdEnable <= 1'b1; + end + ADSubmitted <= 1'b1; + C1Submitted <= 1'b0; + end else if (C1WR | ADWR) begin // wrong magic number submitted + CmdEnable <= 1'b0; + C1Submitted <= 1'b0; + ADSubmitted <= 1'b0; + end else if (CMDWR) CmdEnable <= 1'b0; + + // Submit command + if (CMDWR & CmdEnable) begin + // if (Din[7:4]==4'h0 && Din[3:2]==2'b00) begin // MAX w/LED + // if (Din[7:4]==4'h0) begin // MAX w/o LED + // if (Din[7:4]==4'h0 && Din[3:2]==2'b01) begin // LCMXO / iCE40 / AGM + if (Din[7:4]==4'h0 && Din[3:2]==2'b10) begin // LCMXO2 + XOR8MEG <= Din[0] && !(LEDEN && Din[1]); + end else if (Din[7:4]==4'h0) begin // Unsupported type + XOR8MEG <= 0; + end else if (Din[7:4]==4'h1) begin + CmdLEDEN <= Din[1]; + Cmdn8MEGEN <= ~Din[0]; + CmdSubmitted <= 1'b1; + end else if (Din[7:4]==4'h2) begin + // Reserved for MAX commands + end else if (Din[7:4]==4'h3 && !Din[3]) begin + // Reserved for SPI (LCMXO, iCE40) commands + // Din[2] - CS + // Din[1] - SCK + // Din[0] - SDI + end else if (Din[7:4]==4'h3 && Din[3]) begin + // LCMXO2 commands + // Din[1] - Shift when low, execute when high + // Din[0] - Shift data + CMDUFMWrite <= Din[1]; CmdUFMData <= Din[0]; - end - CmdSubmitted <= 1; - end else CmdSubmitted <= 0; - end - - reg wb_clk; - reg wb_rst; - reg wb_cyc_stb; - reg wb_we; - reg [7:0] wb_adr; - reg [7:0] wb_dati; - wire [1:0] wb_dato; - - EFB ufmefb ( - .WBCLKI(wb_clk), - .WBRSTI(wb_rst), - .WBCYCI(wb_cyc_stb), - .WBSTBI(wb_cyc_stb), - .WBWEI(wb_we), - .WBADRI7(wb_adr[7]), - .WBADRI6(wb_adr[6]), - .WBADRI5(wb_adr[5]), - .WBADRI4(wb_adr[4]), - .WBADRI3(wb_adr[3]), - .WBADRI2(wb_adr[2]), - .WBADRI1(wb_adr[1]), - .WBADRI0(wb_adr[0]), - .WBDATI7(wb_dati[7]), - .WBDATI6(wb_dati[6]), - .WBDATI5(wb_dati[5]), - .WBDATI4(wb_dati[4]), - .WBDATI3(wb_dati[3]), - .WBDATI2(wb_dati[2]), - .WBDATI1(wb_dati[1]), - .WBDATI0(wb_dati[0]), - .WBDATO1(wb_dato[1]), - .WBDATO0(wb_dato[0])); + CmdLEDEN <= LEDEN; + Cmdn8MEGEN <= n8MEGEN; + CmdSubmitted <= 1'b1; + end + end + end - /* UFM Control */ - always @(posedge RCLK) begin - if (~InitReady && FS[17:10]==8'h00) begin - wb_clk <= 1'b0; - wb_rst <= ~FS[9]; - wb_cyc_stb <= 1'b0; - wb_we <= 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_clk <= FS[2]; - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h80; - wb_cyc_stb <= ~FS[4]; - end 5'h01: 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]; - end 5'h02: 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]; - end 5'h03: 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]; - end 5'h04: 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]; - end 5'h1F: begin // Close frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= ~FS[4]; - 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_clk <= FS[2]; - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h80; - wb_cyc_stb <= ~FS[4]; - end 5'h01: 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]; - end 5'h02: begin // Poll status register - operand 1/3 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= ~FS[4]; - end 5'h03: 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]; - end 5'h04: begin // Poll status register - operand 3/3 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= ~FS[4]; - end 5'h05: 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]; - 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; - wb_cyc_stb <= ~FS[4]; - 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]; - 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; - wb_cyc_stb <= ~FS[4]; - end 5'h1F: begin // Close frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= ~FS[4]; - 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_clk <= FS[2]; - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h80; - wb_cyc_stb <= ~FS[4]; - end 5'h01: 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]; - end 5'h02: 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]; - end 5'h03: 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]; - end 5'h04: 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]; - end 5'h05: 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]; - end 5'h06: 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]; - end 5'h07: 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]; - end 5'h08: 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]; - end 5'h1F: begin // Close frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= ~FS[4]; - 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_clk <= FS[2]; - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h80; - wb_cyc_stb <= ~FS[4]; - end 5'h01: 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]; - end 5'h02: 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]; - end 5'h03: 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]; - end 5'h04: 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]; - end 5'h05: begin // Read UFM page - data 1/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= ~FS[4]; - - if (FS[4:0]==5'h0C) 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; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= ~FS[4]; - 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]; - 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]; - 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]; - 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]; - 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]; - 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]; - 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]; - 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]; - 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]; - 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]; - 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]; - 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]; - 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]; - 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]; - end 5'h1F: begin // Close frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= ~FS[4]; - 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_clk <= FS[2]; - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h80; - wb_cyc_stb <= ~FS[4]; - end 5'h01: 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]; - end 5'h02: 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]; - end 5'h03: 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]; - end 5'h1F: begin // Close frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= ~FS[4]; - 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_clk <= FS[2]; - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h80; - wb_cyc_stb <= ~FS[4]; - end 5'h01: 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]; - end 5'h1F: begin // Close frame - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= ~FS[4]; - 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) begin - wb_clk <= 1'b0; - wb_rst <= 1'b0; - wb_cyc_stb <= 1'b0; - wb_we <= 1'b0; - wb_adr[7:0] <= 8'h00; - wb_dati[7:0] <= 8'h00; - end else if (~PHI2r2 & PHI2r3 & CmdSubmitted) begin - // Set user command signals after PHI2 falls - // CmdnLEDEN, Cmdn8MEGEN, CmdUFMShift, CmdUFMData - LEDEN <= CmdLEDEN; - n8MEGEN <= Cmdn8MEGEN; - if (CmdUFMShift) begin - wb_adr[7:0] <= { wb_adr[6:0], wb_dati[7] }; - wb_dati[7:0] <= { wb_dati[6:0], wb_we }; - wb_we <= wb_cyc_stb; - wb_cyc_stb <= CmdUFMData; - wb_clk <= 1'b0; - end else wb_clk <= 1'b1; - end - end + /* UFM Control */ + always @(posedge RCLK) begin + if (~InitReady && FS[17:10]==8'h00) begin + wb_clk <= 1'b0; + wb_rst <= ~FS[9]; + wb_cyc_stb <= 1'b0; + wb_we <= 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_clk <= FS[2]; + wb_rst <= 1'b0; + case (FS[9:5]) + 5'h00: begin // Open frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h80; + wb_cyc_stb <= ~FS[4]; + end 5'h01: 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]; + end 5'h02: 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]; + end 5'h03: 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]; + end 5'h04: 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]; + end 5'h1F: begin // Close frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h00; + wb_cyc_stb <= ~FS[4]; + 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_clk <= FS[2]; + wb_rst <= 1'b0; + case (FS[9:5]) + 5'h00: begin // Open frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h80; + wb_cyc_stb <= ~FS[4]; + end 5'h01: 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]; + end 5'h02: begin // Poll status register - operand 1/3 + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h71; + wb_dati[7:0] <= 8'h00; + wb_cyc_stb <= ~FS[4]; + end 5'h03: 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]; + end 5'h04: begin // Poll status register - operand 3/3 + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h71; + wb_dati[7:0] <= 8'h00; + wb_cyc_stb <= ~FS[4]; + end 5'h05: 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]; + 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; + wb_cyc_stb <= ~FS[4]; + 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]; + 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; + wb_cyc_stb <= ~FS[4]; + end 5'h1F: begin // Close frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h00; + wb_cyc_stb <= ~FS[4]; + 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_clk <= FS[2]; + wb_rst <= 1'b0; + case (FS[9:5]) + 5'h00: begin // Open frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h80; + wb_cyc_stb <= ~FS[4]; + end 5'h01: 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]; + end 5'h02: 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]; + end 5'h03: 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]; + end 5'h04: 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]; + end 5'h05: 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]; + end 5'h06: 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]; + end 5'h07: 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]; + end 5'h08: 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]; + end 5'h1F: begin // Close frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h00; + wb_cyc_stb <= ~FS[4]; + 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_clk <= FS[2]; + wb_rst <= 1'b0; + case (FS[9:5]) + 5'h00: begin // Open frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h80; + wb_cyc_stb <= ~FS[4]; + end 5'h01: 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]; + end 5'h02: 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]; + end 5'h03: 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]; + end 5'h04: 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]; + end 5'h05: begin // Read UFM page - data 1/16 + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h71; + wb_dati[7:0] <= 8'h00; + wb_cyc_stb <= ~FS[4]; + + if (FS[4:0]==5'h0C) 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; + wb_dati[7:0] <= 8'h00; + wb_cyc_stb <= ~FS[4]; + 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]; + 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]; + 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]; + 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]; + 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]; + 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]; + 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]; + 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]; + 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]; + 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]; + 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]; + 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]; + 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]; + 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]; + end 5'h1F: begin // Close frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h00; + wb_cyc_stb <= ~FS[4]; + 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_clk <= FS[2]; + wb_rst <= 1'b0; + case (FS[9:5]) + 5'h00: begin // Open frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h80; + wb_cyc_stb <= ~FS[4]; + end 5'h01: 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]; + end 5'h02: 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]; + end 5'h03: 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]; + end 5'h1F: begin // Close frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h00; + wb_cyc_stb <= ~FS[4]; + 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_clk <= FS[2]; + wb_rst <= 1'b0; + case (FS[9:5]) + 5'h00: begin // Open frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h80; + wb_cyc_stb <= ~FS[4]; + end 5'h01: 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]; + end 5'h1F: begin // Close frame + wb_we <= 1'b1; + wb_adr[7:0] <= 8'h70; + wb_dati[7:0] <= 8'h00; + wb_cyc_stb <= ~FS[4]; + 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) begin + wb_clk <= 1'b0; + wb_rst <= 1'b0; + wb_cyc_stb <= 1'b0; + wb_we <= 1'b0; + wb_adr[7:0] <= 8'h00; + wb_dati[7:0] <= 8'h00; + end else if (~PHI2r2 & PHI2r3 & CmdSubmitted) begin + // Set user command signals after PHI2 falls + LEDEN <= CmdLEDEN; + n8MEGEN <= Cmdn8MEGEN; + if (!CMDUFMWrite) begin + wb_adr[7:0] <= { wb_adr[6:0], wb_dati[7] }; + wb_dati[7:0] <= { wb_dati[6:0], wb_we }; + wb_we <= wb_cyc_stb; + wb_cyc_stb <= CmdUFMData; + wb_clk <= 1'b0; + end else wb_clk <= 1'b1; + end + end endmodule diff --git a/CPLD/RAM2GS-MAX.v b/CPLD/RAM2GS-MAX.v index 6e97a29..c8693fb 100644 --- a/CPLD/RAM2GS-MAX.v +++ b/CPLD/RAM2GS-MAX.v @@ -1,470 +1,471 @@ module RAM2GS(PHI2, MAin, CROW, Din, Dout, - nCCAS, nCRAS, nFWE, LED, - RBA, RA, RD, nRCS, RCLK, RCKE, - nRWE, nRRAS, nRCAS, RDQMH, RDQML); + nCCAS, nCRAS, nFWE, LED, + RBA, RA, RD, nRCS, RCLK, RCKE, + nRWE, nRRAS, nRCAS, RDQMH, RDQML); - /* 65816 Phase 2 Clock */ - input PHI2; - /* Async. DRAM Control Inputs */ - input nCCAS, nCRAS; + /* 65816 Phase 2 Clock */ + input PHI2; - /* Synchronized PHI2 and DRAM signals */ - reg PHI2r, PHI2r2, PHI2r3; - reg RASr, RASr2, RASr3; - reg CASr, CASr2, CASr3; - reg FWEr; - reg CBR; + /* Async. DRAM Control Inputs */ + input nCCAS, nCRAS; - /* Activity LED */ - reg LEDEN = 0; - output LED; - assign LED = !(!nCRAS && !CBR && LEDEN); + /* Synchronized PHI2 and DRAM signals */ + reg PHI2r, PHI2r2, PHI2r3; + reg RASr, RASr2, RASr3; + reg CASr, CASr2, CASr3; + reg FWEr; + reg CBR; - /* 65816 Data */ - input [7:0] Din; - output [7:0] Dout; - assign Dout[7:0] = RD[7:0]; + /* Activity LED */ + reg LEDEN = 0; + output LED; + assign LED = !(!nCRAS && !CBR && LEDEN); - /* Latched 65816 Bank Address */ - reg [7:0] Bank; + /* 65816 Data */ + input [7:0] Din; + output [7:0] Dout; + assign Dout[7:0] = RD[7:0]; - /* Async. DRAM Address Bus */ - input [1:0] CROW; - input [9:0] MAin; - input nFWE; - reg n8MEGEN = 0; - reg XOR8MEG = 0; - - /* SDRAM Clock */ - input RCLK; - - /* SDRAM */ - reg RCKEEN; - output reg RCKE = 0; - output reg nRCS = 1, nRRAS = 1, nRCAS = 1, nRWE = 1; - output reg [1:0] RBA; - reg nRowColSel; - reg RA11; - reg RA10; - reg [9:0] RowA; - output [11:0] RA; - assign RA[11] = RA11; - assign RA[10] = RA10; - assign RA[9:0] = ~nRowColSel ? RowA[9:0] : MAin[9:0]; - output RDQML, RDQMH; - assign RDQML = ~nRowColSel ? 1'b1 : ~MAin[9]; - assign RDQMH = ~nRowColSel ? 1'b1 : MAin[9]; - reg [7:0] WRD; - inout [7:0] RD; - assign RD[7:0] = (~nCCAS & ~nFWE) ? WRD[7:0] : 8'bZ; + /* Latched 65816 Bank Address */ + reg [7:0] Bank; - /* UFM Interface */ - reg UFMD = 0; // UFM data register bit 15 - reg ARCLK = 0; // UFM address register clock - // UFM address register data input tied to 0 - reg ARShift = 0; // 1 to Shift UFM address in, 0 to increment - reg DRCLK = 0; // UFM data register clock - reg DRDIn = 0; // UFM data register input - reg DRShift = 0; // 1 to shift UFM out, 0 to load from current address - reg UFMErase = 0; // Rising edge starts erase. UFM+RTP must not be busy - reg UFMProgram = 0; // Rising edge starts program. UFM+RTP must not be busy - reg UFMOscEN = 0; // UFM oscillator enable - wire UFMBusy; // 1 if UFM is doing user operation. Asynchronous - wire RTPBusy; // 1 if real-time programming in progress. Asynchronous - wire DRDOut; // UFM data output - // UFM oscillator always enabled - wire UFMOsc; // UFM oscillator output (3.3-5.5 MHz) - UFM UFM_inst ( // UFM IP block (for Altera MAX II and MAX V) - .arclk (ARCLK), - .ardin (1'b0), - .arshft (ARShift), - .drclk (DRCLK), - .drdin (DRDIn), - .drshft (DRShift), - .erase (UFMErase), - .oscena (UFMOscEN), - .program (UFMProgram), - .busy (UFMBusy), - .drdout (DRDOut), - .osc (UFMOsc), - .rtpbusy (RTPBusy)); - reg UFMBusyReg = 0; // UFMBusy registered to sync with RCLK - reg RTPBusyReg = 0; // RTPBusy registered to sync with RCLK + /* Async. DRAM Address Bus */ + input [1:0] CROW; + input [9:0] MAin; + input nFWE; + reg n8MEGEN = 0; + reg XOR8MEG = 0; + + /* SDRAM Clock */ + input RCLK; + + /* SDRAM */ + reg RCKEEN; + output reg RCKE = 0; + output reg nRCS = 1, nRRAS = 1, nRCAS = 1, nRWE = 1; + output reg [1:0] RBA; + reg nRowColSel; + reg RA11; + reg RA10; + reg [9:0] RowA; + output [11:0] RA; + assign RA[11] = RA11; + assign RA[10] = RA10; + assign RA[9:0] = ~nRowColSel ? RowA[9:0] : MAin[9:0]; + output RDQML, RDQMH; + assign RDQML = ~nRowColSel ? 1'b1 : ~MAin[9]; + assign RDQMH = ~nRowColSel ? 1'b1 : MAin[9]; + reg [7:0] WRD; + inout [7:0] RD; + assign RD[7:0] = (~nCCAS & ~nFWE) ? WRD[7:0] : 8'bZ; - /* UFM State */ - reg UFMInitDone = 0; // 1 if UFM initialization finished - reg UFMReqErase = 0; // 1 if UFM requires erase + /* UFM Interface */ + reg UFMD = 0; // UFM data register bit 15 + reg ARCLK = 0; // UFM address register clock + // UFM address register data input tied to 0 + reg ARShift = 0; // 1 to Shift UFM address in, 0 to increment + reg DRCLK = 0; // UFM data register clock + reg DRDIn = 0; // UFM data register input + reg DRShift = 0; // 1 to shift UFM out, 0 to load from current address + reg UFMErase = 0; // Rising edge starts erase. UFM+RTP must not be busy + reg UFMProgram = 0; // Rising edge starts program. UFM+RTP must not be busy + reg UFMOscEN = 0; // UFM oscillator enable + wire UFMBusy; // 1 if UFM is doing user operation. Asynchronous + wire RTPBusy; // 1 if real-time programming in progress. Asynchronous + wire DRDOut; // UFM data output + // UFM oscillator always enabled + wire UFMOsc; // UFM oscillator output (3.3-5.5 MHz) + UFM UFM_inst ( // UFM IP block (for Altera MAX II and MAX V) + .arclk (ARCLK), + .ardin (1'b0), + .arshft (ARShift), + .drclk (DRCLK), + .drdin (DRDIn), + .drshft (DRShift), + .erase (UFMErase), + .oscena (UFMOscEN), + .program (UFMProgram), + .busy (UFMBusy), + .drdout (DRDOut), + .osc (UFMOsc), + .rtpbusy (RTPBusy)); + reg UFMBusyReg = 0; // UFMBusy registered to sync with RCLK + reg RTPBusyReg = 0; // RTPBusy registered to sync with RCLK - /* UFM Command Interface */ - reg C1Submitted = 0; - reg ADSubmitted = 0; - reg CmdEnable = 0; - reg CmdSubmitted = 0; - reg Cmdn8MEGEN = 0; - reg CmdLEDEN = 0; - reg CmdDRCLK = 0; - reg CmdDRDIn = 0; - reg CmdUFMErase = 0; // Set by user command. Programs UFM - reg CmdUFMPrgm = 0; // Set by user command. Erases UFM - 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; - - /* State Counters */ - reg InitReady = 0; // 1 if ready for init sequence - reg Ready = 0; // 1 if done with init sequence - reg [1:0] S = 0; // post-RAS State counter - reg [17:0] FS = 0; // Fast init state counter - reg [3:0] IS = 0; // Init state counter - - /* Synchronize PHI2, RAS, CAS */ - always @(posedge RCLK) begin - PHI2r <= PHI2; PHI2r2 <= PHI2r; PHI2r3 <= PHI2r2; - RASr <= ~nCRAS; RASr2 <= RASr; RASr3 <= RASr2; - CASr <= ~nCCAS; CASr2 <= CASr; CASr3 <= CASr2; - end - - /* Latch 65816 bank when PHI2 rises */ - always @(posedge PHI2) begin - if (Ready) RA11 <= (Din[6] & ~n8MEGEN) ^ XOR8MEG; // Set RA11 - else RA11 <= 1'b0; // Reserved in mode register - Bank[7:0] <= Din[7:0]; // Latch bank - end - - /* Latch bank address, row address, WE, and CAS when RAS falls */ - always @(negedge nCRAS) begin - if (Ready) begin - RBA[1:0] <= CROW[1:0]; - RowA[9:0] <= MAin[9:0]; - end else begin - RBA[1:0] <= 2'b00; // Reserved in mode register - RowA[9] <= 1'b1; // "1" for single write mode - RowA[8] <= 1'b0; // Reserved - RowA[7] <= 1'b0; // "0" for not test mode - RowA[6:4] <= 3'b010; // "2" for CAS latency 2 - RowA[3] <= 1'b0; // "0" for sequential burst (not used) - RowA[2:0] <= 3'b000; // "0" for burst length 1 (no burst) - end - FWEr <= ~nFWE; - CBR <= ~nCCAS; - end + /* UFM State */ + reg UFMInitDone = 0; // 1 if UFM initialization finished + reg UFMReqErase = 0; // 1 if UFM requires erase - /* Latch write data when CAS falls */ - always @(negedge nCCAS) begin - WRD[7:0] <= Din[7:0]; - end + /* UFM Command Interface */ + reg C1Submitted = 0; + reg ADSubmitted = 0; + reg CmdEnable = 0; + reg CmdSubmitted = 0; + reg Cmdn8MEGEN = 0; + reg CmdLEDEN = 0; + reg CmdDRCLK = 0; + reg CmdDRDIn = 0; + reg CmdUFMErase = 0; // Set by user command. Programs UFM + reg CmdUFMPrgm = 0; // Set by user command. Erases UFM + 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; + + /* State Counters */ + reg InitReady = 0; // 1 if ready for init sequence + reg Ready = 0; // 1 if done with init sequence + reg [1:0] S = 0; // post-RAS State counter + reg [17:0] FS = 0; // Fast init state counter + reg [3:0] IS = 0; // Init state counter + + /* Synchronize PHI2, RAS, CAS */ + always @(posedge RCLK) begin + PHI2r <= PHI2; PHI2r2 <= PHI2r; PHI2r3 <= PHI2r2; + RASr <= ~nCRAS; RASr2 <= RASr; RASr3 <= RASr2; + CASr <= ~nCCAS; CASr2 <= CASr; CASr3 <= CASr2; + end + + /* Latch 65816 bank when PHI2 rises */ + always @(posedge PHI2) begin + if (Ready) RA11 <= (Din[6] & ~n8MEGEN) ^ XOR8MEG; // Set RA11 + else RA11 <= 1'b0; // Reserved in mode register + Bank[7:0] <= Din[7:0]; // Latch bank + end + + /* Latch bank address, row address, WE, and CAS when RAS falls */ + always @(negedge nCRAS) begin + if (Ready) begin + RBA[1:0] <= CROW[1:0]; + RowA[9:0] <= MAin[9:0]; + end else begin + RBA[1:0] <= 2'b00; // Reserved in mode register + RowA[9] <= 1'b1; // "1" for single write mode + RowA[8] <= 1'b0; // Reserved + RowA[7] <= 1'b0; // "0" for not test mode + RowA[6:4] <= 3'b010; // "2" for CAS latency 2 + RowA[3] <= 1'b0; // "0" for sequential burst (not used) + RowA[2:0] <= 3'b000; // "0" for burst length 1 (no burst) + end + FWEr <= ~nFWE; + CBR <= ~nCCAS; + end - /* State counter from RAS */ - always @(posedge RCLK) begin - if (~RASr2) S <= 0; - else if (S==2'h3) S <= 2'h3; - else S <= S+2'h1; - end - /* Init state counter */ - always @(posedge RCLK) begin - // Wait ~4.178ms (at 62.5 MHz) before starting init sequence - FS <= FS+18'h1; - if (FS[17:10] == 8'hFF) InitReady <= 1'b1; - end + /* Latch write data when CAS falls */ + always @(negedge nCCAS) begin + WRD[7:0] <= Din[7:0]; + end - /* SDRAM CKE */ - always @(posedge RCLK) begin - // Only 1 LUT4 allowed for this function! - RCKE <= ((RASr | RASr2) & RCKEEN) | (~RASr2 & RASr3); - end + /* State counter from RAS */ + always @(posedge RCLK) begin + if (~RASr2) S <= 0; + else if (S==2'h3) S <= 2'h3; + else S <= S+2'h1; + end + /* Init state counter */ + always @(posedge RCLK) begin + // Wait ~4.178ms (at 62.5 MHz) before starting init sequence + FS <= FS+18'h1; + if (FS[17:10] == 8'hFF) InitReady <= 1'b1; + end - /* SDRAM command */ - always @(posedge RCLK) begin - if (Ready) begin - if (S==0) begin - if (RASr2) begin - if (CBR) begin - // AREF - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end else begin - // ACT - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // Bank RA10 consistently "1" - end - // Enable clock only for reads - RCKEEN <= ~CBR & ~FWEr; - end else if (RCKE) begin - // PCall - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b0; - RA10 <= 1'b1; // "all" - RCKEEN <= 1'b1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - RCKEEN <= 1'b1; - end - nRowColSel <= 1'b0; // Select registered row addres - end else if (S==1) begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - nRowColSel <= 1'b1; // Select asynchronous column address - RCKEEN <= ~CBR; // Disable clock if refresh cycle - end else if (S==2) begin - if (~FWEr & ~CBR) begin - // RD - nRCS <= 1'b0; - nRRAS <= 1'b1; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // Auto-precharge - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - nRowColSel <= 1'b1; // Select asynchronous column address - RCKEEN <= ~CBR & FWEr; // Enable clock only for writes - end else if (S==3) begin - if (CASr2 & ~CASr3 & ~CBR & FWEr) begin - // WR - nRCS <= 1'b0; - nRRAS <= 1'b1; - nRCAS <= 1'b0; - nRWE <= 1'b0; - RA10 <= 1'b1; // Auto-precharge - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - nRowColSel <= ~(~FWEr | CASr3 | CBR); - RCKEEN <= ~(~FWEr | CASr2 | CBR); - end - end else if (InitReady) begin - if (S==0 & RASr2) begin - if (IS==0) begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end else if (IS==1) begin - // PC all - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b0; - RA10 <= 1'b1; // "all" - end else if (IS==9) begin - // Load mode register - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b0; - RA10 <= 1'b0; // Reserved in mode register - end else begin - // AREF - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - IS <= IS+4'h1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - if (S==3 & ~RASr2 & IS==15) Ready <= 1'b1; - nRowColSel <= 1'b0; // Select registered row address - RCKEEN <= 1'b1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - nRowColSel <= 1'b0; // Select registered row address - RCKEEN <= 1'b0; - end - end - - /* Submit command when PHI2 falls */ - always @(negedge PHI2) begin - // Magic number check - if (C1WR & Din[7:0]==8'hC1) begin // "C1" magic number - if (ADSubmitted) begin - CmdEnable <= 1'b1; - UFMOscEN <= 1'b1; - end - C1Submitted <= 1'b1; - ADSubmitted <= 1'b0; - end else if (ADWR & Din[7:0]==8'hAD) begin // "AD" magic number - if (C1Submitted) begin - CmdEnable <= 1'b1; - UFMOscEN <= 1'b1; - end - ADSubmitted <= 1'b1; - C1Submitted <= 1'b0; - end else if (C1WR | ADWR) begin // wrong magic number submitted - CmdEnable <= 1'b0; - C1Submitted <= 1'b0; - ADSubmitted <= 1'b0; - end else if (CMDWR) CmdEnable <= 1'b0; + /* SDRAM CKE */ + always @(posedge RCLK) begin + // Only 1 LUT4 allowed for this function! + RCKE <= ((RASr | RASr2) & RCKEEN) | (~RASr2 & RASr3); + end - // Submit command - if (CMDWR & CmdEnable) begin - if (Din[7:4]==4'h0 && Din[3:2]==2'b00) begin // MAX w/LED - // if (Din[7:4]==4'h0) begin // MAX w/o LED - // if (Din[7:4]==4'h0 && Din[3:2]==2'b01) begin // LCMXO / iCE40 / AGM - // if (Din[7:4]==4'h0 && Din[3:2]==2'b10) begin // LCMXO2 - XOR8MEG <= Din[0] && !(LEDEN && Din[1]); - end else if (Din[7:4]==4'h0) begin // Unsupported type - XOR8MEG <= 0; - end else if (Din[7:4]==4'h1) begin - CmdLEDEN <= Din[1]; - Cmdn8MEGEN <= ~Din[0]; - CmdSubmitted <= 1'b1; - end else if (Din[7:4]==4'h2) begin - // MAX commands - CmdLEDEN <= LEDEN; - Cmdn8MEGEN <= n8MEGEN; - CmdUFMErase <= Din[3]; - CmdUFMPrgm <= Din[2]; - CmdDRCLK <= Din[1]; - CmdDRDIn <= Din[0]; - CmdSubmitted <= 1'b1; - end else if (Din[7:4]==4'h3 && !Din[3]) begin - // Reserved for SPI (LCMXO, iCE40) commands - // Din[2] - CS - // Din[1] - SCK - // Din[0] - SDI - end else if (Din[7:4]==4'h3 && Din[3]) begin - // Reserved for LCMXO2 commands - // Din[1] - Shift when high, execute when low - // Din[0] - Shift data - end - end - end + /* SDRAM command */ + always @(posedge RCLK) begin + if (Ready) begin + if (S==0) begin + if (RASr2) begin + if (CBR) begin + // AREF + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end else begin + // ACT + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // Bank RA10 consistently "1" + end + // Enable clock only for reads + RCKEEN <= ~CBR & ~FWEr; + end else if (RCKE) begin + // PCall + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b0; + RA10 <= 1'b1; // "all" + RCKEEN <= 1'b1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + RCKEEN <= 1'b1; + end + nRowColSel <= 1'b0; // Select registered row addres + end else if (S==1) begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + nRowColSel <= 1'b1; // Select asynchronous column address + RCKEEN <= ~CBR; // Disable clock if refresh cycle + end else if (S==2) begin + if (~FWEr & ~CBR) begin + // RD + nRCS <= 1'b0; + nRRAS <= 1'b1; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // Auto-precharge + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + nRowColSel <= 1'b1; // Select asynchronous column address + RCKEEN <= ~CBR & FWEr; // Enable clock only for writes + end else if (S==3) begin + if (CASr2 & ~CASr3 & ~CBR & FWEr) begin + // WR + nRCS <= 1'b0; + nRRAS <= 1'b1; + nRCAS <= 1'b0; + nRWE <= 1'b0; + RA10 <= 1'b1; // Auto-precharge + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + nRowColSel <= ~(~FWEr | CASr3 | CBR); + RCKEEN <= ~(~FWEr | CASr2 | CBR); + end + end else if (InitReady) begin + if (S==0 & RASr2) begin + if (IS==0) begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end else if (IS==1) begin + // PC all + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b0; + RA10 <= 1'b1; // "all" + end else if (IS==9) begin + // Load mode register + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b0; + RA10 <= 1'b0; // Reserved in mode register + end else begin + // AREF + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + IS <= IS+4'h1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + if (S==3 & ~RASr2 & IS==15) Ready <= 1'b1; + nRowColSel <= 1'b0; // Select registered row address + RCKEEN <= 1'b1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + nRowColSel <= 1'b0; // Select registered row address + RCKEEN <= 1'b0; + end + end + + /* Submit command when PHI2 falls */ + always @(negedge PHI2) begin + // Magic number check + if (C1WR & Din[7:0]==8'hC1) begin // "C1" magic number + if (ADSubmitted) begin + CmdEnable <= 1'b1; + UFMOscEN <= 1'b1; + end + C1Submitted <= 1'b1; + ADSubmitted <= 1'b0; + end else if (ADWR & Din[7:0]==8'hAD) begin // "AD" magic number + if (C1Submitted) begin + CmdEnable <= 1'b1; + UFMOscEN <= 1'b1; + end + ADSubmitted <= 1'b1; + C1Submitted <= 1'b0; + end else if (C1WR | ADWR) begin // wrong magic number submitted + CmdEnable <= 1'b0; + C1Submitted <= 1'b0; + ADSubmitted <= 1'b0; + end else if (CMDWR) CmdEnable <= 1'b0; - /* UFM Control */ - always @(posedge RCLK) begin - if (~Ready) begin - if (~UFMInitDone & FS[17:16]==2'b00) begin - // Shift 0 into address register - ARCLK <= FS[3]; // Clock address register - ARShift <= 1'b1; // Shift 0 into address register - DRCLK <= 1'b0; // Don't clock data register - DRDIn <= 1'b0; // DRDIn is don't care - DRShift <= 1'b0; // DRShift is don't care - end else if (~UFMInitDone & FS[17:16]==2'b01 & FS[7:4]==4'h0) begin - // Parallel transfer UFM data to shift register - ARCLK <= 1'b0; // Don't clock address register - ARShift <= 1'b0; // ARShift is don't care - DRCLK <= FS[3]; // Clock data register - DRDIn <= 1'b0; // DRDIn is don't care - DRShift <= 1'b0; // Parallel transfer to data register - end else if (~UFMInitDone & FS[17:16]==2'b01 & FS[7:4]==4'h4) begin - // Shift UFM data shift register - ARCLK <= 1'b0; // Don't clock address register - ARShift <= 1'b0; // ARShift is don't care - DRCLK <= FS[3]; // Clock data register - DRDIn <= 1'b0; // DRDIn is don't care - DRShift <= 1'b1; // Shift data register - // Capture bit 15 of this UFM word in UFMD register - if (FS[3:0]==4'h7) UFMD <= DRDOut; - end else if (~UFMInitDone & FS[17:16]==2'b01 & FS[7:4]==4'h5) begin - // Shift UFM data shift register - ARCLK <= 1'b0; // Don't clock address register - ARShift <= 1'b0; // ARShift is don't care - DRCLK <= FS[3]; // Clock data register - DRDIn <= 1'b0; // DRDIn is don't care - DRShift <= 1'b1; // Shift data register - // If valid setting here, set capacity setting to UFMD[14] - if (FS[3:0]==4'h7 && ~UFMD) n8MEGEN <= ~DRDOut; - end else if (~UFMInitDone & FS[17:16]==2'b01 & FS[7:4]==4'h6) begin - if (UFMD) UFMInitDone <= 1'b1; // If erased, quit iterating - else begin // If valid setting here - LEDEN <= ~DRDOut; // LED enabled if UFMD[13]==0 - // If last byte in sector, mark need to erase - if (FS[15:8]==8'hFF) begin - UFMReqErase <= 1'b1; // Mark need to wrap around - UFMInitDone <= 1'b1; // Quit iterating - end - end - - // Increment UFM address - ARCLK <= FS[3]; // Clock address register - ARShift <= 1'b0; // Increment UFM address - DRCLK <= 1'b0; // Don't clock data register - DRDIn <= 1'b0; // DRDIn is don't care - DRShift <= 1'b0; // DRShift is don't care - end else if (FS[17:16]==2'b10 & UFMReqErase) begin - // Shift 0 into address register - ARCLK <= FS[3]; // Clock address register - ARShift <= 1'b1; // Shift 0 into address register - DRCLK <= 1'b0; // Don't clock data register - DRDIn <= 1'b0; // DRDIn is don't care - DRShift <= 1'b0; // DRShift is don't care - end else begin - // Don't do anything with UFM - ARCLK <= 1'b0; // Don't clock address register - ARShift <= 1'b0; // ARShift is don't care - DRCLK <= 1'b0; // Don't clock data register - DRDIn <= 1'b0; // DRDIn is don't care - DRShift <= 1'b0; // DRShift is don't care - end + // Submit command + if (CMDWR & CmdEnable) begin + if (Din[7:4]==4'h0 && Din[3:2]==2'b00) begin // MAX w/LED + // if (Din[7:4]==4'h0) begin // MAX w/o LED + // if (Din[7:4]==4'h0 && Din[3:2]==2'b01) begin // LCMXO / iCE40 / AGM + // if (Din[7:4]==4'h0 && Din[3:2]==2'b10) begin // LCMXO2 + XOR8MEG <= Din[0] && !(LEDEN && Din[1]); + end else if (Din[7:4]==4'h0) begin // Unsupported type + XOR8MEG <= 0; + end else if (Din[7:4]==4'h1) begin + CmdLEDEN <= Din[1]; + Cmdn8MEGEN <= ~Din[0]; + CmdSubmitted <= 1'b1; + end else if (Din[7:4]==4'h2) begin + // MAX commands + CmdLEDEN <= LEDEN; + Cmdn8MEGEN <= n8MEGEN; + CmdUFMErase <= Din[3]; + CmdUFMPrgm <= Din[2]; + CmdDRCLK <= Din[1]; + CmdDRDIn <= Din[0]; + CmdSubmitted <= 1'b1; + end else if (Din[7:4]==4'h3 && !Din[3]) begin + // Reserved for SPI (LCMXO, iCE40) commands + // Din[2] - CS + // Din[1] - SCK + // Din[0] - SDI + end else if (Din[7:4]==4'h3 && Din[3]) begin + // Reserved for LCMXO2 commands + // Din[1] - Shift when high, execute when low + // Din[0] - Shift data + end + end + end - // Don't erase or program UFM during initialization - UFMErase <= 1'b0; - UFMProgram <= 1'b0; - end else begin - // Can only shift UFM data register now - ARCLK <= 1'b0; - ARShift <= 1'b0; - DRShift <= 1'b1; + /* UFM Control */ + always @(posedge RCLK) begin + if (~Ready) begin + if (~UFMInitDone & FS[17:16]==2'b00) begin + // Shift 0 into address register + ARCLK <= FS[3]; // Clock address register + ARShift <= 1'b1; // Shift 0 into address register + DRCLK <= 1'b0; // Don't clock data register + DRDIn <= 1'b0; // DRDIn is don't care + DRShift <= 1'b0; // DRShift is don't care + end else if (~UFMInitDone & FS[17:16]==2'b01 & FS[7:4]==4'h0) begin + // Parallel transfer UFM data to shift register + ARCLK <= 1'b0; // Don't clock address register + ARShift <= 1'b0; // ARShift is don't care + DRCLK <= FS[3]; // Clock data register + DRDIn <= 1'b0; // DRDIn is don't care + DRShift <= 1'b0; // Parallel transfer to data register + end else if (~UFMInitDone & FS[17:16]==2'b01 & FS[7:4]==4'h4) begin + // Shift UFM data shift register + ARCLK <= 1'b0; // Don't clock address register + ARShift <= 1'b0; // ARShift is don't care + DRCLK <= FS[3]; // Clock data register + DRDIn <= 1'b0; // DRDIn is don't care + DRShift <= 1'b1; // Shift data register + // Capture bit 15 of this UFM word in UFMD register + if (FS[3:0]==4'h7) UFMD <= DRDOut; + end else if (~UFMInitDone & FS[17:16]==2'b01 & FS[7:4]==4'h5) begin + // Shift UFM data shift register + ARCLK <= 1'b0; // Don't clock address register + ARShift <= 1'b0; // ARShift is don't care + DRCLK <= FS[3]; // Clock data register + DRDIn <= 1'b0; // DRDIn is don't care + DRShift <= 1'b1; // Shift data register + // If valid setting here, set capacity setting to UFMD[14] + if (FS[3:0]==4'h7 && ~UFMD) n8MEGEN <= ~DRDOut; + end else if (~UFMInitDone & FS[17:16]==2'b01 & FS[7:4]==4'h6) begin + if (UFMD) UFMInitDone <= 1'b1; // If erased, quit iterating + else begin // If valid setting here + LEDEN <= ~DRDOut; // LED enabled if UFMD[13]==0 + // If last byte in sector, mark need to erase + if (FS[15:8]==8'hFF) begin + UFMReqErase <= 1'b1; // Mark need to wrap around + UFMInitDone <= 1'b1; // Quit iterating + end + end + + // Increment UFM address + ARCLK <= FS[3]; // Clock address register + ARShift <= 1'b0; // Increment UFM address + DRCLK <= 1'b0; // Don't clock data register + DRDIn <= 1'b0; // DRDIn is don't care + DRShift <= 1'b0; // DRShift is don't care + end else if (FS[17:16]==2'b10 & UFMReqErase) begin + // Shift 0 into address register + ARCLK <= FS[3]; // Clock address register + ARShift <= 1'b1; // Shift 0 into address register + DRCLK <= 1'b0; // Don't clock data register + DRDIn <= 1'b0; // DRDIn is don't care + DRShift <= 1'b0; // DRShift is don't care + end else begin + // Don't do anything with UFM + ARCLK <= 1'b0; // Don't clock address register + ARShift <= 1'b0; // ARShift is don't care + DRCLK <= 1'b0; // Don't clock data register + DRDIn <= 1'b0; // DRDIn is don't care + DRShift <= 1'b0; // DRShift is don't care + end - // Set user command signals after PHI2 falls - if (~PHI2r2 & PHI2r3 & CmdSubmitted) begin - LEDEN <= CmdLEDEN; - n8MEGEN <= Cmdn8MEGEN; - DRCLK <= CmdDRCLK; - DRDIn <= CmdDRDIn; - end + // Don't erase or program UFM during initialization + UFMErase <= 1'b0; + UFMProgram <= 1'b0; + end else begin + // Can only shift UFM data register now + ARCLK <= 1'b0; + ARShift <= 1'b0; + DRShift <= 1'b1; - // UFM programming sequence - if (CmdUFMPrgm | CmdUFMErase) begin - if (~UFMBusyReg & ~RTPBusyReg) begin - if (UFMReqErase | CmdUFMErase) UFMErase <= 1'b1; - else if (CmdUFMPrgm) UFMProgram <= 1'b1; - end else if (UFMBusyReg) UFMReqErase <= 1'b0; - end - end - end + // Set user command signals after PHI2 falls + if (~PHI2r2 & PHI2r3 & CmdSubmitted) begin + LEDEN <= CmdLEDEN; + n8MEGEN <= Cmdn8MEGEN; + DRCLK <= CmdDRCLK; + DRDIn <= CmdDRDIn; + end + + // UFM programming sequence + if (CmdUFMPrgm | CmdUFMErase) begin + if (~UFMBusyReg & ~RTPBusyReg) begin + if (UFMReqErase | CmdUFMErase) UFMErase <= 1'b1; + else if (CmdUFMPrgm) UFMProgram <= 1'b1; + end else if (UFMBusyReg) UFMReqErase <= 1'b0; + end + end + end endmodule diff --git a/CPLD/RAM2GS-SPI.v b/CPLD/RAM2GS-SPI.v index d885e6d..1aa4a9f 100644 --- a/CPLD/RAM2GS-SPI.v +++ b/CPLD/RAM2GS-SPI.v @@ -1,411 +1,410 @@ 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); + nCCAS, nCRAS, nFWE, LED, + RBA, RA, RD, nRCS, RCLK, RCKE, + nRWE, nRRAS, nRCAS, RDQMH, RDQML, + nUFMCS, UFMCLK, UFMSDI, UFMSDO); - /* 65816 Phase 2 Clock */ - input PHI2; + /* 65816 Phase 2 Clock */ + input PHI2; - /* Async. DRAM Control Inputs */ - input nCCAS, nCRAS; + /* Async. DRAM Control Inputs */ + input nCCAS, nCRAS; - /* Synchronized PHI2 and DRAM signals */ - reg PHI2r, PHI2r2, PHI2r3; - reg RASr, RASr2, RASr3; - reg CASr, CASr2, CASr3; - reg FWEr; - reg CBR; + /* Synchronized PHI2 and DRAM signals */ + reg PHI2r, PHI2r2, PHI2r3; + reg RASr, RASr2, RASr3; + reg CASr, CASr2, CASr3; + reg FWEr; + reg CBR; - /* Activity LED */ - reg LEDEN = 0; - output LED; - assign LED = !(!nCRAS && !CBR && LEDEN); + /* Activity LED */ + reg LEDEN = 0; + output LED; + assign LED = !(!nCRAS && !CBR && LEDEN); - /* 65816 Data */ - input [7:0] Din; - output [7:0] Dout; - assign Dout[7:0] = RD[7:0]; + /* 65816 Data */ + input [7:0] Din; + output [7:0] Dout; + assign Dout[7:0] = RD[7:0]; - /* Latched 65816 Bank Address */ - reg [7:0] Bank; + /* Latched 65816 Bank Address */ + reg [7:0] Bank; - /* Async. DRAM Address Bus */ - input [1:0] CROW; - input [9:0] MAin; - input nFWE; - reg n8MEGEN = 0; - reg XOR8MEG = 0; - - /* SDRAM Clock */ - input RCLK; - - /* SDRAM */ - reg RCKEEN; - output reg RCKE = 0; - output reg nRCS = 1, nRRAS = 1, nRCAS = 1, nRWE = 1; - output reg [1:0] RBA; - reg nRowColSel; - reg RA11; - reg RA10; - reg [9:0] RowA; - output [11:0] RA; - assign RA[11] = RA11; - assign RA[10] = RA10; - assign RA[9:0] = ~nRowColSel ? RowA[9:0] : MAin[9:0]; - output RDQML, RDQMH; - assign RDQML = ~nRowColSel ? 1'b1 : ~MAin[9]; - assign RDQMH = ~nRowColSel ? 1'b1 : MAin[9]; - reg [7:0] WRD; - inout [7:0] RD; - assign RD[7:0] = (~nCCAS & ~nFWE) ? WRD[7:0] : 8'bZ; + /* Async. DRAM Address Bus */ + input [1:0] CROW; + input [9:0] MAin; + input nFWE; + reg n8MEGEN = 0; + reg XOR8MEG = 0; + + /* SDRAM Clock */ + input RCLK; + + /* SDRAM */ + reg RCKEEN; + output reg RCKE = 0; + output reg nRCS = 1, nRRAS = 1, nRCAS = 1, nRWE = 1; + output reg [1:0] RBA; + reg nRowColSel; + reg RA11; + reg RA10; + reg [9:0] RowA; + output [11:0] RA; + assign RA[11] = RA11; + assign RA[10] = RA10; + assign RA[9:0] = ~nRowColSel ? RowA[9:0] : MAin[9:0]; + output RDQML, RDQMH; + assign RDQML = ~nRowColSel ? 1'b1 : ~MAin[9]; + assign RDQMH = ~nRowColSel ? 1'b1 : MAin[9]; + reg [7:0] WRD; + inout [7:0] RD; + assign RD[7:0] = (~nCCAS & ~nFWE) ? WRD[7:0] : 8'bZ; - /* UFM Interface */ - output reg nUFMCS = 1; - output reg UFMCLK = 0; - output reg UFMSDI = 0; - input UFMSDO; + /* UFM Interface */ + output reg nUFMCS = 1; + output reg UFMCLK = 0; + output reg UFMSDI = 0; + input UFMSDO; - /* UFM Command Interface */ - reg C1Submitted = 0; - reg ADSubmitted = 0; - reg CmdEnable = 0; - reg CmdSubmitted = 0; - reg Cmdn8MEGEN = 0; - reg CmdLEDEN = 0; - reg CmdUFMCLK = 0; - reg CmdUFMSDI = 0; - reg CmdUFMCS = 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; - - /* State Counters */ - reg InitReady = 0; // 1 if ready for init sequence - reg Ready = 0; // 1 if done with init sequence - reg [1:0] S = 0; // post-RAS State counter - reg [17:0] FS = 0; // Fast init state counter - reg [3:0] IS = 0; // Init state counter - - /* Synchronize PHI2, RAS, CAS */ - always @(posedge RCLK) begin - PHI2r <= PHI2; PHI2r2 <= PHI2r; PHI2r3 <= PHI2r2; - RASr <= ~nCRAS; RASr2 <= RASr; RASr3 <= RASr2; - CASr <= ~nCCAS; CASr2 <= CASr; CASr3 <= CASr2; - end - - /* Latch 65816 bank when PHI2 rises */ - always @(posedge PHI2) begin - if (Ready) RA11 <= (Din[6] & ~n8MEGEN) ^ XOR8MEG; // Set RA11 - else RA11 <= 1'b0; // Reserved in mode register - Bank[7:0] <= Din[7:0]; // Latch bank - end - - /* Latch bank address, row address, WE, and CAS when RAS falls */ - always @(negedge nCRAS) begin - if (Ready) begin - RBA[1:0] <= CROW[1:0]; - RowA[9:0] <= MAin[9:0]; - end else begin - RBA[1:0] <= 2'b00; // Reserved in mode register - RowA[9] <= 1'b1; // "1" for single write mode - RowA[8] <= 1'b0; // Reserved - RowA[7] <= 1'b0; // "0" for not test mode - RowA[6:4] <= 3'b010; // "2" for CAS latency 2 - RowA[3] <= 1'b0; // "0" for sequential burst (not used) - RowA[2:0] <= 3'b000; // "0" for burst length 1 (no burst) - end - FWEr <= ~nFWE; - CBR <= ~nCCAS; - end + /* UFM Command Interface */ + reg C1Submitted = 0; + reg ADSubmitted = 0; + reg CmdEnable = 0; + reg CmdSubmitted = 0; + reg Cmdn8MEGEN = 0; + reg CmdLEDEN = 0; + reg CmdUFMCLK = 0; + reg CmdUFMSDI = 0; + reg CmdUFMCS = 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; + + /* State Counters */ + reg InitReady = 0; // 1 if ready for init sequence + reg Ready = 0; // 1 if done with init sequence + reg [1:0] S = 0; // post-RAS State counter + reg [17:0] FS = 0; // Fast init state counter + reg [3:0] IS = 0; // Init state counter + + /* Synchronize PHI2, RAS, CAS */ + always @(posedge RCLK) begin + PHI2r <= PHI2; PHI2r2 <= PHI2r; PHI2r3 <= PHI2r2; + RASr <= ~nCRAS; RASr2 <= RASr; RASr3 <= RASr2; + CASr <= ~nCCAS; CASr2 <= CASr; CASr3 <= CASr2; + end + + /* Latch 65816 bank when PHI2 rises */ + always @(posedge PHI2) begin + if (Ready) RA11 <= (Din[6] & ~n8MEGEN) ^ XOR8MEG; // Set RA11 + else RA11 <= 1'b0; // Reserved in mode register + Bank[7:0] <= Din[7:0]; // Latch bank + end + + /* Latch bank address, row address, WE, and CAS when RAS falls */ + always @(negedge nCRAS) begin + if (Ready) begin + RBA[1:0] <= CROW[1:0]; + RowA[9:0] <= MAin[9:0]; + end else begin + RBA[1:0] <= 2'b00; // Reserved in mode register + RowA[9] <= 1'b1; // "1" for single write mode + RowA[8] <= 1'b0; // Reserved + RowA[7] <= 1'b0; // "0" for not test mode + RowA[6:4] <= 3'b010; // "2" for CAS latency 2 + RowA[3] <= 1'b0; // "0" for sequential burst (not used) + RowA[2:0] <= 3'b000; // "0" for burst length 1 (no burst) + end + FWEr <= ~nFWE; + CBR <= ~nCCAS; + end - /* Latch write data when CAS falls */ - always @(negedge nCCAS) begin - WRD[7:0] <= Din[7:0]; - end + /* Latch write data when CAS falls */ + always @(negedge nCCAS) begin + WRD[7:0] <= Din[7:0]; + end - /* State counter from RAS */ - always @(posedge RCLK) begin - if (~RASr2) S <= 0; - else if (S==2'h3) S <= 2'h3; - else S <= S+2'h1; - end - /* Init state counter */ - always @(posedge RCLK) begin - // Wait ~4.178ms (at 62.5 MHz) before starting init sequence - FS <= FS+18'h1; - if (FS[17:10] == 8'hFF) InitReady <= 1'b1; - end + /* State counter from RAS */ + always @(posedge RCLK) begin + if (~RASr2) S <= 0; + else if (S==2'h3) S <= 2'h3; + else S <= S+2'h1; + end + /* Init state counter */ + always @(posedge RCLK) begin + // Wait ~4.178ms (at 62.5 MHz) before starting init sequence + FS <= FS+18'h1; + if (FS[17:10] == 8'hFF) InitReady <= 1'b1; + end - /* SDRAM CKE */ - always @(posedge RCLK) begin - // Only 1 LUT4 allowed for this function! - RCKE <= ((RASr | RASr2) & RCKEEN) | (~RASr2 & RASr3); - end + /* SDRAM CKE */ + always @(posedge RCLK) begin + // Only 1 LUT4 allowed for this function! + RCKE <= ((RASr | RASr2) & RCKEEN) | (~RASr2 & RASr3); + end - /* SDRAM command */ - always @(posedge RCLK) begin - if (Ready) begin - if (S==0) begin - if (RASr2) begin - if (CBR) begin - // AREF - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end else begin - // ACT - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // Bank RA10 consistently "1" - end - // Enable clock only for reads - RCKEEN <= ~CBR & ~FWEr; - end else if (RCKE) begin - // PCall - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b0; - RA10 <= 1'b1; // "all" - RCKEEN <= 1'b1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - RCKEEN <= 1'b1; - end - nRowColSel <= 1'b0; // Select registered row addres - end else if (S==1) begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - nRowColSel <= 1'b1; // Select asynchronous column address - RCKEEN <= ~CBR; // Disable clock if refresh cycle - end else if (S==2) begin - if (~FWEr & ~CBR) begin - // RD - nRCS <= 1'b0; - nRRAS <= 1'b1; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // Auto-precharge - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - nRowColSel <= 1'b1; // Select asynchronous column address - RCKEEN <= ~CBR & FWEr; // Enable clock only for writes - end else if (S==3) begin - if (CASr2 & ~CASr3 & ~CBR & FWEr) begin - // WR - nRCS <= 1'b0; - nRRAS <= 1'b1; - nRCAS <= 1'b0; - nRWE <= 1'b0; - RA10 <= 1'b1; // Auto-precharge - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - nRowColSel <= ~(~FWEr | CASr3 | CBR); - RCKEEN <= ~(~FWEr | CASr2 | CBR); - end - end else if (InitReady) begin - if (S==0 & RASr2) begin - if (IS==0) begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end else if (IS==1) begin - // PC all - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b0; - RA10 <= 1'b1; // "all" - end else if (IS==9) begin - // Load mode register - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b0; - RA10 <= 1'b0; // Reserved in mode register - end else begin - // AREF - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - IS <= IS+4'h1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - if (S==3 & ~RASr2 & IS==15) Ready <= 1'b1; - nRowColSel <= 1'b0; // Select registered row address - RCKEEN <= 1'b1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - nRowColSel <= 1'b0; // Select registered row address - RCKEEN <= 1'b0; - end - end - - /* Submit command when PHI2 falls */ - always @(negedge PHI2) begin - // Magic number check - if (C1WR & Din[7:0]==8'hC1) begin // "C1" magic number - if (ADSubmitted) begin - CmdEnable <= 1'b1; - end - C1Submitted <= 1'b1; - ADSubmitted <= 1'b0; - end else if (ADWR & Din[7:0]==8'hAD) begin // "AD" magic number - if (C1Submitted) begin - CmdEnable <= 1'b1; - end - ADSubmitted <= 1'b1; - C1Submitted <= 1'b0; - end else if (C1WR | ADWR) begin // wrong magic number submitted - CmdEnable <= 1'b0; - C1Submitted <= 1'b0; - ADSubmitted <= 1'b0; - end else if (CMDWR) CmdEnable <= 1'b0; + /* SDRAM command */ + always @(posedge RCLK) begin + if (Ready) begin + if (S==0) begin + if (RASr2) begin + if (CBR) begin + // AREF + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end else begin + // ACT + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // Bank RA10 consistently "1" + end + // Enable clock only for reads + RCKEEN <= ~CBR & ~FWEr; + end else if (RCKE) begin + // PCall + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b0; + RA10 <= 1'b1; // "all" + RCKEEN <= 1'b1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + RCKEEN <= 1'b1; + end + nRowColSel <= 1'b0; // Select registered row addres + end else if (S==1) begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + nRowColSel <= 1'b1; // Select asynchronous column address + RCKEEN <= ~CBR; // Disable clock if refresh cycle + end else if (S==2) begin + if (~FWEr & ~CBR) begin + // RD + nRCS <= 1'b0; + nRRAS <= 1'b1; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // Auto-precharge + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + nRowColSel <= 1'b1; // Select asynchronous column address + RCKEEN <= ~CBR & FWEr; // Enable clock only for writes + end else if (S==3) begin + if (CASr2 & ~CASr3 & ~CBR & FWEr) begin + // WR + nRCS <= 1'b0; + nRRAS <= 1'b1; + nRCAS <= 1'b0; + nRWE <= 1'b0; + RA10 <= 1'b1; // Auto-precharge + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + nRowColSel <= ~(~FWEr | CASr3 | CBR); + RCKEEN <= ~(~FWEr | CASr2 | CBR); + end + end else if (InitReady) begin + if (S==0 & RASr2) begin + if (IS==0) begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end else if (IS==1) begin + // PC all + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b1; + nRWE <= 1'b0; + RA10 <= 1'b1; // "all" + end else if (IS==9) begin + // Load mode register + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b0; + RA10 <= 1'b0; // Reserved in mode register + end else begin + // AREF + nRCS <= 1'b0; + nRRAS <= 1'b0; + nRCAS <= 1'b0; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + IS <= IS+4'h1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + end + if (S==3 & ~RASr2 & IS==15) Ready <= 1'b1; + nRowColSel <= 1'b0; // Select registered row address + RCKEEN <= 1'b1; + end else begin + // NOP + nRCS <= 1'b1; + nRRAS <= 1'b1; + nRCAS <= 1'b1; + nRWE <= 1'b1; + RA10 <= 1'b1; // RA10 is don't care + nRowColSel <= 1'b0; // Select registered row address + RCKEEN <= 1'b0; + end + end + + /* Submit command when PHI2 falls */ + always @(negedge PHI2) begin + // Magic number check + if (C1WR & Din[7:0]==8'hC1) begin // "C1" magic number + if (ADSubmitted) begin + CmdEnable <= 1'b1; + end + C1Submitted <= 1'b1; + ADSubmitted <= 1'b0; + end else if (ADWR & Din[7:0]==8'hAD) begin // "AD" magic number + if (C1Submitted) begin + CmdEnable <= 1'b1; + end + ADSubmitted <= 1'b1; + C1Submitted <= 1'b0; + end else if (C1WR | ADWR) begin // wrong magic number submitted + CmdEnable <= 1'b0; + C1Submitted <= 1'b0; + ADSubmitted <= 1'b0; + end else if (CMDWR) CmdEnable <= 1'b0; - // Submit command - if (CMDWR & CmdEnable) begin - // if (Din[7:4]==4'h0 && Din[3:2]==2'b00) begin // MAX w/LED - // if (Din[7:4]==4'h0) begin // MAX w/o LED - if (Din[7:4]==4'h0 && Din[3:2]==2'b01) begin // LCMXO / iCE40 / AGM - // if (Din[7:4]==4'h0 && Din[3:2]==2'b10) begin // LCMXO2 - XOR8MEG <= Din[0] && !(LEDEN && Din[1]); - end else if (Din[7:4]==4'h0) begin // Unsupported type - XOR8MEG <= 0; - end else if (Din[7:4]==4'h1) begin - CmdLEDEN <= Din[1]; - Cmdn8MEGEN <= ~Din[0]; - CmdSubmitted <= 1'b1; - end else if (Din[7:4]==4'h2) begin - // Reserved for MAX commands - end else if (Din[7:4]==4'h3 && !Din[3]) begin - // SPI (LCMXO, iCE40, AGM) commands - CmdLEDEN <= LEDEN; - Cmdn8MEGEN <= n8MEGEN; - CmdUFMCS <= Din[2]; - CmdUFMCLK <= Din[1]; - CmdUFMSDI <= Din[0]; - CmdSubmitted <= 1'b1; - end else if (Din[7:4]==4'h3 && Din[3]) begin - // Reserved for LCMXO2 commands - // Din[1] - Shift when high, execute when low - // Din[0] - Shift data - end - end - end + // Submit command + if (CMDWR & CmdEnable) begin + // if (Din[7:4]==4'h0 && Din[3:2]==2'b00) begin // MAX w/LED + // if (Din[7:4]==4'h0) begin // MAX w/o LED + if (Din[7:4]==4'h0 && Din[3:2]==2'b01) begin // LCMXO / iCE40 / AGM + // if (Din[7:4]==4'h0 && Din[3:2]==2'b10) begin // LCMXO2 + XOR8MEG <= Din[0] && !(LEDEN && Din[1]); + end else if (Din[7:4]==4'h0) begin // Unsupported type + XOR8MEG <= 0; + end else if (Din[7:4]==4'h1) begin + CmdLEDEN <= Din[1]; + Cmdn8MEGEN <= ~Din[0]; + CmdSubmitted <= 1'b1; + end else if (Din[7:4]==4'h2) begin + // Reserved for MAX commands + end else if (Din[7:4]==4'h3 && !Din[3]) begin + // SPI (LCMXO, iCE40, AGM) commands + CmdLEDEN <= LEDEN; + Cmdn8MEGEN <= n8MEGEN; + CmdUFMCS <= Din[2]; + CmdUFMCLK <= Din[1]; + CmdUFMSDI <= Din[0]; + CmdSubmitted <= 1'b1; + end else if (Din[7:4]==4'h3 && Din[3]) begin + // Reserved for LCMXO2 commands + // Din[1] - Shift when high, execute when low + // Din[0] - Shift data + end + end + end - /* UFM Control */ - always @(posedge RCLK) begin - if (~InitReady && FS[17:10]==8'h00) begin - nUFMCS <= 1'b1; - UFMCLK <= 1'b0; - UFMSDI <= 1'b0; - end else if (~InitReady && FS[17:10]==8'h01) begin - nUFMCS <= 1'b0; - UFMCLK <= 1'b0; - UFMSDI <= 1'b0; - end else if (~InitReady && FS[17:10]==8'h02) begin - nUFMCS <= 1'b0; - UFMCLK <= FS[4]; - case (FS[9:5]) // Shift out read data command (0x03) - 5'h00: UFMSDI <= 1'b0; // command bit 7 (0) - 5'h01: UFMSDI <= 1'b0; // command bit 6 (0) - 5'h02: UFMSDI <= 1'b0; // command bit 5 (0) - 5'h03: UFMSDI <= 1'b0; // command bit 4 (0) - 5'h04: UFMSDI <= 1'b0; // command bit 3 (0) - 5'h05: UFMSDI <= 1'b0; // command bit 2 (0) - 5'h06: UFMSDI <= 1'b1; // command bit 1 (1) - 5'h07: UFMSDI <= 1'b1; // command bit 0 (1) - 5'h08: UFMSDI <= 1'b0; // address bit 23 (0) - 5'h09: UFMSDI <= 1'b0; // address bit 22 (0) - 5'h0A: UFMSDI <= 1'b0; // address bit 21 (0) - 5'h0B: UFMSDI <= 1'b0; // address bit 20 (0) - 5'h0C: UFMSDI <= 1'b0; // address bit 19 (0) - 5'h0D: UFMSDI <= 1'b0; // address bit 18 (0) - 5'h0E: UFMSDI <= 1'b0; // address bit 17 (0) - 5'h0F: UFMSDI <= 1'b0; // address bit 16 (0) - 5'h10: UFMSDI <= 1'b0; // address bit 15 (0) - 5'h11: UFMSDI <= 1'b0; // address bit 14 (0) - 5'h12: UFMSDI <= 1'b0; // address bit 13 (0) - 5'h13: UFMSDI <= 1'b1; // address bit 12 (0) - 5'h14: UFMSDI <= 1'b0; // address bit 11 (0) - 5'h15: UFMSDI <= 1'b0; // address bit 10 (0) - 5'h16: UFMSDI <= 1'b0; // address bit 09 (0) - 5'h17: UFMSDI <= 1'b0; // address bit 08 (0) - 5'h18: UFMSDI <= 1'b0; // address bit 07 (0) - 5'h19: UFMSDI <= 1'b0; // address bit 06 (0) - 5'h1A: UFMSDI <= 1'b0; // address bit 05 (0) - 5'h1B: UFMSDI <= 1'b0; // address bit 04 (0) - 5'h1C: UFMSDI <= 1'b0; // address bit 03 (0) - 5'h1D: UFMSDI <= 1'b0; // address bit 02 (0) - 5'h1E: UFMSDI <= 1'b0; // address bit 01 (0) - 5'h1F: UFMSDI <= 1'b0; // address bit 00 (0) - endcase - end else if (~InitReady && FS[17:10]==8'h03) begin - nUFMCS <= 1'b0; - UFMCLK <= FS[4]; - UFMSDI <= 1'b0; - // Latch n8MEGEN and LEDEN - if (FS[9:5]==5'h00 && FS[4:0]==5'h10) n8MEGEN <= ~UFMSDO; - if (FS[9:5]==5'h01 && FS[4:0]==5'h10) LEDEN <= ~UFMSDO; - end else if (~InitReady && FS[17:10]!=8'hFE && FS[17:10]!=8'hFF) begin - nUFMCS <= 1'b0; - UFMCLK <= FS[1]; - UFMSDI <= 1'b0; - end else if (~InitReady) begin - nUFMCS <= 1'b1; - UFMCLK <= 1'b0; - UFMSDI <= 1'b0; - end else if (~PHI2r2 & PHI2r3 & CmdSubmitted) begin - // Set user command signals after PHI2 falls - // Cmdn8MEGEN, CmdUFMCS, CmdUFMCLK, CmdUFMSDI - LEDEN <= CmdLEDEN; - n8MEGEN <= Cmdn8MEGEN; - nUFMCS <= ~CmdUFMCS; - UFMCLK <= CmdUFMCLK; - UFMSDI <= CmdUFMSDI; - end - end + /* UFM Control */ + always @(posedge RCLK) begin + if (~InitReady && FS[17:10]==8'h00) begin + nUFMCS <= 1'b1; + UFMCLK <= 1'b0; + UFMSDI <= 1'b0; + end else if (~InitReady && FS[17:10]==8'h01) begin + nUFMCS <= 1'b0; + UFMCLK <= 1'b0; + UFMSDI <= 1'b0; + end else if (~InitReady && FS[17:10]==8'h02) begin + nUFMCS <= 1'b0; + UFMCLK <= FS[4]; + case (FS[9:5]) // Shift out read data command (0x03) + 5'h00: UFMSDI <= 1'b0; // command bit 7 (0) + 5'h01: UFMSDI <= 1'b0; // command bit 6 (0) + 5'h02: UFMSDI <= 1'b0; // command bit 5 (0) + 5'h03: UFMSDI <= 1'b0; // command bit 4 (0) + 5'h04: UFMSDI <= 1'b0; // command bit 3 (0) + 5'h05: UFMSDI <= 1'b0; // command bit 2 (0) + 5'h06: UFMSDI <= 1'b1; // command bit 1 (1) + 5'h07: UFMSDI <= 1'b1; // command bit 0 (1) + 5'h08: UFMSDI <= 1'b0; // address bit 23 (0) + 5'h09: UFMSDI <= 1'b0; // address bit 22 (0) + 5'h0A: UFMSDI <= 1'b0; // address bit 21 (0) + 5'h0B: UFMSDI <= 1'b0; // address bit 20 (0) + 5'h0C: UFMSDI <= 1'b0; // address bit 19 (0) + 5'h0D: UFMSDI <= 1'b0; // address bit 18 (0) + 5'h0E: UFMSDI <= 1'b0; // address bit 17 (0) + 5'h0F: UFMSDI <= 1'b0; // address bit 16 (0) + 5'h10: UFMSDI <= 1'b0; // address bit 15 (0) + 5'h11: UFMSDI <= 1'b0; // address bit 14 (0) + 5'h12: UFMSDI <= 1'b0; // address bit 13 (0) + 5'h13: UFMSDI <= 1'b1; // address bit 12 (0) + 5'h14: UFMSDI <= 1'b0; // address bit 11 (0) + 5'h15: UFMSDI <= 1'b0; // address bit 10 (0) + 5'h16: UFMSDI <= 1'b0; // address bit 09 (0) + 5'h17: UFMSDI <= 1'b0; // address bit 08 (0) + 5'h18: UFMSDI <= 1'b0; // address bit 07 (0) + 5'h19: UFMSDI <= 1'b0; // address bit 06 (0) + 5'h1A: UFMSDI <= 1'b0; // address bit 05 (0) + 5'h1B: UFMSDI <= 1'b0; // address bit 04 (0) + 5'h1C: UFMSDI <= 1'b0; // address bit 03 (0) + 5'h1D: UFMSDI <= 1'b0; // address bit 02 (0) + 5'h1E: UFMSDI <= 1'b0; // address bit 01 (0) + 5'h1F: UFMSDI <= 1'b0; // address bit 00 (0) + endcase + end else if (~InitReady && FS[17:10]==8'h03) begin + nUFMCS <= 1'b0; + UFMCLK <= FS[4]; + UFMSDI <= 1'b0; + // Latch n8MEGEN and LEDEN + if (FS[9:5]==5'h00 && FS[4:0]==5'h10) n8MEGEN <= ~UFMSDO; + if (FS[9:5]==5'h01 && FS[4:0]==5'h10) LEDEN <= ~UFMSDO; + end else if (~InitReady && FS[17:10]!=8'hFE && FS[17:10]!=8'hFF) begin + nUFMCS <= 1'b0; + UFMCLK <= FS[1]; + UFMSDI <= 1'b0; + end else if (~InitReady) begin + nUFMCS <= 1'b1; + UFMCLK <= 1'b0; + UFMSDI <= 1'b0; + end else if (~PHI2r2 & PHI2r3 & CmdSubmitted) begin + // Set user command signals after PHI2 falls + LEDEN <= CmdLEDEN; + n8MEGEN <= Cmdn8MEGEN; + nUFMCS <= ~CmdUFMCS; + UFMCLK <= CmdUFMCLK; + UFMSDI <= CmdUFMSDI; + end + end endmodule diff --git a/CPLD/RAM4GS-AGM.v b/CPLD/RAM4GS-AGM.v deleted file mode 100644 index 19ba8e5..0000000 --- a/CPLD/RAM4GS-AGM.v +++ /dev/null @@ -1,426 +0,0 @@ -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); - - /* 65816 Phase 2 Clock */ - input PHI2; - - /* Async. DRAM Control Inputs */ - input nCCAS, nCRAS; - - /* Synchronized PHI2 and DRAM signals */ - reg PHI2r, PHI2r2, PHI2r3; - reg RASr, RASr2, RASr3; - reg CASr, CASr2, CASr3; - reg FWEr; - reg CBR; - - /* Activity LED */ - reg LEDEN = 0; - output LED; - assign LED = !(!nCRAS && !CBR && LEDEN); - - /* 65816 Data */ - input [7:0] Din; - output [7:0] Dout; - assign Dout[7:0] = RD[7:0]; - - /* Latched 65816 Bank Address */ - reg [7:0] Bank; - - /* Async. DRAM Address Bus */ - input [1:0] CROW; - input [9:0] MAin; - input nFWE; - reg n8MEGEN = 0; - reg XOR8MEG = 0; - - /* SDRAM Clock */ - input RCLK; - - /* SDRAM */ - reg RCKEEN; - output reg RCKE = 0; - output reg nRCS = 1, nRRAS = 1, nRCAS = 1, nRWE = 1; - output reg [1:0] RBA; - reg nRowColSel; - reg RA11; - reg RA10; - reg [9:0] RowA; - output [11:0] RA; - assign RA[11] = RA11; - assign RA[10] = RA10; - assign RA[9:0] = ~nRowColSel ? RowA[9:0] : MAin[9:0]; - output RDQML, RDQMH; - assign RDQML = ~nRowColSel ? 1'b1 : ~MAin[9]; - assign RDQMH = ~nRowColSel ? 1'b1 : MAin[9]; - reg [7:0] WRD; - inout [7:0] RD; - assign RD[7:0] = (~nCCAS & ~nFWE) ? WRD[7:0] : 8'bZ; - - /* UFM Interface */ - reg nUFMCS = 1; - reg UFMCLK = 0; - reg UFMSDI = 0; - wire UFMSDO; - wire UFMOsc; - alta_ufms u_alta_ufms ( - .i_ufm_set (1'b1), - .i_osc_ena (1'b1), - .i_ufm_flash_csn (nUFMCS), - .i_ufm_flash_sclk (UFMCLK), - .i_ufm_flash_sdi (UFMSDI), - .o_ufm_flash_sdo (UFMSDO), - .o_osc (UFMOsc) - ); - - /* UFM Command Interface */ - reg C1Submitted = 0; - reg ADSubmitted = 0; - reg CmdEnable = 0; - reg CmdSubmitted = 0; - reg Cmdn8MEGEN = 0; - reg CmdLEDEN = 0; - reg CmdUFMCLK = 0; - reg CmdUFMSDI = 0; - reg CmdUFMCS = 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; - - /* State Counters */ - reg InitReady = 0; // 1 if ready for init sequence - reg Ready = 0; // 1 if done with init sequence - reg [1:0] S = 0; // post-RAS State counter - reg [17:0] FS = 0; // Fast init state counter - reg [3:0] IS = 0; // Init state counter - - /* Synchronize PHI2, RAS, CAS */ - always @(posedge RCLK) begin - PHI2r <= PHI2; PHI2r2 <= PHI2r; PHI2r3 <= PHI2r2; - RASr <= ~nCRAS; RASr2 <= RASr; RASr3 <= RASr2; - CASr <= ~nCCAS; CASr2 <= CASr; CASr3 <= CASr2; - end - - /* Latch 65816 bank when PHI2 rises */ - always @(posedge PHI2) begin - if (Ready) RA11 <= (Din[6] & ~n8MEGEN) ^ XOR8MEG; // Set RA11 - else RA11 <= 1'b0; // Reserved in mode register - Bank[7:0] <= Din[7:0]; // Latch bank - end - - /* Latch bank address, row address, WE, and CAS when RAS falls */ - always @(negedge nCRAS) begin - if (Ready) begin - RBA[1:0] <= CROW[1:0]; - RowA[9:0] <= MAin[9:0]; - end else begin - RBA[1:0] <= 2'b00; // Reserved in mode register - RowA[9] <= 1'b1; // "1" for single write mode - RowA[8] <= 1'b0; // Reserved - RowA[7] <= 1'b0; // "0" for not test mode - RowA[6:4] <= 3'b010; // "2" for CAS latency 2 - RowA[3] <= 1'b0; // "0" for sequential burst (not used) - RowA[2:0] <= 3'b000; // "0" for burst length 1 (no burst) - end - FWEr <= ~nFWE; - CBR <= ~nCCAS; - end - - /* Latch write data when CAS falls */ - always @(negedge nCCAS) begin - WRD[7:0] <= Din[7:0]; - end - - /* State counter from RAS */ - always @(posedge RCLK) begin - if (~RASr2) S <= 0; - else if (S==2'h3) S <= 2'h3; - else S <= S+2'h1; - end - /* Init state counter */ - always @(posedge RCLK) begin - // Wait ~4.178ms (at 62.5 MHz) before starting init sequence - FS <= FS+18'h1; - if (FS[17:10] == 8'hFF) InitReady <= 1'b1; - end - - /* SDRAM CKE */ - always @(posedge RCLK) begin - // Only 1 LUT4 allowed for this function! - RCKE <= ((RASr | RASr2) & RCKEEN) | (~RASr2 & RASr3); - end - - /* SDRAM command */ - always @(posedge RCLK) begin - if (Ready) begin - if (S==0) begin - if (RASr2) begin - if (CBR) begin - // AREF - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end else begin - // ACT - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // Bank RA10 consistently "1" - end - // Enable clock only for reads - RCKEEN <= ~CBR & ~FWEr; - end else if (RCKE) begin - // PCall - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b0; - RA10 <= 1'b1; // "all" - RCKEEN <= 1'b1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - RCKEEN <= 1'b1; - end - nRowColSel <= 1'b0; // Select registered row addres - end else if (S==1) begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - nRowColSel <= 1'b1; // Select asynchronous column address - RCKEEN <= ~CBR; // Disable clock if refresh cycle - end else if (S==2) begin - if (~FWEr & ~CBR) begin - // RD - nRCS <= 1'b0; - nRRAS <= 1'b1; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // Auto-precharge - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - nRowColSel <= 1'b1; // Select asynchronous column address - RCKEEN <= ~CBR & FWEr; // Enable clock only for writes - end else if (S==3) begin - if (CASr2 & ~CASr3 & ~CBR & FWEr) begin - // WR - nRCS <= 1'b0; - nRRAS <= 1'b1; - nRCAS <= 1'b0; - nRWE <= 1'b0; - RA10 <= 1'b1; // Auto-precharge - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - nRowColSel <= ~(~FWEr | CASr3 | CBR); - RCKEEN <= ~(~FWEr | CASr2 | CBR); - end - end else if (InitReady) begin - if (S==0 & RASr2) begin - if (IS==0) begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end else if (IS==1) begin - // PC all - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b1; - nRWE <= 1'b0; - RA10 <= 1'b1; // "all" - end else if (IS==9) begin - // Load mode register - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b0; - RA10 <= 1'b0; // Reserved in mode register - end else begin - // AREF - nRCS <= 1'b0; - nRRAS <= 1'b0; - nRCAS <= 1'b0; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - IS <= IS+4'h1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - end - if (S==3 & ~RASr2 & IS==15) Ready <= 1'b1; - nRowColSel <= 1'b0; // Select registered row address - RCKEEN <= 1'b1; - end else begin - // NOP - nRCS <= 1'b1; - nRRAS <= 1'b1; - nRCAS <= 1'b1; - nRWE <= 1'b1; - RA10 <= 1'b1; // RA10 is don't care - nRowColSel <= 1'b0; // Select registered row address - RCKEEN <= 1'b0; - end - end - - /* Submit command when PHI2 falls */ - always @(negedge PHI2) begin - // Magic number check - if (C1WR & Din[7:0]==8'hC1) begin // "C1" magic number - if (ADSubmitted) begin - CmdEnable <= 1'b1; - end - C1Submitted <= 1'b1; - ADSubmitted <= 1'b0; - end else if (ADWR & Din[7:0]==8'hAD) begin // "AD" magic number - if (C1Submitted) begin - CmdEnable <= 1'b1; - end - ADSubmitted <= 1'b1; - C1Submitted <= 1'b0; - end else if (C1WR | ADWR) begin // wrong magic number submitted - CmdEnable <= 1'b0; - C1Submitted <= 1'b0; - ADSubmitted <= 1'b0; - end else if (CMDWR) CmdEnable <= 1'b0; - - // Submit command - if (CMDWR & CmdEnable) begin - // if (Din[7:4]==4'h0 && Din[3:2]==2'b00) begin // MAX w/LED - // if (Din[7:4]==4'h0) begin // MAX w/o LED - if (Din[7:4]==4'h0 && Din[3:2]==2'b01) begin // LCMXO / iCE40 / AGM - // if (Din[7:4]==4'h0 && Din[3:2]==2'b10) begin // LCMXO2 - XOR8MEG <= Din[0] && !(LEDEN && Din[1]); - end else if (Din[7:4]==4'h0) begin // Unsupported type - XOR8MEG <= 0; - end else if (Din[7:4]==4'h1) begin - CmdLEDEN <= Din[1]; - Cmdn8MEGEN <= ~Din[0]; - CmdSubmitted <= 1'b1; - end else if (Din[7:4]==4'h2) begin - // Reserved for MAX commands - end else if (Din[7:4]==4'h3 && !Din[3]) begin - // SPI (LCMXO, iCE40, AGM) commands - CmdLEDEN <= LEDEN; - Cmdn8MEGEN <= n8MEGEN; - CmdUFMCS <= Din[2]; - CmdUFMCLK <= Din[1]; - CmdUFMSDI <= Din[0]; - CmdSubmitted <= 1'b1; - end else if (Din[7:4]==4'h3 && Din[3]) begin - // Reserved for LCMXO2 commands - // Din[1] - Shift when high, execute when low - // Din[0] - Shift data - end - end - end - - /* UFM Control */ - output nUFMCSout = nUFMCS; - output UFMCLKout = UFMCLK; - output UFMSDIout = UFMSDI; - output UFMSDOout = UFMSDO; - input [3:0] In; - always @(posedge RCLK) begin - if (~InitReady && FS[17:10]==8'h00) begin - nUFMCS <= 1'b1; - UFMCLK <= 1'b0; - UFMSDI <= 1'b0; - end else if (~InitReady && FS[17:10]==8'h01) begin - nUFMCS <= 1'b0; - UFMCLK <= 1'b0; - UFMSDI <= 1'b0; - end else if (~InitReady && FS[17:10]==8'h02) begin - nUFMCS <= 1'b0; - UFMCLK <= FS[4]; - case (FS[9:5]) // Shift out read data command (0x03) - 5'h00: UFMSDI <= 1'b0; // command bit 7 (0) - 5'h01: UFMSDI <= 1'b0; // command bit 6 (0) - 5'h02: UFMSDI <= 1'b0; // command bit 5 (0) - 5'h03: UFMSDI <= 1'b0; // command bit 4 (0) - 5'h04: UFMSDI <= 1'b0; // command bit 3 (0) - 5'h05: UFMSDI <= 1'b0; // command bit 2 (0) - 5'h06: UFMSDI <= 1'b1; // command bit 1 (1) - 5'h07: UFMSDI <= 1'b1; // command bit 0 (1) - 5'h08: UFMSDI <= 1'b0; // address bit 23 (0) - 5'h09: UFMSDI <= 1'b0; // address bit 22 (0) - 5'h0A: UFMSDI <= 1'b0; // address bit 21 (0) - 5'h0B: UFMSDI <= 1'b0; // address bit 20 (0) - 5'h0C: UFMSDI <= 1'b0; // address bit 19 (0) - 5'h0D: UFMSDI <= 1'b0; // address bit 18 (0) - 5'h0E: UFMSDI <= 1'b0; // address bit 17 (0) - 5'h0F: UFMSDI <= 1'b0; // address bit 16 (0) - 5'h10: UFMSDI <= 1'b0; // address bit 15 (0) - 5'h11: UFMSDI <= 1'b0; // address bit 14 (0) - 5'h12: UFMSDI <= 1'b0; // address bit 13 (0) - 5'h13: UFMSDI <= 1'b1; // address bit 12 (0) - 5'h14: UFMSDI <= 1'b0; // address bit 11 (0) - 5'h15: UFMSDI <= 1'b0; // address bit 10 (0) - 5'h16: UFMSDI <= 1'b0; // address bit 09 (0) - 5'h17: UFMSDI <= 1'b0; // address bit 08 (0) - 5'h18: UFMSDI <= 1'b0; // address bit 07 (0) - 5'h19: UFMSDI <= 1'b0; // address bit 06 (0) - 5'h1A: UFMSDI <= 1'b0; // address bit 05 (0) - 5'h1B: UFMSDI <= 1'b0; // address bit 04 (0) - 5'h1C: UFMSDI <= 1'b0; // address bit 03 (0) - 5'h1D: UFMSDI <= 1'b0; // address bit 02 (0) - 5'h1E: UFMSDI <= 1'b0; // address bit 01 (0) - 5'h1F: UFMSDI <= 1'b0; // address bit 00 (0) - endcase - end else if (~InitReady && FS[17:10]==8'h03) begin - nUFMCS <= 1'b0; - UFMCLK <= FS[4]; - UFMSDI <= 1'b0; - // Latch n8MEGEN and LEDEN - if (FS[9:5]==5'h00 && FS[4:0]==5'h10) n8MEGEN <= ~UFMSDO; - if (FS[9:5]==5'h01 && FS[4:0]==5'h10) LEDEN <= ~UFMSDO; - end else if (~InitReady && FS[17:10]!=8'hFE && FS[17:10]!=8'hFF) begin - nUFMCS <= 1'b0; - UFMCLK <= FS[1]; - UFMSDI <= 1'b0; - end else if (~InitReady) begin - nUFMCS <= 1'b1; - UFMCLK <= 1'b0; - UFMSDI <= 1'b0; - end else if (~PHI2r2 & PHI2r3 & CmdSubmitted) begin - // Set user command signals after PHI2 falls - // Cmdn8MEGEN, CmdUFMCS, CmdUFMCLK, CmdUFMSDI - LEDEN <= CmdLEDEN; - n8MEGEN <= Cmdn8MEGEN; - nUFMCS <= ~CmdUFMCS; - UFMCLK <= CmdUFMCLK; - UFMSDI <= CmdUFMSDI; - end - end -endmodule