From ff249330379f2d65f5e9a1e08b8636720c0a18ca Mon Sep 17 00:00:00 2001 From: Zane Kaminski Date: Sat, 12 Aug 2023 23:53:25 -0400 Subject: [PATCH] so far so good --- CPLD-old/MAX/RAM2GS-MAX.v | 10 +- CPLD/MAXII/RAM2GS.qsf | 146 ++- CPLD/MAXII/RAM2GS.qws | Bin 1217 -> 635 bytes CPLD/MAXII/UFM.qip | 4 + CPLD/MAXII/UFM.v | 257 +++++ CPLD/MAXII/db/.cmp.kpt | Bin 0 -> 204 bytes CPLD/MAXII/db/RAM2GS.(0).cnf.cdb | Bin 0 -> 20054 bytes CPLD/MAXII/db/RAM2GS.(0).cnf.hdb | Bin 0 -> 3613 bytes CPLD/MAXII/db/RAM2GS.(1).cnf.cdb | Bin 0 -> 1388 bytes CPLD/MAXII/db/RAM2GS.(1).cnf.hdb | Bin 0 -> 924 bytes CPLD/MAXII/db/RAM2GS.(2).cnf.cdb | Bin 0 -> 1601 bytes CPLD/MAXII/db/RAM2GS.(2).cnf.hdb | Bin 0 -> 1385 bytes CPLD/MAXII/db/RAM2GS.asm.qmsg | 7 + CPLD/MAXII/db/RAM2GS.asm.rdb | Bin 0 -> 808 bytes CPLD/MAXII/db/RAM2GS.asm_labs.ddb | Bin 0 -> 2641 bytes CPLD/MAXII/db/RAM2GS.cmp.cdb | Bin 0 -> 42776 bytes CPLD/MAXII/db/RAM2GS.cmp.hdb | Bin 0 -> 18436 bytes CPLD/MAXII/db/RAM2GS.cmp.idb | Bin 0 -> 2717 bytes CPLD/MAXII/db/RAM2GS.cmp.logdb | 1 + CPLD/MAXII/db/RAM2GS.cmp.rdb | Bin 3657 -> 14228 bytes CPLD/MAXII/db/RAM2GS.cmp0.ddb | Bin 0 -> 75185 bytes CPLD/MAXII/db/RAM2GS.db_info | 2 +- CPLD/MAXII/db/RAM2GS.fit.qmsg | 45 + CPLD/MAXII/db/RAM2GS.hier_info | 277 +++++ CPLD/MAXII/db/RAM2GS.hif | Bin 178 -> 598 bytes CPLD/MAXII/db/RAM2GS.lpc.html | 50 + CPLD/MAXII/db/RAM2GS.lpc.rdb | Bin 0 -> 495 bytes CPLD/MAXII/db/RAM2GS.lpc.txt | 8 + CPLD/MAXII/db/RAM2GS.map.cdb | Bin 0 -> 17424 bytes CPLD/MAXII/db/RAM2GS.map.hdb | Bin 8969 -> 17470 bytes CPLD/MAXII/db/RAM2GS.map.logdb | 1 + CPLD/MAXII/db/RAM2GS.map.qmsg | 37 +- CPLD/MAXII/db/RAM2GS.map.rdb | Bin 1049 -> 1261 bytes CPLD/MAXII/db/RAM2GS.pre_map.hdb | Bin 8902 -> 16509 bytes .../db/RAM2GS.root_partition.map.reg_db.cdb | Bin 0 -> 219 bytes CPLD/MAXII/db/RAM2GS.routing.rdb | Bin 0 -> 1539 bytes CPLD/MAXII/db/RAM2GS.rtlv.hdb | Bin 0 -> 16259 bytes CPLD/MAXII/db/RAM2GS.rtlv_sg.cdb | Bin 0 -> 18369 bytes CPLD/MAXII/db/RAM2GS.rtlv_sg_swap.cdb | Bin 0 -> 840 bytes CPLD/MAXII/db/RAM2GS.sld_design_entry_dsc.sci | Bin 0 -> 223 bytes CPLD/MAXII/db/RAM2GS.smart_action.txt | 2 +- CPLD/MAXII/db/RAM2GS.sta.qmsg | 25 + CPLD/MAXII/db/RAM2GS.sta.rdb | Bin 0 -> 13012 bytes CPLD/MAXII/db/RAM2GS.sta_cmp.5_slow.tdb | Bin 0 -> 45189 bytes CPLD/MAXII/db/RAM2GS.tmw_info | 3 + CPLD/MAXII/db/RAM2GS.vpr.ammdb | Bin 0 -> 630 bytes CPLD/MAXII/db/prev_cmp_RAM2GS-MAXII.qmsg | 113 ++ CPLD/MAXII/greybox_tmp/cbx_args.txt | 25 + CPLD/MAXII/incremental_db/README | 11 + .../compiled_partitions/RAM2GS.db_info | 3 + .../RAM2GS.root_partition.map.kpt | Bin 0 -> 2590 bytes CPLD/MAXII/output_files/RAM2GS.asm.rpt | 92 ++ CPLD/MAXII/output_files/RAM2GS.cdf | 13 + CPLD/MAXII/output_files/RAM2GS.done | 1 + CPLD/MAXII/output_files/RAM2GS.fit.rpt | 759 +++++++++++++ CPLD/MAXII/output_files/RAM2GS.fit.smsg | 4 + CPLD/MAXII/output_files/RAM2GS.fit.summary | 11 + CPLD/MAXII/output_files/RAM2GS.flow.rpt | 25 +- CPLD/MAXII/output_files/RAM2GS.jdi | 8 + CPLD/MAXII/output_files/RAM2GS.map.rpt | 183 ++- CPLD/MAXII/output_files/RAM2GS.map.smsg | 3 + CPLD/MAXII/output_files/RAM2GS.map.summary | 6 +- CPLD/MAXII/output_files/RAM2GS.pin | 165 +++ CPLD/MAXII/output_files/RAM2GS.pof | Bin 0 -> 7861 bytes CPLD/MAXII/output_files/RAM2GS.sld | 1 + CPLD/MAXII/output_files/RAM2GS.sta.rpt | 1006 ++++++++++++++++ CPLD/MAXII/output_files/RAM2GS.sta.summary | 69 ++ CPLD/MAXV/RAM2GS.qsf | 152 ++- CPLD/MAXV/RAM2GS.qws | Bin 619 -> 0 bytes CPLD/MAXV/UFM.qip | 4 + CPLD/MAXV/UFM.v | 257 +++++ CPLD/MAXV/db/.cmp.kpt | Bin 0 -> 204 bytes CPLD/MAXV/db/RAM2GS.(0).cnf.cdb | Bin 0 -> 20082 bytes CPLD/MAXV/db/RAM2GS.(0).cnf.hdb | Bin 0 -> 3762 bytes CPLD/MAXV/db/RAM2GS.(1).cnf.cdb | Bin 0 -> 1388 bytes CPLD/MAXV/db/RAM2GS.(1).cnf.hdb | Bin 0 -> 902 bytes CPLD/MAXV/db/RAM2GS.(2).cnf.cdb | Bin 0 -> 1589 bytes CPLD/MAXV/db/RAM2GS.(2).cnf.hdb | Bin 0 -> 1384 bytes CPLD/MAXV/db/RAM2GS.asm.qmsg | 7 + CPLD/MAXV/db/RAM2GS.asm.rdb | Bin 0 -> 809 bytes CPLD/MAXV/db/RAM2GS.asm_labs.ddb | Bin 0 -> 2721 bytes CPLD/MAXV/db/RAM2GS.cmp.cdb | Bin 0 -> 42997 bytes CPLD/MAXV/db/RAM2GS.cmp.hdb | Bin 0 -> 18368 bytes CPLD/MAXV/db/RAM2GS.cmp.idb | Bin 0 -> 2725 bytes CPLD/MAXV/db/RAM2GS.cmp.logdb | 1 + CPLD/MAXV/db/RAM2GS.cmp.rdb | Bin 3615 -> 14168 bytes CPLD/MAXV/db/RAM2GS.cmp0.ddb | Bin 0 -> 79103 bytes CPLD/MAXV/db/RAM2GS.db_info | 2 +- CPLD/MAXV/db/RAM2GS.fit.qmsg | 45 + CPLD/MAXV/db/RAM2GS.hier_info | 279 +++++ CPLD/MAXV/db/RAM2GS.hif | Bin 177 -> 573 bytes CPLD/MAXV/db/RAM2GS.lpc.html | 50 + CPLD/MAXV/db/RAM2GS.lpc.rdb | Bin 0 -> 496 bytes CPLD/MAXV/db/RAM2GS.lpc.txt | 8 + CPLD/MAXV/db/RAM2GS.map.cdb | Bin 0 -> 17594 bytes CPLD/MAXV/db/RAM2GS.map.hdb | Bin 8903 -> 17438 bytes CPLD/MAXV/db/RAM2GS.map.logdb | 1 + CPLD/MAXV/db/RAM2GS.map.qmsg | 38 +- CPLD/MAXV/db/RAM2GS.map.rdb | Bin 1049 -> 1263 bytes CPLD/MAXV/db/RAM2GS.pplq.rdb | Bin 0 -> 297 bytes CPLD/MAXV/db/RAM2GS.pre_map.hdb | Bin 8837 -> 16238 bytes .../db/RAM2GS.root_partition.map.reg_db.cdb | Bin 0 -> 219 bytes CPLD/MAXV/db/RAM2GS.routing.rdb | Bin 0 -> 1544 bytes CPLD/MAXV/db/RAM2GS.rtlv.hdb | Bin 0 -> 16184 bytes CPLD/MAXV/db/RAM2GS.rtlv_sg.cdb | Bin 0 -> 18324 bytes CPLD/MAXV/db/RAM2GS.rtlv_sg_swap.cdb | Bin 0 -> 839 bytes CPLD/MAXV/db/RAM2GS.sld_design_entry_dsc.sci | Bin 0 -> 223 bytes CPLD/MAXV/db/RAM2GS.smart_action.txt | 2 +- CPLD/MAXV/db/RAM2GS.sta.qmsg | 25 + CPLD/MAXV/db/RAM2GS.sta.rdb | Bin 0 -> 13512 bytes CPLD/MAXV/db/RAM2GS.sta_cmp.5_slow.tdb | Bin 0 -> 45869 bytes CPLD/MAXV/db/RAM2GS.tmw_info | 6 + CPLD/MAXV/db/RAM2GS.vpr.ammdb | Bin 0 -> 635 bytes CPLD/MAXV/db/prev_cmp_RAM2GS-MAXV.qmsg | 114 ++ CPLD/MAXV/greybox_tmp/cbx_args.txt | 25 + CPLD/MAXV/incremental_db/README | 11 + .../compiled_partitions/RAM2GS.db_info | 3 + .../RAM2GS.root_partition.map.kpt | Bin 0 -> 2621 bytes CPLD/MAXV/output_files/RAM2GS.asm.rpt | 92 ++ CPLD/MAXV/output_files/RAM2GS.cdf | 13 + CPLD/MAXV/output_files/RAM2GS.done | 1 + CPLD/MAXV/output_files/RAM2GS.fit.rpt | 764 +++++++++++++ CPLD/MAXV/output_files/RAM2GS.fit.smsg | 4 + CPLD/MAXV/output_files/RAM2GS.fit.summary | 11 + CPLD/MAXV/output_files/RAM2GS.flow.rpt | 25 +- CPLD/MAXV/output_files/RAM2GS.jdi | 8 + CPLD/MAXV/output_files/RAM2GS.map.rpt | 183 ++- CPLD/MAXV/output_files/RAM2GS.map.smsg | 3 + CPLD/MAXV/output_files/RAM2GS.map.summary | 6 +- CPLD/MAXV/output_files/RAM2GS.pin | 165 +++ CPLD/MAXV/output_files/RAM2GS.pof | Bin 0 -> 7861 bytes CPLD/MAXV/output_files/RAM2GS.sld | 1 + CPLD/MAXV/output_files/RAM2GS.sta.rpt | 1010 +++++++++++++++++ CPLD/MAXV/output_files/RAM2GS.sta.summary | 69 ++ CPLD/RAM2GS-MAX.v | 18 +- CPLD/RAM2GS.mif | 27 + CPLD/RAM2GS.qsf | 7 +- 137 files changed, 6736 insertions(+), 74 deletions(-) create mode 100644 CPLD/MAXII/UFM.qip create mode 100644 CPLD/MAXII/UFM.v create mode 100644 CPLD/MAXII/db/.cmp.kpt create mode 100644 CPLD/MAXII/db/RAM2GS.(0).cnf.cdb create mode 100644 CPLD/MAXII/db/RAM2GS.(0).cnf.hdb create mode 100644 CPLD/MAXII/db/RAM2GS.(1).cnf.cdb create mode 100644 CPLD/MAXII/db/RAM2GS.(1).cnf.hdb create mode 100644 CPLD/MAXII/db/RAM2GS.(2).cnf.cdb create mode 100644 CPLD/MAXII/db/RAM2GS.(2).cnf.hdb create mode 100644 CPLD/MAXII/db/RAM2GS.asm.qmsg create mode 100644 CPLD/MAXII/db/RAM2GS.asm.rdb create mode 100644 CPLD/MAXII/db/RAM2GS.asm_labs.ddb create mode 100644 CPLD/MAXII/db/RAM2GS.cmp.cdb create mode 100644 CPLD/MAXII/db/RAM2GS.cmp.hdb create mode 100644 CPLD/MAXII/db/RAM2GS.cmp.idb create mode 100644 CPLD/MAXII/db/RAM2GS.cmp.logdb create mode 100644 CPLD/MAXII/db/RAM2GS.cmp0.ddb create mode 100644 CPLD/MAXII/db/RAM2GS.fit.qmsg create mode 100644 CPLD/MAXII/db/RAM2GS.hier_info create mode 100644 CPLD/MAXII/db/RAM2GS.lpc.html create mode 100644 CPLD/MAXII/db/RAM2GS.lpc.rdb create mode 100644 CPLD/MAXII/db/RAM2GS.lpc.txt create mode 100644 CPLD/MAXII/db/RAM2GS.map.cdb create mode 100644 CPLD/MAXII/db/RAM2GS.map.logdb create mode 100644 CPLD/MAXII/db/RAM2GS.root_partition.map.reg_db.cdb create mode 100644 CPLD/MAXII/db/RAM2GS.routing.rdb create mode 100644 CPLD/MAXII/db/RAM2GS.rtlv.hdb create mode 100644 CPLD/MAXII/db/RAM2GS.rtlv_sg.cdb create mode 100644 CPLD/MAXII/db/RAM2GS.rtlv_sg_swap.cdb create mode 100644 CPLD/MAXII/db/RAM2GS.sld_design_entry_dsc.sci create mode 100644 CPLD/MAXII/db/RAM2GS.sta.qmsg create mode 100644 CPLD/MAXII/db/RAM2GS.sta.rdb create mode 100644 CPLD/MAXII/db/RAM2GS.sta_cmp.5_slow.tdb create mode 100644 CPLD/MAXII/db/RAM2GS.tmw_info create mode 100644 CPLD/MAXII/db/RAM2GS.vpr.ammdb create mode 100644 CPLD/MAXII/db/prev_cmp_RAM2GS-MAXII.qmsg create mode 100644 CPLD/MAXII/greybox_tmp/cbx_args.txt create mode 100644 CPLD/MAXII/incremental_db/README create mode 100644 CPLD/MAXII/incremental_db/compiled_partitions/RAM2GS.db_info create mode 100644 CPLD/MAXII/incremental_db/compiled_partitions/RAM2GS.root_partition.map.kpt create mode 100644 CPLD/MAXII/output_files/RAM2GS.asm.rpt create mode 100644 CPLD/MAXII/output_files/RAM2GS.cdf create mode 100644 CPLD/MAXII/output_files/RAM2GS.done create mode 100644 CPLD/MAXII/output_files/RAM2GS.fit.rpt create mode 100644 CPLD/MAXII/output_files/RAM2GS.fit.smsg create mode 100644 CPLD/MAXII/output_files/RAM2GS.fit.summary create mode 100644 CPLD/MAXII/output_files/RAM2GS.jdi create mode 100644 CPLD/MAXII/output_files/RAM2GS.map.smsg create mode 100644 CPLD/MAXII/output_files/RAM2GS.pin create mode 100644 CPLD/MAXII/output_files/RAM2GS.pof create mode 100644 CPLD/MAXII/output_files/RAM2GS.sld create mode 100644 CPLD/MAXII/output_files/RAM2GS.sta.rpt create mode 100644 CPLD/MAXII/output_files/RAM2GS.sta.summary delete mode 100644 CPLD/MAXV/RAM2GS.qws create mode 100644 CPLD/MAXV/UFM.qip create mode 100644 CPLD/MAXV/UFM.v create mode 100644 CPLD/MAXV/db/.cmp.kpt create mode 100644 CPLD/MAXV/db/RAM2GS.(0).cnf.cdb create mode 100644 CPLD/MAXV/db/RAM2GS.(0).cnf.hdb create mode 100644 CPLD/MAXV/db/RAM2GS.(1).cnf.cdb create mode 100644 CPLD/MAXV/db/RAM2GS.(1).cnf.hdb create mode 100644 CPLD/MAXV/db/RAM2GS.(2).cnf.cdb create mode 100644 CPLD/MAXV/db/RAM2GS.(2).cnf.hdb create mode 100644 CPLD/MAXV/db/RAM2GS.asm.qmsg create mode 100644 CPLD/MAXV/db/RAM2GS.asm.rdb create mode 100644 CPLD/MAXV/db/RAM2GS.asm_labs.ddb create mode 100644 CPLD/MAXV/db/RAM2GS.cmp.cdb create mode 100644 CPLD/MAXV/db/RAM2GS.cmp.hdb create mode 100644 CPLD/MAXV/db/RAM2GS.cmp.idb create mode 100644 CPLD/MAXV/db/RAM2GS.cmp.logdb create mode 100644 CPLD/MAXV/db/RAM2GS.cmp0.ddb create mode 100644 CPLD/MAXV/db/RAM2GS.fit.qmsg create mode 100644 CPLD/MAXV/db/RAM2GS.hier_info create mode 100644 CPLD/MAXV/db/RAM2GS.lpc.html create mode 100644 CPLD/MAXV/db/RAM2GS.lpc.rdb create mode 100644 CPLD/MAXV/db/RAM2GS.lpc.txt create mode 100644 CPLD/MAXV/db/RAM2GS.map.cdb create mode 100644 CPLD/MAXV/db/RAM2GS.map.logdb create mode 100644 CPLD/MAXV/db/RAM2GS.pplq.rdb create mode 100644 CPLD/MAXV/db/RAM2GS.root_partition.map.reg_db.cdb create mode 100644 CPLD/MAXV/db/RAM2GS.routing.rdb create mode 100644 CPLD/MAXV/db/RAM2GS.rtlv.hdb create mode 100644 CPLD/MAXV/db/RAM2GS.rtlv_sg.cdb create mode 100644 CPLD/MAXV/db/RAM2GS.rtlv_sg_swap.cdb create mode 100644 CPLD/MAXV/db/RAM2GS.sld_design_entry_dsc.sci create mode 100644 CPLD/MAXV/db/RAM2GS.sta.qmsg create mode 100644 CPLD/MAXV/db/RAM2GS.sta.rdb create mode 100644 CPLD/MAXV/db/RAM2GS.sta_cmp.5_slow.tdb create mode 100644 CPLD/MAXV/db/RAM2GS.tmw_info create mode 100644 CPLD/MAXV/db/RAM2GS.vpr.ammdb create mode 100644 CPLD/MAXV/db/prev_cmp_RAM2GS-MAXV.qmsg create mode 100644 CPLD/MAXV/greybox_tmp/cbx_args.txt create mode 100644 CPLD/MAXV/incremental_db/README create mode 100644 CPLD/MAXV/incremental_db/compiled_partitions/RAM2GS.db_info create mode 100644 CPLD/MAXV/incremental_db/compiled_partitions/RAM2GS.root_partition.map.kpt create mode 100644 CPLD/MAXV/output_files/RAM2GS.asm.rpt create mode 100644 CPLD/MAXV/output_files/RAM2GS.cdf create mode 100644 CPLD/MAXV/output_files/RAM2GS.done create mode 100644 CPLD/MAXV/output_files/RAM2GS.fit.rpt create mode 100644 CPLD/MAXV/output_files/RAM2GS.fit.smsg create mode 100644 CPLD/MAXV/output_files/RAM2GS.fit.summary create mode 100644 CPLD/MAXV/output_files/RAM2GS.jdi create mode 100644 CPLD/MAXV/output_files/RAM2GS.map.smsg create mode 100644 CPLD/MAXV/output_files/RAM2GS.pin create mode 100644 CPLD/MAXV/output_files/RAM2GS.pof create mode 100644 CPLD/MAXV/output_files/RAM2GS.sld create mode 100644 CPLD/MAXV/output_files/RAM2GS.sta.rpt create mode 100644 CPLD/MAXV/output_files/RAM2GS.sta.summary create mode 100644 CPLD/RAM2GS.mif diff --git a/CPLD-old/MAX/RAM2GS-MAX.v b/CPLD-old/MAX/RAM2GS-MAX.v index ede70ee..ebb32f0 100644 --- a/CPLD-old/MAX/RAM2GS-MAX.v +++ b/CPLD-old/MAX/RAM2GS-MAX.v @@ -6,11 +6,6 @@ module RAM2GS(PHI2, MAin, CROW, Din, Dout, /* 65816 Phase 2 Clock */ input PHI2; - /* Activity LED */ - reg LEDEN = 0; - output LED; - assign LED = ~(~nCRAS && LEDEN); - /* Async. DRAM Control Inputs */ input nCCAS, nCRAS; @@ -21,6 +16,11 @@ module RAM2GS(PHI2, MAin, CROW, Din, Dout, reg FWEr; reg CBR; + /* Activity LED */ + reg LEDEN = 0; + output LED; + assign LED = ~(~nCRAS && LEDEN); + /* 65816 Data */ input [7:0] Din; output [7:0] Dout; diff --git a/CPLD/MAXII/RAM2GS.qsf b/CPLD/MAXII/RAM2GS.qsf index 2c99f8d..842c6cf 100644 --- a/CPLD/MAXII/RAM2GS.qsf +++ b/CPLD/MAXII/RAM2GS.qsf @@ -51,5 +51,149 @@ set_global_assignment -name DEVICE_FILTER_PIN_COUNT 100 set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 5 set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR "-1" set_global_assignment -name POWER_EXT_SUPPLY_VOLTAGE_TO_REGULATOR 3.3V +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "NO HEAT SINK WITH STILL AIR" + + +#set_global_assignment -name MIF_FILE "../RAM2GS.mif" + + + +set_location_assignment PIN_12 -to RCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RCLK + +set_location_assignment PIN_52 -to PHI2 +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to PHI2 + +set_location_assignment PIN_67 -to nCRAS +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nCRAS + +set_location_assignment PIN_53 -to nCCAS +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nCCAS + +set_location_assignment PIN_48 -to nFWE +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nFWE + +set_location_assignment PIN_49 -to MAin[0] +set_location_assignment PIN_51 -to MAin[1] +set_location_assignment PIN_50 -to MAin[2] +set_location_assignment PIN_71 -to MAin[3] +set_location_assignment PIN_70 -to MAin[4] +set_location_assignment PIN_69 -to MAin[5] +set_location_assignment PIN_72 -to MAin[6] +set_location_assignment PIN_68 -to MAin[7] +set_location_assignment PIN_73 -to MAin[8] +set_location_assignment PIN_74 -to MAin[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MAin + +set_location_assignment PIN_54 -to CROW[0] +set_location_assignment PIN_55 -to CROW[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to CROW + +set_location_assignment PIN_35 -to Din[2] +set_location_assignment PIN_36 -to Din[1] +set_location_assignment PIN_37 -to Din[3] +set_location_assignment PIN_38 -to Din[5] +set_location_assignment PIN_39 -to Din[4] +set_location_assignment PIN_40 -to Din[7] +set_location_assignment PIN_41 -to Din[6] +set_location_assignment PIN_42 -to Din[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to Din + +set_location_assignment PIN_33 -to Dout[0] +set_location_assignment PIN_57 -to Dout[1] +set_location_assignment PIN_56 -to Dout[2] +set_location_assignment PIN_47 -to Dout[3] +set_location_assignment PIN_44 -to Dout[4] +set_location_assignment PIN_28 -to Dout[5] +set_location_assignment PIN_34 -to Dout[6] +set_location_assignment PIN_43 -to Dout[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to Dout + +set_location_assignment PIN_8 -to RCKE +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RCKE + +set_location_assignment PIN_3 -to nRCS +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nRCS + +set_location_assignment PIN_100 -to nRWE +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nRWE + +set_location_assignment PIN_6 -to nRRAS +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nRRAS + +set_location_assignment PIN_4 -to nRCAS +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nRCAS + +set_location_assignment PIN_5 -to RBA[0] +set_location_assignment PIN_14 -to RBA[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RBA + +set_location_assignment PIN_18 -to RA[0] +set_location_assignment PIN_20 -to RA[1] +set_location_assignment PIN_30 -to RA[2] +set_location_assignment PIN_27 -to RA[3] +set_location_assignment PIN_26 -to RA[4] +set_location_assignment PIN_29 -to RA[5] +set_location_assignment PIN_21 -to RA[6] +set_location_assignment PIN_19 -to RA[7] +set_location_assignment PIN_17 -to RA[8] +set_location_assignment PIN_15 -to RA[9] +set_location_assignment PIN_16 -to RA[10] +set_location_assignment PIN_7 -to RA[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RA + +set_location_assignment PIN_2 -to RDQMH +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RDQMH + +set_location_assignment PIN_98 -to RDQML +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RDQML + +set_location_assignment PIN_96 -to RD[0] +set_location_assignment PIN_90 -to RD[1] +set_location_assignment PIN_89 -to RD[2] +set_location_assignment PIN_99 -to RD[3] +set_location_assignment PIN_92 -to RD[4] +set_location_assignment PIN_91 -to RD[5] +set_location_assignment PIN_95 -to RD[6] +set_location_assignment PIN_97 -to RD[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RD + +set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to nCRAS +set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to nCCAS +set_instance_assignment -name PAD_TO_CORE_DELAY 1 -to nFWE +set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to MAin +set_instance_assignment -name PAD_TO_CORE_DELAY 1 -to CROW +set_instance_assignment -name PAD_TO_CORE_DELAY 1 -to Din +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to Dout +set_instance_assignment -name SLOW_SLEW_RATE OFF -to Dout +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to RCKE +set_instance_assignment -name SLOW_SLEW_RATE OFF -to RCKE +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to RCKE +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to nRCS +set_instance_assignment -name SLOW_SLEW_RATE OFF -to nRCS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to nRCS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to nRWE +set_instance_assignment -name SLOW_SLEW_RATE OFF -to nRWE +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to nRWE +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to nRRAS +set_instance_assignment -name SLOW_SLEW_RATE OFF -to nRRAS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to nRRAS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to nRCAS +set_instance_assignment -name SLOW_SLEW_RATE OFF -to nRCAS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to nRCAS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to RBA +set_instance_assignment -name SLOW_SLEW_RATE OFF -to RBA +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to RBA +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to RA +set_instance_assignment -name SLOW_SLEW_RATE OFF -to RA +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to RDQMH +set_instance_assignment -name SLOW_SLEW_RATE OFF -to RDQMH +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to RDQML +set_instance_assignment -name SLOW_SLEW_RATE OFF -to RDQML +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to RD +set_instance_assignment -name SLOW_SLEW_RATE ON -to RD +set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to RD + +set_global_assignment -name MIF_FILE ../RAM2GS.mif set_global_assignment -name VERILOG_FILE "../RAM2GS-MAX.v" -set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "NO HEAT SINK WITH STILL AIR" \ No newline at end of file +set_global_assignment -name QIP_FILE UFM.qip \ No newline at end of file diff --git a/CPLD/MAXII/RAM2GS.qws b/CPLD/MAXII/RAM2GS.qws index f294354fadb00ddc97bc94165b561376a092044e..5f2429ba3bdb4ca7c5b1df7fe8d20bab4b47472a 100644 GIT binary patch delta 258 zcmb7;O%4H35QM)s%)-(QL~P&uAlO>jjD??wmB}zOi9|v&tR~_L?&1V);vOOtH}E=D z-CbS%()Zf4di5_JdrllV{5U3O%Z`i!pD9Dev>7qOV?(Mb7$Kr$KuAJY^NfzzO6kkh zQxz&w!O9V^7OW7+6-dbyiFR_biPBjg{&|Mc5hm8&Tj2F2s5HQ7-s)y)T23V40d6UM PC4H`5X17qkP_6d?n?olV literal 1217 zcmds$O)o=H5Qg9DBeAry60s0zB(2-3uLV&FHf*r4qwT$DN?Ub(BqH|yjDO${*w~4c zzhJLEo;mHcK!_$b&dHpaIh{N6&YZV%3B{{ld&=ujkv4Urs_H7^)wnAvB*;Sslwyx+ zRXMFFqb02=iIvj^_s2wZAj>*apmAjp(}A{$8pF?!DXBC&K$7J4HRUWHD}&^T-R8`) z)BJY+$|9${D-LHpn`c)|@yIRtN?rF3flf9y%p}2#OJLn?r;?ioNroJ#+V@b2`vkR3tkJVO>`@c_<^6qbM;Bm=pGilCP!pPlCKLDpGmEL?V-uG0001ZoTZW93W6{c#_xTK!yZ80E($?~f(W9Z61o-3BMoz|Z3aRQ z-)vAs1wpsppWk=j#I-bexd%}+n2_yc#paoRXe5EbxS-O!6$zm}C2;NvWjg&-H%@@H z;tj&i$v`8Y`XNj^ekx%!4k3&J#sU`72(kq%xj~qf+}JEhJ%G5zK9?;QM&}w0m|ogb z6jrEE9FV|~qq2@n$ki2s*T#20e6Kss_s+F^@(uY&+I_@k1*0Ebso2)Vl!& G#*8%eV_R_m literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.(0).cnf.cdb b/CPLD/MAXII/db/RAM2GS.(0).cnf.cdb new file mode 100644 index 0000000000000000000000000000000000000000..0b131c179431eb412c6f214ec354db24328e8949 GIT binary patch literal 20054 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 Hob4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*IR800000006@S00000006cE0000000000 z003+S00000004La>{m-`6Hyet(Wapl4v;1BQzh|op-zWbUxd2}+jw$RcO&fLej-?`_U`#PBtLYx7g z1z+%BKrDSO2vNXqS{##oXo|~VmRDtu5XW_S5@i_IH`aBVxHM&>8*6O~$%8%xR2X+x zS9)G>n%;0sR}NZLsAQSmh<9UpV|S)EdVSgo>zzlyS0iDg_(tALW8~}64s6|`x^r{`rH}Ad(9o8 zY)kjBmA$5Wfe9b+;=cseJGQi#+OX%9WT01B@>BY%>guZ=5!TcDl|2Vv_VGKP!gFB6 zswB_!e6d;#N{eHnB$t$t;8V)GLXmk;Rh0gRtSnbiX}^vl9sMNohh26PzF$;f5NdZO zzTa}brRnanKr$@Hgv{0Z#EX0hX?kw zoR=w+2bf07gvlH0Z?sC5JSUc^k_VR2Qi+lWcm`mdCIS6hUW?o!DnVkN&PC2*ZXlP5 z<7Ud@KbX(O0U~bm1G*2cEtG?Bqt{<)1?{Na4Bm$E?1;Xg9<@4F;a85EJFh#_)P?UXvooOJXP)R865eOP~?lTl5G z7mOmK(6n9LVUaP;qx@qO=wm`jTn?^Gh#5H4?JozLYjN|gagGl0O8B9Jp!lN`Q~0Q80x_hRK=LDIUh%u z{fQgTah_OnY~D3J!l<>}i@3dV&e22EozwM1FBS7GvT1K&$;qb8e^g{i1`oL;*-67m z)bat{=8%pnkW0E%K`3C?1|NnRaY*NiD1aTOC*ZSUNeI2xf zB41gpgL2qpX7<IFXCzot6=% zo}QWaectbBqyWtmQP0BgY5-gYGy!hPQkIYz)0IkC(#e-mHO!~y>j{u23xSQ4rfhvu z7&1sR_#TYi+;JL43;UD0a#NZVDs2i!bBuJpoOa;&(B{uT)CxoZUufA$Q9(zr9cY)6 zbzn}$>}yQBk|toe$lUA>fnz`e@IxVmldYl^7;lf>p1Q$3e?&Hms;L}~`;){T$g5QW zo^tcq8n4sk!`0)Ol7~0r*N~2>^l7)2o?)JSe+&ITxnXB>wuL2zs2{@XrGYh`rXGj_ zem)keob8l09;Pw4ui9QNKwe|bCHeO*m9Dv>j#f~3yW?@6>wg{4Pg^=;J;mXU-oDO( zymY4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*F7=00000002Y+00000000F70000000000 z005i=00000004La#8yjA!!Qs{p+Ln)LV_Im1d!+E6aJSM2jLMw<%I+n<5*`C~{DTB3pt}WP=$+HkebSU=KwKZ&GAyaEcU+ z4~HU!c_>nNfWrSOnt1ACJs?uCR^6?-2Wp?{N%%C!@F`jWX(oF#s{3n~hD9}s9;Y%1 zU8CdAQh7NycPq(lxZUEe z+D6bcfh1ShX=mw+SP2%^K7;rK{sFNuje|1- ztwYKWOyg)U>&ZM>vO|H9VJFLVx^2j#U9Y^nNPS@-=)nUBzP)2p+kS7bK=DBW*<3k_)Vk^!46FjXKRj)Ycfc z5cRrfA;j%NzC~!1o;DhzblB^kEwMuc`d9A>5!7i38oS8m3HNlK9U&5&f0U^mvM50F zI?J|hyZU*DuyrWU@}3Map({eYVu#x;4!@=@n=`5{ec_ooTdH32n`^?$l#7vc=k9FgR`I-$ieb|G50<6i&(0RR7e8IQpL literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.(2).cnf.cdb b/CPLD/MAXII/db/RAM2GS.(2).cnf.cdb new file mode 100644 index 0000000000000000000000000000000000000000..fdc79d118096f375cf498d13ea3691081380bb54 GIT binary patch literal 1601 zcmV-H2EO?e000233jqKC0001M0BZm=00011WpZ4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*Kh)00000002}300000001Ea0000000000 z002P-00000004La>{m-~(?Ag3^hI0VFHr$Sm4FL}qH;k3E>2@YMcYJnTG0zu+N344 zX)31`aH9W-JKPW#IB?(x@Dn&8sA}e0d)8~$iJeFs5S?hU_IST}?e6UEkPzY&@oC~q zeK0{3eai`vqu;0)kTQA|6U1n*ONkJJK|4Zi)m_`#4Bml@QaZZU*jA8U&?g90b=xo2 zcN5@4Qr6A*F!fm7Yrjz)L)!-)gx$c1yQbns_Ye(i7Ibpl>5e1rnp zis8&HcCaqT2^M(cgVqHZi9iAB!@6H|{#BjJIaJDX#43Y^<;>1M?T|p^NZcaUhspD> z`3B|A9|ls=eI%eqD$x}UNJ(ToNs;~JaiyC(m^-?b0}p#*B&I@YOi+UQ#N>I{AR;l5 zk_<7$y%`W=q$m;-DasO)?#{4u?ks6i<78TfZT6CvoIpK{cv7-w9dpr0)1rHF=%LU= zw3Mw<(J~g&wCH1WhIEXHVevDl1hDXfo)3xR&sXW&FOmb#g%Eh|i?xhzyr%EaGYCF5 ztFIdk2W4?}tF^W{BR}8|LFlwkFZ*6thN4r7d*VDkJ$;vgy;roSn~il*|2!#PPRKEy z`atk0?t0w*j~VdZ(z$8>e~kP%X3hY1o+R?RpAsXGadq`q_1?~>Y(Me9my$AsjN9w`spEV0^bG&&Hy)w!_?(%(^@w2^QL1I3YKZx zj%60J7<>+m0X?EtTRjDO#g31Y6`0?DQ;=YO$4LS#iSft;NDBE(0xe%ih<7khNiB&b z!OC}HULI(ffW-}mb@kFh#~%Oy0RR7Z0c?`LOB_KI$Df|YAE(jtM2{F$Bq$svxg!xQ z4$1D`xVN%Dba&2kn~a2nD1n2J7*g2S2x4PtV_J<|Wx5=8`ah(w5WH3kE5XM1#+$5( zE3q|2c;uu{f$> zYQocJn89PPfZyro)gvlH(M$QfE&@~IOcX5UYratko8UVpuC>LVD9}}p2z0$XYlbac z-_QJ{}Ug@IKHO;L2`op#v6TX<6#;O}=xuU@tCQZ?>-fD)E7Yj;XCvHAN%70lLAlet2-OuW6KBc^T5%#j<_ zMz?q%Q{&l**He#S5_kO?IIpNGbYR5)y*8n10qcS#bo6cTY@Lj$S&9C#J~7>p!Ss{E z%eSiBD89^bTj)jCD6qVsxsrZvhlB1sJ)X^ErV=n2132x-jiJb!`F|_14{q&|ICZ3l z4ARi7l)o&0EPr@Eyj=d8l!LMon|P{-A$*DK8=f<(aZ9(E@R^AgnIGH$009609RB!^ literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.(2).cnf.hdb b/CPLD/MAXII/db/RAM2GS.(2).cnf.hdb new file mode 100644 index 0000000000000000000000000000000000000000..d26758f6d56c50c502f6b62480ae1c04ad3d98a1 GIT binary patch literal 1385 zcmV-v1(y00000233jqKC0001M0BZm=00011WpZ4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*EQu00000007Vf00000004dh0000000000 z003zP00000004La#8z8R6G0T-D&95G#0TRo!vh3fh!AgSd}%BoNlQ$NfKQvD-IfWv zv(4@ntlG-81Rho&@S}bj*9#e8ul~4$_2u;$HO5vFXFLh z;;D?!5*o%WgJli~^CUO0GQB{iy(sKPJQ%~Hq*r*997TvVPLV>#DN-;(?sRjm6+TK` z<~c{5g<8}pRC8ogXTf%*G9NkW6pCLKb(w=abqX$^PT>v?@?Xb&ihdv>&mFy9Zpu3z zfC&cFyZ0up>c+$sF5XQnU8Y64*{*7mp+dE~lC7W?W=R!ys91Ko-OZ9Jm2sh~fhQE9 z(*C_c>ga)W3(}3&6Y`F#>3fU2gZ|cSliH{Y2^)P>Jwv{*QaPZy6dx-(jf*r(Q@}L6 zHAUGxrRB^Il%ad0>C}uN$MXQia%|RArbC7DH;SSj$}mT0R-RDJ@r|KAFtqf9m>Tvo zmqQ@U%#>u9xIr{K@G?>;+i`XZvrAXqHc_nGfNB{4$2BT!j%-#K9D7+{bo7OR#WRvV z$uAo8(F4W)Xaj)p9OtYI`2EC|AS*ZE^XrMX|0uFVWpe{Q)!zsk1^A_CyMFpCQ&<*) zmnoObjYif`ojJPnrwQJ@WU>9QLVA6 zhS=VHDPRKkqoR^xfKQtZciR%Z)X+y4HMItGsrbubUgob@zFt zR&%#1jrFzl)$PZhKfO!Kgin=3wFv%Uu1M|=h#@vhb&<)gNAuDOEgWi|52-9=5?9DL zf#PyM!JjA@O3&Trky;$V+*TO$Xk8}MG3M>S>#S;ww*{kwB#=z5g?n4@d7H(~V zL?HF@eBJSBNJSeJ>T)muEXjq-Y;*9#BuN9|uKqLU`_8}_%~YkusH?k%Rg)FR6_VLS zXNqJYeYSR-!4g9Nv^AhB5*8UzB#5gIb>o1xcaYDwy;i+(7$qAJXq@(H$UvtFz(B<* z>`+5YlP!o?NADWiL5Ub(d{0c>TS|Z2Kv*egqrBnRP@&Fj5m&{n##^7h%EE|Ma!h8( zF*l(Uv)w)xMpgjx0G!NdfZVWXS)U>6kf^<#c-UIBwm2jTS{47-?er?JHoj{u=uQ00960O7nyv literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.asm.qmsg b/CPLD/MAXII/db/RAM2GS.asm.qmsg new file mode 100644 index 0000000..e0bef24 --- /dev/null +++ b/CPLD/MAXII/db/RAM2GS.asm.qmsg @@ -0,0 +1,7 @@ +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1691880867195 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus Prime " "Running Quartus Prime Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1691880867211 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 12 18:54:27 2023 " "Processing started: Sat Aug 12 18:54:27 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1691880867211 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Assembler" 0 -1 1691880867211 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS " "Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Assembler" 0 -1 1691880867211 ""} +{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Assembler" 0 -1 1691880867430 ""} +{ "Info" "IASM_ASM_GENERATING_POWER_DATA" "" "Writing out detailed assembly data for power analysis" { } { } 0 115031 "Writing out detailed assembly data for power analysis" 0 0 "Assembler" 0 -1 1691880867445 ""} +{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Assembler is generating device programming files" { } { } 0 115030 "Assembler is generating device programming files" 0 0 "Assembler" 0 -1 1691880867445 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 1 Quartus Prime " "Quartus Prime Assembler was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4661 " "Peak virtual memory: 4661 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1691880867555 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 12 18:54:27 2023 " "Processing ended: Sat Aug 12 18:54:27 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1691880867555 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:00 " "Elapsed time: 00:00:00" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1691880867555 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:00 " "Total CPU time (on all processors): 00:00:00" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1691880867555 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Assembler" 0 -1 1691880867555 ""} diff --git a/CPLD/MAXII/db/RAM2GS.asm.rdb b/CPLD/MAXII/db/RAM2GS.asm.rdb new file mode 100644 index 0000000000000000000000000000000000000000..3278723f54b43a06f0f385fbe1b9d10f32acda09 GIT binary patch literal 808 zcmV+@1K0c%000233jqKC0001M0BZm=00011WpZ4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*IE;0000000374000000027y0000000000 z001Zh00000004LatW@7`(?ASvU@(5e5JJF{pLko7W}8;^Ei`K=B5W)b;tg(@TOx8v z$=y}#uLoazTH9$<2w}MTyFC{3(fx=Ok@PSmS5Mo%%}NGE0n$ zB1br$>!PmI0OEmvTw&Z43-seUHxetY{G`xt&6$51rD2l!!;|;1pGKd@W4|_fZuFO_ ztB=Z@vdh-smX;+@xI zGLz?&Vroj*g-mFO%nW)V^!kH?{XuvLVG!=|@keA%=|L5}C43MP8Q!*V`*iF-Co`$% zyCp8LgriCq`eMUz8$J@UDBajwpI#rvW2Un{w~_saWR6bKa6g#zf?#;CJjGpR{|=dq zCzt_Se2i0JN)4YxXU*?AS?1eU#YPZQ%Lt^I zfS4PIgIt{AgIojrgF=8JK#Ba)AL>A126iNQe4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*Dje00000008L;000000055w0000000000 z002=600000004La)K^_-T*npuW;FNi-E|^eZ5?TATr=8ATEzqt`c(1|MzWJiBBX26 zCVr_I3wf=YU`(Mw74l}Z$c`Ke*_brWLkTyE6PrAgKK7|7v=1QX&FYglZrbBd|^OVrhp_#A8WFk+8i&$dB zeC6hAlQ=ddT*+XiF0KzN{rBhuMkCZq_%mzb*h=wg5S6bZy#38Kniqj$sa=<)EZ=wU z-Mg1X=TDyhbuX!T`H&r#_%zO{DvgjF)@IX1e$2%|Y(D!c&PuMj5KBQT?Thh4C|7`} zR9!kSjc;T%Ho&a>fCcq@ z=~Q}BV@o5w=-zzSOuFhSbTN;bqxIo;kh^iImRfOIE4G*EwHq)->j%o~Ph!;##aJ*= zGG51N2d5*HFm{V|{@i&Pg(6;*NQN~UM%h8;++=}wkWbeT|Fg{%h@=)sL#R_Ny&5Vk zWExJbz=cX?n!+i8wGa~vVVstPH~>adM??p5FXZ_ooJAXoRm+0}_})AZ5=9GhzNPg$ zMb^l}@#-An{m`~QmLIj(+6Ar$+DXlzsr@invO5jYvsyN40*w)j_6t9osn?|01ggLc zHTzmwe1d5=;7#qBAuXHxSvo>kxD9{OjQgo#AxLQN<~b9$tEK*wz>>trgB95brg1`= zA4xPkeiu1TwSpr_F~U9s*NAn#RR3@o?uCazo7q!>jYqM!s0@Qn<$*mEGLg>(a7U;G zQ1w9jV4J2?t-;(Gg}Ee;9up6_Dsk@)&2Cm^3Fb2FRRyCV`!8}i(cXF>N8P*5vjHuC znR8Yznk9U6Md`gl19}}e)Lj9(kWP@f9`0q}j)P^+mo@B&@(bjNsCAB9hp5l8BCgQe za0MpX&9J?~;{WzIJ}i$Jf6~-OASPkBlyv59)r{~eyZ=ISU(KQ-DU*6ui{q-ZUJGb{ z<_mYCf`}%Og)k@&TNKdlrTfK9h7IeMYg3rcJfcI;C zdXuy2_b9>}--TJ?jB29I$Q!jtHADU07|h~2(krZ;6>R(o_(2D9FXXN&u^i$S!!Hl| zTSGh&y0id8jl^d|eEUT%gwXL*U~+KvEg3&9AwzI;=u`c?n;g#2wJ$UKoTHlEp*A#0 zqb0$uX~8pqQG9OPVPNIv0ODpGQ1$+k5lpBOrjL6E$3wl=Scw%E(Xz9rUdS^8y@3`h zten72w4@KwWS^|>_w9JO-SBhpqY$nYys{i8w*;Mz%wVtlcjWB%8wH#A9+IA75vION z;K>oF>NM|sVV(x}4t{$j!)h3teeyMj;c2m>WvF}AxqAy@Auu1;DmXi+&eb9;12fpwB($wW#G<~58as3^{TMjobjm9s?wjX+m%#AHI+iZv0r>Bq3 ziCC1RI}JBg&Ya}u_>5+pp*&c=*L>XmcuH2=;z zK6u3aEQ0Hgcn->>b{Q}DrKAl=2VwR-4Dd!_RrspEtE3xH{+3F|BVWXpZbWVfjklhs zgS`EpwSIrNVNsuG;m)%TOH;xPjI&u*-ZssmC-DPrdnUVVKNdLyfy zViv6z@;IIVM$|19Lt{+Gab&h4oS=V$DGm`>CTU2afibS7W|(&ildO7ylhW_(lsD1Y z!&$Wut9OuwO;+bOYQ`*OIrF*R5E<4)z!EFpLRj(>b~H(Uf}ef@$w^4QTmLYF*1lFT zDa5S$yn=cmckHypWB(G=Urp@y-8|#I%=e%M`2LzGYU02UAFW@5epKnC4|p7Sa};jc zAPEgl=Q+7#bLl>b@2HYXw1CCJ0J}N#sXiJHVeO8N_#fX$6JjQ-~ z3g4o^qwZDb{Ork+39v(!ZLYN`QRAL8lss87ZTS|8JDP7ev?t$?4m3`VZSv^5l*{W>HCd$v!5Z*JU)h#pDel5uh?mB=vJskrY!@6?Po%>< zcf2|4Xz5MSu$dy0WX?oB1v^8mIVEXZLIV1qsk?E#LE*SYzp|% z=ap?ZmL=yo&$XDE;`_zap><&JOzy(`dGZbUV3s@HgW7*28S+jhEk({_Z9w?L=YHG$ z8qK|Po*6!m&VR7v9P59n`3@d(r`blngEcX<<;Y)we}Q#13g~G0P0-c6p-WtoZOY~K zu5KwP)cI@3mQ3W1o67Nj8wX@1b>enxG;4ZU`cw2DCArg3Jh+XAW>1E^lk<-DpKSEs zrmsZa^|Tc7poVw$j>ga3Sy3`Onx*(<$Z7KDl_B4UoOefOkT2Rk=ZSv-00960cmZNz zU}O+rU|?YUzmu5}NHYPkAP_qS`^Nh?I>kGAhQxdNx%o3OC;&y*aW3eP0Me2`%nQUw zs)CsrSb!oh05S`tqBO5KGd(XgMIke@L}h|)rlUP2M+y|)BuL0ae? zf&>T{AV6q=kUYNk{*3pnS#!@_>&%>4Yu35@?6dF8y>sWzl`@_`8_%6{Iy)rJto}z& zh=ZH!gXgj$&qe-wpych~Z1X@$`o9PN$%=}JiHiOAT=u~`jR#r|ULPN*+BkTfU7L@( z^nXKa;mG?Pm^u9U|o+MPrfO9 zv!f9j&Or7j)lT>ykkbjWgrG(Xk$Uk!G>Sl}KA0iWjRQgOK?<;Fk~p7>Z9U!#01pvf zA1mk~MTZENkLL&{qGPD(ttO(#=dA!|k_lj(sAv#|b)%d^t^<#5|X&g+19|i>7>y=2=eonLfzd!cPpF}@Hkj49dwVw%o;LdCeyLlaUAS3o9Q90 zD7DswigIh?VSw9vMUj@~Ljk*&239Fv>$N-U!7D9GGK5Jfk>&oK-AY*nP_)Nq&XaU? zHrU+-HQ}?cp`#Ok{|-Fn1TEUEaGl(j^U)FN5NFO!DZ|JJ=wc^uu@d{2;$Z@B+f}r- zGTk7Zum5PR~_;E>NFG`al@Rotyk|${utNwT4>12~UX1o>X zR(acfN!$1Eq4gPDuV1$WXvnR7W^i`9JK<))b71!+grLGP{W%FTuY{Pp;=u*onEfz} zJoMl~uE84)8o8L*uqn&rSMg}gOc9y7o|9etuZ&b^y0oQsfD1vkL>3igyV!|(JSjuy z=vK4XNZY%>b5ceVZ1EpF65-IED&&=N1uy$d zKA!(%RMMF}FfJ4=3vU6g({2bk?!gyV2h!G6($dA2x(|KGdAKkH`t5BEH5-Z$nPA4!=8$1RCESMZIQ% zC2{U~p43c(NK8;Ai?so#zie58ircu!cF>9N0 zGxFpjrMzy>_fHsb?eaZLy7xzYkxVF9ok%YE`gk+DO7*b-B4&CbGXBG)1`glp|}@N9T~$E0O&tX+f(Zj!Xrz-HM;ok z_0z}8)cm_{krrd@NGwzCQP`;}ujHDdCekz$guWceF4>na+Ph|nX1w3J2mrRj{9A^> zt>3<)fd&9Y;nz0<*i=OU=ob|+fKz(iZ&CM$?nvN2R0^K3BioA`avKzSscCi^!2RD| zg!M6I9~@~JWDdq~1LP1(xCGJP09YePZTczk{2YW{0$7;_@LAlMg z(1r&iu}SIgBCKy5FYjA6?Y1EjN3Ef0NcirVa4^Xt2JT@m?aLg-vAR(L zEZ+lPz~#u#_fly}lcqS6LOSJ0Mhzo!dNIteXMeLjjJ4E3v|C(o#tRdIJn`iUlrG0A zv)S19N}C;bl232%UQt}FUwjES2d&$o5J4?qLJ8pl60*?y2TK+SFQvnlqaf~Nigy#09oZLx-h~`>2(S8WllQ&jagX5QwCu8cL$o?E zPP!gjvH$Lfuk30JQ$~)q0cdHx@VQ~&+6u97eZ-n7LrgNo%>hSO!l)GLIr`xvT8*ZQ zX#lfwBsyW=WGw{Vp?oQ1smU@Xgh;SqhqH850rueYF zN0-ZPUH!*aHP^duFk}{bFJcGBxh>vI6d12m!QtS+W>!d?UX2a>Rt zoiuCBb+U5kt3=NNQ`JQH#E)+jBXW-(0uHZcsd9!gp$ifgr8g5WVyB1ee7lk-%S6QL z(IVh@gx)5x68LEU{8~sR=|jj1qSrjmaC>y_tBmLU5+Eu@!mBZ$&L*EqOLqrr0mPXlU-rJ>A zycXSkxOW)@H&+5VRjv`Js12?F$|+qcz~$h2z;<9ba5!~0s_HD+0~F?WhUi>SC7xyM zWPZB3V!X+*_M(ZS|5ijB<3438L2W%EGQvf5gaJh7Z49_FjfU#DyaYCQRDTV>A(Udi2=gClnz_~vb=Z&M%*4;M&( zQb>W%TV&pPkJK3JYI|U7H%MpNeca_cznF=!Q#$qJ!2fQF&ntA}rHC24(_8DB7&&jm zl!DwoX69jx+d_~R36vL)ePk-zP_*g#nn(BZ&+X$Zbsvb2`d7s`Pc)NX%V24!*Ve*0 zrg@Oubo0%ws>imlYSqQdLI?O7ACvz)&33VFjY*l0OrG{$bKQ?@C>*(d1n;f(Pwb#) zIai)~NEHZcf&$4TH*+n81-oxsCZP3`{p@v!FKJ<6^zNTPQ>19)FtIEBHAZlfz{!%B zUcW9b0EKxtLxBwUCBa7Wx>S{kbN{7e5~0|;1jCdIGaF*3MHuT@$9vo;`lz6I@ej>1 z0HxrsboL<@dhpP^+#iIQ@oh7xLU38_74U57N)r3^O zL@BVzz5F%fCe8;#?z?jeB0;Xpy;NMjepCT%E{m+VaVVDbr01WOLCb~iQy{oT@Ak6) z(AXQ1p-<`k&at1YotyHge40=yxvri`s~!mnC? zg|K9P$Fon@kq%Bc?_x2>4@%Ha_$mx}AO1OP>g$=YjZRP6M6W)VDyU)^dFf*7ydSKx zkY9gKnz6d!p-$pI@>l0oSz?`yK7;0|)-%^TuU$l5(Nbb}JH8Xjv9 zR&iFLMN(Lo&o>L)*Qn9X+T0$JxQ{QQEq2;XUi%Mk{wMx6^;zaKoth^iG9exP?v;@> zS_~rY*PO67*q&*ATnYM>8n0?$Pkwm#%4|~Av%CM*&UY0$$6rwCh=dzG~5tuC7X!N^LNp(>8Vv3)}P{q$%7{~eA{RIhN4kDg$8NTt@T=YA!L`X+C|nS8n#c4`a}oXvy7 zX79QNf+jh;g%U)!PXsSNCnW9tne2Ezt9ZY8ICKO^!Druu$= zzsa93smH}H!-T8~R*bNbiREB6fyfmHCtuBBz8Qa2E;*8~d`&5M9sQ#e3`xmW)ltmO zi&Hm$P6JOBJeOa^8$6m!E-nuQ$=J2JzC3Kd`}BhJaJK$Y24=ZInL*n4b;!fqtDI>s&tPyn@9B=Z895N zEZt>?=WeVkgT!S$RQ!@yA7ymg#kZ?X&)qz_Vs#|P>BEmGQZTo4-suNMn zl6WC?mBHq(Dz~cXiq>bd_3@rL40G98XrR*!zD-;#!=3JDWKZY7l03*uX-| za~h6J&)|_oa=fHRaqo46ckqTazpci6ONUsi4}xCTk&0ydFeS1`?zfO3V)&$`V_bi{ zqnvKtfB}*I6LA0A-Pj8A+$Hv-f{E6d>CCSSdp(ObDH0J!p;r(4Xfp!En0%q#skr38 zS$({l&Yt9Rq0_Vkm+!O3tKW_&qtQpxOFNVdqoA)}?Sp#o! zCZjDB$WJ~cfctty+4*3b(Wiiib*Xo2;=3Ik9D-4uC#l5(TOE8`qRj)d`kGT~j_NBW zPt#oW?umG$y`$9G#NL$+tjpcaCSPBt@*Di-Exxad@AeC{(JRjL`#K$2QlW&cZQ(EU z#C~BF-F9~ffPGe%R6zsC&~ung>~BuT^(AJ!ThY zkv;T>NlZ@93WyoEJT$SxN7*OMkwtw|njCwHik_*(mD?MKH+ME3`X8iN`yH6Q4y$jl z?@(xd`qyhb(yv#s#P-4A{4|R`F#qqzF|$=Emwzo5^*`AGSeJswX*?yieB1ZwD$FBg zcl96jwKXwt_}WJrn)?{osEYIMWqBf423@%ZrElJbf;Dh< zk);}0zqaKhYy<*L-*%6`6cDg6^ExXnn{UP5 zYrcPN3oiBx2-$K$dQ8<2c=@7GhI!XMC^pORHMBcX*dh%@v73gX>SbTmXB{OClt3hA zNoUt;<5Ovo`OOM-$@&40KnbV2XNui6x<~Bivx~gSO^*9b4{MLpH+E_q2)moLm}?%2EAVy{Vm-)tUqxA`DG3r`<^ ztla&a`sE`Wqxf#TqhRVofY>3VM+c8sI}}fN_qBp zP1M^Y)`?=~zSSyb8;WM>i8p)l8GHe1f;%bfmG=Mo)WbymYh+z*vUi=U2~w*LxWwEs z=QHmzP_4|b6fsGen<#k{VcH95#Tep?ojBmC)}Q-FI@r5OTPF;pT4>u9V2QVrrOvfk zCBB7Mjr^~(`sD40;my3OU9bI8`n@LaAK)7$xnrR_FqP3n@?2sw>9vj8`y!M2@$dW= zolkfyRwzMF$VX1{3c&m>ys#wgi_>>gCmSMQGjOh^QYOpy$MWa1Mq;E@B0ID+%ntJ? zdfvlZVfvqtDL=1&Apj7Inz}uu=scFn6H2n3UdlcE>FQrI9rWSuT)=`$gvF~Pl4jM+ zsN2$3OrT9EVG)KF_HB0F=l)L5(K<+&eqQ&6qIuJOp4AkrmG3>f^nw?E<&cY^x92wU z)6H35OqZ{qnfJRVAEhLeLd>d;Z`J!LH2?1FFO{F?dyYjtOq1Vc_p&#B|2hS{ zREeT2M;<~Vb+(Jp0_-#5kD|S0s%lL>TUuowBn`?!FY0h)T|ZRK5u|;;)kfU)4gyzB zgZd`55q(yFix{qQhzy4XK6|w-K>Mi@c1ntDv*-p_+GDM+P>{NRf8R1mr)@i4+qW#8 z)i@BTYVIxO4suYx=$y}2KR@oO$wB@N^z2aZ1@6K^xld-3Y zT9W5QcFBk%m+yLiO9iYF$lEo#VjuKJPkj>k6AO@~=j7uq=kF z-;4c}^q0j04SvW>O3)W)jME++Q`YCgF?B2u@=IN$?CLU`CYPS*``Q+BzLl$g=UPma z;Y+#g4kXn?JVm1{^yXl%(2V0(5pJry}dqXO4 zZc+Q&F+^IkV^Wk*<2LBx{H3SVFE#JsvUD06NHNG;sYT4SG@4s0Yg$q9G_9M@3glzd zI$C!x-vi=}t@28XielL;L(zl0MJ_1+T&AAVb4;1(4={llz}<`lwz{E0HQLbriHOBy zP@T5wg`gZ60@?_R|Fu`L2Quun8NW#E4vWRtxC+lUf8K$r*K~$oUAE&0DkwnyJCT!- zKKw8`$K^9JxCZ`s=hI zzv6V&D)i~F$bij|5>k7*BlgBmHJq4&>}=+Sw28*!4jWwAF*#@W^29$ z&JEnS`3yY)rI&K!L4U=Gq;K$epgyee)7dslg;-5}QLt{V-nCyh%slKfI} zcSnwT!?VKnt(cq*o$7h{HVoqH_8Ph3f!aj_WD%Wt(|)pwM$NNb7N4wV3D1ty?AB5* z7Y7h4U1R`Sc;`*uN8zXsZ$c-9ThTveDYw+c(?4HnUvv6cQ!y2QN2h%yp2!O&g^`~nX#sh*w z89!tk2xCkq+ly%TQv7|X$%(FG5;m>2;Qm@IhCddO#8+% zm5YfLU|=#(;^wNAhvn(t`mAeLjW^OTh2pbb5PyyKDyQUh&9&Pn4-z3a3^!(TL(Bt1 zq{__I)G?(V*%J^pzVaUr;V7^@pVT~S^*_ZU9rr=YWU4IQRm37@h_@JkL+2`1n?6z;_SPi{Oy?@2Kg@p#MI(l?VO$>@hoWw6Ud3|p%B?Q$uIgZ`@v5V8cahdL$BpKOWf?ACqSYQT zrR`g~Crk_A63}EAnu-#U&F|Dt(@5G@-!mLfb}&mdHP4(%xu<(Ijny$T?2BcsOu5(j zI81VB&{EN_U6_t6=vKJPiL1y&uKS>V91XDSlQ*KWsEF$ zbhBM_zQEYG=Q>BgOIXec;@y^_nF`A5#eT1!v#rVHQX}S^RQ^q+Xs&LLwrO=@U4esx z(Rhu0E8{V5hqo@79g2HBCr#dsil(Wxf3w}M zM|7i1lB7rk{cFTac~c;Xh^{=f!N;J%#!iooX75UG)iK#^LQq4KlaH$J_@eGdm$lnJ zrt4qF9%4Mq!ar3>)0)m{Z0@vOJOBIpk zf+pKPKYIk;W8J3QOn5g)^qo@T2Jv2dW1m?&$JZ zR3}dbwKV$|ZfA>n9xXarkW#JM>XTRRv&_SLcjfSPu<8uBQ9UMEC~a>?|NNbcfn~Ax z{YZaXU>Z?0r0=sVH2AOA3+wDkO`d#ug!plo!WFk`LRI(_9eSKQL^#$&g+QJzsDyW8(?2e_}TwJOKCWq$x^g>mebz7ukL=0Sp$sV`Sw;l1PB;x5B=ZH=x4v_-V)pQVZpGh3KlhXpJ_moSQZc-gN!%vC1`MXlE=IAoqnEbex6_JPR zvvNRU?i@v8qT%CzLoa4}AUr9tq@2F?qlmbK9ne!{51rOQsYu}Rpc$xpUaIvG1YlK4eJbu`9jMBqSbe7UyeliwIM62=ya8B zTeyizB+c)*?_I(v?Y+`sCnF5aKkBLD1az`)0W%hYl0Z2nkKZYceRXRPqX~!r4rJr~ zU%&iuj8;*(uMForo#*N5Nj=2gIn@h(=6$TPqn80l*i3Xlzd2QDw?Zrhlp2-k?nTcw zIYlYf?!MnRZMl{?z7csf`zE3^yh}V;sWdKFJfJmXG`7@)!Sm5p+g?C9Gbuif_nLX4 zL?<5PYXZu$&Kwy+0Ic#Lvc>j|r5%&He^XJ(BYaGI--PUsJTro?2R%7ovxXkhjb#l` z4flUp&Z+nP$mq z`O8h5y-(yS?kUZ$cpt_^r+)`PHW|6ZAmD z9^CpWy>XDPJ-xxxh8F5;Hq`CH``Cjbq>iZsHH@JGwDKoBLq3 zm$!2zBBL|V2EdYGBT&S_az(Rs7H<}Ik)lSQUE5An*Rbb!`n{!v-hFrAodqddW4w7w zkI}Q|+-YD?=u0>d1;!QgTF)Hg50_G@)&dFezkVq}6*3Bdt+j}$$f+~%)wFi+VJ37OY?`uL{^h7`92D^S zrg%hoPVndK60mBb?LFMZm9AhB$Ul!8TLlxPeQ?daQe45) zgEc|N;IQDyysRoolXvJ<|3zO-%i%-Nv1zay1n^@DjO?4t`)fW@mCw}Cu*^lqyPB1} znZx(w=3eY{HTxD>x7HBjtT&lgs2=Y~o>S$z6T*rQ!OD21q`glgu&_nXc*&-D4PS;j z?w4G?)Fn8+>d#T6U2oB^U#EseGIaH%{I!~7)%{z1c+)m9V*QTM^-VtG)OT11`>K-# zs#!gB`m&9o$ieeqsL5F^Q^m+T8FAhV4%qlizlY`$vv3Z!fh=qyS9Hs&oUFQ*n^ZE?UVF} znZKuFN0q{9hiR3gEOQ@szDV8V*rV6=jhX6|z112Gc(8?4_pX6g&#qB@?er6V8+457Mslf%Mp|riL+O>qFXP>oV*_1WTSfeD8=no? zqH^w~4P7C`B`^qAoE1jN*H6csoxsXT)erdU72(2>aAF9`a?vt zrraP|;+P(iRzgf&lHKyKC*a-epM=tc6tRuPjcYvT#~OUHdxrtIX5tc^1P!XbmA)sp z?T7`Il}%n>4=4JLm!|;n#~sow=vO$6X#zg>b9d$r<2c5DjXuSEAUpODCwc!;>W*ec zPyKW`HhMknR#FQcAVzoArR&nWRkqhmwOPxt`KC_W-0B?1N6rR(j7(k|>TnfXPFHqrb&Qjzlst7ZYO&{)X*6Bmei zB$Cg>0W@uHSp>AzfU4EBl!b#hfJ0 zfzOwCXK8&DkJzR^t_K^yyt}XtNp5gf5P`~mJZmGgM(?{tv7(|_PubC0o?@`x&67{j z$Lp zLr1tBe4b?$KJPSh=RQ-f*x{J-<@ySiduQ~aPK6{9Iu|TW8qeaQvj{2T9ix6LJjsH6O#QE~LglMiBa1^Jh(v?As!+c#^*y{ZQ zy@TK9FWafH74n)X9DTG@v`p&ye%&}+dy^2LCiM)ZVPzRc@4Ft;s>xp9qeQ$Ct1*4D z!#sVW1HdJ=c5c}zh*W-m^<8rXdIXP<&%J*rfA5V~*UY_RN}BDOGF{YWkKD4F>$8%<581@<-7@m6#Zv0WAB1>Rc`xzKZs88c(MgJs6OtTE}>`NnY zD1ViEXm6E7jG}(*d3MM`kO> zn+dQr?9tsVRd;`)C74eG?y2$vhURP#)@asWJfoFG+W{7OyvQk`Q{UGJA}lmWsyU=W zUCXBk@yN!!Qv&Qu`L@K4xOw29+oE+MjmwSVFhcPL1~PMXW3fd+Kv=QGL+H@y)u`6# zql5)|h*v@EM`{^w6@;hyn$Ai~%11^XJKCS>r?6Vfs4^6p=(lZ@Ds zVhL7QOL2%(qK)sjZD|)&P>}MKES!E$fT%IXz`Ir!44tygCLUVMqfN7SB9bEYe9;=T zrb{a=g*ZahZc z018&Li{Hk@&*0JsQxkO9Ew7JZP<8%g4jp}xe1`7pVL^w1FeyAeXI7eKeebv&yN2{V zCMW`%*3bhhZX?K*18pS@DJptuGw?p3iB6a31L(^nokX|;-Q1N_hU=bci1r4)qTHN@N-%wsSPE93W~?%@NwM4DQa#7qb;PNIPEqAN z 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 D#t-|Z literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.db_info b/CPLD/MAXII/db/RAM2GS.db_info index 088acb0..5384081 100644 --- a/CPLD/MAXII/db/RAM2GS.db_info +++ b/CPLD/MAXII/db/RAM2GS.db_info @@ -1,3 +1,3 @@ Quartus_Version = Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition Version_Index = 503488000 -Creation_Time = Sat Aug 12 18:39:09 2023 +Creation_Time = Sat Aug 12 19:09:26 2023 diff --git a/CPLD/MAXII/db/RAM2GS.fit.qmsg b/CPLD/MAXII/db/RAM2GS.fit.qmsg new file mode 100644 index 0000000..5e1d42d --- /dev/null +++ b/CPLD/MAXII/db/RAM2GS.fit.qmsg @@ -0,0 +1,45 @@ +{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Fitter" 0 -1 1691880865039 ""} +{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Fitter" 0 -1 1691880865039 ""} +{ "Info" "IMPP_MPP_USER_DEVICE" "RAM2GS EPM240T100C5 " "Selected device EPM240T100C5 for design \"RAM2GS\"" { } { } 0 119006 "Selected device %2!s! for design \"%1!s!\"" 0 0 "Fitter" 0 -1 1691880865039 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1691880865086 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1691880865086 ""} +{ "Info" "IFITCC_FITCC_INFO_AUTO_FIT_COMPILATION_ON" "" "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" { } { } 0 171003 "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" 0 0 "Fitter" 0 -1 1691880865101 ""} +{ "Warning" "WCPT_FEATURE_DISABLED_POST" "LogicLock " "Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." { } { } 0 292013 "Feature %1!s! is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." 0 0 "Fitter" 0 -1 1691880865117 ""} +{ "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED" "" "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" { { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM240T100I5 " "Device EPM240T100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691880865211 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM240T100A5 " "Device EPM240T100A5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691880865211 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100C5 " "Device EPM570T100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691880865211 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100I5 " "Device EPM570T100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691880865211 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100A5 " "Device EPM570T100A5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691880865211 ""} } { } 2 176444 "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" 0 0 "Fitter" 0 -1 1691880865211 ""} +{ "Critical Warning" "WSTA_SDC_NOT_FOUND" "RAM2GS.sdc " "Synopsys Design Constraints File file not found: 'RAM2GS.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." { } { } 1 332012 "Synopsys Design Constraints File file not found: '%1!s!'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." 0 0 "Fitter" 0 -1 1691880865258 ""} +{ "Info" "ISTA_NO_CLOCK_FOUND_NO_DERIVING_MSG" "base clocks " "No user constrained base clocks found in the design" { } { } 0 332144 "No user constrained %1!s! found in the design" 0 0 "Fitter" 0 -1 1691880865258 ""} +{ "Info" "ISTA_DEFAULT_TDC_OPTIMIZATION_GOALS" "" "Timing requirements not specified -- optimizing circuit to achieve the following default global requirements" { { "Info" "ISTA_ASSUMED_DEFAULT_TDC_REQUIREMENT" "" "Assuming a default timing requirement" { } { } 0 332127 "Assuming a default timing requirement" 0 0 "Design Software" 0 -1 1691880865258 ""} } { } 0 332128 "Timing requirements not specified -- optimizing circuit to achieve the following default global requirements" 0 0 "Fitter" 0 -1 1691880865258 ""} +{ "Info" "ISTA_REPORT_CLOCKS_INFO" "Found 6 clocks " "Found 6 clocks" { { "Info" "ISTA_REPORT_CLOCKS_INFO" " Period Clock Name " " Period Clock Name" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880865258 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" "======== ============ " "======== ============" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880865258 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 ARCLK " " 1.000 ARCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880865258 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 DRCLK " " 1.000 DRCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880865258 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 nCCAS " " 1.000 nCCAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880865258 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 nCRAS " " 1.000 nCRAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880865258 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 PHI2 " " 1.000 PHI2" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880865258 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 RCLK " " 1.000 RCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880865258 ""} } { } 0 332111 "%1!s!" 0 0 "Fitter" 0 -1 1691880865258 ""} +{ "Extra Info" "IFSAC_FSAC_START_REG_LOCATION_PROCESSING" "" "Performing register packing on registers with non-logic cell location assignments" { } { } 1 176273 "Performing register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1691880865258 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_REG_LOCATION_PROCESSING" "" "Completed register packing on registers with non-logic cell location assignments" { } { } 1 176274 "Completed register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1691880865258 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "User Assigned Global Signals Promotion Operation " "Completed User Assigned Global Signals Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1691880865258 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_ALL_TO_GLOBAL" "RCLK Global clock in PIN 12 " "Automatically promoted signal \"RCLK\" to use Global clock in PIN 12" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 34 -1 0 } } } 0 186215 "Automatically promoted signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691880865274 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "PHI2 Global clock " "Automatically promoted some destinations of signal \"PHI2\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "PHI2r " "Destination \"PHI2r\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 13 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691880865274 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691880865274 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "PHI2 " "Pin \"PHI2\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { PHI2 } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "PHI2" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 331 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691880865274 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCRAS Global clock " "Automatically promoted some destinations of signal \"nCRAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RASr " "Destination \"RASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 14 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691880865274 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691880865274 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCRAS " "Pin \"nCRAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCRAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCRAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 333 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691880865274 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCCAS Global clock " "Automatically promoted some destinations of signal \"nCCAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CBR " "Destination \"CBR\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 17 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691880865274 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "comb~2 " "Destination \"comb~2\" may be non-global or may not use global clock" { } { } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691880865274 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CASr " "Destination \"CASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 15 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691880865274 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691880865274 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCCAS " "Pin \"nCCAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCCAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCCAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 332 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691880865274 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "Auto Global Promotion Operation " "Completed Auto Global Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1691880865274 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_START_FYGR_REGPACKING_INFO" "" "Starting register packing" { } { } 0 176234 "Starting register packing" 0 0 "Fitter" 0 -1 1691880865274 ""} +{ "Extra Info" "IFSAC_FSAC_START_LUT_PACKING" "" "Moving registers into LUTs to improve timing and density" { } { } 1 176244 "Moving registers into LUTs to improve timing and density" 1 0 "Fitter" 0 -1 1691880865289 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_HEADER" "" "Started processing fast register assignments" { } { } 0 186468 "Started processing fast register assignments" 0 0 "Fitter" 0 -1 1691880865320 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_FOOTER" "" "Finished processing fast register assignments" { } { } 0 186469 "Finished processing fast register assignments" 0 0 "Fitter" 0 -1 1691880865320 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_LUT_PACKING" "00:00:00 " "Finished moving registers into LUTs: elapsed time is 00:00:00" { } { } 1 176245 "Finished moving registers into LUTs: elapsed time is %1!s!" 1 0 "Fitter" 0 -1 1691880865320 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_REGPACKING_INFO" "" "Finished register packing" { } { } 0 176235 "Finished register packing" 0 0 "Fitter" 0 -1 1691880865320 ""} +{ "Info" "IFITCC_FITTER_PREPARATION_END" "00:00:00 " "Fitter preparation operations ending: elapsed time is 00:00:00" { } { } 0 171121 "Fitter preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691880865336 ""} +{ "Info" "IVPR20K_VPR_FAMILY_APL_ERROR" "" "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." { } { } 0 14896 "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." 0 0 "Fitter" 0 -1 1691880865336 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_START" "" "Fitter placement preparation operations beginning" { } { } 0 170189 "Fitter placement preparation operations beginning" 0 0 "Fitter" 0 -1 1691880865414 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_END" "00:00:00 " "Fitter placement preparation operations ending: elapsed time is 00:00:00" { } { } 0 170190 "Fitter placement preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691880865524 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_START" "" "Fitter placement operations beginning" { } { } 0 170191 "Fitter placement operations beginning" 0 0 "Fitter" 0 -1 1691880865524 ""} +{ "Info" "IFITAPI_FITAPI_INFO_VPR_PLACEMENT_FINISH" "" "Fitter placement was successful" { } { } 0 170137 "Fitter placement was successful" 0 0 "Fitter" 0 -1 1691880865820 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_END" "00:00:00 " "Fitter placement operations ending: elapsed time is 00:00:00" { } { } 0 170192 "Fitter placement operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691880865820 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_START" "" "Fitter routing operations beginning" { } { } 0 170193 "Fitter routing operations beginning" 0 0 "Fitter" 0 -1 1691880865852 ""} +{ "Info" "IFITAPI_FITAPI_VPR_PERCENT_ROUTING_RESOURCE_USAGE" "19 " "Router estimated average interconnect usage is 19% of the available device resources" { { "Info" "IFITAPI_FITAPI_VPR_PEAK_ROUTING_REGION" "19 X0_Y0 X8_Y5 " "Router estimated peak interconnect usage is 19% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5" { } { { "loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 1 { 0 "Router estimated peak interconnect usage is 19% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5"} { { 12 { 0 ""} 0 0 9 6 } } } } } } } 0 170196 "Router estimated peak interconnect usage is %1!d!%% of the available device resources in the region that extends from location %2!s! to location %3!s!" 0 0 "Design Software" 0 -1 1691880865961 ""} } { } 0 170195 "Router estimated average interconnect usage is %1!d!%% of the available device resources" 0 0 "Fitter" 0 -1 1691880865961 ""} +{ "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED" "" "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." { { "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED_FOR_ROUTABILITY" "" "Optimizations that may affect the design's routability were skipped" { } { } 0 170201 "Optimizations that may affect the design's routability were skipped" 0 0 "Design Software" 0 -1 1691880866086 ""} } { } 0 170199 "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." 0 0 "Fitter" 0 -1 1691880866086 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_END" "00:00:00 " "Fitter routing operations ending: elapsed time is 00:00:00" { } { } 0 170194 "Fitter routing operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691880866086 ""} +{ "Info" "IVPR20K_VPR_TIMING_ANALYSIS_TIME" "the Fitter 0.23 " "Total time spent on timing analysis during the Fitter is 0.23 seconds." { } { } 0 11888 "Total time spent on timing analysis during %1!s! is %2!s! seconds." 0 0 "Fitter" 0 -1 1691880866102 ""} +{ "Info" "IFITCC_FITTER_POST_OPERATION_END" "00:00:00 " "Fitter post-fit operations ending: elapsed time is 00:00:00" { } { } 0 11218 "Fitter post-fit operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691880866102 ""} +{ "Warning" "WFIOMGR_RESERVE_ASSIGNMENT_FOR_UNUSED_PINS_IS_DEFAULT" "As output driving ground " "The Reserve All Unused Pins setting has not been specified, and will default to 'As output driving ground'." { } { } 0 169174 "The Reserve All Unused Pins setting has not been specified, and will default to '%1!s!'." 0 0 "Fitter" 0 -1 1691880866133 ""} +{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg " "Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Fitter" 0 -1 1691880866164 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Fitter 0 s 4 s Quartus Prime " "Quartus Prime Fitter was successful. 0 errors, 4 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "5346 " "Peak virtual memory: 5346 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1691880866180 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 12 18:54:26 2023 " "Processing ended: Sat Aug 12 18:54:26 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1691880866180 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:02 " "Elapsed time: 00:00:02" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1691880866180 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:02 " "Total CPU time (on all processors): 00:00:02" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1691880866180 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Fitter" 0 -1 1691880866180 ""} diff --git a/CPLD/MAXII/db/RAM2GS.hier_info b/CPLD/MAXII/db/RAM2GS.hier_info new file mode 100644 index 0000000..d12e6b0 --- /dev/null +++ b/CPLD/MAXII/db/RAM2GS.hier_info @@ -0,0 +1,277 @@ +|RAM2GS +PHI2 => Bank[0].CLK +PHI2 => Bank[1].CLK +PHI2 => Bank[2].CLK +PHI2 => Bank[3].CLK +PHI2 => Bank[4].CLK +PHI2 => Bank[5].CLK +PHI2 => Bank[6].CLK +PHI2 => Bank[7].CLK +PHI2 => RA11.CLK +PHI2 => PHI2r.DATAIN +PHI2 => CmdDRDIn.CLK +PHI2 => CmdDRCLK.CLK +PHI2 => CmdUFMPrgm.CLK +PHI2 => CmdUFMErase.CLK +PHI2 => CmdSubmitted.CLK +PHI2 => Cmdn8MEGEN.CLK +PHI2 => XOR8MEG.CLK +PHI2 => ADSubmitted.CLK +PHI2 => C1Submitted.CLK +PHI2 => UFMOscEN.CLK +PHI2 => CmdEnable.CLK +MAin[0] => RA.DATAA +MAin[0] => RowA.DATAB +MAin[0] => Equal0.IN7 +MAin[0] => Equal1.IN7 +MAin[0] => Equal3.IN6 +MAin[1] => RA.DATAA +MAin[1] => RowA.DATAB +MAin[1] => Equal0.IN6 +MAin[1] => Equal1.IN6 +MAin[1] => Equal3.IN7 +MAin[2] => RA.DATAA +MAin[2] => RowA.DATAB +MAin[2] => Equal0.IN5 +MAin[2] => Equal1.IN5 +MAin[2] => Equal3.IN5 +MAin[3] => RA.DATAA +MAin[3] => RowA.DATAB +MAin[3] => Equal0.IN4 +MAin[3] => Equal1.IN4 +MAin[3] => Equal3.IN4 +MAin[4] => RA.DATAA +MAin[4] => RowA.DATAB +MAin[4] => Equal0.IN3 +MAin[4] => Equal1.IN3 +MAin[4] => Equal3.IN3 +MAin[5] => RA.DATAA +MAin[5] => RowA.DATAB +MAin[5] => Equal0.IN2 +MAin[5] => Equal1.IN2 +MAin[5] => Equal3.IN2 +MAin[6] => RA.DATAA +MAin[6] => RowA.DATAB +MAin[6] => Equal0.IN1 +MAin[6] => Equal1.IN1 +MAin[6] => Equal3.IN1 +MAin[7] => RA.DATAA +MAin[7] => RowA.DATAB +MAin[7] => Equal0.IN0 +MAin[7] => Equal1.IN0 +MAin[7] => Equal3.IN0 +MAin[8] => RA.DATAA +MAin[8] => RowA.DATAB +MAin[9] => RA.DATAA +MAin[9] => comb.DATAA +MAin[9] => RowA.DATAB +MAin[9] => comb.DATAA +CROW[0] => RBA.DATAB +CROW[1] => RBA.DATAB +Din[0] => CmdDRDIn.DATAB +Din[0] => XOR8MEG.DATAB +Din[0] => WRD[0].DATAIN +Din[0] => Bank[0].DATAIN +Din[0] => Equal14.IN2 +Din[0] => Equal15.IN4 +Din[0] => Cmdn8MEGEN.DATAB +Din[1] => CmdDRCLK.DATAB +Din[1] => WRD[1].DATAIN +Din[1] => Bank[1].DATAIN +Din[1] => Equal14.IN7 +Din[1] => Equal15.IN7 +Din[2] => CmdUFMPrgm.DATAB +Din[2] => WRD[2].DATAIN +Din[2] => Bank[2].DATAIN +Din[2] => Equal14.IN6 +Din[2] => Equal15.IN3 +Din[3] => CmdUFMErase.DATAB +Din[3] => WRD[3].DATAIN +Din[3] => Bank[3].DATAIN +Din[3] => Equal14.IN5 +Din[3] => Equal15.IN2 +Din[4] => WRD[4].DATAIN +Din[4] => Bank[4].DATAIN +Din[4] => Equal14.IN4 +Din[4] => Equal15.IN6 +Din[4] => Equal16.IN3 +Din[4] => Equal17.IN0 +Din[4] => Equal18.IN3 +Din[5] => WRD[5].DATAIN +Din[5] => Bank[5].DATAIN +Din[5] => Equal14.IN3 +Din[5] => Equal15.IN1 +Din[5] => Equal16.IN2 +Din[5] => Equal17.IN3 +Din[5] => Equal18.IN0 +Din[6] => RA11.IN1 +Din[6] => WRD[6].DATAIN +Din[6] => Bank[6].DATAIN +Din[6] => Equal14.IN1 +Din[6] => Equal15.IN5 +Din[6] => Equal16.IN1 +Din[6] => Equal17.IN2 +Din[6] => Equal18.IN2 +Din[7] => WRD[7].DATAIN +Din[7] => Bank[7].DATAIN +Din[7] => Equal14.IN0 +Din[7] => Equal15.IN0 +Din[7] => Equal16.IN0 +Din[7] => Equal17.IN1 +Din[7] => Equal18.IN1 +Dout[0] << Dout[0].DB_MAX_OUTPUT_PORT_TYPE +Dout[1] << Dout[1].DB_MAX_OUTPUT_PORT_TYPE +Dout[2] << Dout[2].DB_MAX_OUTPUT_PORT_TYPE +Dout[3] << Dout[3].DB_MAX_OUTPUT_PORT_TYPE +Dout[4] << Dout[4].DB_MAX_OUTPUT_PORT_TYPE +Dout[5] << Dout[5].DB_MAX_OUTPUT_PORT_TYPE +Dout[6] << Dout[6].DB_MAX_OUTPUT_PORT_TYPE +Dout[7] << Dout[7].DB_MAX_OUTPUT_PORT_TYPE +nCCAS => WRD[0].CLK +nCCAS => WRD[1].CLK +nCCAS => WRD[2].CLK +nCCAS => WRD[3].CLK +nCCAS => WRD[4].CLK +nCCAS => WRD[5].CLK +nCCAS => WRD[6].CLK +nCCAS => WRD[7].CLK +nCCAS => comb.IN0 +nCCAS => CBR.DATAIN +nCCAS => CASr.DATAIN +nCRAS => CBR.CLK +nCRAS => FWEr.CLK +nCRAS => RowA[0].CLK +nCRAS => RowA[1].CLK +nCRAS => RowA[2].CLK +nCRAS => RowA[3].CLK +nCRAS => RowA[4].CLK +nCRAS => RowA[5].CLK +nCRAS => RowA[6].CLK +nCRAS => RowA[7].CLK +nCRAS => RowA[8].CLK +nCRAS => RowA[9].CLK +nCRAS => RBA[0]~reg0.CLK +nCRAS => RBA[1]~reg0.CLK +nCRAS => RASr.DATAIN +nFWE => comb.IN1 +nFWE => CMDWR.IN1 +nFWE => ADWR.IN1 +nFWE => C1WR.IN1 +nFWE => FWEr.DATAIN +RBA[0] << RBA[0]~reg0.DB_MAX_OUTPUT_PORT_TYPE +RBA[1] << RBA[1]~reg0.DB_MAX_OUTPUT_PORT_TYPE +RA[0] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[1] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[2] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[3] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[4] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[5] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[6] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[7] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[8] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[9] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[10] << RA10.DB_MAX_OUTPUT_PORT_TYPE +RA[11] << RA11.DB_MAX_OUTPUT_PORT_TYPE +RD[0] <> RD[0] +RD[1] <> RD[1] +RD[2] <> RD[2] +RD[3] <> RD[3] +RD[4] <> RD[4] +RD[5] <> RD[5] +RD[6] <> RD[6] +RD[7] <> RD[7] +nRCS << nRCS~reg0.DB_MAX_OUTPUT_PORT_TYPE +RCLK => UFMProgram.CLK +RCLK => UFMErase.CLK +RCLK => UFMReqErase.CLK +RCLK => n8MEGEN.CLK +RCLK => UFMInitDone.CLK +RCLK => UFMD.CLK +RCLK => DRShift.CLK +RCLK => DRDIn.CLK +RCLK => DRCLK.CLK +RCLK => ARShift.CLK +RCLK => ARCLK.CLK +RCLK => Ready.CLK +RCLK => IS[0].CLK +RCLK => IS[1].CLK +RCLK => IS[2].CLK +RCLK => IS[3].CLK +RCLK => nRowColSel.CLK +RCLK => RCKEEN.CLK +RCLK => RA10.CLK +RCLK => nRWE~reg0.CLK +RCLK => nRCAS~reg0.CLK +RCLK => nRRAS~reg0.CLK +RCLK => nRCS~reg0.CLK +RCLK => RCKE~reg0.CLK +RCLK => InitReady.CLK +RCLK => FS[0].CLK +RCLK => FS[1].CLK +RCLK => FS[2].CLK +RCLK => FS[3].CLK +RCLK => FS[4].CLK +RCLK => FS[5].CLK +RCLK => FS[6].CLK +RCLK => FS[7].CLK +RCLK => FS[8].CLK +RCLK => FS[9].CLK +RCLK => FS[10].CLK +RCLK => FS[11].CLK +RCLK => FS[12].CLK +RCLK => FS[13].CLK +RCLK => FS[14].CLK +RCLK => FS[15].CLK +RCLK => FS[16].CLK +RCLK => FS[17].CLK +RCLK => S[0].CLK +RCLK => S[1].CLK +RCLK => CASr3.CLK +RCLK => CASr2.CLK +RCLK => CASr.CLK +RCLK => RASr3.CLK +RCLK => RASr2.CLK +RCLK => RASr.CLK +RCLK => PHI2r3.CLK +RCLK => PHI2r2.CLK +RCLK => PHI2r.CLK +RCKE << RCKE~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRWE << nRWE~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRRAS << nRRAS~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRCAS << nRCAS~reg0.DB_MAX_OUTPUT_PORT_TYPE +RDQMH << comb.DB_MAX_OUTPUT_PORT_TYPE +RDQML << comb.DB_MAX_OUTPUT_PORT_TYPE + + +|RAM2GS|UFM:UFM_inst +arclk => arclk.IN1 +ardin => ardin.IN1 +arshft => arshft.IN1 +drclk => drclk.IN1 +drdin => drdin.IN1 +drshft => drshft.IN1 +erase => erase.IN1 +oscena => oscena.IN1 +program => program.IN1 +busy <= UFM_altufm_none_var:UFM_altufm_none_var_component.busy +drdout <= UFM_altufm_none_var:UFM_altufm_none_var_component.drdout +osc <= UFM_altufm_none_var:UFM_altufm_none_var_component.osc +rtpbusy <= UFM_altufm_none_var:UFM_altufm_none_var_component.rtpbusy + + +|RAM2GS|UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component +arclk => maxii_ufm_block1.ARCLK +ardin => maxii_ufm_block1.ARDIN +arshft => maxii_ufm_block1.ARSHFT +busy <= maxii_ufm_block1.BUSY +drclk => maxii_ufm_block1.DRCLK +drdin => maxii_ufm_block1.DRDIN +drdout <= maxii_ufm_block1.DRDOUT +drshft => maxii_ufm_block1.DRSHFT +erase => maxii_ufm_block1.ERASE +osc <= maxii_ufm_block1.OSC +oscena => maxii_ufm_block1.OSCENA +program => maxii_ufm_block1.PROGRAM +rtpbusy <= maxii_ufm_block1.BGPBUSY + + diff --git a/CPLD/MAXII/db/RAM2GS.hif b/CPLD/MAXII/db/RAM2GS.hif index 8668e73d9428d7debb0dcec9611b0ba13fd4cab1..5c82f053b87f75c491d743be86fa2eda7e7a57c2 100644 GIT binary patch literal 598 zcmV-c0;&D14*>uG0001Zob8ldZ<{a_hVL!yKUnI`c9GO}aRR-|GLkYS&_R-03yeuD z@zEI*tt$KPGbC#(1?@xHt~P;X^PXe-ob%XxYGS3E8r~~e2(S~XmQ@L{Gsa^C-#0Q( z;be*+a;^!vCI~w)`UqE23+Sd&8(%wAit(TZyB{2|(v(7e;Gl zJa%`d9)ZyaM%u(;7Ee^H9^rkg4>cT(I*VJTgZgR4?(W0tY?k8nluN@E6s4B>5rnff zSw`l&)|HC)0;EZM(#CJmyD=}b0p$wj)n0N|J#?AFCotP?0%n|8=+1+s?`^zO;$Mv` zk88ndQP!qRN73z6HHr(C$y|W8Dn+V{-li3A3KLY_?xj97Nvq<5?CX|4-7NI{Cd*p?B1{(N+SHYm z<}R^gtcKx|3%KMz+`kUD5JjaP`|@reY kSvS^CPEb2=JZ=Xx#;fANjLRRNxy~yWT7Wm-07$Ja(N@uG0001ZoNZ2B3&JoAd@uMP0zP-P#p(JgZVZ_^9rSff7qGAo={muG zZ|4RIN)qnK-G!X`!q~op)aV+CLeuHC0WLl6G1&CFDq*!|z~n-Rgk;d&z(cXBQioMWY+!Sj$ce+o{$#y)&Zr1 g5;o=E{g_bkHko9N-;rNo4%fE6S7?#UUJVyT`fgEGod5s; diff --git a/CPLD/MAXII/db/RAM2GS.lpc.html b/CPLD/MAXII/db/RAM2GS.lpc.html new file mode 100644 index 0000000..0cdbcc5 --- /dev/null +++ b/CPLD/MAXII/db/RAM2GS.lpc.html @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HierarchyInputConstant InputUnused InputFloating InputOutputConstant OutputUnused OutputFloating OutputBidirConstant BidirUnused BidirInput only BidirOutput only Bidir
UFM_inst|UFM_altufm_none_var_component9000400000000
UFM_inst9404444400000
diff --git a/CPLD/MAXII/db/RAM2GS.lpc.rdb b/CPLD/MAXII/db/RAM2GS.lpc.rdb new file mode 100644 index 0000000000000000000000000000000000000000..6d3ed54371614835799c58fc76c739916eee269c GIT binary patch literal 495 zcmWe(U|?9w%?KnJ7_x!T1W1Ra78Pga=P4Lk>KW=8C^(g7=AdB-9^PX$XlQD?WtYe~_n>XWIe(2Y0D?sv;7Zh-IgV@daV|7;Yr^} z&*Oi#t>bao`rT~1oZL6(wGUdO4#qunx1CfLqqC(WMtRb$H7$7pQoQqxyXV%pIJmA* z+uS2N`_0@Mv$D;W2Iky04t4VEVh?kBuN~O!%PFm$GrOS6@3iN>*<5Suy#?RYKiIaa zPX8r01H=FS6^u!V2`LN<|6G!P#p7^*<;WcenJ14#-oJnH^p(t^BLa+5?w|XZE;oTm zGgYAFRJ(=M&mB&ohQ=NYu9v^p@8((}QPLQ}(c!qvA!O&T9lv({YTaO$VlqNcUOt!O59I~M#sB{RsV>IQ literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.lpc.txt b/CPLD/MAXII/db/RAM2GS.lpc.txt new file mode 100644 index 0000000..e8e0dd8 --- /dev/null +++ b/CPLD/MAXII/db/RAM2GS.lpc.txt @@ -0,0 +1,8 @@ ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Legal Partition Candidates ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ +; Hierarchy ; Input ; Constant Input ; Unused Input ; Floating Input ; Output ; Constant Output ; Unused Output ; Floating Output ; Bidir ; Constant Bidir ; Unused Bidir ; Input only Bidir ; Output only Bidir ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ +; UFM_inst|UFM_altufm_none_var_component ; 9 ; 0 ; 0 ; 0 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; +; UFM_inst ; 9 ; 4 ; 0 ; 4 ; 4 ; 4 ; 4 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ diff --git a/CPLD/MAXII/db/RAM2GS.map.cdb b/CPLD/MAXII/db/RAM2GS.map.cdb new file mode 100644 index 0000000000000000000000000000000000000000..2cb427eb6bee3b4c055fbfd2bd5806edb9449b0b GIT binary patch literal 17424 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 literal 8969 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 Zsc}FxU^78615zB~8W93D5dZ)H|NoDT@C^U} delta 847 zcmV-V1F-z<37H6xM}Khz00000001`w00000003P90000000000000>T00000004La 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

    M7xjCWOHc!oWTv^>6{EtOFXMIXZ=3k)(-*STv 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 pe*S^L^#u4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*E6F00000002q_00000000sJ0000000000 z0009900000004La?3&wa6G0Tl6A?iW(N|Fkf_QldbK6bwTptwlr6@iZsT!zB(UgM! zyv}YmWxij_q-lzlb_$`M?9R+N-}%mEPQBgh_3p*b>ZjlDJ&ga}ogXcxvu}gX)1Ui; z4||8dR?qpn-@hNfdT_zdowzQZ*eqY2_;$Ydbr?VKt22N4?V7vs+2eD3`q$~j7OM`F zKi$u*C`SaJ#$PX;8;0kv1|R2(y@RFaJ}ssP)8BiG>3r6$JN4^E<9P~=UWe!N4$sjE zo;&k{qaU*Z>-xAm4Qg)%>$474cLM9~{J3Dc6{as5OzmXYQ1#Q{;7!cfUz&g~Ip916 zB16_!Em^B!9f5r_Kb{q6+md_klA3|`b<5c>G!fd}>9_BTg6*YY+tSvXwiS54|FuB7 z%&wO~+b1b)L&w~Av&H_;FZ079SY8y%HqhO&lZsfj%~V12qG+xHy=nL( znkCRFI_SBz zh_xA|2ZdTp2u8H>L9}v}m=85z5$wfQc#54NT34kyn~7)zHT+0krh$H(ZWUC-S~nJl z+DgE|xe$FNI9JLXh)~j7aT(6F>R;nUNvHvC;9T!yEp~}-N)MKyG-SBg5d2w35% z9Sc@eLwC-r;dCpc0;kXccB5;J8fa`Teo0Z)`NlQN{UWkx_HcMaFD$5NVWHqVcDFX+k zO?%*tT4J2bnxaiU?p6>{VK-6(C6yNhy~W_=HEO5{dGcS8nnE?SN}|Ew9rj<{=%EH~ z^l%E|2=vZ71zW*hFcwd7F4(@28lX4MMTFuh)RgSgGkIH-tHHIUme{m{`6 zS_m{4=)Sg@ebGm%6*@OG7$7jjjb>j|BZ~$Of(V`SQzo99_mP5QbUsNDFGIvZMQlUm z%waWVo0TG2sTV3`4k86{1U}P)>Xdv)uDKEDwS^Q_6Y`t{8ZZ!JVTf3ZI}Wu{^Pv^& zMfU{}O418Doo3!pcSDULN{Inh8Vh*>!$+m2q`)#XfO9rdNKveXh*SU(FGJi&jhp>4 zGGVDHDchL}^iPeYrleRgy02YWVWx`OU8ck-8OoG6MdR9s#u@`L+SQ31r%V_*>dPEB z=aY=C&CjoJccxZlO5759c`d~V4q~1R9M7r;w;BC$e5X4@E2^PX!FZN)(K01Y$iPU+ z{w)SxfCwUi42V!X#af8l%yPjih}-N8^RK3OMIr?>EB~7%Z7>)M<$tpz35wuogON`Z z40dDw0ssL2|9AmnXJBLyU|?Wq`e>ue2&9>Sm>YOf(z zT9~}Qlb5S=2s48OQ2x=g_e~)EAS?vLApLIsJ}$07@epM!3<*HFtIZ3~^FftKLX~;A zI)?Z<2E>OrI{COlRkJcg099}2_%jcv2yCbzR5h|HHUFNB>z0VpjKl7I9I#4`*qt0BsQLxMd0+~c9D0RR91|NoZc!MOkc literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.rtlv.hdb b/CPLD/MAXII/db/RAM2GS.rtlv.hdb new file mode 100644 index 0000000000000000000000000000000000000000..bd0331df2fab08a2ab914e4e5889ea6f617a73a7 GIT binary patch literal 16259 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 literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.rtlv_sg_swap.cdb b/CPLD/MAXII/db/RAM2GS.rtlv_sg_swap.cdb new file mode 100644 index 0000000000000000000000000000000000000000..69b3ae739a6fc0f9d9b00d84cc4ebf6d10731092 GIT binary patch literal 840 zcmV-O1GoGX000233jqKC0001M0BZm=00011WpZ4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*Cn500000002({00000004yn0000000000 z002k>00000004La>{ZE1!%!4WZJl+cs0$Y^bmh*CpescM7qvxNP!K|FS}nFoNm{}G z@e9QPafs(6y%}B`DN?#9UO3Hr=g#lGCOJ*hCV&-S26)T_&m7hwSr|Ndp0^BQQAj*N z`2rV>5K;GEup)$KY$EWEc=7*$f?!?5R2Sdi2#F*1@8F0m2!eeOYF<#jyup@`I;1a& z`w1N(d+}5E5`PW`)JeQo_)=7R>1!Ug@xESQ`&(ZNu#flk4Ey+bLhXz6#Tl^{&Mhvp z*sKo#`fez|R@(-y0LCw$MIS*q8VAV#W-KjNo z%eJcez2W$sD4brgn=Rz*oo?T;a4f;>Ujj2#9mB2S8Rh4Om&tZ3TvEc?7z}*XG7>a5 zya6r8zHy9ZU!Bu#rMCNjtV2Im&OikJOD`Ouka%wG^A)fL93ATUgA2V-E)~lqy;wLe z>7~o!G2gLJsWjLWQQlo$D`rWTQTg;cf#fH!x5iP`Hb@?0msYDlcUq@siD4}T8ifsd z;)g0&$#0Y~T8*c!ckWTg(Q15p{{a91|NnRa;$mQA&|qL-$giylWCYSoKr9c$&Mr>z z!S0SBuJJ*x&i;PEAwi+eA@KqJK_T(JjsZ*z5Y0I0&!_xab|j6YKlT;UI`0B1yJO-W5P<1Doj)S{9RmG8D0S8qJRG22H6BMMFfZu zu5#0RR8w1!9)~ literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.sld_design_entry_dsc.sci b/CPLD/MAXII/db/RAM2GS.sld_design_entry_dsc.sci new file mode 100644 index 0000000000000000000000000000000000000000..dcd2274afec766142d08abfe82be607ddc4193d2 GIT binary patch literal 223 zcmWe(U|?9w%?KnJ7_x!T1W1Ra78Pga=P4Lk>KW=8C^(g7=AN>OX u<(UN5Xa9SH64^YMMH_fN@E3e7{>ER_%gj& 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 dAM|4cy1r}5U|*He_;rb1qO?$?BLM`YH)$d@ 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⪚C2)k{l#Wx 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

    %;Unt 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 xrjVyMKbyYs_($TSb~`LC^= literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.tmw_info b/CPLD/MAXII/db/RAM2GS.tmw_info new file mode 100644 index 0000000..8d51757 --- /dev/null +++ b/CPLD/MAXII/db/RAM2GS.tmw_info @@ -0,0 +1,3 @@ +start_full_compilation:s +start_assembler:s-start_full_compilation +start_timing_analyzer:s-start_full_compilation diff --git a/CPLD/MAXII/db/RAM2GS.vpr.ammdb b/CPLD/MAXII/db/RAM2GS.vpr.ammdb new file mode 100644 index 0000000000000000000000000000000000000000..8c1983567ae6cc806a2d092e63b6585ed0c2d33a GIT binary patch literal 630 zcmV-+0*U<;000233jqKC0001M0BZm=00011WpZ4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*I&800000001xo00000002z@0000000000 z004FZ00000004La%vC*013?ho#2`i#tgM6x0ULWee}F=;F(5Wtq}A3kV5zni77A8= zkU}tpKR^(%Pidj}6HFA$t-EjUX5itn1Q86}ag#Um_RY@BZp9dLyJP)tD0U6_nE1Z{{}Ox-_(rLSe*=Dz751~lSMb#Xo=JQIwysx#mwV-Uw#hz+ zzv>;;zYRX0PtdauKFx>u*uF#jr!C@F5I-(@{~Ax}Ifb4H(Zlsj>1!gtax|XT|8Mpt z)kpN@^}eEd4PmcK|9-&kNdMl0Zy@zvru}UZ{s6q{{tfeV0=yrMUj*(|27jIp=D!5L z_FE0{I-jX{*2n%SJyTdu=eG|%4cR}K_BOhItE4}~yZrNcpC*3pSDF93o@e0GerJ6H z;L6W>XR+Rm=w<&D-*53<%J-P`?hvl^4(Au2#~govc;8!|*G zU$(&)zt8yo<@xDBuhx_A3y!bDU+X!K_19#7wqSR&BL5UW>reT6`fmUL0RR7Z0b*ic zWC&njU^tLv@PQFXGXb#x5Ig$%#yf`i`^NkFyTrRVF)?re1z`ZBP!Nbq^NKUm^HNh3 Q;^Q;(O3X|E00030|2xtu4FCWD literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/prev_cmp_RAM2GS-MAXII.qmsg b/CPLD/MAXII/db/prev_cmp_RAM2GS-MAXII.qmsg new file mode 100644 index 0000000..364567c --- /dev/null +++ b/CPLD/MAXII/db/prev_cmp_RAM2GS-MAXII.qmsg @@ -0,0 +1,113 @@ +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1691880810077 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Analysis & Synthesis Quartus Prime " "Running Quartus Prime Analysis & Synthesis" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1691880810093 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 12 18:53:29 2023 " "Processing started: Sat Aug 12 18:53:29 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1691880810093 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691880810093 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXII -c RAM2GS " "Command: quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXII -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691880810093 ""} +{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Analysis & Synthesis" 0 -1 1691880810414 ""} +{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Analysis & Synthesis" 0 -1 1691880810414 ""} +{ "Warning" "WVRFX_L3_VERI_XZ_EXTEND_SIGNIFICANT" "RAM2GS-MAX.v(52) " "Verilog HDL warning at RAM2GS-MAX.v(52): extended using \"x\" or \"z\"" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 52 0 0 } } } 0 10273 "Verilog HDL warning at %1!s!: extended using \"x\" or \"z\"" 1 0 "Analysis & Synthesis" 0 -1 1691880818509 ""} +{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "/onedrive/documents/github/ram2gs/cpld/ram2gs-max.v 1 1 " "Found 1 design units, including 1 entities, in source file /onedrive/documents/github/ram2gs/cpld/ram2gs-max.v" { { "Info" "ISGN_ENTITY_NAME" "1 RAM2GS " "Found entity 1: RAM2GS" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 1 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1691880818509 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691880818509 ""} +{ "Warning" "WVRFX_L2_VERI_ID_IS_SV_KEYWORD" "program UFM.v(73) " "Verilog HDL Declaration warning at UFM.v(73): \"program\" is SystemVerilog-2005 keyword" { } { { "UFM.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v" 73 0 0 } } } 0 10463 "Verilog HDL Declaration warning at %2!s!: \"%1!s!\" is SystemVerilog-2005 keyword" 1 0 "Analysis & Synthesis" 0 -1 1691880818540 ""} +{ "Warning" "WVRFX_L2_VERI_ID_IS_SV_KEYWORD" "program UFM.v(177) " "Verilog HDL Declaration warning at UFM.v(177): \"program\" is SystemVerilog-2005 keyword" { } { { "UFM.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v" 177 0 0 } } } 0 10463 "Verilog HDL Declaration warning at %2!s!: \"%1!s!\" is SystemVerilog-2005 keyword" 1 0 "Analysis & Synthesis" 0 -1 1691880818540 ""} +{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "ufm.v 2 2 " "Found 2 design units, including 2 entities, in source file ufm.v" { { "Info" "ISGN_ENTITY_NAME" "1 UFM_altufm_none_var " "Found entity 1: UFM_altufm_none_var" { } { { "UFM.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v" 47 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1691880818540 ""} { "Info" "ISGN_ENTITY_NAME" "2 UFM " "Found entity 2: UFM" { } { { "UFM.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v" 154 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1691880818540 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691880818540 ""} +{ "Info" "ISGN_START_ELABORATION_TOP" "RAM2GS " "Elaborating entity \"RAM2GS\" for the top level hierarchy" { } { } 0 12127 "Elaborating entity \"%1!s!\" for the top level hierarchy" 0 0 "Analysis & Synthesis" 0 -1 1691880818572 ""} +{ "Warning" "WVRFX_L2_VERI_EXPRESSION_TRUNCATED_TO_FIT" "32 2 RAM2GS-MAX.v(154) " "Verilog HDL assignment warning at RAM2GS-MAX.v(154): truncated value with size 32 to match size of target (2)" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 154 0 0 } } } 0 10230 "Verilog HDL assignment warning at %3!s!: truncated value with size %1!d! to match size of target (%2!d!)" 0 0 "Analysis & Synthesis" 0 -1 1691880818572 "|RAM2GS"} +{ "Warning" "WVRFX_L2_VERI_EXPRESSION_TRUNCATED_TO_FIT" "32 18 RAM2GS-MAX.v(159) " "Verilog HDL assignment warning at RAM2GS-MAX.v(159): truncated value with size 32 to match size of target (18)" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 159 0 0 } } } 0 10230 "Verilog HDL assignment warning at %3!s!: truncated value with size %1!d! to match size of target (%2!d!)" 0 0 "Analysis & Synthesis" 0 -1 1691880818572 "|RAM2GS"} +{ "Warning" "WVRFX_L2_VERI_EXPRESSION_TRUNCATED_TO_FIT" "32 4 RAM2GS-MAX.v(286) " "Verilog HDL assignment warning at RAM2GS-MAX.v(286): truncated value with size 32 to match size of target (4)" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 286 0 0 } } } 0 10230 "Verilog HDL assignment warning at %3!s!: truncated value with size %1!d! to match size of target (%2!d!)" 0 0 "Analysis & Synthesis" 0 -1 1691880818572 "|RAM2GS"} +{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "UFM UFM:UFM_inst " "Elaborating entity \"UFM\" for hierarchy \"UFM:UFM_inst\"" { } { { "../RAM2GS-MAX.v" "UFM_inst" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 83 0 0 } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1691880818587 ""} +{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "UFM_altufm_none_var UFM:UFM_inst\|UFM_altufm_none_var:UFM_altufm_none_var_component " "Elaborating entity \"UFM_altufm_none_var\" for hierarchy \"UFM:UFM_inst\|UFM_altufm_none_var:UFM_altufm_none_var_component\"" { } { { "UFM.v" "UFM_altufm_none_var_component" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v" 205 0 0 } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1691880818587 ""} +{ "Warning" "WVRFX_VERI_DISPLAY_SYSTEM_CALL_WARNING" " Memory initialization file RAM2GS.mif is not found. This may result in inconsistent simulation results. UFM.v(145) " "Verilog HDL Display System Task warning at UFM.v(145): Memory initialization file RAM2GS.mif is not found. This may result in inconsistent simulation results." { } { { "UFM.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v" 145 0 0 } } } 0 10649 "Verilog HDL Display System Task warning at %2!s!: %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691880818603 "|RAM2GS|UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component"} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[0\] RD\[0\] " "Output pin \"Dout\[0\]\" driven by bidirectional pin \"RD\[0\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 52 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691880818887 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[1\] RD\[1\] " "Output pin \"Dout\[1\]\" driven by bidirectional pin \"RD\[1\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 52 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691880818887 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[2\] RD\[2\] " "Output pin \"Dout\[2\]\" driven by bidirectional pin \"RD\[2\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 52 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691880818887 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[3\] RD\[3\] " "Output pin \"Dout\[3\]\" driven by bidirectional pin \"RD\[3\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 52 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691880818887 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[4\] RD\[4\] " "Output pin \"Dout\[4\]\" driven by bidirectional pin \"RD\[4\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 52 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691880818887 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[5\] RD\[5\] " "Output pin \"Dout\[5\]\" driven by bidirectional pin \"RD\[5\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 52 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691880818887 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[6\] RD\[6\] " "Output pin \"Dout\[6\]\" driven by bidirectional pin \"RD\[6\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 52 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691880818887 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[7\] RD\[7\] " "Output pin \"Dout\[7\]\" driven by bidirectional pin \"RD\[7\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 52 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691880818887 ""} +{ "Info" "ICUT_CUT_TM_SUMMARY" "243 " "Implemented 243 device resources after synthesis - the final resource count might be different" { { "Info" "ICUT_CUT_TM_IPINS" "25 " "Implemented 25 input pins" { } { } 0 21058 "Implemented %1!d! input pins" 0 0 "Design Software" 0 -1 1691880818918 ""} { "Info" "ICUT_CUT_TM_OPINS" "29 " "Implemented 29 output pins" { } { } 0 21059 "Implemented %1!d! output pins" 0 0 "Design Software" 0 -1 1691880818918 ""} { "Info" "ICUT_CUT_TM_BIDIRS" "8 " "Implemented 8 bidirectional pins" { } { } 0 21060 "Implemented %1!d! bidirectional pins" 0 0 "Design Software" 0 -1 1691880818918 ""} { "Info" "ICUT_CUT_TM_LCELLS" "180 " "Implemented 180 logic cells" { } { } 0 21061 "Implemented %1!d! logic cells" 0 0 "Design Software" 0 -1 1691880818918 ""} { "Info" "ICUT_CUT_TM_UFMS" "1 " "Implemented 1 User Flash Memory blocks" { } { } 0 21070 "Implemented %1!d! User Flash Memory blocks" 0 0 "Design Software" 0 -1 1691880818918 ""} } { } 0 21057 "Implemented %1!d! device resources after synthesis - the final resource count might be different" 0 0 "Analysis & Synthesis" 0 -1 1691880818918 ""} +{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.map.smsg " "Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.map.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691880818965 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Analysis & Synthesis 0 s 13 s Quartus Prime " "Quartus Prime Analysis & Synthesis was successful. 0 errors, 13 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4702 " "Peak virtual memory: 4702 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1691880818996 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 12 18:53:38 2023 " "Processing ended: Sat Aug 12 18:53:38 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1691880818996 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:09 " "Elapsed time: 00:00:09" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1691880818996 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:21 " "Total CPU time (on all processors): 00:00:21" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1691880818996 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Analysis & Synthesis" 0 -1 1691880818996 ""} +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Analysis & Synthesis" 0 -1 1691880820181 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Fitter Quartus Prime " "Running Quartus Prime Fitter" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1691880820196 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 12 18:53:39 2023 " "Processing started: Sat Aug 12 18:53:39 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1691880820196 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Fitter" 0 -1 1691880820196 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_fit --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS " "Command: quartus_fit --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Fitter" 0 -1 1691880820196 ""} +{ "Info" "0" "" "qfit2_default_script.tcl version: #1" { } { } 0 0 "qfit2_default_script.tcl version: #1" 0 0 "Fitter" 0 0 1691880820306 ""} +{ "Info" "0" "" "Project = RAM2GS-MAXII" { } { } 0 0 "Project = RAM2GS-MAXII" 0 0 "Fitter" 0 0 1691880820306 ""} +{ "Info" "0" "" "Revision = RAM2GS" { } { } 0 0 "Revision = RAM2GS" 0 0 "Fitter" 0 0 1691880820306 ""} +{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Fitter" 0 -1 1691880820353 ""} +{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Fitter" 0 -1 1691880820353 ""} +{ "Info" "IMPP_MPP_USER_DEVICE" "RAM2GS EPM240T100C5 " "Selected device EPM240T100C5 for design \"RAM2GS\"" { } { } 0 119006 "Selected device %2!s! for design \"%1!s!\"" 0 0 "Fitter" 0 -1 1691880820353 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1691880820384 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1691880820384 ""} +{ "Info" "IFITCC_FITCC_INFO_AUTO_FIT_COMPILATION_ON" "" "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" { } { } 0 171003 "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" 0 0 "Fitter" 0 -1 1691880820415 ""} +{ "Warning" "WCPT_FEATURE_DISABLED_POST" "LogicLock " "Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." { } { } 0 292013 "Feature %1!s! is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." 0 0 "Fitter" 0 -1 1691880820415 ""} +{ "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED" "" "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" { { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM240T100I5 " "Device EPM240T100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691880820525 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM240T100A5 " "Device EPM240T100A5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691880820525 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100C5 " "Device EPM570T100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691880820525 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100I5 " "Device EPM570T100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691880820525 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100A5 " "Device EPM570T100A5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691880820525 ""} } { } 2 176444 "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" 0 0 "Fitter" 0 -1 1691880820525 ""} +{ "Critical Warning" "WSTA_SDC_NOT_FOUND" "RAM2GS.sdc " "Synopsys Design Constraints File file not found: 'RAM2GS.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." { } { } 1 332012 "Synopsys Design Constraints File file not found: '%1!s!'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." 0 0 "Fitter" 0 -1 1691880820571 ""} +{ "Info" "ISTA_NO_CLOCK_FOUND_NO_DERIVING_MSG" "base clocks " "No user constrained base clocks found in the design" { } { } 0 332144 "No user constrained %1!s! found in the design" 0 0 "Fitter" 0 -1 1691880820571 ""} +{ "Info" "ISTA_DEFAULT_TDC_OPTIMIZATION_GOALS" "" "Timing requirements not specified -- optimizing circuit to achieve the following default global requirements" { { "Info" "ISTA_ASSUMED_DEFAULT_TDC_REQUIREMENT" "" "Assuming a default timing requirement" { } { } 0 332127 "Assuming a default timing requirement" 0 0 "Design Software" 0 -1 1691880820571 ""} } { } 0 332128 "Timing requirements not specified -- optimizing circuit to achieve the following default global requirements" 0 0 "Fitter" 0 -1 1691880820571 ""} +{ "Info" "ISTA_REPORT_CLOCKS_INFO" "Found 6 clocks " "Found 6 clocks" { { "Info" "ISTA_REPORT_CLOCKS_INFO" " Period Clock Name " " Period Clock Name" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880820571 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" "======== ============ " "======== ============" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880820571 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 ARCLK " " 1.000 ARCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880820571 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 DRCLK " " 1.000 DRCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880820571 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 nCCAS " " 1.000 nCCAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880820571 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 nCRAS " " 1.000 nCRAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880820571 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 PHI2 " " 1.000 PHI2" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880820571 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 RCLK " " 1.000 RCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691880820571 ""} } { } 0 332111 "%1!s!" 0 0 "Fitter" 0 -1 1691880820571 ""} +{ "Extra Info" "IFSAC_FSAC_START_REG_LOCATION_PROCESSING" "" "Performing register packing on registers with non-logic cell location assignments" { } { } 1 176273 "Performing register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1691880820571 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_REG_LOCATION_PROCESSING" "" "Completed register packing on registers with non-logic cell location assignments" { } { } 1 176274 "Completed register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1691880820571 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "User Assigned Global Signals Promotion Operation " "Completed User Assigned Global Signals Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1691880820571 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_ALL_TO_GLOBAL" "RCLK Global clock in PIN 12 " "Automatically promoted signal \"RCLK\" to use Global clock in PIN 12" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 34 -1 0 } } } 0 186215 "Automatically promoted signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691880820587 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "PHI2 Global clock " "Automatically promoted some destinations of signal \"PHI2\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "PHI2r " "Destination \"PHI2r\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 13 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691880820587 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691880820587 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "PHI2 " "Pin \"PHI2\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { PHI2 } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "PHI2" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 329 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691880820587 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCRAS Global clock " "Automatically promoted some destinations of signal \"nCRAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RASr " "Destination \"RASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 14 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691880820587 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691880820587 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCRAS " "Pin \"nCRAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCRAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCRAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 331 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691880820587 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCCAS Global clock " "Automatically promoted some destinations of signal \"nCCAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CBR " "Destination \"CBR\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 17 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691880820587 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "comb~2 " "Destination \"comb~2\" may be non-global or may not use global clock" { } { } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691880820587 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CASr " "Destination \"CASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 15 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691880820587 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691880820587 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCCAS " "Pin \"nCCAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCCAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCCAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 330 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691880820587 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "Auto Global Promotion Operation " "Completed Auto Global Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1691880820587 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_START_FYGR_REGPACKING_INFO" "" "Starting register packing" { } { } 0 176234 "Starting register packing" 0 0 "Fitter" 0 -1 1691880820587 ""} +{ "Extra Info" "IFSAC_FSAC_START_LUT_PACKING" "" "Moving registers into LUTs to improve timing and density" { } { } 1 176244 "Moving registers into LUTs to improve timing and density" 1 0 "Fitter" 0 -1 1691880820603 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_HEADER" "" "Started processing fast register assignments" { } { } 0 186468 "Started processing fast register assignments" 0 0 "Fitter" 0 -1 1691880820618 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_FOOTER" "" "Finished processing fast register assignments" { } { } 0 186469 "Finished processing fast register assignments" 0 0 "Fitter" 0 -1 1691880820618 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_LUT_PACKING" "00:00:00 " "Finished moving registers into LUTs: elapsed time is 00:00:00" { } { } 1 176245 "Finished moving registers into LUTs: elapsed time is %1!s!" 1 0 "Fitter" 0 -1 1691880820618 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_REGPACKING_INFO" "" "Finished register packing" { } { } 0 176235 "Finished register packing" 0 0 "Fitter" 0 -1 1691880820618 ""} +{ "Info" "IFITCC_FITTER_PREPARATION_END" "00:00:00 " "Fitter preparation operations ending: elapsed time is 00:00:00" { } { } 0 171121 "Fitter preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691880820650 ""} +{ "Info" "IVPR20K_VPR_FAMILY_APL_ERROR" "" "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." { } { } 0 14896 "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." 0 0 "Fitter" 0 -1 1691880820650 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_START" "" "Fitter placement preparation operations beginning" { } { } 0 170189 "Fitter placement preparation operations beginning" 0 0 "Fitter" 0 -1 1691880820728 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_END" "00:00:00 " "Fitter placement preparation operations ending: elapsed time is 00:00:00" { } { } 0 170190 "Fitter placement preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691880820837 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_START" "" "Fitter placement operations beginning" { } { } 0 170191 "Fitter placement operations beginning" 0 0 "Fitter" 0 -1 1691880820837 ""} +{ "Info" "IFITAPI_FITAPI_INFO_VPR_PLACEMENT_FINISH" "" "Fitter placement was successful" { } { } 0 170137 "Fitter placement was successful" 0 0 "Fitter" 0 -1 1691880821181 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_END" "00:00:00 " "Fitter placement operations ending: elapsed time is 00:00:00" { } { } 0 170192 "Fitter placement operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691880821181 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_START" "" "Fitter routing operations beginning" { } { } 0 170193 "Fitter routing operations beginning" 0 0 "Fitter" 0 -1 1691880821196 ""} +{ "Info" "IFITAPI_FITAPI_VPR_PERCENT_ROUTING_RESOURCE_USAGE" "19 " "Router estimated average interconnect usage is 19% of the available device resources" { { "Info" "IFITAPI_FITAPI_VPR_PEAK_ROUTING_REGION" "19 X0_Y0 X8_Y5 " "Router estimated peak interconnect usage is 19% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5" { } { { "loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 1 { 0 "Router estimated peak interconnect usage is 19% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5"} { { 12 { 0 ""} 0 0 9 6 } } } } } } } 0 170196 "Router estimated peak interconnect usage is %1!d!%% of the available device resources in the region that extends from location %2!s! to location %3!s!" 0 0 "Design Software" 0 -1 1691880821306 ""} } { } 0 170195 "Router estimated average interconnect usage is %1!d!%% of the available device resources" 0 0 "Fitter" 0 -1 1691880821306 ""} +{ "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED" "" "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." { { "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED_FOR_ROUTABILITY" "" "Optimizations that may affect the design's routability were skipped" { } { } 0 170201 "Optimizations that may affect the design's routability were skipped" 0 0 "Design Software" 0 -1 1691880821446 ""} } { } 0 170199 "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." 0 0 "Fitter" 0 -1 1691880821446 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_END" "00:00:00 " "Fitter routing operations ending: elapsed time is 00:00:00" { } { } 0 170194 "Fitter routing operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691880821446 ""} +{ "Info" "IVPR20K_VPR_TIMING_ANALYSIS_TIME" "the Fitter 0.23 " "Total time spent on timing analysis during the Fitter is 0.23 seconds." { } { } 0 11888 "Total time spent on timing analysis during %1!s! is %2!s! seconds." 0 0 "Fitter" 0 -1 1691880821462 ""} +{ "Info" "IFITCC_FITTER_POST_OPERATION_END" "00:00:00 " "Fitter post-fit operations ending: elapsed time is 00:00:00" { } { } 0 11218 "Fitter post-fit operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691880821462 ""} +{ "Warning" "WFIOMGR_RESERVE_ASSIGNMENT_FOR_UNUSED_PINS_IS_DEFAULT" "As output driving ground " "The Reserve All Unused Pins setting has not been specified, and will default to 'As output driving ground'." { } { } 0 169174 "The Reserve All Unused Pins setting has not been specified, and will default to '%1!s!'." 0 0 "Fitter" 0 -1 1691880821493 ""} +{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg " "Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Fitter" 0 -1 1691880821525 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Fitter 0 s 4 s Quartus Prime " "Quartus Prime Fitter was successful. 0 errors, 4 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "5344 " "Peak virtual memory: 5344 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1691880821540 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 12 18:53:41 2023 " "Processing ended: Sat Aug 12 18:53:41 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1691880821540 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:02 " "Elapsed time: 00:00:02" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1691880821540 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:02 " "Total CPU time (on all processors): 00:00:02" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1691880821540 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Fitter" 0 -1 1691880821540 ""} +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Fitter" 0 -1 1691880822540 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus Prime " "Running Quartus Prime Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1691880822540 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 12 18:53:42 2023 " "Processing started: Sat Aug 12 18:53:42 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1691880822540 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Assembler" 0 -1 1691880822540 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS " "Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Assembler" 0 -1 1691880822540 ""} +{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Assembler" 0 -1 1691880822775 ""} +{ "Info" "IASM_ASM_GENERATING_POWER_DATA" "" "Writing out detailed assembly data for power analysis" { } { } 0 115031 "Writing out detailed assembly data for power analysis" 0 0 "Assembler" 0 -1 1691880822790 ""} +{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Assembler is generating device programming files" { } { } 0 115030 "Assembler is generating device programming files" 0 0 "Assembler" 0 -1 1691880822790 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 1 Quartus Prime " "Quartus Prime Assembler was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4661 " "Peak virtual memory: 4661 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1691880822900 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 12 18:53:42 2023 " "Processing ended: Sat Aug 12 18:53:42 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1691880822900 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:00 " "Elapsed time: 00:00:00" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1691880822900 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:00 " "Total CPU time (on all processors): 00:00:00" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1691880822900 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Assembler" 0 -1 1691880822900 ""} +{ "Info" "IFLOW_DISABLED_MODULE" "Power Analyzer FLOW_ENABLE_POWER_ANALYZER " "Skipped module Power Analyzer due to the assignment FLOW_ENABLE_POWER_ANALYZER" { } { } 0 293026 "Skipped module %1!s! due to the assignment %2!s!" 0 0 "Assembler" 0 -1 1691880823493 ""} +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Assembler" 0 -1 1691880824025 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Timing Analyzer Quartus Prime " "Running Quartus Prime Timing Analyzer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1691880824040 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 12 18:53:43 2023 " "Processing started: Sat Aug 12 18:53:43 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1691880824040 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Timing Analyzer" 0 -1 1691880824040 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_sta RAM2GS-MAXII -c RAM2GS " "Command: quartus_sta RAM2GS-MAXII -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Timing Analyzer" 0 -1 1691880824040 ""} +{ "Info" "0" "" "qsta_default_script.tcl version: #1" { } { } 0 0 "qsta_default_script.tcl version: #1" 0 0 "Timing Analyzer" 0 0 1691880824150 ""} +{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Timing Analyzer" 0 -1 1691880824290 ""} +{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Timing Analyzer" 0 -1 1691880824290 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1691880824321 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1691880824321 ""} +{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Timing Analyzer" 0 -1 1691880824353 ""} +{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Timing Analyzer" 0 -1 1691880824493 ""} +{ "Critical Warning" "WSTA_SDC_NOT_FOUND" "RAM2GS.sdc " "Synopsys Design Constraints File file not found: 'RAM2GS.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." { } { } 1 332012 "Synopsys Design Constraints File file not found: '%1!s!'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." 0 0 "Timing Analyzer" 0 -1 1691880824525 ""} +{ "Info" "ISTA_NO_CLOCK_FOUND_DERIVING" "base clocks \"derive_clocks -period 1.0\" " "No user constrained base clocks found in the design. Calling \"derive_clocks -period 1.0\"" { } { } 0 332142 "No user constrained %1!s! found in the design. Calling %2!s!" 0 0 "Timing Analyzer" 0 -1 1691880824525 ""} +{ "Info" "ISTA_DERIVE_CLOCKS_INFO" "Deriving Clocks " "Deriving Clocks" { { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name nCCAS nCCAS " "create_clock -period 1.000 -name nCCAS nCCAS" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691880824525 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name nCRAS nCRAS " "create_clock -period 1.000 -name nCRAS nCRAS" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691880824525 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name RCLK RCLK " "create_clock -period 1.000 -name RCLK RCLK" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691880824525 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name PHI2 PHI2 " "create_clock -period 1.000 -name PHI2 PHI2" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691880824525 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name DRCLK DRCLK " "create_clock -period 1.000 -name DRCLK DRCLK" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691880824525 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name ARCLK ARCLK " "create_clock -period 1.000 -name ARCLK ARCLK" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691880824525 ""} } { } 0 332105 "%1!s!" 0 0 "Timing Analyzer" 0 -1 1691880824525 ""} +{ "Info" "0" "" "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" { } { } 0 0 "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" 0 0 "Timing Analyzer" 0 0 1691880824525 ""} +{ "Info" "0" "" "Can't run Report Timing Closure Recommendations. The current device family is not supported." { } { } 0 0 "Can't run Report Timing Closure Recommendations. The current device family is not supported." 0 0 "Timing Analyzer" 0 0 1691880824540 ""} +{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1691880824540 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "setup -99.000 " "Worst-case setup slack is -99.000" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824540 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824540 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -99.000 -99.000 ARCLK " " -99.000 -99.000 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824540 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -99.000 -99.000 DRCLK " " -99.000 -99.000 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824540 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -8.919 -92.622 PHI2 " " -8.919 -92.622 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824540 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -8.036 -241.671 RCLK " " -8.036 -241.671 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824540 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.777 -2.512 nCRAS " " -0.777 -2.512 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824540 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1691880824540 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "hold -16.785 " "Worst-case hold slack is -16.785" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -16.785 -16.785 DRCLK " " -16.785 -16.785 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -16.266 -16.266 ARCLK " " -16.266 -16.266 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.047 -2.078 RCLK " " -1.047 -2.078 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.276 -0.276 PHI2 " " -0.276 -0.276 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.031 -0.048 nCRAS " " -0.031 -0.048 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1691880824556 ""} +{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1691880824556 ""} +{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1691880824556 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width -29.500 " "Worst-case minimum pulse width slack is -29.500" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -29.500 -59.000 ARCLK " " -29.500 -59.000 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -29.500 -59.000 DRCLK " " -29.500 -59.000 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -2.289 -2.289 PHI2 " " -2.289 -2.289 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -2.289 -2.289 RCLK " " -2.289 -2.289 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -2.289 -2.289 nCCAS " " -2.289 -2.289 nCCAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -2.289 -2.289 nCRAS " " -2.289 -2.289 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691880824556 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1691880824556 ""} +{ "Info" "ISTA_METASTABILITY_REPORT_DISABLED" "" "The selected device family is not supported by the report_metastability command." { } { } 0 332001 "The selected device family is not supported by the report_metastability command." 0 0 "Timing Analyzer" 0 -1 1691880824603 ""} +{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "setup " "Design is not fully constrained for setup requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1691880824634 ""} +{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "hold " "Design is not fully constrained for hold requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1691880824634 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Timing Analyzer 0 s 3 s Quartus Prime " "Quartus Prime Timing Analyzer was successful. 0 errors, 3 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4676 " "Peak virtual memory: 4676 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1691880824681 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 12 18:53:44 2023 " "Processing ended: Sat Aug 12 18:53:44 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1691880824681 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1691880824681 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1691880824681 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Timing Analyzer" 0 -1 1691880824681 ""} +{ "Info" "IFLOW_ERROR_COUNT" "Full Compilation 0 s 21 s " "Quartus Prime Full Compilation was successful. 0 errors, 21 warnings" { } { } 0 293000 "Quartus Prime %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Timing Analyzer" 0 -1 1691880825306 ""} diff --git a/CPLD/MAXII/greybox_tmp/cbx_args.txt b/CPLD/MAXII/greybox_tmp/cbx_args.txt new file mode 100644 index 0000000..1e60991 --- /dev/null +++ b/CPLD/MAXII/greybox_tmp/cbx_args.txt @@ -0,0 +1,25 @@ +ERASE_TIME=500000000 +INTENDED_DEVICE_FAMILY="MAX II" +LPM_FILE=RAM2GS.mif +LPM_HINT=UNUSED +LPM_TYPE=altufm_none +OSC_FREQUENCY=180000 +PORT_ARCLKENA=PORT_UNUSED +PORT_DRCLKENA=PORT_UNUSED +PROGRAM_TIME=1600000 +WIDTH_UFM_ADDRESS=9 +DEVICE_FAMILY="MAX II" +CBX_AUTO_BLACKBOX=ALL +arclk +ardin +arshft +busy +drclk +drdin +drdout +drshft +erase +osc +oscena +program +rtpbusy diff --git a/CPLD/MAXII/incremental_db/README b/CPLD/MAXII/incremental_db/README new file mode 100644 index 0000000..9f62dcd --- /dev/null +++ b/CPLD/MAXII/incremental_db/README @@ -0,0 +1,11 @@ +This folder contains data for incremental compilation. + +The compiled_partitions sub-folder contains previous compilation results for each partition. +As long as this folder is preserved, incremental compilation results from earlier compiles +can be re-used. To perform a clean compilation from source files for all partitions, both +the db and incremental_db folder should be removed. + +The imported_partitions sub-folder contains the last imported QXP for each imported partition. +As long as this folder is preserved, imported partitions will be automatically re-imported +when the db or incremental_db/compiled_partitions folders are removed. + diff --git a/CPLD/MAXII/incremental_db/compiled_partitions/RAM2GS.db_info b/CPLD/MAXII/incremental_db/compiled_partitions/RAM2GS.db_info new file mode 100644 index 0000000..55ce4ec --- /dev/null +++ b/CPLD/MAXII/incremental_db/compiled_partitions/RAM2GS.db_info @@ -0,0 +1,3 @@ +Quartus_Version = Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition +Version_Index = 503488000 +Creation_Time = Sat Aug 12 18:47:27 2023 diff --git a/CPLD/MAXII/incremental_db/compiled_partitions/RAM2GS.root_partition.map.kpt b/CPLD/MAXII/incremental_db/compiled_partitions/RAM2GS.root_partition.map.kpt new file mode 100644 index 0000000000000000000000000000000000000000..10ac0b4df58dce8fd377b4e25a30a0a15346821f GIT binary patch literal 2590 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 A1ONa4 literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/output_files/RAM2GS.asm.rpt b/CPLD/MAXII/output_files/RAM2GS.asm.rpt new file mode 100644 index 0000000..cc5b707 --- /dev/null +++ b/CPLD/MAXII/output_files/RAM2GS.asm.rpt @@ -0,0 +1,92 @@ +Assembler report for RAM2GS +Sat Aug 12 18:54:27 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Assembler Summary + 3. Assembler Settings + 4. Assembler Generated Files + 5. Assembler Device Options: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pof + 6. Assembler Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++---------------------------------------------------------------+ +; Assembler Summary ; ++-----------------------+---------------------------------------+ +; Assembler Status ; Successful - Sat Aug 12 18:54:27 2023 ; +; Revision Name ; RAM2GS ; +; Top-level Entity Name ; RAM2GS ; +; Family ; MAX II ; +; Device ; EPM240T100C5 ; ++-----------------------+---------------------------------------+ + + ++----------------------------------+ +; Assembler Settings ; ++--------+---------+---------------+ +; Option ; Setting ; Default Value ; ++--------+---------+---------------+ + + ++------------------------------------------------------------------------+ +; Assembler Generated Files ; ++------------------------------------------------------------------------+ +; File Name ; ++------------------------------------------------------------------------+ +; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pof ; ++------------------------------------------------------------------------+ + + ++--------------------------------------------------------------------------------------------------+ +; Assembler Device Options: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pof ; ++----------------+---------------------------------------------------------------------------------+ +; Option ; Setting ; ++----------------+---------------------------------------------------------------------------------+ +; JTAG usercode ; 0x00172B88 ; +; Checksum ; 0x00172F80 ; ++----------------+---------------------------------------------------------------------------------+ + + ++--------------------+ +; Assembler Messages ; ++--------------------+ +Info: ******************************************************************* +Info: Running Quartus Prime Assembler + Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + Info: Processing started: Sat Aug 12 18:54:27 2023 +Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS +Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance. +Info (115031): Writing out detailed assembly data for power analysis +Info (115030): Assembler is generating device programming files +Info: Quartus Prime Assembler was successful. 0 errors, 1 warning + Info: Peak virtual memory: 4661 megabytes + Info: Processing ended: Sat Aug 12 18:54:27 2023 + Info: Elapsed time: 00:00:00 + Info: Total CPU time (on all processors): 00:00:00 + + diff --git a/CPLD/MAXII/output_files/RAM2GS.cdf b/CPLD/MAXII/output_files/RAM2GS.cdf new file mode 100644 index 0000000..700406a --- /dev/null +++ b/CPLD/MAXII/output_files/RAM2GS.cdf @@ -0,0 +1,13 @@ +/* Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition */ +JedecChain; + FileRevision(JESD32A); + DefaultMfr(6E); + + P ActionCode(Cfg) + Device PartName(EPM240T100) Path("D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/") File("RAM2GS.pof") MfrSpec(OpMask(3) SEC_Device(EPM240T100) Child_OpMask(2 3 3)); + +ChainEnd; + +AlteraBegin; + ChainType(JTAG); +AlteraEnd; diff --git a/CPLD/MAXII/output_files/RAM2GS.done b/CPLD/MAXII/output_files/RAM2GS.done new file mode 100644 index 0000000..a5558c6 --- /dev/null +++ b/CPLD/MAXII/output_files/RAM2GS.done @@ -0,0 +1 @@ +Sat Aug 12 18:54:30 2023 diff --git a/CPLD/MAXII/output_files/RAM2GS.fit.rpt b/CPLD/MAXII/output_files/RAM2GS.fit.rpt new file mode 100644 index 0000000..2dce144 --- /dev/null +++ b/CPLD/MAXII/output_files/RAM2GS.fit.rpt @@ -0,0 +1,759 @@ +Fitter report for RAM2GS +Sat Aug 12 18:54:26 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Fitter Summary + 3. Fitter Settings + 4. Parallel Compilation + 5. Pin-Out File + 6. Fitter Resource Usage Summary + 7. Input Pins + 8. Output Pins + 9. Bidir Pins + 10. I/O Bank Usage + 11. All Package Pins + 12. Output Pin Default Load For Reported TCO + 13. Fitter Resource Utilization by Entity + 14. Delay Chain Summary + 15. Control Signals + 16. Global & Other Fast Signals + 17. Routing Usage Summary + 18. LAB Logic Elements + 19. LAB-wide Signals + 20. LAB Signals Sourced + 21. LAB Signals Sourced Out + 22. LAB Distinct Inputs + 23. Fitter Device Options + 24. Estimated Delay Added for Hold Timing Summary + 25. Estimated Delay Added for Hold Timing Details + 26. Fitter Messages + 27. Fitter Suppressed Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++---------------------------------------------------------------------+ +; Fitter Summary ; ++-----------------------+---------------------------------------------+ +; Fitter Status ; Successful - Sat Aug 12 18:54:26 2023 ; +; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; +; Revision Name ; RAM2GS ; +; Top-level Entity Name ; RAM2GS ; +; Family ; MAX II ; +; Device ; EPM240T100C5 ; +; Timing Models ; Final ; +; Total logic elements ; 171 / 240 ( 71 % ) ; +; Total pins ; 62 / 80 ( 78 % ) ; +; Total virtual pins ; 0 ; +; UFM blocks ; 1 / 1 ( 100 % ) ; ++-----------------------+---------------------------------------------+ + + ++--------------------------------------------------------------------------------------------------------------------------------------+ +; Fitter Settings ; ++--------------------------------------------------------------------+--------------------------------+--------------------------------+ +; Option ; Setting ; Default Value ; ++--------------------------------------------------------------------+--------------------------------+--------------------------------+ +; Device ; EPM240T100C5 ; ; +; Minimum Core Junction Temperature ; 0 ; ; +; Maximum Core Junction Temperature ; 85 ; ; +; Fit Attempts to Skip ; 0 ; 0.0 ; +; Use smart compilation ; Off ; Off ; +; Enable parallel Assembler and Timing Analyzer during compilation ; On ; On ; +; Enable compact report table ; Off ; Off ; +; Router Timing Optimization Level ; Normal ; Normal ; +; Placement Effort Multiplier ; 1.0 ; 1.0 ; +; Router Effort Multiplier ; 1.0 ; 1.0 ; +; Always Enable Input Buffers ; Off ; Off ; +; Optimize Hold Timing ; IO Paths and Minimum TPD Paths ; IO Paths and Minimum TPD Paths ; +; Optimize Multi-Corner Timing ; Off ; Off ; +; Guarantee I/O Paths Have Zero Hold Time at Fast Corner ; On ; On ; +; Power Optimization During Fitting ; Normal compilation ; Normal compilation ; +; Optimize Timing ; Normal compilation ; Normal compilation ; +; Optimize Timing for ECOs ; Off ; Off ; +; Regenerate Full Fit Report During ECO Compiles ; Off ; Off ; +; Optimize IOC Register Placement for Timing ; Normal ; Normal ; +; Limit to One Fitting Attempt ; Off ; Off ; +; Final Placement Optimizations ; Automatically ; Automatically ; +; Fitter Aggressive Routability Optimizations ; Automatically ; Automatically ; +; Fitter Initial Placement Seed ; 1 ; 1 ; +; Periphery to Core Placement and Routing Optimization ; Off ; Off ; +; Slow Slew Rate ; Off ; Off ; +; PCI I/O ; Off ; Off ; +; Weak Pull-Up Resistor ; Off ; Off ; +; Enable Bus-Hold Circuitry ; Off ; Off ; +; Auto Delay Chains ; On ; On ; +; Auto Delay Chains for High Fanout Input Pins ; Off ; Off ; +; Perform Physical Synthesis for Combinational Logic for Performance ; Off ; Off ; +; Perform Register Duplication for Performance ; Off ; Off ; +; Perform Register Retiming for Performance ; Off ; Off ; +; Perform Asynchronous Signal Pipelining ; Off ; Off ; +; Fitter Effort ; Auto Fit ; Auto Fit ; +; Physical Synthesis Effort Level ; Normal ; Normal ; +; Logic Cell Insertion - Logic Duplication ; Auto ; Auto ; +; Auto Register Duplication ; Auto ; Auto ; +; Auto Global Clock ; On ; On ; +; Auto Global Register Control Signals ; On ; On ; +; Force Fitter to Avoid Periphery Placement Warnings ; Off ; Off ; ++--------------------------------------------------------------------+--------------------------------+--------------------------------+ + + ++------------------------------------------+ +; Parallel Compilation ; ++----------------------------+-------------+ +; Processors ; Number ; ++----------------------------+-------------+ +; Number detected on machine ; 8 ; +; Maximum allowed ; 4 ; +; ; ; +; Average used ; 1.05 ; +; Maximum used ; 4 ; +; ; ; +; Usage by Processor ; % Time Used ; +; Processor 1 ; 100.0% ; +; Processor 2 ; 1.6% ; +; Processors 3-4 ; 1.5% ; ++----------------------------+-------------+ + + ++--------------+ +; Pin-Out File ; ++--------------+ +The pin-out file can be found in D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pin. + + ++---------------------------------------------------------------------+ +; Fitter Resource Usage Summary ; ++---------------------------------------------+-----------------------+ +; Resource ; Usage ; ++---------------------------------------------+-----------------------+ +; Total logic elements ; 171 / 240 ( 71 % ) ; +; -- Combinational with no register ; 75 ; +; -- Register only ; 20 ; +; -- Combinational with a register ; 76 ; +; ; ; +; Logic element usage by number of LUT inputs ; ; +; -- 4 input functions ; 57 ; +; -- 3 input functions ; 42 ; +; -- 2 input functions ; 43 ; +; -- 1 input functions ; 8 ; +; -- 0 input functions ; 1 ; +; ; ; +; Logic elements by mode ; ; +; -- normal mode ; 155 ; +; -- arithmetic mode ; 16 ; +; -- qfbk mode ; 7 ; +; -- register cascade mode ; 0 ; +; -- synchronous clear/load mode ; 23 ; +; -- asynchronous clear/load mode ; 0 ; +; ; ; +; Total registers ; 96 / 240 ( 40 % ) ; +; Total LABs ; 21 / 24 ( 88 % ) ; +; Logic elements in carry chains ; 17 ; +; Virtual pins ; 0 ; +; I/O pins ; 62 / 80 ( 78 % ) ; +; -- Clock pins ; 2 / 4 ( 50 % ) ; +; ; ; +; UFM blocks ; 1 / 1 ( 100 % ) ; +; ; ; +; -- Total Fixed Point DSP Blocks ; 0 ; +; -- Total Floating Point DSP Blocks ; 0 ; +; ; ; +; Global signals ; 4 ; +; -- Global clocks ; 4 / 4 ( 100 % ) ; +; JTAGs ; 0 / 1 ( 0 % ) ; +; Average interconnect usage (total/H/V) ; 22.5% / 22.5% / 22.6% ; +; Peak interconnect usage (total/H/V) ; 22.5% / 22.5% / 22.6% ; +; Maximum fan-out ; 54 ; +; Highest non-global fan-out ; 40 ; +; Total fan-out ; 643 ; +; Average fan-out ; 2.75 ; ++---------------------------------------------+-----------------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Input Pins ; ++---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ +; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Combinational Fan-Out ; Registered Fan-Out ; Global ; PCI I/O Enabled ; Bus Hold ; Weak Pull Up ; I/O Standard ; Location assigned by ; Slow Slew Rate ; ++---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ +; CROW[0] ; 54 ; 2 ; 8 ; 1 ; 2 ; 1 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; CROW[1] ; 55 ; 2 ; 8 ; 1 ; 1 ; 1 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[0] ; 42 ; 1 ; 5 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[1] ; 36 ; 1 ; 4 ; 0 ; 2 ; 4 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[2] ; 35 ; 1 ; 3 ; 0 ; 0 ; 5 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[3] ; 37 ; 1 ; 4 ; 0 ; 1 ; 5 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[4] ; 39 ; 1 ; 5 ; 0 ; 3 ; 7 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[5] ; 38 ; 1 ; 4 ; 0 ; 0 ; 8 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[6] ; 41 ; 1 ; 5 ; 0 ; 1 ; 7 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[7] ; 40 ; 1 ; 5 ; 0 ; 2 ; 5 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[0] ; 49 ; 1 ; 7 ; 0 ; 2 ; 5 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[1] ; 51 ; 1 ; 7 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[2] ; 50 ; 1 ; 7 ; 0 ; 1 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[3] ; 71 ; 2 ; 8 ; 4 ; 3 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[4] ; 70 ; 2 ; 8 ; 4 ; 4 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[5] ; 69 ; 2 ; 8 ; 3 ; 0 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[6] ; 72 ; 2 ; 8 ; 4 ; 2 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[7] ; 68 ; 2 ; 8 ; 3 ; 1 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[8] ; 73 ; 2 ; 8 ; 4 ; 1 ; 2 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[9] ; 74 ; 2 ; 8 ; 4 ; 0 ; 4 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; PHI2 ; 52 ; 2 ; 8 ; 1 ; 4 ; 21 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; RCLK ; 12 ; 1 ; 1 ; 3 ; 3 ; 54 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; nCCAS ; 53 ; 2 ; 8 ; 1 ; 3 ; 11 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; nCRAS ; 67 ; 2 ; 8 ; 3 ; 2 ; 15 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; nFWE ; 48 ; 1 ; 6 ; 0 ; 0 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; ++---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Output Pins ; ++---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Output Register ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; TRI Primitive ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Fast Output Connection ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; ++---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; Dout[0] ; 33 ; 1 ; 3 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; Dout[1] ; 57 ; 2 ; 8 ; 2 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; Dout[2] ; 56 ; 2 ; 8 ; 1 ; 0 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; Dout[3] ; 47 ; 1 ; 6 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; Dout[4] ; 44 ; 1 ; 6 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; Dout[5] ; 28 ; 1 ; 2 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; Dout[6] ; 34 ; 1 ; 3 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; Dout[7] ; 43 ; 1 ; 6 ; 0 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[0] ; 18 ; 1 ; 1 ; 1 ; 0 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[10] ; 16 ; 1 ; 1 ; 2 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[11] ; 7 ; 1 ; 1 ; 3 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[1] ; 20 ; 1 ; 1 ; 1 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[2] ; 30 ; 1 ; 3 ; 0 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[3] ; 27 ; 1 ; 2 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[4] ; 26 ; 1 ; 2 ; 0 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[5] ; 29 ; 1 ; 2 ; 0 ; 0 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[6] ; 21 ; 1 ; 1 ; 1 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[7] ; 19 ; 1 ; 1 ; 1 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[8] ; 17 ; 1 ; 1 ; 2 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RA[9] ; 15 ; 1 ; 1 ; 2 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; yes ; User ; 10 pF ; - ; - ; +; RBA[0] ; 5 ; 1 ; 1 ; 4 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; RBA[1] ; 14 ; 1 ; 1 ; 2 ; 0 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; RCKE ; 8 ; 1 ; 1 ; 3 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RDQMH ; 2 ; 1 ; 1 ; 4 ; 0 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; RDQML ; 98 ; 2 ; 2 ; 5 ; 0 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; - ; - ; +; nRCAS ; 4 ; 1 ; 1 ; 4 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; nRCS ; 3 ; 1 ; 1 ; 4 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; nRRAS ; 6 ; 1 ; 1 ; 3 ; 0 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; nRWE ; 100 ; 2 ; 2 ; 5 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; ++---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Bidir Pins ; ++-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Combinational Fan-Out ; Registered Fan-Out ; Global ; Output Register ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Fast Output Connection ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; ++-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; RD[0] ; 96 ; 2 ; 3 ; 5 ; 2 ; 1 ; 0 ; no ; no ; yes ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; comb~2 ; - ; +; RD[1] ; 90 ; 2 ; 4 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; yes ; User ; 10 pF ; comb~2 ; - ; +; RD[2] ; 89 ; 2 ; 4 ; 5 ; 0 ; 1 ; 0 ; no ; no ; yes ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; comb~2 ; - ; +; RD[3] ; 99 ; 2 ; 2 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; comb~2 ; - ; +; RD[4] ; 92 ; 2 ; 3 ; 5 ; 0 ; 1 ; 0 ; no ; no ; yes ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; comb~2 ; - ; +; RD[5] ; 91 ; 2 ; 4 ; 5 ; 2 ; 1 ; 0 ; no ; no ; yes ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; comb~2 ; - ; +; RD[6] ; 95 ; 2 ; 3 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; comb~2 ; - ; +; RD[7] ; 97 ; 2 ; 3 ; 5 ; 3 ; 1 ; 0 ; no ; no ; yes ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 8mA ; no ; User ; 10 pF ; comb~2 ; - ; ++-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ + + ++-------------------------------------------------------------+ +; I/O Bank Usage ; ++----------+-------------------+---------------+--------------+ +; I/O Bank ; Usage ; VCCIO Voltage ; VREF Voltage ; ++----------+-------------------+---------------+--------------+ +; 1 ; 38 / 38 ( 100 % ) ; 3.3V ; -- ; +; 2 ; 24 / 42 ( 57 % ) ; 3.3V ; -- ; ++----------+-------------------+---------------+--------------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------------+ +; All Package Pins ; ++----------+------------+----------+----------------+--------+--------------+-----------+------------+-----------------+----------+--------------+ +; Location ; Pad Number ; I/O Bank ; Pin Name/Usage ; Dir. ; I/O Standard ; Voltage ; I/O Type ; User Assignment ; Bus Hold ; Weak Pull Up ; ++----------+------------+----------+----------------+--------+--------------+-----------+------------+-----------------+----------+--------------+ +; 1 ; 83 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 2 ; 0 ; 1 ; RDQMH ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 3 ; 1 ; 1 ; nRCS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 4 ; 2 ; 1 ; nRCAS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 5 ; 3 ; 1 ; RBA[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 6 ; 4 ; 1 ; nRRAS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 7 ; 5 ; 1 ; RA[11] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 8 ; 6 ; 1 ; RCKE ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 9 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 10 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 11 ; ; ; GNDINT ; gnd ; ; ; -- ; ; -- ; -- ; +; 12 ; 7 ; 1 ; RCLK ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 13 ; ; ; VCCINT ; power ; ; 2.5V/3.3V ; -- ; ; -- ; -- ; +; 14 ; 8 ; 1 ; RBA[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 15 ; 9 ; 1 ; RA[9] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 16 ; 10 ; 1 ; RA[10] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 17 ; 11 ; 1 ; RA[8] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 18 ; 12 ; 1 ; RA[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 19 ; 13 ; 1 ; RA[7] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 20 ; 14 ; 1 ; RA[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 21 ; 15 ; 1 ; RA[6] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 22 ; 16 ; 1 ; #TMS ; input ; ; ; -- ; ; -- ; -- ; +; 23 ; 17 ; 1 ; #TDI ; input ; ; ; -- ; ; -- ; -- ; +; 24 ; 18 ; 1 ; #TCK ; input ; ; ; -- ; ; -- ; -- ; +; 25 ; 19 ; 1 ; #TDO ; output ; ; ; -- ; ; -- ; -- ; +; 26 ; 20 ; 1 ; RA[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 27 ; 21 ; 1 ; RA[3] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 28 ; 22 ; 1 ; Dout[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 29 ; 23 ; 1 ; RA[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 30 ; 24 ; 1 ; RA[2] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 31 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 32 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 33 ; 25 ; 1 ; Dout[0] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 34 ; 26 ; 1 ; Dout[6] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 35 ; 27 ; 1 ; Din[2] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 36 ; 28 ; 1 ; Din[1] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 37 ; 29 ; 1 ; Din[3] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 38 ; 30 ; 1 ; Din[5] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 39 ; 31 ; 1 ; Din[4] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 40 ; 32 ; 1 ; Din[7] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 41 ; 33 ; 1 ; Din[6] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 42 ; 34 ; 1 ; Din[0] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 43 ; 35 ; 1 ; Dout[7] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 44 ; 36 ; 1 ; Dout[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 45 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 46 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 47 ; 37 ; 1 ; Dout[3] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 48 ; 38 ; 1 ; nFWE ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 49 ; 39 ; 1 ; MAin[0] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 50 ; 40 ; 1 ; MAin[2] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 51 ; 41 ; 1 ; MAin[1] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 52 ; 42 ; 2 ; PHI2 ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 53 ; 43 ; 2 ; nCCAS ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 54 ; 44 ; 2 ; CROW[0] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 55 ; 45 ; 2 ; CROW[1] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 56 ; 46 ; 2 ; Dout[2] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 57 ; 47 ; 2 ; Dout[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 58 ; 48 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 59 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 60 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 61 ; 49 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 62 ; 50 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 63 ; ; ; VCCINT ; power ; ; 2.5V/3.3V ; -- ; ; -- ; -- ; +; 64 ; 51 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 65 ; ; ; GNDINT ; gnd ; ; ; -- ; ; -- ; -- ; +; 66 ; 52 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 67 ; 53 ; 2 ; nCRAS ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 68 ; 54 ; 2 ; MAin[7] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 69 ; 55 ; 2 ; MAin[5] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 70 ; 56 ; 2 ; MAin[4] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 71 ; 57 ; 2 ; MAin[3] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 72 ; 58 ; 2 ; MAin[6] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 73 ; 59 ; 2 ; MAin[8] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 74 ; 60 ; 2 ; MAin[9] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 75 ; 61 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 76 ; 62 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 77 ; 63 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 78 ; 64 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 79 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 80 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 81 ; 65 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 82 ; 66 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 83 ; 67 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 84 ; 68 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 85 ; 69 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 86 ; 70 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 87 ; 71 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 88 ; 72 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 89 ; 73 ; 2 ; RD[2] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 90 ; 74 ; 2 ; RD[1] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 91 ; 75 ; 2 ; RD[5] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 92 ; 76 ; 2 ; RD[4] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 93 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 94 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 95 ; 77 ; 2 ; RD[6] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 96 ; 78 ; 2 ; RD[0] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 97 ; 79 ; 2 ; RD[7] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 98 ; 80 ; 2 ; RDQML ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 99 ; 81 ; 2 ; RD[3] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 100 ; 82 ; 2 ; nRWE ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; ++----------+------------+----------+----------------+--------+--------------+-----------+------------+-----------------+----------+--------------+ +Note: Pin directions (input, output or bidir) are based on device operating in user mode. + + ++-------------------------------------------------------------+ +; Output Pin Default Load For Reported TCO ; ++----------------------------+-------+------------------------+ +; I/O Standard ; Load ; Termination Resistance ; ++----------------------------+-------+------------------------+ +; 3.3-V LVTTL ; 10 pF ; Not Available ; +; 3.3-V LVCMOS ; 10 pF ; Not Available ; +; 2.5 V ; 10 pF ; Not Available ; +; 1.8 V ; 10 pF ; Not Available ; +; 1.5 V ; 10 pF ; Not Available ; +; 3.3V Schmitt Trigger Input ; 10 pF ; Not Available ; +; 2.5V Schmitt Trigger Input ; 10 pF ; Not Available ; ++----------------------------+-------+------------------------+ +Note: User assignments will override these defaults. The user specified values are listed in the Output Pins and Bidir Pins tables. + + ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Fitter Resource Utilization by Entity ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; UFM Blocks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Entity Name ; Library Name ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; |RAM2GS ; 171 (171) ; 96 ; 1 ; 62 ; 0 ; 75 (75) ; 20 (20) ; 76 (76) ; 17 (17) ; 7 (7) ; |RAM2GS ; RAM2GS ; work ; +; |UFM:UFM_inst| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst ; UFM ; work ; +; |UFM_altufm_none_var:UFM_altufm_none_var_component| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component ; UFM_altufm_none_var ; work ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. + + ++------------------------------------+ +; Delay Chain Summary ; ++---------+----------+---------------+ +; Name ; Pin Type ; Pad to Core 0 ; ++---------+----------+---------------+ +; Dout[0] ; Output ; -- ; +; Dout[1] ; Output ; -- ; +; Dout[2] ; Output ; -- ; +; Dout[3] ; Output ; -- ; +; Dout[4] ; Output ; -- ; +; Dout[5] ; Output ; -- ; +; Dout[6] ; Output ; -- ; +; Dout[7] ; Output ; -- ; +; RBA[0] ; Output ; -- ; +; RBA[1] ; Output ; -- ; +; RA[0] ; Output ; -- ; +; RA[1] ; Output ; -- ; +; RA[2] ; Output ; -- ; +; RA[3] ; Output ; -- ; +; RA[4] ; Output ; -- ; +; RA[5] ; Output ; -- ; +; RA[6] ; Output ; -- ; +; RA[7] ; Output ; -- ; +; RA[8] ; Output ; -- ; +; RA[9] ; Output ; -- ; +; RA[10] ; Output ; -- ; +; RA[11] ; Output ; -- ; +; nRCS ; Output ; -- ; +; RCKE ; Output ; -- ; +; nRWE ; Output ; -- ; +; nRRAS ; Output ; -- ; +; nRCAS ; Output ; -- ; +; RDQMH ; Output ; -- ; +; RDQML ; Output ; -- ; +; RD[0] ; Bidir ; (0) ; +; RD[1] ; Bidir ; (0) ; +; RD[2] ; Bidir ; (0) ; +; RD[3] ; Bidir ; (0) ; +; RD[4] ; Bidir ; (0) ; +; RD[5] ; Bidir ; (0) ; +; RD[6] ; Bidir ; (0) ; +; RD[7] ; Bidir ; (0) ; +; MAin[0] ; Input ; (0) ; +; MAin[1] ; Input ; (0) ; +; MAin[2] ; Input ; (0) ; +; MAin[3] ; Input ; (0) ; +; MAin[4] ; Input ; (0) ; +; MAin[5] ; Input ; (0) ; +; MAin[6] ; Input ; (0) ; +; MAin[7] ; Input ; (0) ; +; MAin[8] ; Input ; (0) ; +; MAin[9] ; Input ; (0) ; +; CROW[0] ; Input ; (1) ; +; nCRAS ; Input ; (0) ; +; CROW[1] ; Input ; (1) ; +; RCLK ; Input ; (0) ; +; PHI2 ; Input ; (0) ; +; Din[6] ; Input ; (1) ; +; nFWE ; Input ; (1) ; +; Din[0] ; Input ; (1) ; +; Din[7] ; Input ; (1) ; +; Din[1] ; Input ; (1) ; +; Din[4] ; Input ; (1) ; +; Din[2] ; Input ; (1) ; +; Din[3] ; Input ; (1) ; +; Din[5] ; Input ; (1) ; +; nCCAS ; Input ; (0) ; ++---------+----------+---------------+ + + ++---------------------------------------------------------------------------------------------------------------------+ +; Control Signals ; ++----------------+-------------+---------+-------------------------+--------+----------------------+------------------+ +; Name ; Location ; Fan-Out ; Usage ; Global ; Global Resource Used ; Global Line Name ; ++----------------+-------------+---------+-------------------------+--------+----------------------+------------------+ +; CmdDRDIn~0 ; LC_X5_Y3_N4 ; 4 ; Clock enable ; no ; -- ; -- ; +; CmdSubmitted~0 ; LC_X5_Y1_N0 ; 2 ; Clock enable ; no ; -- ; -- ; +; PHI2 ; PIN_52 ; 21 ; Clock ; yes ; Global Clock ; GCLK3 ; +; RCLK ; PIN_12 ; 54 ; Clock ; yes ; Global Clock ; GCLK0 ; +; Ready ; LC_X3_Y2_N5 ; 39 ; Sync. clear, Sync. load ; no ; -- ; -- ; +; always8~5 ; LC_X5_Y2_N9 ; 3 ; Clock enable ; no ; -- ; -- ; +; comb~2 ; LC_X4_Y4_N4 ; 8 ; Output enable ; no ; -- ; -- ; +; nCCAS ; PIN_53 ; 11 ; Clock ; yes ; Global Clock ; GCLK2 ; +; nCRAS ; PIN_67 ; 15 ; Clock ; yes ; Global Clock ; GCLK1 ; ++----------------+-------------+---------+-------------------------+--------+----------------------+------------------+ + + ++----------------------------------------------------------------------+ +; Global & Other Fast Signals ; ++-------+----------+---------+----------------------+------------------+ +; Name ; Location ; Fan-Out ; Global Resource Used ; Global Line Name ; ++-------+----------+---------+----------------------+------------------+ +; PHI2 ; PIN_52 ; 21 ; Global Clock ; GCLK3 ; +; RCLK ; PIN_12 ; 54 ; Global Clock ; GCLK0 ; +; nCCAS ; PIN_53 ; 11 ; Global Clock ; GCLK2 ; +; nCRAS ; PIN_67 ; 15 ; Global Clock ; GCLK1 ; ++-------+----------+---------+----------------------+------------------+ + + ++--------------------------------------------+ +; Routing Usage Summary ; ++-----------------------+--------------------+ +; Routing Resource Type ; Usage ; ++-----------------------+--------------------+ +; C4s ; 142 / 784 ( 18 % ) ; +; Direct links ; 50 / 888 ( 6 % ) ; +; Global clocks ; 4 / 4 ( 100 % ) ; +; LAB clocks ; 14 / 32 ( 44 % ) ; +; LUT chains ; 17 / 216 ( 8 % ) ; +; Local interconnects ; 263 / 888 ( 30 % ) ; +; R4s ; 127 / 704 ( 18 % ) ; ++-----------------------+--------------------+ + + ++---------------------------------------------------------------------------+ +; LAB Logic Elements ; ++--------------------------------------------+------------------------------+ +; Number of Logic Elements (Average = 8.14) ; Number of LABs (Total = 21) ; ++--------------------------------------------+------------------------------+ +; 1 ; 2 ; +; 2 ; 1 ; +; 3 ; 0 ; +; 4 ; 0 ; +; 5 ; 0 ; +; 6 ; 2 ; +; 7 ; 1 ; +; 8 ; 1 ; +; 9 ; 0 ; +; 10 ; 14 ; ++--------------------------------------------+------------------------------+ + + ++-------------------------------------------------------------------+ +; LAB-wide Signals ; ++------------------------------------+------------------------------+ +; LAB-wide Signals (Average = 1.19) ; Number of LABs (Total = 21) ; ++------------------------------------+------------------------------+ +; 1 Clock ; 13 ; +; 1 Sync. clear ; 3 ; +; 1 Sync. load ; 1 ; +; 2 Clocks ; 8 ; ++------------------------------------+------------------------------+ + + ++----------------------------------------------------------------------------+ +; LAB Signals Sourced ; ++---------------------------------------------+------------------------------+ +; Number of Signals Sourced (Average = 8.43) ; Number of LABs (Total = 21) ; ++---------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 2 ; +; 2 ; 1 ; +; 3 ; 0 ; +; 4 ; 0 ; +; 5 ; 0 ; +; 6 ; 2 ; +; 7 ; 1 ; +; 8 ; 1 ; +; 9 ; 0 ; +; 10 ; 10 ; +; 11 ; 2 ; +; 12 ; 2 ; ++---------------------------------------------+------------------------------+ + + ++--------------------------------------------------------------------------------+ +; LAB Signals Sourced Out ; ++-------------------------------------------------+------------------------------+ +; Number of Signals Sourced Out (Average = 5.43) ; Number of LABs (Total = 21) ; ++-------------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 2 ; +; 2 ; 2 ; +; 3 ; 4 ; +; 4 ; 0 ; +; 5 ; 2 ; +; 6 ; 3 ; +; 7 ; 2 ; +; 8 ; 3 ; +; 9 ; 0 ; +; 10 ; 3 ; ++-------------------------------------------------+------------------------------+ + + ++-----------------------------------------------------------------------------+ +; LAB Distinct Inputs ; ++----------------------------------------------+------------------------------+ +; Number of Distinct Inputs (Average = 10.19) ; Number of LABs (Total = 21) ; ++----------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 0 ; +; 2 ; 4 ; +; 3 ; 1 ; +; 4 ; 0 ; +; 5 ; 0 ; +; 6 ; 0 ; +; 7 ; 0 ; +; 8 ; 2 ; +; 9 ; 0 ; +; 10 ; 3 ; +; 11 ; 0 ; +; 12 ; 3 ; +; 13 ; 3 ; +; 14 ; 2 ; +; 15 ; 1 ; +; 16 ; 0 ; +; 17 ; 0 ; +; 18 ; 1 ; +; 19 ; 0 ; +; 20 ; 0 ; +; 21 ; 1 ; ++----------------------------------------------+------------------------------+ + + ++-------------------------------------------------------------------------+ +; Fitter Device Options ; ++----------------------------------------------+--------------------------+ +; Option ; Setting ; ++----------------------------------------------+--------------------------+ +; Enable user-supplied start-up clock (CLKUSR) ; Off ; +; Enable device-wide reset (DEV_CLRn) ; Off ; +; Enable device-wide output enable (DEV_OE) ; Off ; +; Enable INIT_DONE output ; Off ; +; Configuration scheme ; Passive Serial ; +; Reserve all unused pins ; As output driving ground ; ++----------------------------------------------+--------------------------+ + + ++------------------------------------------------------------+ +; Estimated Delay Added for Hold Timing Summary ; ++-----------------+----------------------+-------------------+ +; Source Clock(s) ; Destination Clock(s) ; Delay Added in ns ; ++-----------------+----------------------+-------------------+ +; I/O ; RCLK ; 4.0 ; +; I/O ; nCRAS ; 3.0 ; ++-----------------+----------------------+-------------------+ +Note: For more information on problematic transfers, consider running the Fitter again with the Optimize hold timing option (Settings Menu) turned off. +This will disable optimization of problematic paths and expose them for further analysis using the Timing Analyzer. + + ++------------------------------------------------------------+ +; Estimated Delay Added for Hold Timing Details ; ++-----------------+----------------------+-------------------+ +; Source Register ; Destination Register ; Delay Added in ns ; ++-----------------+----------------------+-------------------+ +; nCCAS ; CBR ; 3.041 ; +; PHI2 ; PHI2r ; 1.523 ; +; nCRAS ; RASr ; 1.214 ; ++-----------------+----------------------+-------------------+ +Note: This table only shows the top 3 path(s) that have the largest delay added for hold. + + ++-----------------+ +; Fitter Messages ; ++-----------------+ +Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance. +Info (20030): Parallel compilation is enabled and will use 4 of the 4 processors detected +Info (119006): Selected device EPM240T100C5 for design "RAM2GS" +Info (21077): Low junction temperature is 0 degrees C +Info (21077): High junction temperature is 85 degrees C +Info (171003): Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time +Warning (292013): Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature. +Info (176444): Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices + Info (176445): Device EPM240T100I5 is compatible + Info (176445): Device EPM240T100A5 is compatible + Info (176445): Device EPM570T100C5 is compatible + Info (176445): Device EPM570T100I5 is compatible + Info (176445): Device EPM570T100A5 is compatible +Critical Warning (332012): Synopsys Design Constraints File file not found: 'RAM2GS.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design. +Info (332144): No user constrained base clocks found in the design +Info (332128): Timing requirements not specified -- optimizing circuit to achieve the following default global requirements + Info (332127): Assuming a default timing requirement +Info (332111): Found 6 clocks + Info (332111): Period Clock Name + Info (332111): ======== ============ + Info (332111): 1.000 ARCLK + Info (332111): 1.000 DRCLK + Info (332111): 1.000 nCCAS + Info (332111): 1.000 nCRAS + Info (332111): 1.000 PHI2 + Info (332111): 1.000 RCLK +Info (186079): Completed User Assigned Global Signals Promotion Operation +Info (186215): Automatically promoted signal "RCLK" to use Global clock in PIN 12 File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 34 +Info (186216): Automatically promoted some destinations of signal "PHI2" to use Global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 7 + Info (186217): Destination "PHI2r" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 13 +Info (186228): Pin "PHI2" drives global clock, but is not placed in a dedicated clock pin position File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 7 +Info (186216): Automatically promoted some destinations of signal "nCRAS" to use Global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 + Info (186217): Destination "RASr" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 14 +Info (186228): Pin "nCRAS" drives global clock, but is not placed in a dedicated clock pin position File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 +Info (186216): Automatically promoted some destinations of signal "nCCAS" to use Global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 + Info (186217): Destination "CBR" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 17 + Info (186217): Destination "comb~2" may be non-global or may not use global clock + Info (186217): Destination "CASr" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 15 +Info (186228): Pin "nCCAS" drives global clock, but is not placed in a dedicated clock pin position File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 +Info (186079): Completed Auto Global Promotion Operation +Info (176234): Starting register packing +Info (186468): Started processing fast register assignments +Info (186469): Finished processing fast register assignments +Info (176235): Finished register packing +Info (171121): Fitter preparation operations ending: elapsed time is 00:00:00 +Info (14896): Fitter has disabled Advanced Physical Optimization because it is not supported for the current family. +Info (170189): Fitter placement preparation operations beginning +Info (170190): Fitter placement preparation operations ending: elapsed time is 00:00:00 +Info (170191): Fitter placement operations beginning +Info (170137): Fitter placement was successful +Info (170192): Fitter placement operations ending: elapsed time is 00:00:00 +Info (170193): Fitter routing operations beginning +Info (170195): Router estimated average interconnect usage is 19% of the available device resources + Info (170196): Router estimated peak interconnect usage is 19% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5 +Info (170199): The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time. + Info (170201): Optimizations that may affect the design's routability were skipped +Info (170194): Fitter routing operations ending: elapsed time is 00:00:00 +Info (11888): Total time spent on timing analysis during the Fitter is 0.23 seconds. +Info (11218): Fitter post-fit operations ending: elapsed time is 00:00:00 +Warning (169174): The Reserve All Unused Pins setting has not been specified, and will default to 'As output driving ground'. +Info (144001): Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg +Info: Quartus Prime Fitter was successful. 0 errors, 4 warnings + Info: Peak virtual memory: 5346 megabytes + Info: Processing ended: Sat Aug 12 18:54:26 2023 + Info: Elapsed time: 00:00:02 + Info: Total CPU time (on all processors): 00:00:02 + + ++----------------------------+ +; Fitter Suppressed Messages ; ++----------------------------+ +The suppressed messages can be found in D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg. + + diff --git a/CPLD/MAXII/output_files/RAM2GS.fit.smsg b/CPLD/MAXII/output_files/RAM2GS.fit.smsg new file mode 100644 index 0000000..6df10d8 --- /dev/null +++ b/CPLD/MAXII/output_files/RAM2GS.fit.smsg @@ -0,0 +1,4 @@ +Extra Info (176273): Performing register packing on registers with non-logic cell location assignments +Extra Info (176274): Completed register packing on registers with non-logic cell location assignments +Extra Info (176244): Moving registers into LUTs to improve timing and density +Extra Info (176245): Finished moving registers into LUTs: elapsed time is 00:00:00 diff --git a/CPLD/MAXII/output_files/RAM2GS.fit.summary b/CPLD/MAXII/output_files/RAM2GS.fit.summary new file mode 100644 index 0000000..8e1ecb6 --- /dev/null +++ b/CPLD/MAXII/output_files/RAM2GS.fit.summary @@ -0,0 +1,11 @@ +Fitter Status : Successful - Sat Aug 12 18:54:26 2023 +Quartus Prime Version : 19.1.0 Build 670 09/22/2019 SJ Lite Edition +Revision Name : RAM2GS +Top-level Entity Name : RAM2GS +Family : MAX II +Device : EPM240T100C5 +Timing Models : Final +Total logic elements : 171 / 240 ( 71 % ) +Total pins : 62 / 80 ( 78 % ) +Total virtual pins : 0 +UFM blocks : 1 / 1 ( 100 % ) diff --git a/CPLD/MAXII/output_files/RAM2GS.flow.rpt b/CPLD/MAXII/output_files/RAM2GS.flow.rpt index 5d98ed3..7aae449 100644 --- a/CPLD/MAXII/output_files/RAM2GS.flow.rpt +++ b/CPLD/MAXII/output_files/RAM2GS.flow.rpt @@ -1,5 +1,5 @@ Flow report for RAM2GS -Sat Aug 12 18:40:53 2023 +Sat Aug 12 18:54:29 2023 Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition @@ -41,13 +41,17 @@ https://fpgasoftware.intel.com/eula. +---------------------------------------------------------------------+ ; Flow Summary ; +-----------------------+---------------------------------------------+ -; Flow Status ; Flow Failed - Sat Aug 12 18:40:53 2023 ; +; Flow Status ; Successful - Sat Aug 12 18:54:27 2023 ; ; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; ; Revision Name ; RAM2GS ; ; Top-level Entity Name ; RAM2GS ; ; Family ; MAX II ; ; Device ; EPM240T100C5 ; ; Timing Models ; Final ; +; Total logic elements ; 171 / 240 ( 71 % ) ; +; Total pins ; 62 / 80 ( 78 % ) ; +; Total virtual pins ; 0 ; +; UFM blocks ; 1 / 1 ( 100 % ) ; +-----------------------+---------------------------------------------+ @@ -56,7 +60,7 @@ https://fpgasoftware.intel.com/eula. +-------------------+---------------------+ ; Option ; Setting ; +-------------------+---------------------+ -; Start date & time ; 08/12/2023 18:40:40 ; +; Start date & time ; 08/12/2023 18:54:15 ; ; Main task ; Compilation ; ; Revision Name ; RAM2GS ; +-------------------+---------------------+ @@ -67,7 +71,7 @@ https://fpgasoftware.intel.com/eula. +---------------------------------------+---------------------------------+---------------+-------------+------------+ ; Assignment Name ; Value ; Default Value ; Entity Name ; Section Id ; +---------------------------------------+---------------------------------+---------------+-------------+------------+ -; COMPILER_SIGNATURE_ID ; 207120313862967.169188004013584 ; -- ; -- ; -- ; +; COMPILER_SIGNATURE_ID ; 207120313862967.169188085502776 ; -- ; -- ; -- ; ; MAX_CORE_JUNCTION_TEMP ; 85 ; -- ; -- ; -- ; ; MIN_CORE_JUNCTION_TEMP ; 0 ; -- ; -- ; -- ; ; POWER_EXT_SUPPLY_VOLTAGE_TO_REGULATOR ; 3.3V ; -- ; -- ; -- ; @@ -81,8 +85,11 @@ https://fpgasoftware.intel.com/eula. +----------------------+--------------+-------------------------+---------------------+------------------------------------+ ; Module Name ; Elapsed Time ; Average Processors Used ; Peak Virtual Memory ; Total CPU Time (on all processors) ; +----------------------+--------------+-------------------------+---------------------+------------------------------------+ -; Analysis & Synthesis ; 00:00:13 ; 1.0 ; 4688 MB ; 00:00:29 ; -; Total ; 00:00:13 ; -- ; -- ; 00:00:29 ; +; Analysis & Synthesis ; 00:00:09 ; 1.0 ; 4700 MB ; 00:00:21 ; +; Fitter ; 00:00:02 ; 1.0 ; 5346 MB ; 00:00:02 ; +; Assembler ; 00:00:00 ; 1.0 ; 4661 MB ; 00:00:00 ; +; Timing Analyzer ; 00:00:01 ; 1.0 ; 4676 MB ; 00:00:01 ; +; Total ; 00:00:12 ; -- ; -- ; 00:00:24 ; +----------------------+--------------+-------------------------+---------------------+------------------------------------+ @@ -92,6 +99,9 @@ https://fpgasoftware.intel.com/eula. ; Module Name ; Machine Hostname ; OS Name ; OS Version ; Processor type ; +----------------------+------------------+------------+------------+----------------+ ; Analysis & Synthesis ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; +; Fitter ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; +; Assembler ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; +; Timing Analyzer ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; +----------------------+------------------+------------+------------+----------------+ @@ -99,6 +109,9 @@ https://fpgasoftware.intel.com/eula. ; Flow Log ; ------------ quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXII -c RAM2GS +quartus_fit --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS +quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS +quartus_sta RAM2GS-MAXII -c RAM2GS diff --git a/CPLD/MAXII/output_files/RAM2GS.jdi b/CPLD/MAXII/output_files/RAM2GS.jdi new file mode 100644 index 0000000..4294046 --- /dev/null +++ b/CPLD/MAXII/output_files/RAM2GS.jdi @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/CPLD/MAXII/output_files/RAM2GS.map.rpt b/CPLD/MAXII/output_files/RAM2GS.map.rpt index c920a8a..796fd17 100644 --- a/CPLD/MAXII/output_files/RAM2GS.map.rpt +++ b/CPLD/MAXII/output_files/RAM2GS.map.rpt @@ -1,5 +1,5 @@ Analysis & Synthesis report for RAM2GS -Sat Aug 12 18:40:53 2023 +Sat Aug 12 18:54:23 2023 Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition @@ -10,7 +10,16 @@ Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition 2. Analysis & Synthesis Summary 3. Analysis & Synthesis Settings 4. Parallel Compilation - 5. Analysis & Synthesis Messages + 5. Analysis & Synthesis Source Files Read + 6. Analysis & Synthesis Resource Usage Summary + 7. Analysis & Synthesis Resource Utilization by Entity + 8. Analysis & Synthesis IP Cores Summary + 9. General Register Statistics + 10. Inverted Register Statistics + 11. Multiplexer Restructuring Statistics (Restructuring Performed) + 12. Port Connectivity Checks: "UFM:UFM_inst" + 13. Analysis & Synthesis Messages + 14. Analysis & Synthesis Suppressed Messages @@ -37,11 +46,15 @@ https://fpgasoftware.intel.com/eula. +---------------------------------------------------------------------------+ ; Analysis & Synthesis Summary ; +-----------------------------+---------------------------------------------+ -; Analysis & Synthesis Status ; Failed - Sat Aug 12 18:40:53 2023 ; +; Analysis & Synthesis Status ; Successful - Sat Aug 12 18:54:23 2023 ; ; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; ; Revision Name ; RAM2GS ; ; Top-level Entity Name ; RAM2GS ; ; Family ; MAX II ; +; Total logic elements ; 180 ; +; Total pins ; 62 ; +; Total virtual pins ; 0 ; +; UFM blocks ; 1 / 1 ( 100 % ) ; +-----------------------------+---------------------------------------------+ @@ -132,23 +145,171 @@ https://fpgasoftware.intel.com/eula. +----------------------------+-------------+ ++---------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Source Files Read ; ++----------------------------------+-----------------+----------------------------------+-------------------------------------------------------+---------+ +; File Name with User-Entered Path ; Used in Netlist ; File Type ; File Name with Absolute Path ; Library ; ++----------------------------------+-----------------+----------------------------------+-------------------------------------------------------+---------+ +; ../RAM2GS.mif ; yes ; User Memory Initialization File ; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS.mif ; ; +; ../RAM2GS-MAX.v ; yes ; User Verilog HDL File ; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v ; ; +; UFM.v ; yes ; User Wizard-Generated File ; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v ; ; ++----------------------------------+-----------------+----------------------------------+-------------------------------------------------------+---------+ + + ++-----------------------------------------------------+ +; Analysis & Synthesis Resource Usage Summary ; ++---------------------------------------------+-------+ +; Resource ; Usage ; ++---------------------------------------------+-------+ +; Total logic elements ; 180 ; +; -- Combinational with no register ; 84 ; +; -- Register only ; 29 ; +; -- Combinational with a register ; 67 ; +; ; ; +; Logic element usage by number of LUT inputs ; ; +; -- 4 input functions ; 57 ; +; -- 3 input functions ; 42 ; +; -- 2 input functions ; 43 ; +; -- 1 input functions ; 8 ; +; -- 0 input functions ; 1 ; +; ; ; +; Logic elements by mode ; ; +; -- normal mode ; 164 ; +; -- arithmetic mode ; 16 ; +; -- qfbk mode ; 0 ; +; -- register cascade mode ; 0 ; +; -- synchronous clear/load mode ; 9 ; +; -- asynchronous clear/load mode ; 0 ; +; ; ; +; Total registers ; 96 ; +; Total logic cells in carry chains ; 17 ; +; I/O pins ; 62 ; +; UFM blocks ; 1 ; +; Maximum fan-out node ; RCLK ; +; Maximum fan-out ; 54 ; +; Total fan-out ; 644 ; +; Average fan-out ; 2.65 ; ++---------------------------------------------+-------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Resource Utilization by Entity ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; UFM Blocks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Entity Name ; Library Name ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; |RAM2GS ; 180 (180) ; 96 ; 1 ; 62 ; 0 ; 84 (84) ; 29 (29) ; 67 (67) ; 17 (17) ; 0 (0) ; |RAM2GS ; RAM2GS ; work ; +; |UFM:UFM_inst| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst ; UFM ; work ; +; |UFM_altufm_none_var:UFM_altufm_none_var_component| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component ; UFM_altufm_none_var ; work ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. + + ++---------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis IP Cores Summary ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ +; Vendor ; IP Core Name ; Version ; Release Date ; License Type ; Entity Instance ; IP Include File ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ +; Altera ; ALTUFM_NONE Intel FPGA IP ; 19.1 ; N/A ; N/A ; |RAM2GS|UFM:UFM_inst ; UFM.v ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ + + ++------------------------------------------------------+ +; General Register Statistics ; ++----------------------------------------------+-------+ +; Statistic ; Value ; ++----------------------------------------------+-------+ +; Total registers ; 96 ; +; Number of registers using Synchronous Clear ; 6 ; +; Number of registers using Synchronous Load ; 3 ; +; Number of registers using Asynchronous Clear ; 0 ; +; Number of registers using Asynchronous Load ; 0 ; +; Number of registers using Clock Enable ; 8 ; +; Number of registers using Preset ; 0 ; ++----------------------------------------------+-------+ + + ++--------------------------------------------------+ +; Inverted Register Statistics ; ++----------------------------------------+---------+ +; Inverted Register ; Fan out ; ++----------------------------------------+---------+ +; nRCS~reg0 ; 1 ; +; nRWE~reg0 ; 1 ; +; nRRAS~reg0 ; 1 ; +; nRCAS~reg0 ; 1 ; +; Total number of inverted registers = 4 ; ; ++----------------------------------------+---------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------+ +; Multiplexer Restructuring Statistics (Restructuring Performed) ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ +; Multiplexer Inputs ; Bus Width ; Baseline Area ; Area if Restructured ; Saving if Restructured ; Registered ; Example Multiplexer Output ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ +; 3:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|S[0] ; +; 4:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|C1Submitted ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ + + ++-------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "UFM:UFM_inst" ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ +; ardin ; Input ; Info ; Stuck at GND ; +; busy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; osc ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; rtpbusy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ + + +-------------------------------+ ; Analysis & Synthesis Messages ; +-------------------------------+ Info: ******************************************************************* Info: Running Quartus Prime Analysis & Synthesis Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - Info: Processing started: Sat Aug 12 18:40:40 2023 + Info: Processing started: Sat Aug 12 18:54:14 2023 Info: Command: quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXII -c RAM2GS Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance. Info (20030): Parallel compilation is enabled and will use 4 of the 4 processors detected Info (12021): Found 1 design units, including 1 entities, in source file /onedrive/documents/github/ram2gs/cpld/ram2gs-max.v - Info (12023): Found entity 1: RAM4GS File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 1 -Error (12007): Top-level design entity "RAM2GS" is undefined -Error: Quartus Prime Analysis & Synthesis was unsuccessful. 1 error, 1 warning - Error: Peak virtual memory: 4688 megabytes - Error: Processing ended: Sat Aug 12 18:40:53 2023 - Error: Elapsed time: 00:00:13 - Error: Total CPU time (on all processors): 00:00:29 + Info (12023): Found entity 1: RAM2GS File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 1 +Info (12021): Found 2 design units, including 2 entities, in source file ufm.v + Info (12023): Found entity 1: UFM_altufm_none_var File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v Line: 47 + Info (12023): Found entity 2: UFM File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v Line: 154 +Info (12127): Elaborating entity "RAM2GS" for the top level hierarchy +Warning (10230): Verilog HDL assignment warning at RAM2GS-MAX.v(154): truncated value with size 32 to match size of target (2) File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 154 +Warning (10230): Verilog HDL assignment warning at RAM2GS-MAX.v(159): truncated value with size 32 to match size of target (18) File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 159 +Warning (10230): Verilog HDL assignment warning at RAM2GS-MAX.v(286): truncated value with size 32 to match size of target (4) File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 286 +Info (12128): Elaborating entity "UFM" for hierarchy "UFM:UFM_inst" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 83 +Info (12128): Elaborating entity "UFM_altufm_none_var" for hierarchy "UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v Line: 205 +Warning (10649): Verilog HDL Display System Task warning at UFM.v(145): Memory initialization file RAM2GS.mif is not found. This may result in inconsistent simulation results. File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v Line: 145 +Warning (14632): Output pin "Dout[0]" driven by bidirectional pin "RD[0]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 21 +Warning (14632): Output pin "Dout[1]" driven by bidirectional pin "RD[1]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 21 +Warning (14632): Output pin "Dout[2]" driven by bidirectional pin "RD[2]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 21 +Warning (14632): Output pin "Dout[3]" driven by bidirectional pin "RD[3]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 21 +Warning (14632): Output pin "Dout[4]" driven by bidirectional pin "RD[4]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 21 +Warning (14632): Output pin "Dout[5]" driven by bidirectional pin "RD[5]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 21 +Warning (14632): Output pin "Dout[6]" driven by bidirectional pin "RD[6]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 21 +Warning (14632): Output pin "Dout[7]" driven by bidirectional pin "RD[7]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 21 +Info (21057): Implemented 243 device resources after synthesis - the final resource count might be different + Info (21058): Implemented 25 input pins + Info (21059): Implemented 29 output pins + Info (21060): Implemented 8 bidirectional pins + Info (21061): Implemented 180 logic cells + Info (21070): Implemented 1 User Flash Memory blocks +Info (144001): Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.map.smsg +Info: Quartus Prime Analysis & Synthesis was successful. 0 errors, 13 warnings + Info: Peak virtual memory: 4700 megabytes + Info: Processing ended: Sat Aug 12 18:54:23 2023 + Info: Elapsed time: 00:00:09 + Info: Total CPU time (on all processors): 00:00:21 + + ++------------------------------------------+ +; Analysis & Synthesis Suppressed Messages ; ++------------------------------------------+ +The suppressed messages can be found in D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.map.smsg. diff --git a/CPLD/MAXII/output_files/RAM2GS.map.smsg b/CPLD/MAXII/output_files/RAM2GS.map.smsg new file mode 100644 index 0000000..65b2829 --- /dev/null +++ b/CPLD/MAXII/output_files/RAM2GS.map.smsg @@ -0,0 +1,3 @@ +Warning (10273): Verilog HDL warning at RAM2GS-MAX.v(52): extended using "x" or "z" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 52 +Warning (10463): Verilog HDL Declaration warning at UFM.v(73): "program" is SystemVerilog-2005 keyword File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v Line: 73 +Warning (10463): Verilog HDL Declaration warning at UFM.v(177): "program" is SystemVerilog-2005 keyword File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v Line: 177 diff --git a/CPLD/MAXII/output_files/RAM2GS.map.summary b/CPLD/MAXII/output_files/RAM2GS.map.summary index 3ce6ac0..cc099da 100644 --- a/CPLD/MAXII/output_files/RAM2GS.map.summary +++ b/CPLD/MAXII/output_files/RAM2GS.map.summary @@ -1,5 +1,9 @@ -Analysis & Synthesis Status : Failed - Sat Aug 12 18:40:53 2023 +Analysis & Synthesis Status : Successful - Sat Aug 12 18:54:23 2023 Quartus Prime Version : 19.1.0 Build 670 09/22/2019 SJ Lite Edition Revision Name : RAM2GS Top-level Entity Name : RAM2GS Family : MAX II +Total logic elements : 180 +Total pins : 62 +Total virtual pins : 0 +UFM blocks : 1 / 1 ( 100 % ) diff --git a/CPLD/MAXII/output_files/RAM2GS.pin b/CPLD/MAXII/output_files/RAM2GS.pin new file mode 100644 index 0000000..b0122be --- /dev/null +++ b/CPLD/MAXII/output_files/RAM2GS.pin @@ -0,0 +1,165 @@ + -- Copyright (C) 2019 Intel Corporation. All rights reserved. + -- Your use of Intel Corporation's design tools, logic functions + -- and other software and tools, and any partner logic + -- functions, and any output files from any of the foregoing + -- (including device programming or simulation files), and any + -- associated documentation or information are expressly subject + -- to the terms and conditions of the Intel Program License + -- Subscription Agreement, the Intel Quartus Prime License Agreement, + -- the Intel FPGA IP License Agreement, or other applicable license + -- agreement, including, without limitation, that your use is for + -- the sole purpose of programming logic devices manufactured by + -- Intel and sold by Intel or its authorized distributors. Please + -- refer to the applicable agreement for further details, at + -- https://fpgasoftware.intel.com/eula. + -- + -- This is a Quartus Prime output file. It is for reporting purposes only, and is + -- not intended for use as a Quartus Prime input file. This file cannot be used + -- to make Quartus Prime pin assignments - for instructions on how to make pin + -- assignments, please see Quartus Prime help. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- NC : No Connect. This pin has no internal connection to the device. + -- DNU : Do Not Use. This pin MUST NOT be connected. + -- VCCINT : Dedicated power pin, which MUST be connected to VCC (2.5V/3.3V). + -- VCCIO : Dedicated power pin, which MUST be connected to VCC + -- of its bank. + -- Bank 1: 3.3V + -- Bank 2: 3.3V + -- GND : Dedicated ground pin. Dedicated GND pins MUST be connected to GND. + -- It can also be used to report unused dedicated pins. The connection + -- on the board for unused dedicated pins depends on whether this will + -- be used in a future design. One example is device migration. When + -- using device migration, refer to the device pin-tables. If it is a + -- GND pin in the pin table or if it will not be used in a future design + -- for another purpose the it MUST be connected to GND. If it is an unused + -- dedicated pin, then it can be connected to a valid signal on the board + -- (low, high, or toggling) if that signal is required for a different + -- revision of the design. + -- GND+ : Unused input pin. It can also be used to report unused dual-purpose pins. + -- This pin should be connected to GND. It may also be connected to a + -- valid signal on the board (low, high, or toggling) if that signal + -- is required for a different revision of the design. + -- GND* : Unused I/O pin. Connect each pin marked GND* directly to GND + -- or leave it unconnected. + -- RESERVED : Unused I/O pin, which MUST be left unconnected. + -- RESERVED_INPUT : Pin is tri-stated and should be connected to the board. + -- RESERVED_INPUT_WITH_WEAK_PULLUP : Pin is tri-stated with internal weak pull-up resistor. + -- RESERVED_INPUT_WITH_BUS_HOLD : Pin is tri-stated with bus-hold circuitry. + -- RESERVED_OUTPUT_DRIVEN_HIGH : Pin is output driven high. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- Pin directions (input, output or bidir) are based on device operating in user mode. + --------------------------------------------------------------------------------- + +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition +CHIP "RAM2GS" ASSIGNED TO AN: EPM240T100C5 + +Pin Name/Usage : Location : Dir. : I/O Standard : Voltage : I/O Bank : User Assignment +------------------------------------------------------------------------------------------------------------- +GND* : 1 : : : : 2 : +RDQMH : 2 : output : 3.3-V LVCMOS : : 1 : Y +nRCS : 3 : output : 3.3-V LVCMOS : : 1 : Y +nRCAS : 4 : output : 3.3-V LVCMOS : : 1 : Y +RBA[0] : 5 : output : 3.3-V LVCMOS : : 1 : Y +nRRAS : 6 : output : 3.3-V LVCMOS : : 1 : Y +RA[11] : 7 : output : 3.3-V LVCMOS : : 1 : Y +RCKE : 8 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 9 : power : : 3.3V : 1 : +GNDIO : 10 : gnd : : : : +GNDINT : 11 : gnd : : : : +RCLK : 12 : input : 3.3-V LVCMOS : : 1 : Y +VCCINT : 13 : power : : 2.5V/3.3V : : +RBA[1] : 14 : output : 3.3-V LVCMOS : : 1 : Y +RA[9] : 15 : output : 3.3-V LVCMOS : : 1 : Y +RA[10] : 16 : output : 3.3-V LVCMOS : : 1 : Y +RA[8] : 17 : output : 3.3-V LVCMOS : : 1 : Y +RA[0] : 18 : output : 3.3-V LVCMOS : : 1 : Y +RA[7] : 19 : output : 3.3-V LVCMOS : : 1 : Y +RA[1] : 20 : output : 3.3-V LVCMOS : : 1 : Y +RA[6] : 21 : output : 3.3-V LVCMOS : : 1 : Y +TMS : 22 : input : : : 1 : +TDI : 23 : input : : : 1 : +TCK : 24 : input : : : 1 : +TDO : 25 : output : : : 1 : +RA[4] : 26 : output : 3.3-V LVCMOS : : 1 : Y +RA[3] : 27 : output : 3.3-V LVCMOS : : 1 : Y +Dout[5] : 28 : output : 3.3-V LVCMOS : : 1 : Y +RA[5] : 29 : output : 3.3-V LVCMOS : : 1 : Y +RA[2] : 30 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 31 : power : : 3.3V : 1 : +GNDIO : 32 : gnd : : : : +Dout[0] : 33 : output : 3.3-V LVCMOS : : 1 : Y +Dout[6] : 34 : output : 3.3-V LVCMOS : : 1 : Y +Din[2] : 35 : input : 3.3-V LVCMOS : : 1 : Y +Din[1] : 36 : input : 3.3-V LVCMOS : : 1 : Y +Din[3] : 37 : input : 3.3-V LVCMOS : : 1 : Y +Din[5] : 38 : input : 3.3-V LVCMOS : : 1 : Y +Din[4] : 39 : input : 3.3-V LVCMOS : : 1 : Y +Din[7] : 40 : input : 3.3-V LVCMOS : : 1 : Y +Din[6] : 41 : input : 3.3-V LVCMOS : : 1 : Y +Din[0] : 42 : input : 3.3-V LVCMOS : : 1 : Y +Dout[7] : 43 : output : 3.3-V LVCMOS : : 1 : Y +Dout[4] : 44 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 45 : power : : 3.3V : 1 : +GNDIO : 46 : gnd : : : : +Dout[3] : 47 : output : 3.3-V LVCMOS : : 1 : Y +nFWE : 48 : input : 3.3-V LVCMOS : : 1 : Y +MAin[0] : 49 : input : 3.3-V LVCMOS : : 1 : Y +MAin[2] : 50 : input : 3.3-V LVCMOS : : 1 : Y +MAin[1] : 51 : input : 3.3-V LVCMOS : : 1 : Y +PHI2 : 52 : input : 3.3-V LVCMOS : : 2 : Y +nCCAS : 53 : input : 3.3-V LVCMOS : : 2 : Y +CROW[0] : 54 : input : 3.3-V LVCMOS : : 2 : Y +CROW[1] : 55 : input : 3.3-V LVCMOS : : 2 : Y +Dout[2] : 56 : output : 3.3-V LVCMOS : : 2 : Y +Dout[1] : 57 : output : 3.3-V LVCMOS : : 2 : Y +GND* : 58 : : : : 2 : +VCCIO2 : 59 : power : : 3.3V : 2 : +GNDIO : 60 : gnd : : : : +GND* : 61 : : : : 2 : +GND* : 62 : : : : 2 : +VCCINT : 63 : power : : 2.5V/3.3V : : +GND* : 64 : : : : 2 : +GNDINT : 65 : gnd : : : : +GND* : 66 : : : : 2 : +nCRAS : 67 : input : 3.3-V LVCMOS : : 2 : Y +MAin[7] : 68 : input : 3.3-V LVCMOS : : 2 : Y +MAin[5] : 69 : input : 3.3-V LVCMOS : : 2 : Y +MAin[4] : 70 : input : 3.3-V LVCMOS : : 2 : Y +MAin[3] : 71 : input : 3.3-V LVCMOS : : 2 : Y +MAin[6] : 72 : input : 3.3-V LVCMOS : : 2 : Y +MAin[8] : 73 : input : 3.3-V LVCMOS : : 2 : Y +MAin[9] : 74 : input : 3.3-V LVCMOS : : 2 : Y +GND* : 75 : : : : 2 : +GND* : 76 : : : : 2 : +GND* : 77 : : : : 2 : +GND* : 78 : : : : 2 : +GNDIO : 79 : gnd : : : : +VCCIO2 : 80 : power : : 3.3V : 2 : +GND* : 81 : : : : 2 : +GND* : 82 : : : : 2 : +GND* : 83 : : : : 2 : +GND* : 84 : : : : 2 : +GND* : 85 : : : : 2 : +GND* : 86 : : : : 2 : +GND* : 87 : : : : 2 : +GND* : 88 : : : : 2 : +RD[2] : 89 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[1] : 90 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[5] : 91 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[4] : 92 : bidir : 3.3-V LVCMOS : : 2 : Y +GNDIO : 93 : gnd : : : : +VCCIO2 : 94 : power : : 3.3V : 2 : +RD[6] : 95 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[0] : 96 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[7] : 97 : bidir : 3.3-V LVCMOS : : 2 : Y +RDQML : 98 : output : 3.3-V LVCMOS : : 2 : Y +RD[3] : 99 : bidir : 3.3-V LVCMOS : : 2 : Y +nRWE : 100 : output : 3.3-V LVCMOS : : 2 : Y diff --git a/CPLD/MAXII/output_files/RAM2GS.pof b/CPLD/MAXII/output_files/RAM2GS.pof new file mode 100644 index 0000000000000000000000000000000000000000..a55ec1ecd8c156382b17be975a5be290d0802eff GIT binary patch literal 7861 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 diff --git a/CPLD/MAXII/output_files/RAM2GS.sta.rpt b/CPLD/MAXII/output_files/RAM2GS.sta.rpt new file mode 100644 index 0000000..3b21939 --- /dev/null +++ b/CPLD/MAXII/output_files/RAM2GS.sta.rpt @@ -0,0 +1,1006 @@ +Timing Analyzer report for RAM2GS +Sat Aug 12 18:54:29 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Timing Analyzer Summary + 3. Parallel Compilation + 4. Clocks + 5. Fmax Summary + 6. Setup Summary + 7. Hold Summary + 8. Recovery Summary + 9. Removal Summary + 10. Minimum Pulse Width Summary + 11. Setup: 'ARCLK' + 12. Setup: 'DRCLK' + 13. Setup: 'PHI2' + 14. Setup: 'RCLK' + 15. Setup: 'nCRAS' + 16. Hold: 'DRCLK' + 17. Hold: 'ARCLK' + 18. Hold: 'RCLK' + 19. Hold: 'PHI2' + 20. Hold: 'nCRAS' + 21. Setup Transfers + 22. Hold Transfers + 23. Report TCCS + 24. Report RSKM + 25. Unconstrained Paths Summary + 26. Clock Status Summary + 27. Unconstrained Input Ports + 28. Unconstrained Output Ports + 29. Unconstrained Input Ports + 30. Unconstrained Output Ports + 31. Timing Analyzer Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++-----------------------------------------------------------------------------+ +; Timing Analyzer Summary ; ++-----------------------+-----------------------------------------------------+ +; Quartus Prime Version ; Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; +; Timing Analyzer ; Legacy Timing Analyzer ; +; Revision Name ; RAM2GS ; +; Device Family ; MAX II ; +; Device Name ; EPM240T100C5 ; +; Timing Models ; Final ; +; Delay Model ; Slow Model ; +; Rise/Fall Delays ; Unavailable ; ++-----------------------+-----------------------------------------------------+ + + ++------------------------------------------+ +; Parallel Compilation ; ++----------------------------+-------------+ +; Processors ; Number ; ++----------------------------+-------------+ +; Number detected on machine ; 8 ; +; Maximum allowed ; 4 ; +; ; ; +; Average used ; 1.00 ; +; Maximum used ; 2 ; +; ; ; +; Usage by Processor ; % Time Used ; +; Processor 1 ; 100.0% ; +; Processor 2 ; 0.0% ; ++----------------------------+-------------+ + + ++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Clocks ; ++------------+------+--------+------------+-------+-------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ +; Clock Name ; Type ; Period ; Frequency ; Rise ; Fall ; Duty Cycle ; Divide by ; Multiply by ; Phase ; Offset ; Edge List ; Edge Shift ; Inverted ; Master ; Source ; Targets ; ++------------+------+--------+------------+-------+-------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ +; ARCLK ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { ARCLK } ; +; DRCLK ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { DRCLK } ; +; nCCAS ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { nCCAS } ; +; nCRAS ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { nCRAS } ; +; PHI2 ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { PHI2 } ; +; RCLK ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { RCLK } ; ++------------+------+--------+------------+-------+-------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ + + ++--------------------------------------------------+ +; Fmax Summary ; ++------------+-----------------+------------+------+ +; Fmax ; Restricted Fmax ; Clock Name ; Note ; ++------------+-----------------+------------+------+ +; 10.0 MHz ; 10.0 MHz ; ARCLK ; ; +; 10.0 MHz ; 10.0 MHz ; DRCLK ; ; +; 53.08 MHz ; 53.08 MHz ; PHI2 ; ; +; 125.66 MHz ; 125.66 MHz ; RCLK ; ; ++------------+-----------------+------------+------+ +This panel reports FMAX for every clock in the design, regardless of the user-specified clock periods. FMAX is only computed for paths where the source and destination registers or ports are driven by the same clock. Paths of different clocks, including generated clocks, are ignored. For paths between a clock and its inversion, FMAX is computed as if the rising and falling edges are scaled along with FMAX, such that the duty cycle (in terms of a percentage) is maintained. Altera recommends that you always use clock constraints and other slack reports for sign-off analysis. + + ++---------------------------------+ +; Setup Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; ARCLK ; -99.000 ; -99.000 ; +; DRCLK ; -99.000 ; -99.000 ; +; PHI2 ; -8.919 ; -92.622 ; +; RCLK ; -8.036 ; -241.671 ; +; nCRAS ; -0.777 ; -2.512 ; ++-------+---------+---------------+ + + ++---------------------------------+ +; Hold Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; DRCLK ; -16.785 ; -16.785 ; +; ARCLK ; -16.266 ; -16.266 ; +; RCLK ; -1.047 ; -2.078 ; +; PHI2 ; -0.276 ; -0.276 ; +; nCRAS ; -0.031 ; -0.048 ; ++-------+---------+---------------+ + + +-------------------- +; Recovery Summary ; +-------------------- +No paths to report. + + +------------------- +; Removal Summary ; +------------------- +No paths to report. + + ++---------------------------------+ +; Minimum Pulse Width Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; ARCLK ; -29.500 ; -59.000 ; +; DRCLK ; -29.500 ; -59.000 ; +; PHI2 ; -2.289 ; -2.289 ; +; RCLK ; -2.289 ; -2.289 ; +; nCCAS ; -2.289 ; -2.289 ; +; nCRAS ; -2.289 ; -2.289 ; ++-------+---------+---------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'ARCLK' ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -99.000 ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 1.000 ; 0.000 ; 80.000 ; +; -22.734 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 1.000 ; -2.175 ; 1.559 ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'DRCLK' ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -99.000 ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 1.000 ; 0.000 ; 80.000 ; +; -22.740 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 1.000 ; -1.642 ; 2.098 ; +; -22.215 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 1.000 ; -1.642 ; 1.573 ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++-----------------------------------------------------------------------------------------------------------+ +; Setup: 'PHI2' ; ++--------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++--------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; -8.919 ; Bank[5] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 9.086 ; +; -8.919 ; Bank[5] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 9.086 ; +; -8.858 ; Bank[5] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 9.025 ; +; -8.858 ; Bank[5] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 9.025 ; +; -8.858 ; Bank[5] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 9.025 ; +; -8.858 ; Bank[5] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 9.025 ; +; -8.767 ; Bank[6] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.934 ; +; -8.767 ; Bank[6] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.934 ; +; -8.706 ; Bank[6] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.873 ; +; -8.706 ; Bank[6] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.873 ; +; -8.706 ; Bank[6] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.873 ; +; -8.706 ; Bank[6] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.873 ; +; -8.631 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.798 ; +; -8.631 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.798 ; +; -8.570 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.737 ; +; -8.570 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.737 ; +; -8.570 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.737 ; +; -8.570 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.737 ; +; -8.466 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.633 ; +; -8.466 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.633 ; +; -8.405 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.572 ; +; -8.405 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.572 ; +; -8.405 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.572 ; +; -8.405 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.572 ; +; -8.220 ; Bank[7] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.387 ; +; -8.220 ; Bank[7] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.387 ; +; -8.159 ; Bank[7] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.326 ; +; -8.159 ; Bank[7] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.326 ; +; -8.159 ; Bank[7] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.326 ; +; -8.159 ; Bank[7] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.326 ; +; -7.978 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.145 ; +; -7.968 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.135 ; +; -7.925 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.092 ; +; -7.925 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.092 ; +; -7.864 ; Bank[3] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.031 ; +; -7.864 ; Bank[3] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.031 ; +; -7.864 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.031 ; +; -7.864 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 8.031 ; +; -7.826 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.993 ; +; -7.816 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.983 ; +; -7.702 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.869 ; +; -7.702 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.869 ; +; -7.690 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.857 ; +; -7.680 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.847 ; +; -7.641 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.808 ; +; -7.641 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.808 ; +; -7.641 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.808 ; +; -7.641 ; Bank[4] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.808 ; +; -7.525 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.692 ; +; -7.515 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.682 ; +; -7.413 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.580 ; +; -7.413 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.580 ; +; -7.352 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.519 ; +; -7.352 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.519 ; +; -7.352 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.519 ; +; -7.352 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.519 ; +; -7.279 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.446 ; +; -7.269 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.436 ; +; -6.984 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.151 ; +; -6.974 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.141 ; +; -6.761 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.928 ; +; -6.751 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.918 ; +; -6.726 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.893 ; +; -6.642 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.809 ; +; -6.642 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.809 ; +; -6.574 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.741 ; +; -6.490 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.657 ; +; -6.490 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.657 ; +; -6.472 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.639 ; +; -6.462 ; Bank[0] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.629 ; +; -6.438 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.605 ; +; -6.354 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.521 ; +; -6.354 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.521 ; +; -6.273 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.440 ; +; -6.189 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.356 ; +; -6.189 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.356 ; +; -6.027 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.194 ; +; -5.943 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.110 ; +; -5.943 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 6.110 ; +; -5.732 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 5.899 ; +; -5.648 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 5.815 ; +; -5.648 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 5.815 ; +; -5.509 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 5.676 ; +; -5.425 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 5.592 ; +; -5.425 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 5.592 ; +; -5.220 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 5.387 ; +; -5.173 ; CmdEnable ; CmdSubmitted ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 5.840 ; +; -5.173 ; CmdEnable ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 5.840 ; +; -5.136 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 5.303 ; +; -5.136 ; Bank[0] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 5.303 ; +; -5.112 ; CmdEnable ; CmdUFMErase ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 5.779 ; +; -5.112 ; CmdEnable ; CmdUFMPrgm ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 5.779 ; +; -5.112 ; CmdEnable ; CmdDRDIn ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 5.779 ; +; -5.112 ; CmdEnable ; CmdDRCLK ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 5.779 ; +; -3.396 ; XOR8MEG ; RA11 ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 3.563 ; +; -3.353 ; ADSubmitted ; CmdEnable ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 4.020 ; +; -3.343 ; ADSubmitted ; UFMOscEN ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 4.010 ; +; -3.184 ; C1Submitted ; CmdEnable ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 3.851 ; +; -3.174 ; C1Submitted ; UFMOscEN ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 3.841 ; +; -2.980 ; CmdEnable ; XOR8MEG ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 3.647 ; ++--------+-------------+--------------+--------------+-------------+--------------+------------+------------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'RCLK' ; ++--------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++--------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ +; -8.036 ; CBR ; nRCAS~reg0 ; nCRAS ; RCLK ; 0.500 ; -2.559 ; 5.644 ; +; -7.606 ; CBR ; nRCS~reg0 ; nCRAS ; RCLK ; 0.500 ; -2.559 ; 5.214 ; +; -7.568 ; FWEr ; nRCAS~reg0 ; nCRAS ; RCLK ; 0.500 ; -2.559 ; 5.176 ; +; -7.441 ; CBR ; nRWE~reg0 ; nCRAS ; RCLK ; 0.500 ; -2.559 ; 5.049 ; +; -7.125 ; CBR ; nRowColSel ; nCRAS ; RCLK ; 0.500 ; -2.559 ; 4.733 ; +; -7.066 ; FWEr ; nRCS~reg0 ; nCRAS ; RCLK ; 0.500 ; -2.559 ; 4.674 ; +; -6.958 ; FS[7] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.625 ; +; -6.908 ; FS[7] ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.575 ; +; -6.901 ; FWEr ; nRWE~reg0 ; nCRAS ; RCLK ; 0.500 ; -2.559 ; 4.509 ; +; -6.842 ; IS[3] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.509 ; +; -6.824 ; FS[7] ; DRDIn ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.491 ; +; -6.800 ; CmdSubmitted ; n8MEGEN ; PHI2 ; RCLK ; 0.500 ; -3.170 ; 3.797 ; +; -6.795 ; FS[16] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.462 ; +; -6.746 ; FS[7] ; UFMD ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.413 ; +; -6.745 ; FS[16] ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.412 ; +; -6.724 ; FS[5] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.391 ; +; -6.715 ; FS[12] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.382 ; +; -6.674 ; FS[5] ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.341 ; +; -6.673 ; CBR ; RCKEEN ; nCRAS ; RCLK ; 0.500 ; -2.559 ; 4.281 ; +; -6.661 ; FS[16] ; DRDIn ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.328 ; +; -6.658 ; FS[17] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.325 ; +; -6.616 ; FS[7] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.283 ; +; -6.608 ; FS[17] ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.275 ; +; -6.607 ; FS[7] ; DRShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.274 ; +; -6.590 ; FS[5] ; DRDIn ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.257 ; +; -6.585 ; FWEr ; nRowColSel ; nCRAS ; RCLK ; 0.500 ; -2.559 ; 4.193 ; +; -6.583 ; FS[7] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.250 ; +; -6.583 ; FS[16] ; UFMD ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.250 ; +; -6.568 ; FS[10] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.235 ; +; -6.566 ; FS[7] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.233 ; +; -6.561 ; FS[6] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.228 ; +; -6.524 ; FS[17] ; DRDIn ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.191 ; +; -6.511 ; FS[6] ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.178 ; +; -6.453 ; FS[16] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.120 ; +; -6.446 ; FS[17] ; UFMD ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.113 ; +; -6.444 ; FS[16] ; DRShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.111 ; +; -6.427 ; FS[6] ; DRDIn ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.094 ; +; -6.425 ; IS[2] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.092 ; +; -6.420 ; FS[16] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.087 ; +; -6.403 ; FS[16] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.070 ; +; -6.387 ; FS[13] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.054 ; +; -6.382 ; FS[5] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.049 ; +; -6.376 ; CmdSubmitted ; DRDIn ; PHI2 ; RCLK ; 0.500 ; -3.170 ; 3.373 ; +; -6.364 ; FS[4] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.031 ; +; -6.358 ; CmdDRCLK ; DRCLK ; PHI2 ; RCLK ; 0.500 ; -3.170 ; 3.355 ; +; -6.350 ; IS[0] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.017 ; +; -6.349 ; FS[5] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 7.016 ; +; -6.332 ; FS[5] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.999 ; +; -6.316 ; FS[17] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.983 ; +; -6.314 ; FS[4] ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.981 ; +; -6.307 ; FS[17] ; DRShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.974 ; +; -6.283 ; FS[17] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.950 ; +; -6.278 ; CmdDRDIn ; DRDIn ; PHI2 ; RCLK ; 0.500 ; -3.170 ; 3.275 ; +; -6.266 ; FS[17] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.933 ; +; -6.230 ; FS[4] ; DRDIn ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.897 ; +; -6.219 ; FS[6] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.886 ; +; -6.219 ; CmdSubmitted ; DRCLK ; PHI2 ; RCLK ; 0.500 ; -3.170 ; 3.216 ; +; -6.186 ; FS[6] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.853 ; +; -6.181 ; InitReady ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.848 ; +; -6.169 ; FS[6] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.836 ; +; -6.163 ; FWEr ; RCKEEN ; nCRAS ; RCLK ; 0.500 ; -2.559 ; 3.771 ; +; -6.137 ; RCKE~reg0 ; nRWE~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.804 ; +; -6.111 ; IS[1] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.778 ; +; -6.046 ; FS[12] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.713 ; +; -6.029 ; FS[11] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.696 ; +; -6.022 ; FS[4] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.689 ; +; -6.010 ; S[1] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.677 ; +; -5.989 ; FS[4] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.656 ; +; -5.972 ; FS[4] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.639 ; +; -5.909 ; Cmdn8MEGEN ; n8MEGEN ; PHI2 ; RCLK ; 0.500 ; -3.170 ; 2.906 ; +; -5.900 ; FS[7] ; ARShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.567 ; +; -5.899 ; FS[10] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.566 ; +; -5.898 ; InitReady ; nRWE~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.565 ; +; -5.873 ; S[0] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.540 ; +; -5.834 ; InitReady ; IS[0] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.501 ; +; -5.834 ; InitReady ; IS[3] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.501 ; +; -5.822 ; FS[8] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.489 ; +; -5.785 ; InitReady ; IS[1] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.452 ; +; -5.737 ; FS[16] ; ARShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.404 ; +; -5.727 ; S[1] ; nRWE~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.394 ; +; -5.718 ; FS[13] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.385 ; +; -5.666 ; FS[5] ; ARShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.333 ; +; -5.663 ; S[1] ; IS[0] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.330 ; +; -5.663 ; S[1] ; IS[3] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.330 ; +; -5.652 ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|wire_maxii_ufm_block1_drdout ; n8MEGEN ; DRCLK ; RCLK ; 1.000 ; 1.642 ; 7.961 ; +; -5.646 ; S[1] ; nRCAS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.313 ; +; -5.614 ; S[1] ; IS[1] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.281 ; +; -5.604 ; FS[4] ; UFMD ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.271 ; +; -5.600 ; FS[17] ; ARShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.267 ; +; -5.591 ; RASr2 ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.258 ; +; -5.590 ; S[0] ; nRWE~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.257 ; +; -5.588 ; RASr2 ; Ready ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.255 ; +; -5.571 ; FS[15] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.238 ; +; -5.558 ; FS[14] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.225 ; +; -5.526 ; S[0] ; IS[0] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.193 ; +; -5.526 ; S[0] ; IS[3] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.193 ; +; -5.525 ; FS[12] ; InitReady ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.192 ; +; -5.503 ; FS[6] ; ARShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.170 ; +; -5.477 ; S[0] ; IS[1] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.144 ; +; -5.467 ; UFMInitDone ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 6.134 ; ++--------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ + + ++--------------------------------------------------------------------------------------------------------+ +; Setup: 'nCRAS' ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; -0.777 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 0.500 ; 5.907 ; 6.851 ; +; -0.446 ; Ready ; RowA[1] ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 3.172 ; +; -0.445 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 3.171 ; +; -0.434 ; Ready ; RowA[9] ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 3.160 ; +; -0.410 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 3.136 ; +; -0.277 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 1.000 ; 5.907 ; 6.851 ; +; 0.127 ; Ready ; RowA[5] ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 2.599 ; +; 0.128 ; Ready ; RowA[2] ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 2.598 ; +; 0.137 ; Ready ; RowA[3] ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 2.589 ; +; 0.145 ; Ready ; RowA[6] ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 2.581 ; +; 0.398 ; Ready ; RowA[0] ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 2.328 ; +; 0.406 ; Ready ; RowA[8] ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 2.320 ; +; 0.463 ; Ready ; RowA[4] ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 2.263 ; +; 0.477 ; Ready ; RowA[7] ; RCLK ; nCRAS ; 0.500 ; 2.559 ; 2.249 ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Hold: 'DRCLK' ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -16.785 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; -1.642 ; 1.573 ; +; -16.260 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; -1.642 ; 2.098 ; +; 60.000 ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 0.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Hold: 'ARCLK' ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -16.266 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 0.000 ; -2.175 ; 1.559 ; +; 60.000 ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_var:UFM_altufm_none_var_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 0.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++----------------------------------------------------------------------------------------------------------+ +; Hold: 'RCLK' ; ++--------+-------------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++--------+-------------+-------------+--------------+-------------+--------------+------------+------------+ +; -1.047 ; DRCLK ; DRCLK ; DRCLK ; RCLK ; 0.000 ; 3.348 ; 2.898 ; +; -1.031 ; ARCLK ; ARCLK ; ARCLK ; RCLK ; 0.000 ; 3.348 ; 2.914 ; +; -0.547 ; DRCLK ; DRCLK ; DRCLK ; RCLK ; -0.500 ; 3.348 ; 2.898 ; +; -0.531 ; ARCLK ; ARCLK ; ARCLK ; RCLK ; -0.500 ; 3.348 ; 2.914 ; +; 1.128 ; nCCAS ; CASr ; nCCAS ; RCLK ; 0.000 ; 3.348 ; 4.697 ; +; 1.247 ; nCRAS ; RASr ; nCRAS ; RCLK ; 0.000 ; 3.348 ; 4.816 ; +; 1.348 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 0.000 ; 3.348 ; 4.917 ; +; 1.398 ; CASr2 ; CASr3 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.619 ; +; 1.628 ; nCCAS ; CASr ; nCCAS ; RCLK ; -0.500 ; 3.348 ; 4.697 ; +; 1.659 ; FS[17] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.880 ; +; 1.660 ; FS[0] ; FS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.881 ; +; 1.678 ; S[0] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.899 ; +; 1.687 ; S[0] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.908 ; +; 1.747 ; nCRAS ; RASr ; nCRAS ; RCLK ; -0.500 ; 3.348 ; 4.816 ; +; 1.848 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; -0.500 ; 3.348 ; 4.917 ; +; 1.919 ; IS[0] ; IS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.140 ; +; 1.962 ; S[1] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.183 ; +; 1.963 ; RASr2 ; RASr3 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.184 ; +; 1.972 ; S[1] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.193 ; +; 1.973 ; IS[1] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.194 ; +; 2.044 ; RASr3 ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.265 ; +; 2.107 ; UFMProgram ; UFMProgram ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.328 ; +; 2.116 ; UFMReqErase ; UFMReqErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.337 ; +; 2.116 ; FS[9] ; FS[9] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.337 ; +; 2.117 ; FS[16] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.338 ; +; 2.117 ; FS[8] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.338 ; +; 2.117 ; FS[1] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.338 ; +; 2.126 ; UFMD ; UFMD ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.347 ; +; 2.143 ; FS[10] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.364 ; +; 2.144 ; UFMErase ; UFMErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.365 ; +; 2.144 ; FS[6] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.365 ; +; 2.145 ; FS[11] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.366 ; +; 2.151 ; PHI2r3 ; DRDIn ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.372 ; +; 2.166 ; IS[1] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.387 ; +; 2.221 ; InitReady ; InitReady ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.442 ; +; 2.222 ; DRShift ; DRShift ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.443 ; +; 2.231 ; FS[3] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.452 ; +; 2.231 ; FS[2] ; FS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.452 ; +; 2.239 ; FS[4] ; FS[4] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.460 ; +; 2.239 ; FS[14] ; FS[14] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.460 ; +; 2.239 ; FS[15] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.460 ; +; 2.241 ; FS[7] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.462 ; +; 2.241 ; FS[12] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.462 ; +; 2.250 ; FS[13] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.471 ; +; 2.251 ; IS[3] ; IS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.472 ; +; 2.251 ; UFMInitDone ; UFMInitDone ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.472 ; +; 2.264 ; IS[2] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.485 ; +; 2.353 ; Ready ; Ready ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.574 ; +; 2.414 ; RASr ; RASr2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.635 ; +; 2.476 ; PHI2r3 ; DRCLK ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.697 ; +; 2.586 ; FS[0] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.807 ; +; 2.597 ; FS[5] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.818 ; +; 2.633 ; PHI2r2 ; n8MEGEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.854 ; +; 2.692 ; ARShift ; ARShift ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.913 ; +; 2.703 ; DRDIn ; DRDIn ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.924 ; +; 2.704 ; RASr2 ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.925 ; +; 2.712 ; RASr2 ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.933 ; +; 2.814 ; CASr2 ; nRWE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.035 ; +; 2.868 ; RASr2 ; nRRAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.089 ; +; 2.902 ; PHI2r ; PHI2r2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.123 ; +; 2.948 ; FS[9] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.169 ; +; 2.949 ; FS[16] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.170 ; +; 2.949 ; FS[1] ; FS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.170 ; +; 2.975 ; FS[10] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.196 ; +; 2.976 ; FS[6] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.197 ; +; 2.977 ; FS[11] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.198 ; +; 2.979 ; CASr2 ; nRCS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.200 ; +; 2.995 ; IS[1] ; RA10 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.216 ; +; 3.059 ; FS[9] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.280 ; +; 3.060 ; FS[1] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.281 ; +; 3.062 ; Ready ; IS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.283 ; +; 3.085 ; CASr ; CASr2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.306 ; +; 3.086 ; FS[10] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.307 ; +; 3.087 ; FS[6] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.308 ; +; 3.088 ; FS[11] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.309 ; +; 3.167 ; IS[0] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.388 ; +; 3.170 ; FS[9] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.391 ; +; 3.171 ; FS[2] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.392 ; +; 3.179 ; FS[15] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.400 ; +; 3.179 ; FS[4] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.400 ; +; 3.179 ; FS[14] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.400 ; +; 3.181 ; FS[7] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.402 ; +; 3.181 ; FS[12] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.402 ; +; 3.197 ; FS[10] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.418 ; +; 3.200 ; S[1] ; nRowColSel ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.421 ; +; 3.212 ; S[0] ; nRowColSel ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.433 ; +; 3.217 ; n8MEGEN ; n8MEGEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.438 ; +; 3.243 ; RASr ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.464 ; +; 3.278 ; IS[3] ; RA10 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.499 ; +; 3.281 ; FS[9] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.502 ; +; 3.290 ; FS[4] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.511 ; +; 3.290 ; FS[15] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.511 ; +; 3.290 ; FS[14] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.511 ; +; 3.302 ; InitReady ; RCKEEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.523 ; +; 3.311 ; IS[2] ; RA10 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.532 ; +; 3.359 ; nRowColSel ; nRowColSel ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.580 ; +; 3.362 ; IS[0] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.583 ; +; 3.365 ; RASr2 ; RA10 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.586 ; +; 3.401 ; FS[4] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.622 ; +; 3.401 ; FS[14] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.622 ; ++--------+-------------+-------------+--------------+-------------+--------------+------------+------------+ + + ++-----------------------------------------------------------------------------------------------------------+ +; Hold: 'PHI2' ; ++--------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++--------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; -0.276 ; n8MEGEN ; Cmdn8MEGEN ; RCLK ; PHI2 ; -0.500 ; 3.170 ; 2.615 ; +; 0.043 ; n8MEGEN ; RA11 ; RCLK ; PHI2 ; 0.000 ; 3.170 ; 3.434 ; +; 0.634 ; Ready ; RA11 ; RCLK ; PHI2 ; 0.000 ; 3.170 ; 4.025 ; +; 1.675 ; UFMOscEN ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 1.896 ; +; 1.927 ; XOR8MEG ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 2.148 ; +; 2.154 ; CmdEnable ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 2.375 ; +; 3.426 ; CmdEnable ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 3.647 ; +; 3.620 ; C1Submitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 3.841 ; +; 3.630 ; C1Submitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 3.851 ; +; 3.789 ; ADSubmitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 4.010 ; +; 3.799 ; ADSubmitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 4.020 ; +; 3.842 ; XOR8MEG ; RA11 ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 3.563 ; +; 4.018 ; Bank[0] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 3.739 ; +; 4.023 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 3.744 ; +; 4.307 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 4.028 ; +; 4.312 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 4.033 ; +; 4.530 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 4.251 ; +; 4.535 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 4.256 ; +; 4.825 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 4.546 ; +; 4.830 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 4.551 ; +; 5.071 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 4.792 ; +; 5.076 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 4.797 ; +; 5.236 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 4.957 ; +; 5.241 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 4.962 ; +; 5.324 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.045 ; +; 5.372 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.093 ; +; 5.377 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.098 ; +; 5.524 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.245 ; +; 5.529 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.250 ; +; 5.558 ; CmdEnable ; CmdUFMErase ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.779 ; +; 5.558 ; CmdEnable ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.779 ; +; 5.558 ; CmdEnable ; CmdDRDIn ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.779 ; +; 5.558 ; CmdEnable ; CmdDRCLK ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.779 ; +; 5.613 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.334 ; +; 5.619 ; CmdEnable ; CmdSubmitted ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.840 ; +; 5.619 ; CmdEnable ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.840 ; +; 5.666 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.387 ; +; 5.836 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.557 ; +; 5.955 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.676 ; +; 6.131 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.852 ; +; 6.178 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.899 ; +; 6.186 ; Bank[0] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 5.907 ; +; 6.377 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.098 ; +; 6.473 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.194 ; +; 6.475 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.196 ; +; 6.542 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.263 ; +; 6.678 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.399 ; +; 6.698 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.419 ; +; 6.719 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.440 ; +; 6.830 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.551 ; +; 6.884 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.605 ; +; 6.993 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.714 ; +; 7.020 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.741 ; +; 7.172 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.893 ; +; 7.239 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 6.960 ; +; 7.404 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.125 ; +; 7.540 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.261 ; +; 7.692 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.413 ; +; 7.798 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.519 ; +; 7.798 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.519 ; +; 7.798 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.519 ; +; 7.798 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.519 ; +; 7.859 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.580 ; +; 7.859 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.580 ; +; 8.087 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.808 ; +; 8.087 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.808 ; +; 8.087 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.808 ; +; 8.087 ; Bank[4] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.808 ; +; 8.148 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.869 ; +; 8.148 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.869 ; +; 8.310 ; Bank[3] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.031 ; +; 8.310 ; Bank[3] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.031 ; +; 8.310 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.031 ; +; 8.310 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.031 ; +; 8.371 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.092 ; +; 8.371 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.092 ; +; 8.605 ; Bank[7] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.326 ; +; 8.605 ; Bank[7] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.326 ; +; 8.605 ; Bank[7] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.326 ; +; 8.605 ; Bank[7] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.326 ; +; 8.666 ; Bank[7] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.387 ; +; 8.666 ; Bank[7] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.387 ; +; 8.851 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.572 ; +; 8.851 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.572 ; +; 8.851 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.572 ; +; 8.851 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.572 ; +; 8.912 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.633 ; +; 8.912 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.633 ; +; 9.016 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.737 ; +; 9.016 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.737 ; +; 9.016 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.737 ; +; 9.016 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.737 ; +; 9.077 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.798 ; +; 9.077 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.798 ; +; 9.152 ; Bank[6] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.873 ; +; 9.152 ; Bank[6] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.873 ; +; 9.152 ; Bank[6] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.873 ; +; 9.152 ; Bank[6] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.873 ; +; 9.213 ; Bank[6] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.934 ; +; 9.213 ; Bank[6] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.934 ; ++--------+-------------+--------------+--------------+-------------+--------------+------------+------------+ + + ++--------------------------------------------------------------------------------------------------------+ +; Hold: 'nCRAS' ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; -0.031 ; Ready ; RowA[7] ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 2.249 ; +; -0.017 ; Ready ; RowA[4] ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 2.263 ; +; 0.040 ; Ready ; RowA[8] ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 2.320 ; +; 0.048 ; Ready ; RowA[0] ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 2.328 ; +; 0.301 ; Ready ; RowA[6] ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 2.581 ; +; 0.309 ; Ready ; RowA[3] ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 2.589 ; +; 0.318 ; Ready ; RowA[2] ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 2.598 ; +; 0.319 ; Ready ; RowA[5] ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 2.599 ; +; 0.723 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 0.000 ; 5.907 ; 6.851 ; +; 0.856 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 3.136 ; +; 0.880 ; Ready ; RowA[9] ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 3.160 ; +; 0.891 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 3.171 ; +; 0.892 ; Ready ; RowA[1] ; RCLK ; nCRAS ; -0.500 ; 2.559 ; 3.172 ; +; 1.223 ; nCCAS ; CBR ; nCCAS ; nCRAS ; -0.500 ; 5.907 ; 6.851 ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ + + ++-------------------------------------------------------------------+ +; Setup Transfers ; ++------------+----------+----------+----------+----------+----------+ +; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; ++------------+----------+----------+----------+----------+----------+ +; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; +; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; +; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; +; PHI2 ; PHI2 ; 0 ; 1 ; 152 ; 14 ; +; RCLK ; PHI2 ; 2 ; 0 ; 1 ; 0 ; +; ARCLK ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; DRCLK ; RCLK ; 4 ; 2 ; 0 ; 0 ; +; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; +; PHI2 ; RCLK ; 1 ; 12 ; 0 ; 0 ; +; RCLK ; RCLK ; 620 ; 0 ; 0 ; 0 ; ++------------+----------+----------+----------+----------+----------+ +Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. + + ++-------------------------------------------------------------------+ +; Hold Transfers ; ++------------+----------+----------+----------+----------+----------+ +; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; ++------------+----------+----------+----------+----------+----------+ +; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; +; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; +; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; +; PHI2 ; PHI2 ; 0 ; 1 ; 152 ; 14 ; +; RCLK ; PHI2 ; 2 ; 0 ; 1 ; 0 ; +; ARCLK ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; DRCLK ; RCLK ; 4 ; 2 ; 0 ; 0 ; +; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; +; PHI2 ; RCLK ; 1 ; 12 ; 0 ; 0 ; +; RCLK ; RCLK ; 620 ; 0 ; 0 ; 0 ; ++------------+----------+----------+----------+----------+----------+ +Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. + + +--------------- +; Report TCCS ; +--------------- +No dedicated SERDES Transmitter circuitry present in device or used in design + + +--------------- +; Report RSKM ; +--------------- +No non-DPA dedicated SERDES Receiver circuitry present in device or used in design + + ++------------------------------------------------+ +; Unconstrained Paths Summary ; ++---------------------------------+-------+------+ +; Property ; Setup ; Hold ; ++---------------------------------+-------+------+ +; Illegal Clocks ; 0 ; 0 ; +; Unconstrained Clocks ; 0 ; 0 ; +; Unconstrained Input Ports ; 30 ; 30 ; +; Unconstrained Input Port Paths ; 231 ; 231 ; +; Unconstrained Output Ports ; 37 ; 37 ; +; Unconstrained Output Port Paths ; 75 ; 75 ; ++---------------------------------+-------+------+ + + ++-------------------------------------+ +; Clock Status Summary ; ++--------+-------+------+-------------+ +; Target ; Clock ; Type ; Status ; ++--------+-------+------+-------------+ +; ARCLK ; ARCLK ; Base ; Constrained ; +; DRCLK ; DRCLK ; Base ; Constrained ; +; PHI2 ; PHI2 ; Base ; Constrained ; +; RCLK ; RCLK ; Base ; Constrained ; +; nCCAS ; nCCAS ; Base ; Constrained ; +; nCRAS ; nCRAS ; Base ; Constrained ; ++--------+-------+------+-------------+ + + ++---------------------------------------------------------------------------------------------------+ +; Unconstrained Input Ports ; ++------------+--------------------------------------------------------------------------------------+ +; Input Port ; Comment ; ++------------+--------------------------------------------------------------------------------------+ +; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; ++------------+--------------------------------------------------------------------------------------+ + + ++-----------------------------------------------------------------------------------------------------+ +; Unconstrained Output Ports ; ++-------------+---------------------------------------------------------------------------------------+ +; Output Port ; Comment ; ++-------------+---------------------------------------------------------------------------------------+ +; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; ++-------------+---------------------------------------------------------------------------------------+ + + ++---------------------------------------------------------------------------------------------------+ +; Unconstrained Input Ports ; ++------------+--------------------------------------------------------------------------------------+ +; Input Port ; Comment ; ++------------+--------------------------------------------------------------------------------------+ +; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; ++------------+--------------------------------------------------------------------------------------+ + + ++-----------------------------------------------------------------------------------------------------+ +; Unconstrained Output Ports ; ++-------------+---------------------------------------------------------------------------------------+ +; Output Port ; Comment ; ++-------------+---------------------------------------------------------------------------------------+ +; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; ++-------------+---------------------------------------------------------------------------------------+ + + ++--------------------------+ +; Timing Analyzer Messages ; ++--------------------------+ +Info: ******************************************************************* +Info: Running Quartus Prime Timing Analyzer + Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + Info: Processing started: Sat Aug 12 18:54:28 2023 +Info: Command: quartus_sta RAM2GS-MAXII -c RAM2GS +Info: qsta_default_script.tcl version: #1 +Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance. +Info (20030): Parallel compilation is enabled and will use 4 of the 4 processors detected +Info (21077): Low junction temperature is 0 degrees C +Info (21077): High junction temperature is 85 degrees C +Info (334003): Started post-fitting delay annotation +Info (334004): Delay annotation completed successfully +Critical Warning (332012): Synopsys Design Constraints File file not found: 'RAM2GS.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design. +Info (332142): No user constrained base clocks found in the design. Calling "derive_clocks -period 1.0" +Info (332105): Deriving Clocks + Info (332105): create_clock -period 1.000 -name nCCAS nCCAS + Info (332105): create_clock -period 1.000 -name nCRAS nCRAS + Info (332105): create_clock -period 1.000 -name RCLK RCLK + Info (332105): create_clock -period 1.000 -name PHI2 PHI2 + Info (332105): create_clock -period 1.000 -name DRCLK DRCLK + Info (332105): create_clock -period 1.000 -name ARCLK ARCLK +Info: Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON +Info: Can't run Report Timing Closure Recommendations. The current device family is not supported. +Critical Warning (332148): Timing requirements not met +Info (332146): Worst-case setup slack is -99.000 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): -99.000 -99.000 ARCLK + Info (332119): -99.000 -99.000 DRCLK + Info (332119): -8.919 -92.622 PHI2 + Info (332119): -8.036 -241.671 RCLK + Info (332119): -0.777 -2.512 nCRAS +Info (332146): Worst-case hold slack is -16.785 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): -16.785 -16.785 DRCLK + Info (332119): -16.266 -16.266 ARCLK + Info (332119): -1.047 -2.078 RCLK + Info (332119): -0.276 -0.276 PHI2 + Info (332119): -0.031 -0.048 nCRAS +Info (332140): No Recovery paths to report +Info (332140): No Removal paths to report +Info (332146): Worst-case minimum pulse width slack is -29.500 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): -29.500 -59.000 ARCLK + Info (332119): -29.500 -59.000 DRCLK + Info (332119): -2.289 -2.289 PHI2 + Info (332119): -2.289 -2.289 RCLK + Info (332119): -2.289 -2.289 nCCAS + Info (332119): -2.289 -2.289 nCRAS +Info (332001): The selected device family is not supported by the report_metastability command. +Info (332102): Design is not fully constrained for setup requirements +Info (332102): Design is not fully constrained for hold requirements +Info: Quartus Prime Timing Analyzer was successful. 0 errors, 3 warnings + Info: Peak virtual memory: 4676 megabytes + Info: Processing ended: Sat Aug 12 18:54:29 2023 + Info: Elapsed time: 00:00:01 + Info: Total CPU time (on all processors): 00:00:01 + + diff --git a/CPLD/MAXII/output_files/RAM2GS.sta.summary b/CPLD/MAXII/output_files/RAM2GS.sta.summary new file mode 100644 index 0000000..bd02d51 --- /dev/null +++ b/CPLD/MAXII/output_files/RAM2GS.sta.summary @@ -0,0 +1,69 @@ +------------------------------------------------------------ +Timing Analyzer Summary +------------------------------------------------------------ + +Type : Setup 'ARCLK' +Slack : -99.000 +TNS : -99.000 + +Type : Setup 'DRCLK' +Slack : -99.000 +TNS : -99.000 + +Type : Setup 'PHI2' +Slack : -8.919 +TNS : -92.622 + +Type : Setup 'RCLK' +Slack : -8.036 +TNS : -241.671 + +Type : Setup 'nCRAS' +Slack : -0.777 +TNS : -2.512 + +Type : Hold 'DRCLK' +Slack : -16.785 +TNS : -16.785 + +Type : Hold 'ARCLK' +Slack : -16.266 +TNS : -16.266 + +Type : Hold 'RCLK' +Slack : -1.047 +TNS : -2.078 + +Type : Hold 'PHI2' +Slack : -0.276 +TNS : -0.276 + +Type : Hold 'nCRAS' +Slack : -0.031 +TNS : -0.048 + +Type : Minimum Pulse Width 'ARCLK' +Slack : -29.500 +TNS : -59.000 + +Type : Minimum Pulse Width 'DRCLK' +Slack : -29.500 +TNS : -59.000 + +Type : Minimum Pulse Width 'PHI2' +Slack : -2.289 +TNS : -2.289 + +Type : Minimum Pulse Width 'RCLK' +Slack : -2.289 +TNS : -2.289 + +Type : Minimum Pulse Width 'nCCAS' +Slack : -2.289 +TNS : -2.289 + +Type : Minimum Pulse Width 'nCRAS' +Slack : -2.289 +TNS : -2.289 + +------------------------------------------------------------ diff --git a/CPLD/MAXV/RAM2GS.qsf b/CPLD/MAXV/RAM2GS.qsf index 4802195..eafca6c 100644 --- a/CPLD/MAXV/RAM2GS.qsf +++ b/CPLD/MAXV/RAM2GS.qsf @@ -44,10 +44,156 @@ set_global_assignment -name ORIGINAL_QUARTUS_VERSION 19.1.0 set_global_assignment -name PROJECT_CREATION_TIME_DATE "18:28:29 AUGUST 12, 2023" set_global_assignment -name LAST_QUARTUS_VERSION "19.1.0 Lite Edition" set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files +set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 set_global_assignment -name DEVICE_FILTER_PACKAGE TQFP set_global_assignment -name DEVICE_FILTER_PIN_COUNT 100 set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 5 -set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 -set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 +# +# set_global_assignment -name VERILOG_FILE "../RAM2GS-MAX.v" -set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "NO HEAT SINK WITH STILL AIR" \ No newline at end of file +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "NO HEAT SINK WITH STILL AIR" + + +set_global_assignment -name QIP_FILE UFM.qip +#set_global_assignment -name MIF_FILE "../RAM2GS.mif" + + + +set_location_assignment PIN_12 -to RCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RCLK + +set_location_assignment PIN_52 -to PHI2 +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to PHI2 + +set_location_assignment PIN_67 -to nCRAS +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nCRAS + +set_location_assignment PIN_53 -to nCCAS +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nCCAS + +set_location_assignment PIN_48 -to nFWE +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nFWE + +set_location_assignment PIN_49 -to MAin[0] +set_location_assignment PIN_51 -to MAin[1] +set_location_assignment PIN_50 -to MAin[2] +set_location_assignment PIN_71 -to MAin[3] +set_location_assignment PIN_70 -to MAin[4] +set_location_assignment PIN_69 -to MAin[5] +set_location_assignment PIN_72 -to MAin[6] +set_location_assignment PIN_68 -to MAin[7] +set_location_assignment PIN_73 -to MAin[8] +set_location_assignment PIN_74 -to MAin[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MAin + +set_location_assignment PIN_54 -to CROW[0] +set_location_assignment PIN_55 -to CROW[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to CROW + +set_location_assignment PIN_35 -to Din[2] +set_location_assignment PIN_36 -to Din[1] +set_location_assignment PIN_37 -to Din[3] +set_location_assignment PIN_38 -to Din[5] +set_location_assignment PIN_39 -to Din[4] +set_location_assignment PIN_40 -to Din[7] +set_location_assignment PIN_41 -to Din[6] +set_location_assignment PIN_42 -to Din[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to Din + +set_location_assignment PIN_33 -to Dout[0] +set_location_assignment PIN_57 -to Dout[1] +set_location_assignment PIN_56 -to Dout[2] +set_location_assignment PIN_47 -to Dout[3] +set_location_assignment PIN_44 -to Dout[4] +set_location_assignment PIN_28 -to Dout[5] +set_location_assignment PIN_34 -to Dout[6] +set_location_assignment PIN_43 -to Dout[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to Dout + +set_location_assignment PIN_8 -to RCKE +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RCKE + +set_location_assignment PIN_3 -to nRCS +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nRCS + +set_location_assignment PIN_100 -to nRWE +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nRWE + +set_location_assignment PIN_6 -to nRRAS +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nRRAS + +set_location_assignment PIN_4 -to nRCAS +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to nRCAS + +set_location_assignment PIN_5 -to RBA[0] +set_location_assignment PIN_14 -to RBA[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RBA + +set_location_assignment PIN_18 -to RA[0] +set_location_assignment PIN_20 -to RA[1] +set_location_assignment PIN_30 -to RA[2] +set_location_assignment PIN_27 -to RA[3] +set_location_assignment PIN_26 -to RA[4] +set_location_assignment PIN_29 -to RA[5] +set_location_assignment PIN_21 -to RA[6] +set_location_assignment PIN_19 -to RA[7] +set_location_assignment PIN_17 -to RA[8] +set_location_assignment PIN_15 -to RA[9] +set_location_assignment PIN_16 -to RA[10] +set_location_assignment PIN_7 -to RA[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RA + +set_location_assignment PIN_2 -to RDQMH +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RDQMH + +set_location_assignment PIN_98 -to RDQML +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RDQML + +set_location_assignment PIN_96 -to RD[0] +set_location_assignment PIN_90 -to RD[1] +set_location_assignment PIN_89 -to RD[2] +set_location_assignment PIN_99 -to RD[3] +set_location_assignment PIN_92 -to RD[4] +set_location_assignment PIN_91 -to RD[5] +set_location_assignment PIN_95 -to RD[6] +set_location_assignment PIN_97 -to RD[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RD + +set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to nCRAS +set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to nCCAS +set_instance_assignment -name PAD_TO_CORE_DELAY 1 -to nFWE +set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to MAin +set_instance_assignment -name PAD_TO_CORE_DELAY 1 -to CROW +set_instance_assignment -name PAD_TO_CORE_DELAY 1 -to Din +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to Dout +set_instance_assignment -name SLOW_SLEW_RATE OFF -to Dout +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to RCKE +set_instance_assignment -name SLOW_SLEW_RATE OFF -to RCKE +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to RCKE +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to nRCS +set_instance_assignment -name SLOW_SLEW_RATE OFF -to nRCS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to nRCS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to nRWE +set_instance_assignment -name SLOW_SLEW_RATE OFF -to nRWE +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to nRWE +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to nRRAS +set_instance_assignment -name SLOW_SLEW_RATE OFF -to nRRAS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to nRRAS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to nRCAS +set_instance_assignment -name SLOW_SLEW_RATE OFF -to nRCAS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to nRCAS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to RBA +set_instance_assignment -name SLOW_SLEW_RATE OFF -to RBA +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to RBA +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to RA +set_instance_assignment -name SLOW_SLEW_RATE OFF -to RA +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to RDQMH +set_instance_assignment -name SLOW_SLEW_RATE OFF -to RDQMH +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to RDQML +set_instance_assignment -name SLOW_SLEW_RATE OFF -to RDQML +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to RD +set_instance_assignment -name SLOW_SLEW_RATE ON -to RD +set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to RD + +set_location_assignment PIN_88 -to LED \ No newline at end of file diff --git a/CPLD/MAXV/RAM2GS.qws b/CPLD/MAXV/RAM2GS.qws deleted file mode 100644 index c6dfa4a514e35eeb19aeb10f756214b9525b71c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 619 zcmbV}!AiqW5JhjA3NHNs7cNAC5NT@#5d?AJ%9Xg+nxr;FO{@_Y;y3vrZru7U*6NvQ zy0R4XJ?7oHlbJX7O^zbX*Sc;r(1U7S=t-rZU%-DY}%mXdg(<+r-RP%_a>2WNo&1U53J18#>k_XnpQr=U~Z%u24U= zRJ+y%o6lO)38fhlEG1E~D9MDGMLJWC*3o}D`8>E}(?wOwrIPncYDmabZ1cvldE@Qh duh|Jc-rwf`%GyXPhfH}i^S$kqAx+^yOF#b!XixwE diff --git a/CPLD/MAXV/UFM.qip b/CPLD/MAXV/UFM.qip new file mode 100644 index 0000000..b7d0346 --- /dev/null +++ b/CPLD/MAXV/UFM.qip @@ -0,0 +1,4 @@ +set_global_assignment -name IP_TOOL_NAME "ALTUFM_NONE Intel FPGA IP" +set_global_assignment -name IP_TOOL_VERSION "19.1" +set_global_assignment -name IP_GENERATED_DEVICE_FAMILY "{MAX V}" +set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "UFM.v"] diff --git a/CPLD/MAXV/UFM.v b/CPLD/MAXV/UFM.v new file mode 100644 index 0000000..be7c3d0 --- /dev/null +++ b/CPLD/MAXV/UFM.v @@ -0,0 +1,257 @@ +// megafunction wizard: %ALTUFM_NONE Intel FPGA IP% +// GENERATION: STANDARD +// VERSION: WM1.0 +// MODULE: ALTUFM_NONE + +// ============================================================ +// File Name: UFM.v +// Megafunction Name(s): +// ALTUFM_NONE +// +// Simulation Library Files(s): +// maxv +// ============================================================ +// ************************************************************ +// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +// +// 19.1.0 Build 670 09/22/2019 SJ Lite Edition +// ************************************************************ + + +//Copyright (C) 2019 Intel Corporation. All rights reserved. +//Your use of Intel Corporation's design tools, logic functions +//and other software and tools, and any partner logic +//functions, and any output files from any of the foregoing +//(including device programming or simulation files), and any +//associated documentation or information are expressly subject +//to the terms and conditions of the Intel Program License +//Subscription Agreement, the Intel Quartus Prime License Agreement, +//the Intel FPGA IP License Agreement, or other applicable license +//agreement, including, without limitation, that your use is for +//the sole purpose of programming logic devices manufactured by +//Intel and sold by Intel or its authorized distributors. Please +//refer to the applicable agreement for further details, at +//https://fpgasoftware.intel.com/eula. + + +//altufm_none CBX_AUTO_BLACKBOX="ALL" DEVICE_FAMILY="MAX V" ERASE_TIME=500000000 LPM_FILE="RAM2GS.mif" OSC_FREQUENCY=180000 PORT_ARCLKENA="PORT_UNUSED" PORT_DRCLKENA="PORT_UNUSED" PROGRAM_TIME=1600000 WIDTH_UFM_ADDRESS=9 arclk ardin arshft busy drclk drdin drdout drshft erase osc oscena program rtpbusy +//VERSION_BEGIN 19.1 cbx_a_gray2bin 2019:09:22:11:00:27:SJ cbx_a_graycounter 2019:09:22:11:00:27:SJ cbx_altufm_none 2019:09:22:11:00:28:SJ cbx_cycloneii 2019:09:22:11:00:28:SJ cbx_lpm_add_sub 2019:09:22:11:00:28:SJ cbx_lpm_compare 2019:09:22:11:00:28:SJ cbx_lpm_counter 2019:09:22:11:00:28:SJ cbx_lpm_decode 2019:09:22:11:00:28:SJ cbx_lpm_mux 2019:09:22:11:00:28:SJ cbx_maxii 2019:09:22:11:00:28:SJ cbx_mgl 2019:09:22:11:02:15:SJ cbx_nadder 2019:09:22:11:00:28:SJ cbx_stratix 2019:09:22:11:00:28:SJ cbx_stratixii 2019:09:22:11:00:28:SJ cbx_util_mgl 2019:09:22:11:00:28:SJ VERSION_END +// synthesis VERILOG_INPUT_VERSION VERILOG_2001 +// altera message_off 10463 + + +//synthesis_resources = maxv_ufm 1 +//synopsys translate_off +`timescale 1 ps / 1 ps +//synopsys translate_on +module UFM_altufm_none_38r + ( + arclk, + ardin, + arshft, + busy, + drclk, + drdin, + drdout, + drshft, + erase, + osc, + oscena, + program, + rtpbusy) ; + input arclk; + input ardin; + input arshft; + output busy; + input drclk; + input drdin; + output drdout; + input drshft; + input erase; + output osc; + input oscena; + input program; + output rtpbusy; + + wire wire_maxii_ufm_block1_bgpbusy; + wire wire_maxii_ufm_block1_busy; + wire wire_maxii_ufm_block1_drdout; + wire wire_maxii_ufm_block1_osc; + wire ufm_arclk; + wire ufm_ardin; + wire ufm_arshft; + wire ufm_bgpbusy; + wire ufm_busy; + wire ufm_drclk; + wire ufm_drdin; + wire ufm_drdout; + wire ufm_drshft; + wire ufm_erase; + wire ufm_osc; + wire ufm_oscena; + wire ufm_program; + + maxv_ufm maxii_ufm_block1 + ( + .arclk(ufm_arclk), + .ardin(ufm_ardin), + .arshft(ufm_arshft), + .bgpbusy(wire_maxii_ufm_block1_bgpbusy), + .busy(wire_maxii_ufm_block1_busy), + .drclk(ufm_drclk), + .drdin(ufm_drdin), + .drdout(wire_maxii_ufm_block1_drdout), + .drshft(ufm_drshft), + .erase(ufm_erase), + .osc(wire_maxii_ufm_block1_osc), + .oscena(ufm_oscena), + .program(ufm_program) + // synopsys translate_off + , + .ctrl_bgpbusy(1'b0), + .devclrn(1'b1), + .devpor(1'b1), + .sbdin(1'b0), + .sbdout() + // synopsys translate_on + ); + defparam + maxii_ufm_block1.address_width = 9, + maxii_ufm_block1.erase_time = 500000000, + maxii_ufm_block1.init_file = "RAM2GS.mif", + maxii_ufm_block1.osc_sim_setting = 180000, + maxii_ufm_block1.program_time = 1600000, + maxii_ufm_block1.lpm_type = "maxv_ufm"; + assign + busy = ufm_busy, + drdout = ufm_drdout, + osc = ufm_osc, + rtpbusy = ufm_bgpbusy, + ufm_arclk = arclk, + ufm_ardin = ardin, + ufm_arshft = arshft, + ufm_bgpbusy = wire_maxii_ufm_block1_bgpbusy, + ufm_busy = wire_maxii_ufm_block1_busy, + ufm_drclk = drclk, + ufm_drdin = drdin, + ufm_drdout = wire_maxii_ufm_block1_drdout, + ufm_drshft = drshft, + ufm_erase = erase, + ufm_osc = wire_maxii_ufm_block1_osc, + ufm_oscena = oscena, + ufm_program = program; + initial/*synthesis enable_verilog_initial_construct*/ + begin + $display("Warning: Memory initialization file RAM2GS.mif is not found. This may result in inconsistent simulation results."); + end +endmodule //UFM_altufm_none_38r +//VALID FILE + + +// synopsys translate_off +`timescale 1 ps / 1 ps +// synopsys translate_on +module UFM ( + arclk, + ardin, + arshft, + drclk, + drdin, + drshft, + erase, + oscena, + program, + busy, + drdout, + osc, + rtpbusy); + + input arclk; + input ardin; + input arshft; + input drclk; + input drdin; + input drshft; + input erase; + input oscena; + input program; + output busy; + output drdout; + output osc; + output rtpbusy; + + wire sub_wire0; + wire sub_wire1; + wire sub_wire2; + wire sub_wire3; + wire busy = sub_wire0; + wire drdout = sub_wire1; + wire osc = sub_wire2; + wire rtpbusy = sub_wire3; + + UFM_altufm_none_38r UFM_altufm_none_38r_component ( + .arclk (arclk), + .ardin (ardin), + .arshft (arshft), + .drclk (drclk), + .drdin (drdin), + .drshft (drshft), + .erase (erase), + .oscena (oscena), + .program (program), + .busy (sub_wire0), + .drdout (sub_wire1), + .osc (sub_wire2), + .rtpbusy (sub_wire3)); + +endmodule + +// ============================================================ +// CNX file retrieval info +// ============================================================ +// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all +// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "MAX V" +// Retrieval info: CONSTANT: ERASE_TIME NUMERIC "500000000" +// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "MAX V" +// Retrieval info: CONSTANT: LPM_FILE STRING "RAM2GS.mif" +// Retrieval info: CONSTANT: LPM_HINT STRING "UNUSED" +// Retrieval info: CONSTANT: LPM_TYPE STRING "altufm_none" +// Retrieval info: CONSTANT: OSC_FREQUENCY NUMERIC "180000" +// Retrieval info: CONSTANT: PORT_ARCLKENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_DRCLKENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PROGRAM_TIME NUMERIC "1600000" +// Retrieval info: CONSTANT: WIDTH_UFM_ADDRESS NUMERIC "9" +// Retrieval info: USED_PORT: arclk 0 0 0 0 INPUT NODEFVAL "arclk" +// Retrieval info: CONNECT: @arclk 0 0 0 0 arclk 0 0 0 0 +// Retrieval info: USED_PORT: ardin 0 0 0 0 INPUT NODEFVAL "ardin" +// Retrieval info: CONNECT: @ardin 0 0 0 0 ardin 0 0 0 0 +// Retrieval info: USED_PORT: arshft 0 0 0 0 INPUT NODEFVAL "arshft" +// Retrieval info: CONNECT: @arshft 0 0 0 0 arshft 0 0 0 0 +// Retrieval info: USED_PORT: busy 0 0 0 0 OUTPUT NODEFVAL "busy" +// Retrieval info: CONNECT: busy 0 0 0 0 @busy 0 0 0 0 +// Retrieval info: USED_PORT: drclk 0 0 0 0 INPUT NODEFVAL "drclk" +// Retrieval info: CONNECT: @drclk 0 0 0 0 drclk 0 0 0 0 +// Retrieval info: USED_PORT: drdin 0 0 0 0 INPUT NODEFVAL "drdin" +// Retrieval info: CONNECT: @drdin 0 0 0 0 drdin 0 0 0 0 +// Retrieval info: USED_PORT: drdout 0 0 0 0 OUTPUT NODEFVAL "drdout" +// Retrieval info: CONNECT: drdout 0 0 0 0 @drdout 0 0 0 0 +// Retrieval info: USED_PORT: drshft 0 0 0 0 INPUT NODEFVAL "drshft" +// Retrieval info: CONNECT: @drshft 0 0 0 0 drshft 0 0 0 0 +// Retrieval info: USED_PORT: erase 0 0 0 0 INPUT NODEFVAL "erase" +// Retrieval info: CONNECT: @erase 0 0 0 0 erase 0 0 0 0 +// Retrieval info: USED_PORT: osc 0 0 0 0 OUTPUT NODEFVAL "osc" +// Retrieval info: CONNECT: osc 0 0 0 0 @osc 0 0 0 0 +// Retrieval info: USED_PORT: oscena 0 0 0 0 INPUT NODEFVAL "oscena" +// Retrieval info: CONNECT: @oscena 0 0 0 0 oscena 0 0 0 0 +// Retrieval info: USED_PORT: program 0 0 0 0 INPUT NODEFVAL "program" +// Retrieval info: CONNECT: @program 0 0 0 0 program 0 0 0 0 +// Retrieval info: USED_PORT: rtpbusy 0 0 0 0 OUTPUT NODEFVAL "rtpbusy" +// Retrieval info: CONNECT: rtpbusy 0 0 0 0 @rtpbusy 0 0 0 0 +// Retrieval info: GEN_FILE: TYPE_NORMAL UFM.v TRUE FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL UFM.qip TRUE FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL UFM.bsf FALSE TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL UFM_inst.v FALSE TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL UFM_bb.v FALSE TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL UFM.inc FALSE TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL UFM.cmp FALSE TRUE +// Retrieval info: LIB_FILE: maxv diff --git a/CPLD/MAXV/db/.cmp.kpt b/CPLD/MAXV/db/.cmp.kpt new file mode 100644 index 0000000000000000000000000000000000000000..de56cf5e004626a22cd60ee307427ba4f93dcffb GIT binary patch literal 204 zcmV;-05kur4*>uG0001ZoTZW93W6{c#_xTK!yZ80E($?~f(W9Z61o-3BMoz|Z3aRQ z-)vAs1wpsppWk=j#I-bexd%}+n2_yc#paoRXe5EbxS-O!6$zm}C2;NvWjg&-H%@@H z;tj&i$v`8Y`XNj^ekx%!4k3&J#sU`72(kq%xj~qf+}JEhJ%G5zK9?;QM&}w0m|ogb z6jrEE9FV|~qq2@n$ki2s*T#20e6Kss_s+F^@(uY&+I_@k1*0Ebso2)Vl!& G#*8%eV_R_m literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.(0).cnf.cdb b/CPLD/MAXV/db/RAM2GS.(0).cnf.cdb new file mode 100644 index 0000000000000000000000000000000000000000..232ac71b88db5fd01137e6f19207c5da4bec18db GIT binary patch literal 20082 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

    RV+@Uj88NwE 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 Cs1C&d literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.(1).cnf.cdb b/CPLD/MAXV/db/RAM2GS.(1).cnf.cdb new file mode 100644 index 0000000000000000000000000000000000000000..568c09b447372fb31ab4c3bc692e12ee763d27d9 GIT binary patch literal 1388 zcmV-y1(W&|000233jqKC0001M0BZm=00011WpZ4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*IR800000006@S00000006cE0000000000 z003+S00000004La>{mN)6G0GOLx2!Lfj~SY3JQ=APyj&!1sX>ol98NP$d;htbg>;0 zC4T5^E27~C(b7>+P#`J_egLB82Oy*r;rn)O_xAic--Sd<uumShTvy( z-?+$~!icqA=basx)^>!w)yuZ#v<|N8srgAWHT@2{ZELz!5?1y=+*3R%3t=Di-+F4I zv9#zF^RK+sO1V@id!^NvWv~3Y^ql7vqWQ_SJUz>Pk4#^7Fa zM~H3l9=4L#^dK<)V_y7Mz~PQ9ti(3#MUnLNiX}g^uTqze_bYpjzU<>SK7|*+ zh*d$K>7{%*?-f=?L`g3xBf+PXcZHC7P$f$LLsrzQDB5qLh(|w){Bf7vhVPdp3`%xq z8-#5|9Xj3&;M7Cawfb$U1n*oOV|NnRaY*NiD1aTOC*ZSUNeI2xf zB41gpgL2qpX7<IFXCzot6=% zo}QWaectbBqyWtmQP0BgY5-gYGy!hPQkIYz)0IkC(#e-mHO!~y>j{u23xSQ4rfhvu z7&1sR_#TYi+;JL43;UD0a#NZVDs2i!bBuJpoOa;&(B{uT)CxoZUufA$Q9(zr9cY)6 zbzn}$>}yQBk|toe$lUA>fnz`e@IxVmldYl^7;lf>p1Q$3e?&Hms;L}~`;){T$g5QW zo^tcq8n4sk!`0)Ol7~0r*N~2>^l7)2o?)JSe+&ITxnXB>wuL2zs2{@XrGYh`rXGj_ zem)keob8l09;Pw4ui9QNKwe|bCHeO*m9Dv>j#f~3yW?@6>wg{4Pg^=;J;mXU-oDO( zymY4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*F7=00000001rm00000000F70000000000 z004#q00000004LaU;E35bv6 zQ}_koJuj)9m?E(rur!V5&EoN!soQ~C`}lOeQFPj%i_Ok2${x--fV3ce$o1t_7|n`u zG7r-%O~T>1xbR@%IGZnEPYVX`LXJKmJht_v;0>G_iSg|21RE~iBT#5OO&xR-mPq8c zlfr@N9D7s5!j~fUr$|JUCr)CXm*wLmjU0Fj@IquaBAPpR8~CWq9}Tz$Jzx%$k(E`= z5?%+4)Q&6jiek}7(V&RIO^PJiq^NRsD6&wCqAG<;QRVDVR5`m8N!UY?#OoAQIb4b) z%pZ#)iFqiJc)-Mex)kx4W3>UPtW`~`ngMN-GfA7`m^Mi(A;n||J3U|9*yiOZe3*)) zXDfYM8Q9A35HTzN@IO;3r<9|suEv39PjDk%N00S~rS;(JT&526>%gE6^axmIQq`4k zyDX2IDcZzn+Kr>?2eqnA#-zGuOtPs<1+6xIY66TY;)AqQwBG;+csjQF*=CkA$P?rh z3m>&u>az_H=A-lC1Lbo|53}C&^oBbpGX=x{33!aFI`olw^zrom4FCZD|9Amhk-tg< zK@i6GlBm%nXpCTt76B0iUqDiMIX8DJ$!)mZ;;!08&@_Q0SJ-K1>5Eti7S=w4_yqm| z!N$r){ATk{JownVncsagvr}RYiy32&gTal1GXt$d$`4Ijdaf1{FGA@ITSM3!j9x1^ zH~wH9u9WL@!$Tbz^&L zLj?L)?+FpqX$cy;$mR+6beqeBwYD_@HIMaw cx?~sP4ALBt4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*KY%00000002k?00000001Ea0000000000 z001=x00000004La>{v^0(?Ag3qz~Hieu)Ywssvm(Ae9ReaB&(FD%vKp(~6#~v`I^7 z(^O6?;MV`d9d3vV9QX$U5|P9zS9Of}i{c)xk=W4s*|LYyN$Pke0v zCWxY=oDezsn-F;^qen4KjP|ya2r&}0;yepU`}|>%hDF zdyypr9aF>yn=MCe1CI#n1AFEPF$jk4KgBPk#e%bBymHDb)yhiMsg$j%Q(dc=*tqm6 zE+(l)p*d~+usO6Lh0(F>EOmTe)%=qrE1I>Sjam`{LF@VCvFvWRSpqQfz)E~aPrDm} z2Z)tDK+A?$*3DbaPd#$1#PgHpZe)AJ!M+QpV`bOS_Uo>;D*|+u?4n*^F~l~--*UM2 z80F*!aj^UsmLseGs{bY?B_Yvwxw`zm|Ld0~^yA4ALD@=r_u&f)*JWbzVL@)ZqER)R zh2<{R*8);f}Pfk1>G!ZQo zt6Z{-r8F)299*H$~&?jCeCGCwTS~VQ0B; z^7vsp%)l@M|5FA~c9O{J{fQWXOsRXnI_&L2O6`$fFZ%Jt8gEhOZPRTy@uSdDS05Sy za=AEuK*SErJW*58TvRYly?G{QECv(0Ds7TKx zgfy*0&>hJsFR83KRr;wDH-UE}0v`Z(iNn+tY|~mb3X7&=6pNN=+m23q|2c;uu{f$>YQocJn89PPfZyro z)gvlH(M$QfE&@~IOcX5UYratko8UVpuC>LVD9}}p2z0$XYlbac-_QJ{}Ug@IKHO;L2`op#v6TX<6#;O}=x zuU@tCQZ?>-fD)E7Yj;XCvHAN%70lLAlet2-OuW6KBc^T5%#j<_Mz?q%Q{&l**He#S z5_kO?IIpNGbYR5)y*8n10qcS#bo6cTY@Lj$S&9C#J~7>p!Ss{E%eSiBD89^bTj)jC zD6qVsxsrZvhlB1sJ)X^ErV=n2132x-jiJb!`F|_14{q&|ICZ3l4ARi7l)o&0EPr@E nyj=d8l!LMon|P{-A$*DK8=f<(aZ9(E@R^AgnIGH$00960x|Qt4 literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.(2).cnf.hdb b/CPLD/MAXV/db/RAM2GS.(2).cnf.hdb new file mode 100644 index 0000000000000000000000000000000000000000..2089a7b66bee5c9e5b442cc92bbd68ba0dce6805 GIT binary patch literal 1384 zcmV-u1(*61000233jqKC0001M0BZm=00011WpZ4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*ENt00000007Se00000004dh0000000000 z003wO00000004La#8yjB8!-^xwDh4qq*m&oZ<$IUxS&E?fudfb1}IX3s)Ry0txU2B z7Q5bPcLPnuALvi$sXwp>F1_|KpS|9AlMRR>QHx>iZ^kp@Z^nix$8ky|cSxR)+`B}f zP--CVgG-c$6zeGo&i#la;GYlOekUl?LJwI$6EW+q6$=p8(+?Ou2`5Hy#QOiGg zNfQj@>u9tsWDdPf8Xm>_og@cO5xm!r2L`-iJhTh_wxc4ygogdhuX2HK?eTEP&5L;K znRqJWtAvJe%V3!U!aT_htW0l^X)g-95f8@jDCrd*B}WlrjZ>u1af%d-kbB*nYlV+e zmwC=nXQ38#3e_Ch)LF1ysmw=?I)&nwMP23~Po07bs8hIugZ$U=oT49z$a6=pmz(mA z`#-^ediU8xt!~W66ZOQ>EmGn>t0oyPs8+W#4QgRjs<^|2WvAQSs8p$p3tbJopa_-r z?|oX19$2>^-Do`_@2Hx-x41j#Z{0Sjjk=Jq(MQ!YWsajm{^_?;%(UL^dm%idROtSaK3 z&j+kIh!ZbhTRc8sM?8{3b{S8Y+B3KK`ptZqvAP$8(SQjl62X1(g(o7EtRsAnH7fO` z_2xn#I!we&h6(G0ec4`MTl=&QC_v=JeLtbi^wSDuEGV8#SS*6RuN`TNcmc_uBgL7e z>3F)#W)|s_(ALXJ)8d9vSm)ck4QN;!hLtuW}3UM5z{;IUIR#@m8XLK5bGXocX{UjP6A|NnRaTvE?V z0zniWe^i>9ZUvbY2oVJS10e*h+qgTSyRtKoo+ctFFM_&>R*Wd z0!s+G6oHrMz0uWZ;bUgr`}Ujfy*C;OkSZbMvDv%~z#0V10=Q|*l4IzCIj~_|1j!YI z_q!crD_RuRGB;&G=QKomaJs$!dO{JzEti)@6XNU#6VvCY96{Zf$}@ zAocQm-SKHiMH?0Baxefa$%V^obMV6?Ndw`o{xj$M&cGSXRHenJtGk9(lNHAmlG#OP ziew>uwsxGs5<>vAHJ~dJ78y|_h^r5E-98pZRsiz=oXlu|+^}d_pCRjzsJ)$d*jlu4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*I5*00000003A5000000027y0000000000 z001ci00000004LatW@1^(?ASwU@*SFgb?uLC*IbiX{MpRMa^1-2!o}n5HHg$b4x@n z>2h}!`|H6MA6r|E3Lz{xj(>Oloqcw))9G{`klrS>;(49BWMZXIo|f3O;584=yG7^| z(&sDslHPBS63bIEmn@JODMfQZ*tOD-c|?T;}qOz?EE3>!O;g9YR0H zS?VIz3>83ZH|YT@O0R3;N_|D(75x}1Y=p)$7!@Td%kif}Ts$Ar9tmsw?6_Sgmgsj| zAi-skBOEPsQCDgJ$-qCVFlmY<`bnJ|iIrCVxX|y+sec@&;W+b$pFSjh8h@Gkwb2Ws zPi8hjx7uCQvu(NBwZCl2W(}@@^)95Sl$hi8E<7eGPQELY?4CF znat!l9WgT{>_H|p#AXh?5W@Z-Iv7N6Aq>JkZ+}GQnC?^2Rl-Lhk>Onnw>QWB3o?^> zu~*^}OE|1_p)a;bgHNkfL+WcTcIC5ko|HsrYovmkUrnZ;wC-E4J!X~fJ5IFEY zncznd^bY#TVZ_)yGQ)3}e^*8VL-r@d+oE1HgkJyv0RR7Z0peg_WDsCrU}*Yiqss`S znShuZh=W|5;)7fR{DVS(B0!1!(jV$TVFq?2d4DG_SLYCB1__}2qi64%K>9&g2#7)Y z-TZxAT!Z2v%2*f@fO2^pzd)+N$|Rx6fQJ00960Tv}t{ literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.asm_labs.ddb b/CPLD/MAXV/db/RAM2GS.asm_labs.ddb new file mode 100644 index 0000000000000000000000000000000000000000..e0ad2b20201e92765a6893f35785814ea1e10d36 GIT binary patch literal 2721 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 bgav391Q_rGZ3Hs;kX0mSBo+Yx00960a^o#+ literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.cmp.cdb b/CPLD/MAXV/db/RAM2GS.cmp.cdb new file mode 100644 index 0000000000000000000000000000000000000000..9eb8818cf5e2fba7346227d053b039aa723f7335 GIT binary patch literal 42997 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 literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.cmp.hdb b/CPLD/MAXV/db/RAM2GS.cmp.hdb new file mode 100644 index 0000000000000000000000000000000000000000..203e33a569f7770fa5f72e16af722c51f1b90b23 GIT binary patch literal 18368 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 BhL`{V literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.cmp.idb b/CPLD/MAXV/db/RAM2GS.cmp.idb new file mode 100644 index 0000000000000000000000000000000000000000..a75b7aff7804c106303df9d2906bc8446430d94f GIT binary patch literal 2725 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 literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.cmp.logdb b/CPLD/MAXV/db/RAM2GS.cmp.logdb new file mode 100644 index 0000000..626799f --- /dev/null +++ b/CPLD/MAXV/db/RAM2GS.cmp.logdb @@ -0,0 +1 @@ +v1 diff --git a/CPLD/MAXV/db/RAM2GS.cmp.rdb b/CPLD/MAXV/db/RAM2GS.cmp.rdb index 7ff03d8c1227ac2b00cfdda16621e732642def7a..6acdf4cedaba122b3c164f7df9546cac8e8dea96 100644 GIT binary patch literal 14168 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 delta 3578 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 A9{>OV diff --git a/CPLD/MAXV/db/RAM2GS.cmp0.ddb b/CPLD/MAXV/db/RAM2GS.cmp0.ddb new file mode 100644 index 0000000000000000000000000000000000000000..32830050f0f762e92e0bd437d075186687652b7e GIT binary patch literal 79103 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 literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.db_info b/CPLD/MAXV/db/RAM2GS.db_info index ad07ea5..96d0bc3 100644 --- a/CPLD/MAXV/db/RAM2GS.db_info +++ b/CPLD/MAXV/db/RAM2GS.db_info @@ -1,3 +1,3 @@ Quartus_Version = Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition Version_Index = 503488000 -Creation_Time = Sat Aug 12 18:39:26 2023 +Creation_Time = Sat Aug 12 19:12:38 2023 diff --git a/CPLD/MAXV/db/RAM2GS.fit.qmsg b/CPLD/MAXV/db/RAM2GS.fit.qmsg new file mode 100644 index 0000000..a980d35 --- /dev/null +++ b/CPLD/MAXV/db/RAM2GS.fit.qmsg @@ -0,0 +1,45 @@ +{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Fitter" 0 -1 1691898466325 ""} +{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Fitter" 0 -1 1691898466325 ""} +{ "Info" "IMPP_MPP_USER_DEVICE" "RAM2GS 5M240ZT100C5 " "Selected device 5M240ZT100C5 for design \"RAM2GS\"" { } { } 0 119006 "Selected device %2!s! for design \"%1!s!\"" 0 0 "Fitter" 0 -1 1691898466325 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1691898466372 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1691898466372 ""} +{ "Info" "IFITCC_FITCC_INFO_AUTO_FIT_COMPILATION_ON" "" "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" { } { } 0 171003 "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" 0 0 "Fitter" 0 -1 1691898466388 ""} +{ "Warning" "WCPT_FEATURE_DISABLED_POST" "LogicLock " "Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." { } { } 0 292013 "Feature %1!s! is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." 0 0 "Fitter" 0 -1 1691898466404 ""} +{ "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED" "" "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" { { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M80ZT100C5 " "Device 5M80ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898466497 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M80ZT100I5 " "Device 5M80ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898466497 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M160ZT100C5 " "Device 5M160ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898466497 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M160ZT100I5 " "Device 5M160ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898466497 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M240ZT100I5 " "Device 5M240ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898466497 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M570ZT100C5 " "Device 5M570ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898466497 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M570ZT100I5 " "Device 5M570ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898466497 ""} } { } 2 176444 "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" 0 0 "Fitter" 0 -1 1691898466497 ""} +{ "Critical Warning" "WSTA_SDC_NOT_FOUND" "RAM2GS.sdc " "Synopsys Design Constraints File file not found: 'RAM2GS.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." { } { } 1 332012 "Synopsys Design Constraints File file not found: '%1!s!'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." 0 0 "Fitter" 0 -1 1691898466544 ""} +{ "Info" "ISTA_NO_CLOCK_FOUND_NO_DERIVING_MSG" "base clocks " "No user constrained base clocks found in the design" { } { } 0 332144 "No user constrained %1!s! found in the design" 0 0 "Fitter" 0 -1 1691898466544 ""} +{ "Info" "ISTA_DEFAULT_TDC_OPTIMIZATION_GOALS" "" "Timing requirements not specified -- optimizing circuit to achieve the following default global requirements" { { "Info" "ISTA_ASSUMED_DEFAULT_TDC_REQUIREMENT" "" "Assuming a default timing requirement" { } { } 0 332127 "Assuming a default timing requirement" 0 0 "Design Software" 0 -1 1691898466544 ""} } { } 0 332128 "Timing requirements not specified -- optimizing circuit to achieve the following default global requirements" 0 0 "Fitter" 0 -1 1691898466544 ""} +{ "Info" "ISTA_REPORT_CLOCKS_INFO" "Found 6 clocks " "Found 6 clocks" { { "Info" "ISTA_REPORT_CLOCKS_INFO" " Period Clock Name " " Period Clock Name" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898466544 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" "======== ============ " "======== ============" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898466544 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 ARCLK " " 1.000 ARCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898466544 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 DRCLK " " 1.000 DRCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898466544 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 nCCAS " " 1.000 nCCAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898466544 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 nCRAS " " 1.000 nCRAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898466544 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 PHI2 " " 1.000 PHI2" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898466544 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 RCLK " " 1.000 RCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898466544 ""} } { } 0 332111 "%1!s!" 0 0 "Fitter" 0 -1 1691898466544 ""} +{ "Extra Info" "IFSAC_FSAC_START_REG_LOCATION_PROCESSING" "" "Performing register packing on registers with non-logic cell location assignments" { } { } 1 176273 "Performing register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1691898466544 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_REG_LOCATION_PROCESSING" "" "Completed register packing on registers with non-logic cell location assignments" { } { } 1 176274 "Completed register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1691898466544 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "User Assigned Global Signals Promotion Operation " "Completed User Assigned Global Signals Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1691898466544 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_ALL_TO_GLOBAL" "RCLK Global clock in PIN 12 " "Automatically promoted signal \"RCLK\" to use Global clock in PIN 12" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 40 -1 0 } } } 0 186215 "Automatically promoted signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691898466560 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "PHI2 Global clock " "Automatically promoted some destinations of signal \"PHI2\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "PHI2r " "Destination \"PHI2r\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 13 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898466560 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691898466560 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "PHI2 " "Pin \"PHI2\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { PHI2 } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "PHI2" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 333 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691898466560 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCRAS Global clock " "Automatically promoted some destinations of signal \"nCRAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "LED~0 " "Destination \"LED~0\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898466560 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RASr " "Destination \"RASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 14 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898466560 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691898466560 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCRAS " "Pin \"nCRAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCRAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCRAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 335 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691898466560 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCCAS Global clock " "Automatically promoted some destinations of signal \"nCCAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CBR " "Destination \"CBR\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 17 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898466560 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "comb~0 " "Destination \"comb~0\" may be non-global or may not use global clock" { } { } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898466560 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CASr " "Destination \"CASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 15 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898466560 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691898466560 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCCAS " "Pin \"nCCAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCCAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCCAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 334 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691898466560 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "Auto Global Promotion Operation " "Completed Auto Global Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1691898466560 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_START_FYGR_REGPACKING_INFO" "" "Starting register packing" { } { } 0 176234 "Starting register packing" 0 0 "Fitter" 0 -1 1691898466560 ""} +{ "Extra Info" "IFSAC_FSAC_START_LUT_PACKING" "" "Moving registers into LUTs to improve timing and density" { } { } 1 176244 "Moving registers into LUTs to improve timing and density" 1 0 "Fitter" 0 -1 1691898466575 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_HEADER" "" "Started processing fast register assignments" { } { } 0 186468 "Started processing fast register assignments" 0 0 "Fitter" 0 -1 1691898466591 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_FOOTER" "" "Finished processing fast register assignments" { } { } 0 186469 "Finished processing fast register assignments" 0 0 "Fitter" 0 -1 1691898466591 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_LUT_PACKING" "00:00:00 " "Finished moving registers into LUTs: elapsed time is 00:00:00" { } { } 1 176245 "Finished moving registers into LUTs: elapsed time is %1!s!" 1 0 "Fitter" 0 -1 1691898466591 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_REGPACKING_INFO" "" "Finished register packing" { } { } 0 176235 "Finished register packing" 0 0 "Fitter" 0 -1 1691898466591 ""} +{ "Info" "IFITCC_FITTER_PREPARATION_END" "00:00:00 " "Fitter preparation operations ending: elapsed time is 00:00:00" { } { } 0 171121 "Fitter preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691898466622 ""} +{ "Info" "IVPR20K_VPR_FAMILY_APL_ERROR" "" "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." { } { } 0 14896 "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." 0 0 "Fitter" 0 -1 1691898466622 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_START" "" "Fitter placement preparation operations beginning" { } { } 0 170189 "Fitter placement preparation operations beginning" 0 0 "Fitter" 0 -1 1691898466700 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_END" "00:00:00 " "Fitter placement preparation operations ending: elapsed time is 00:00:00" { } { } 0 170190 "Fitter placement preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691898466803 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_START" "" "Fitter placement operations beginning" { } { } 0 170191 "Fitter placement operations beginning" 0 0 "Fitter" 0 -1 1691898466803 ""} +{ "Info" "IFITAPI_FITAPI_INFO_VPR_PLACEMENT_FINISH" "" "Fitter placement was successful" { } { } 0 170137 "Fitter placement was successful" 0 0 "Fitter" 0 -1 1691898467115 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_END" "00:00:00 " "Fitter placement operations ending: elapsed time is 00:00:00" { } { } 0 170192 "Fitter placement operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691898467115 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_START" "" "Fitter routing operations beginning" { } { } 0 170193 "Fitter routing operations beginning" 0 0 "Fitter" 0 -1 1691898467131 ""} +{ "Info" "IFITAPI_FITAPI_VPR_PERCENT_ROUTING_RESOURCE_USAGE" "18 " "Router estimated average interconnect usage is 18% of the available device resources" { { "Info" "IFITAPI_FITAPI_VPR_PEAK_ROUTING_REGION" "18 X0_Y0 X8_Y5 " "Router estimated peak interconnect usage is 18% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5" { } { { "loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 1 { 0 "Router estimated peak interconnect usage is 18% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5"} { { 12 { 0 ""} 0 0 9 6 } } } } } } } 0 170196 "Router estimated peak interconnect usage is %1!d!%% of the available device resources in the region that extends from location %2!s! to location %3!s!" 0 0 "Design Software" 0 -1 1691898467240 ""} } { } 0 170195 "Router estimated average interconnect usage is %1!d!%% of the available device resources" 0 0 "Fitter" 0 -1 1691898467240 ""} +{ "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED" "" "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." { { "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED_FOR_ROUTABILITY" "" "Optimizations that may affect the design's routability were skipped" { } { } 0 170201 "Optimizations that may affect the design's routability were skipped" 0 0 "Design Software" 0 -1 1691898467475 ""} } { } 0 170199 "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." 0 0 "Fitter" 0 -1 1691898467475 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_END" "00:00:00 " "Fitter routing operations ending: elapsed time is 00:00:00" { } { } 0 170194 "Fitter routing operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691898467475 ""} +{ "Info" "IVPR20K_VPR_TIMING_ANALYSIS_TIME" "the Fitter 0.21 " "Total time spent on timing analysis during the Fitter is 0.21 seconds." { } { } 0 11888 "Total time spent on timing analysis during %1!s! is %2!s! seconds." 0 0 "Fitter" 0 -1 1691898467475 ""} +{ "Info" "IFITCC_FITTER_POST_OPERATION_END" "00:00:00 " "Fitter post-fit operations ending: elapsed time is 00:00:00" { } { } 0 11218 "Fitter post-fit operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691898467490 ""} +{ "Warning" "WFIOMGR_RESERVE_ASSIGNMENT_FOR_UNUSED_PINS_IS_DEFAULT" "As output driving ground " "The Reserve All Unused Pins setting has not been specified, and will default to 'As output driving ground'." { } { } 0 169174 "The Reserve All Unused Pins setting has not been specified, and will default to '%1!s!'." 0 0 "Fitter" 0 -1 1691898467506 ""} +{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg " "Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Fitter" 0 -1 1691898467537 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Fitter 0 s 4 s Quartus Prime " "Quartus Prime Fitter was successful. 0 errors, 4 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "5345 " "Peak virtual memory: 5345 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1691898467569 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 12 23:47:47 2023 " "Processing ended: Sat Aug 12 23:47:47 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1691898467569 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:02 " "Elapsed time: 00:00:02" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1691898467569 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:02 " "Total CPU time (on all processors): 00:00:02" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1691898467569 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Fitter" 0 -1 1691898467569 ""} diff --git a/CPLD/MAXV/db/RAM2GS.hier_info b/CPLD/MAXV/db/RAM2GS.hier_info new file mode 100644 index 0000000..05f5d6b --- /dev/null +++ b/CPLD/MAXV/db/RAM2GS.hier_info @@ -0,0 +1,279 @@ +|RAM2GS +PHI2 => Bank[0].CLK +PHI2 => Bank[1].CLK +PHI2 => Bank[2].CLK +PHI2 => Bank[3].CLK +PHI2 => Bank[4].CLK +PHI2 => Bank[5].CLK +PHI2 => Bank[6].CLK +PHI2 => Bank[7].CLK +PHI2 => RA11.CLK +PHI2 => PHI2r.DATAIN +PHI2 => CmdDRDIn.CLK +PHI2 => CmdDRCLK.CLK +PHI2 => CmdUFMPrgm.CLK +PHI2 => CmdUFMErase.CLK +PHI2 => CmdSubmitted.CLK +PHI2 => Cmdn8MEGEN.CLK +PHI2 => XOR8MEG.CLK +PHI2 => ADSubmitted.CLK +PHI2 => C1Submitted.CLK +PHI2 => UFMOscEN.CLK +PHI2 => CmdEnable.CLK +MAin[0] => RA.DATAA +MAin[0] => RowA.DATAB +MAin[0] => Equal0.IN7 +MAin[0] => Equal1.IN7 +MAin[0] => Equal3.IN6 +MAin[1] => RA.DATAA +MAin[1] => RowA.DATAB +MAin[1] => Equal0.IN6 +MAin[1] => Equal1.IN6 +MAin[1] => Equal3.IN7 +MAin[2] => RA.DATAA +MAin[2] => RowA.DATAB +MAin[2] => Equal0.IN5 +MAin[2] => Equal1.IN5 +MAin[2] => Equal3.IN5 +MAin[3] => RA.DATAA +MAin[3] => RowA.DATAB +MAin[3] => Equal0.IN4 +MAin[3] => Equal1.IN4 +MAin[3] => Equal3.IN4 +MAin[4] => RA.DATAA +MAin[4] => RowA.DATAB +MAin[4] => Equal0.IN3 +MAin[4] => Equal1.IN3 +MAin[4] => Equal3.IN3 +MAin[5] => RA.DATAA +MAin[5] => RowA.DATAB +MAin[5] => Equal0.IN2 +MAin[5] => Equal1.IN2 +MAin[5] => Equal3.IN2 +MAin[6] => RA.DATAA +MAin[6] => RowA.DATAB +MAin[6] => Equal0.IN1 +MAin[6] => Equal1.IN1 +MAin[6] => Equal3.IN1 +MAin[7] => RA.DATAA +MAin[7] => RowA.DATAB +MAin[7] => Equal0.IN0 +MAin[7] => Equal1.IN0 +MAin[7] => Equal3.IN0 +MAin[8] => RA.DATAA +MAin[8] => RowA.DATAB +MAin[9] => RA.DATAA +MAin[9] => RDQMH.DATAA +MAin[9] => RowA.DATAB +MAin[9] => RDQML.DATAA +CROW[0] => RBA.DATAB +CROW[1] => RBA.DATAB +Din[0] => CmdDRDIn.DATAB +Din[0] => XOR8MEG.DATAB +Din[0] => WRD[0].DATAIN +Din[0] => Bank[0].DATAIN +Din[0] => Equal14.IN2 +Din[0] => Equal15.IN4 +Din[0] => Cmdn8MEGEN.DATAB +Din[1] => CmdDRCLK.DATAB +Din[1] => WRD[1].DATAIN +Din[1] => Bank[1].DATAIN +Din[1] => Equal14.IN7 +Din[1] => Equal15.IN7 +Din[2] => CmdUFMPrgm.DATAB +Din[2] => WRD[2].DATAIN +Din[2] => Bank[2].DATAIN +Din[2] => Equal14.IN6 +Din[2] => Equal15.IN3 +Din[3] => CmdUFMErase.DATAB +Din[3] => WRD[3].DATAIN +Din[3] => Bank[3].DATAIN +Din[3] => Equal14.IN5 +Din[3] => Equal15.IN2 +Din[4] => WRD[4].DATAIN +Din[4] => Bank[4].DATAIN +Din[4] => Equal14.IN4 +Din[4] => Equal15.IN6 +Din[4] => Equal16.IN3 +Din[4] => Equal17.IN0 +Din[4] => Equal18.IN3 +Din[5] => WRD[5].DATAIN +Din[5] => Bank[5].DATAIN +Din[5] => Equal14.IN3 +Din[5] => Equal15.IN1 +Din[5] => Equal16.IN2 +Din[5] => Equal17.IN3 +Din[5] => Equal18.IN0 +Din[6] => RA11.IN1 +Din[6] => WRD[6].DATAIN +Din[6] => Bank[6].DATAIN +Din[6] => Equal14.IN1 +Din[6] => Equal15.IN5 +Din[6] => Equal16.IN1 +Din[6] => Equal17.IN2 +Din[6] => Equal18.IN2 +Din[7] => WRD[7].DATAIN +Din[7] => Bank[7].DATAIN +Din[7] => Equal14.IN0 +Din[7] => Equal15.IN0 +Din[7] => Equal16.IN0 +Din[7] => Equal17.IN1 +Din[7] => Equal18.IN1 +Dout[0] << Dout[0].DB_MAX_OUTPUT_PORT_TYPE +Dout[1] << Dout[1].DB_MAX_OUTPUT_PORT_TYPE +Dout[2] << Dout[2].DB_MAX_OUTPUT_PORT_TYPE +Dout[3] << Dout[3].DB_MAX_OUTPUT_PORT_TYPE +Dout[4] << Dout[4].DB_MAX_OUTPUT_PORT_TYPE +Dout[5] << Dout[5].DB_MAX_OUTPUT_PORT_TYPE +Dout[6] << Dout[6].DB_MAX_OUTPUT_PORT_TYPE +Dout[7] << Dout[7].DB_MAX_OUTPUT_PORT_TYPE +nCCAS => WRD[0].CLK +nCCAS => WRD[1].CLK +nCCAS => WRD[2].CLK +nCCAS => WRD[3].CLK +nCCAS => WRD[4].CLK +nCCAS => WRD[5].CLK +nCCAS => WRD[6].CLK +nCCAS => WRD[7].CLK +nCCAS => comb.IN0 +nCCAS => CBR.DATAIN +nCCAS => CASr.DATAIN +nCRAS => CBR.CLK +nCRAS => FWEr.CLK +nCRAS => RowA[0].CLK +nCRAS => RowA[1].CLK +nCRAS => RowA[2].CLK +nCRAS => RowA[3].CLK +nCRAS => RowA[4].CLK +nCRAS => RowA[5].CLK +nCRAS => RowA[6].CLK +nCRAS => RowA[7].CLK +nCRAS => RowA[8].CLK +nCRAS => RowA[9].CLK +nCRAS => RBA[0]~reg0.CLK +nCRAS => RBA[1]~reg0.CLK +nCRAS => LED.IN1 +nCRAS => RASr.DATAIN +nFWE => comb.IN1 +nFWE => CMDWR.IN1 +nFWE => ADWR.IN1 +nFWE => C1WR.IN1 +nFWE => FWEr.DATAIN +LED << LED.DB_MAX_OUTPUT_PORT_TYPE +RBA[0] << RBA[0]~reg0.DB_MAX_OUTPUT_PORT_TYPE +RBA[1] << RBA[1]~reg0.DB_MAX_OUTPUT_PORT_TYPE +RA[0] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[1] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[2] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[3] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[4] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[5] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[6] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[7] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[8] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[9] << RA.DB_MAX_OUTPUT_PORT_TYPE +RA[10] << RA10.DB_MAX_OUTPUT_PORT_TYPE +RA[11] << RA11.DB_MAX_OUTPUT_PORT_TYPE +RD[0] <> RD[0] +RD[1] <> RD[1] +RD[2] <> RD[2] +RD[3] <> RD[3] +RD[4] <> RD[4] +RD[5] <> RD[5] +RD[6] <> RD[6] +RD[7] <> RD[7] +nRCS << nRCS~reg0.DB_MAX_OUTPUT_PORT_TYPE +RCLK => UFMProgram.CLK +RCLK => UFMErase.CLK +RCLK => UFMReqErase.CLK +RCLK => n8MEGEN.CLK +RCLK => UFMInitDone.CLK +RCLK => UFMD.CLK +RCLK => DRShift.CLK +RCLK => DRDIn.CLK +RCLK => DRCLK.CLK +RCLK => ARShift.CLK +RCLK => ARCLK.CLK +RCLK => Ready.CLK +RCLK => IS[0].CLK +RCLK => IS[1].CLK +RCLK => IS[2].CLK +RCLK => IS[3].CLK +RCLK => nRowColSel.CLK +RCLK => RCKEEN.CLK +RCLK => RA10.CLK +RCLK => nRWE~reg0.CLK +RCLK => nRCAS~reg0.CLK +RCLK => nRRAS~reg0.CLK +RCLK => nRCS~reg0.CLK +RCLK => RCKE~reg0.CLK +RCLK => InitReady.CLK +RCLK => FS[0].CLK +RCLK => FS[1].CLK +RCLK => FS[2].CLK +RCLK => FS[3].CLK +RCLK => FS[4].CLK +RCLK => FS[5].CLK +RCLK => FS[6].CLK +RCLK => FS[7].CLK +RCLK => FS[8].CLK +RCLK => FS[9].CLK +RCLK => FS[10].CLK +RCLK => FS[11].CLK +RCLK => FS[12].CLK +RCLK => FS[13].CLK +RCLK => FS[14].CLK +RCLK => FS[15].CLK +RCLK => FS[16].CLK +RCLK => FS[17].CLK +RCLK => S[0].CLK +RCLK => S[1].CLK +RCLK => CASr3.CLK +RCLK => CASr2.CLK +RCLK => CASr.CLK +RCLK => RASr3.CLK +RCLK => RASr2.CLK +RCLK => RASr.CLK +RCLK => PHI2r3.CLK +RCLK => PHI2r2.CLK +RCLK => PHI2r.CLK +RCKE << RCKE~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRWE << nRWE~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRRAS << nRRAS~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRCAS << nRCAS~reg0.DB_MAX_OUTPUT_PORT_TYPE +RDQMH << RDQMH.DB_MAX_OUTPUT_PORT_TYPE +RDQML << RDQML.DB_MAX_OUTPUT_PORT_TYPE + + +|RAM2GS|UFM:UFM_inst +arclk => arclk.IN1 +ardin => ardin.IN1 +arshft => arshft.IN1 +drclk => drclk.IN1 +drdin => drdin.IN1 +drshft => drshft.IN1 +erase => erase.IN1 +oscena => oscena.IN1 +program => program.IN1 +busy <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.busy +drdout <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.drdout +osc <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.osc +rtpbusy <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.rtpbusy + + +|RAM2GS|UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component +arclk => maxii_ufm_block1.ARCLK +ardin => maxii_ufm_block1.ARDIN +arshft => maxii_ufm_block1.ARSHFT +busy <= maxii_ufm_block1.BUSY +drclk => maxii_ufm_block1.DRCLK +drdin => maxii_ufm_block1.DRDIN +drdout <= maxii_ufm_block1.DRDOUT +drshft => maxii_ufm_block1.DRSHFT +erase => maxii_ufm_block1.ERASE +osc <= maxii_ufm_block1.OSC +oscena => maxii_ufm_block1.OSCENA +program => maxii_ufm_block1.PROGRAM +rtpbusy <= maxii_ufm_block1.BGPBUSY + + diff --git a/CPLD/MAXV/db/RAM2GS.hif b/CPLD/MAXV/db/RAM2GS.hif index a9f6e2ca7f61f35386628e9d9791e17ca3041c9f..9b78726a485db81e970e164f2e013459c7b4bea6 100644 GIT binary patch literal 573 zcmV-D0>b^Q4*>uG0001Zob6J}j+-zP-COEESei|{2xCaXV|Hmu5~>7JNV2sYV-ia| zQe&b$3}^6;>6y zMYkd_7{Ev>DC+LLAmReoL>@~x7&I9-k9*_YiQVGU@|x!C^^x1e9b~!W@&dNAmHH`V zA;^J&cwdK;l`)UB_xcBo=1EWF4yMI{Q(T;yso^7-Y&QW`ML2Y)!QA&YUN`lVDy5`k zxMX>$C_1yIQ&9=ZaKcjtswC6Sz#f^g>9Ax!v@J4>^^s$m!~G~3nIl`#jDW3<@mw;I zlk}yl8VP$%v&jr1tr5xuui7-yrD5Am~pUq*g#>L=GM&W!r|k6BFZE9)Z;X*L L$-uks;|mn-QNuG0001ZoNZ2B3xYrpd_U+vEcAT39%=X*DH2weaIa#y(19OuolX4%tFYBThZY1I&uq~Q zm#qZzG4RquI%F~-GR`44_7!{kqD%dRtTeYCI3Ja$ ft^V$(giN;SEGzns{0d9BcFnyeLu~N^$|6O$i!M=6 diff --git a/CPLD/MAXV/db/RAM2GS.lpc.html b/CPLD/MAXV/db/RAM2GS.lpc.html new file mode 100644 index 0000000..774a839 --- /dev/null +++ b/CPLD/MAXV/db/RAM2GS.lpc.html @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    HierarchyInputConstant InputUnused InputFloating InputOutputConstant OutputUnused OutputFloating OutputBidirConstant BidirUnused BidirInput only BidirOutput only Bidir
    UFM_inst|UFM_altufm_none_38r_component9000400000000
    UFM_inst9404444400000
    diff --git a/CPLD/MAXV/db/RAM2GS.lpc.rdb b/CPLD/MAXV/db/RAM2GS.lpc.rdb new file mode 100644 index 0000000000000000000000000000000000000000..8e8eb274daad25a0dea442c01817cc5b837b9a6b GIT binary patch literal 496 zcmWe(U|?9w%?KnJ7_x!T1W1Ra78Pga=P4Lk>KW=8C^(g7=AX((AcW=Z*t;nDEzc$@mw^%g#wS$ps}(K>_J-#X`dNq zrgh$GuU_JM^rd7gzs=N~j;#;+5B9Ir%GJ9$!&YZcqI>X3`G)$HJJw1a&su%TA*Lue z?2_UBwc5;qZ}*;#ZD_9z)UH?5{Z(=2#yZNWey=bf9?3S>sRXr0}Y1ORHsk< auNX2XBu;YZ2@sPJdh+tQ9DgV;*hT;{Va^}` literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.lpc.txt b/CPLD/MAXV/db/RAM2GS.lpc.txt new file mode 100644 index 0000000..008c8b2 --- /dev/null +++ b/CPLD/MAXV/db/RAM2GS.lpc.txt @@ -0,0 +1,8 @@ ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Legal Partition Candidates ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ +; Hierarchy ; Input ; Constant Input ; Unused Input ; Floating Input ; Output ; Constant Output ; Unused Output ; Floating Output ; Bidir ; Constant Bidir ; Unused Bidir ; Input only Bidir ; Output only Bidir ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ +; UFM_inst|UFM_altufm_none_38r_component ; 9 ; 0 ; 0 ; 0 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; +; UFM_inst ; 9 ; 4 ; 0 ; 4 ; 4 ; 4 ; 4 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ diff --git a/CPLD/MAXV/db/RAM2GS.map.cdb b/CPLD/MAXV/db/RAM2GS.map.cdb new file mode 100644 index 0000000000000000000000000000000000000000..a7f3595504398cf8967cbd42964e7def9fec0a10 GIT binary patch literal 17594 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 literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.map.hdb b/CPLD/MAXV/db/RAM2GS.map.hdb index 2a3acb9f86a32a0591146fb8acf42464d7edb4cc..ce0c26d9ca7bc9d2ac9164b6a089b004db3fca3c 100644 GIT binary patch literal 17438 zcmX`S18^tL^FJKpVqKDpZQHuowr$(CF1Bskwr$(iJO6xs->071dQJCqkG7|FtEaaY z6$l8Z3I_P61Ol@BxtM>bim`*ExvdR80|zYwEj_-Vv$>TKJ}VnNK0OB=BO@InJp%{6 zq6EH_xsx%zu#vgbPg|0<{|zC)`+p+=ZNUDI{#WAu{U7fJeCZ97iLIRE1F5cr`d5iR zaW=>=HaISgI04ooGdoR&k)F=e1esrd5(QKrgkV&NwZg9zBp-kOS3e;oWku=bxP+3` zS`T?xWqy4G72!p_@0@UowmjmPkM0xCQc1bZQ&s!Y9>)ut>vfgmjO%pU3Gao9^UH%o z(fkO~i^HJm@c0D9N+Hv)o5%_c!7=*bwTQ-{)! z^-=A)N2R|dAAr0UuTzUF(6&qlkbvml!7{kfuV~~Rr6L}2E{M(+nrzIkhJ6T(CnXWn z3k6Ln8yl4#)?W{f`iZ`nX;sHrwnQYU(7mZs@H_7;^O%ZwIM3_3-RBsxM0j$&H>$mq zgf6J&*3v8F%iT$AC53-a5JTm3o9H}@HqAOwy5*VcP&CXHR+?EPNT-9mpdEp)$NI8z%SsYKKCYE0Auzr77wN4#OZ4Vwz}E{4g5oSLm-gkY-qGK zAA#_^^)>yp#iflO#KPYONKs?%lfdZCw`OX!=|50h$fRbjvp2aoZ0Ac;leQ$kyf#~J z$vaYL~tz*$If9`S;4J`t?3f}U}NH8z(e6qVR)I(jG)M34(b!t1*_M)cy zBb>6jMv1mfUACGOtm;;(dEcCPlsLgyysk2Ts8M@}w9QT}V(`}Zja)2&d2Elc*jsV(YJd2f$!x|_})_&mNNYwLy6$m2OK(iiBt6~J? z9>?J8K7nz^?JtBH3egLhgEjGAarHBwvs#grn!ew!j^`mRtO{5Nkr$t){Y*)s=Vaab zJ(XDdIm(`59Fc{Y9hT6|4!r~2W>hQQODeSWX*RJADc&2J-;JNekj4`V8H>V*=+woPL`?JHlxPg_kko1yIjo5T_CRy*@DW`pt9e?V{hjH{|PUk-{8 zv;)12<9g%0jnh%ko$%w`bAuNwNyhWG7Z3#rB^K_RqMd;5`-ca6>jV9*^PlB4grE4< z0WC{+wJq~yoKIUwZl(F=p94x*-_o9WFNDs&_;-Py8+}1k3$JOiDFN
    6>~J#BOR^Ti#=MW;%FK1NPL6 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 UQWdftPdUXXJ1yt}`QiV60LF1)r~m)} literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.pre_map.hdb b/CPLD/MAXV/db/RAM2GS.pre_map.hdb index 888b184573c17f8ab7654776b3b0975ce63b1865..52b67c58223e4a15f0bd78bb9a4705276bfdebdb 100644 GIT binary patch literal 16238 zcmYj&V|Xsj?{M2w+vcfl+qP|;+O}<++U+Us+O}=mw%dPy@AKuo_R1uiO=c%MyR%6) ziwXn;R0RY4(*glm{cJ2hSk2VY$pygpiG$fslcdo{5Q`iGh)m zP+5vl#?sl8P}IcI`A4>}{=Y8TIsaczK&G(&;s3R^{QuGJz!yF+Stg<`Zr4M3$Ry#= zfpu)udB0)rSF%?H2T%WAt=hQiJ@KT97j15?4u+VbKLH1VBOww~QBjGh7%>zO{ehKK zP;@wWCkd27O`(V=^M0M6ADEuD{!O)K`}Mu9x_G>$-F&{)#tQ?Z+}*1DoWu3)B$v(g z*fQ;_m9OwZ(R9q!bSyp=1vOmcH2=ZnHp(xyTi{(Jjcs}!<2-gu_Nqb0xIrF+C2kkPb@xgLhu*=qn~RDV+(7&l*gKs80h2T#M*m zRt#j0+Dh7i-x4S*B`Utyjh^4NS;K^>Yeq;gkQoLtMMlC4MU1o!-b(=C_O z>q*`%-E*hhYk>RDM*R2k&-;_rG>42Kxi#Wu7EBz3f%FDcuMM+WJS-YPO=rGuqTn-%Vkx6Hml?7V`<2lM_wV8hit9o)w>PCf)ve`797VA$=+r?4} z2$E7Ww3-yty{`8x{??aCSvgpvet`vJ@IF>BnM#BuPMt*;-uSBlooVW54aM%uqPm)rPNqZyVIB=ygv2+)$zL>Ob zx!uCFh5+rST_mibYS`cx>cWXRFYf z(CEjlS4g-#G|i}&S=3uod$UgGG4E1YTw(61%%51TalN||Y65T{Ca7~-Sw^};jK^N- zU{s8z51WoLy4R^s+p;*ve|=&~u^_y+$d%xN>H@~oGaWBh#)Nr1Tm;f(!)kYL^>Sv# zCE za+={$4-;z%d9cnuRIu|C$G6BmIX8F8_rIp@#j;o@>ycB7&hd4nCDkT{Gi(6FJ_%uZ z8V~aQFuUKEu`#4Aja=0#3T)G0&WUYDXbBj?);wuw&}o+VK5_+w`R+?RZ8FDfx<5@6 z51jmjRhY;f*iD?}d^pu=iKV+tbYpx{ruj5w$T*!p2<)s^^Y2`Yu@f9Jtjv4h;@h}G z9yi^$luo-WyLb@JKkOsuJ>5h&7%r?lGq(KG^qNLTYjH$uWg%P-E+Re?D=%l&8Oux( z=2Cm6n$Ga%u!?lmvkc~Qj~>uZg&)8{JEvY5nPKT=StK|%kE4HxFP9!?Ic;Vh_k0)d zjfx1|v*RR<6(%vs3=nz9J>Gs(g$*mduPkk=N3WH%`?d~OUdoC7jR}kQ_)*gutxFMI zQAc@j5H)6?z4h2y0*jk5z%*tsHQ=4YO?Asb@h*k(eNNuPf%%9O*G>B|@lL{q-)5Tg zt>Vda`@z2Eqqmsp^qKVUs9P>%P~bA=PVEIdhrS+_UzmV~-nDQ*Vi zv|nn`rC{g8;{ZkG5mwDgzeD6Lpt|`ai;3l`s@riq_4smtsW^dlxd2Xu3)kbARp8L_ zA;CrOR-9Q^Ut5=@`bX)7X{>+WLpJ(A3!eUq%Y)&j#ohWccZh)P+e*1H=6!)c;i{ba za$TK=ty_s72jaNfnghv9^^PuM`klE0If^6 zO){CL<$$g`Fkxjtvg|046PJ7{JULI7N$I8s6L+A6F?yfCBTLAiLmto3q6O_4_s_=V;NU>UETD+V3|l zi(ld;i=o~MksCsf;6697NVP)d!Oj;JB>9%%AIGGzm&Iin9J|aD;#9H@@BRXdy>@xj zZ4e>dx7M8_Z6-fRs%g2$A++|b2h9pTx`OCTKC>xQ0172dK08@WN^OEMqy9s`F%rag z;0iZd=QWLWmbmpPnKJ?J7lZ5bv&Nyc4UX?>2f>75h|4h#<$3k7{M?GZx#(_pxsQXddFBDG>)>9mx3Oc2;Imv?P_`1C{oKP#P_% zZO!+R`4SD|ps*V$<1++g);PsqPu-6yYn)d!jx;`}K1K&2)D$jc67CZ+g7^xZKy-!n zTX=z5Bs5(;92Th>5o=GEh)IOIzlm)nS`YmGHXIZ@Nak6yfC(~P&|G8eXc$1nO?!>R`mEy=ZfkWp` z%qgMbgSe83pz*I$dF{r-RkgB>qf&zxrg{-BSLQX&)zgJF5QH9UOP@hv6GQ}SRWpi+ z3Iw9)m|W-Pmr$nX2AX{^s|3r(^%Fr_vvogJpI7tvkLne7Gzfyra=X9l zhEq?1(2W5{yi&JfT{3FhEtehlw<&e4+3_}XiM5IkE_Bca1;a~r+bxeetp)K_7-m_U zOc*^2{5ZtsXOHV{9j^Cs805V5hRd-l>BSC8k2E$5U=udwntxX>DQ!TB0p2Ylb!_$j z{s*R+we4xljg8%(yi6`DDy&Bmfk-lM7*$|6C{Mo?b<$(w4dTk*`Ctx1Uhqk ziC6fX9vFCdXVAl>lkBUZ=tpN`I(ysKDP>Z^#i~dhI#w}pYF1R*5=pzJ<_TNvP882E z7>`XQ0)*M$^xwJvWb~4_JZs1MrnpjA!IE2o=Oh<`zWWM=(bXL$I0wxS^*%ZspUtQ3 z;GUyHw%~!W&{zs9#?uYT+I7;0I4&9lGc8;VqLzeM3WR}8a2bIa)?~e2VQA0_A35f5 zr87YZC4xH~q9c3K{-F#Jc{cq{@1>Lu$V42w+m$4~Q^4KYN5oQ1aHgr2yli?2FRzeY zv>sTeEf<8J8y$1Rmq@eUHN7aE%Ea?ceF9IstzO=sI(oZmPtL`P5kwGmj9wj^5aNnMjExV%=_T6xwP|7v_QFUqxBr6 z_@jpA8G4Z-cF(F!ar?&8=;RTHo++$HZq9j+q^#2p$tmY85_2xQMCNSvQOjpCz(=M- z&@bxaqhLdYw$Yk4-ai_fbgY%Ox!7vW%5W9y6`_llYW;tnD;71c5(Xq1qe(Ti4N?rX zq8MXBva4!;qZ|=nPDwZ0akZm}lYu3Xfl50y8c5HRL0)+_>eeU~9+RrkrMJ)~Dw5bR zRGtQs#b?l2fGjx+qSTbYWcah{&VW{?<_S{QFrSs|z5#c#d6a}RkiE0?rC-cK8rSg? zM~`kr|1g+-7^9GdgK^=Cr{ZEtHwIzrNk1c#?mv4fF?4yK|8L-YKLfAER*TZ#6@OC5 zhPArOLpN@O{j;;1N2a;hpPMnDQ+-(o4qExN6sSO)LX1t9QgkAdF;AylzMORhG?R7p z^n;InVCe^jma|funqy>_{zAm2%0YuO@;oH9FqrK#QHnJ)qZO{FMb2JI4W2v|898$+ zF=~B;XJ~EgUkOSTbbc!oS1t%v3+%w~141s+q}Zj)>hNX}RX#I#Iu z8MV~RM>@zxE7H=lWLJ1?M6Kt={apu5M0ozlLZ9PIfpM+c#?}W>WJv_Tkfx5E{{dF~ zthYQGgU+aM(soUC7@irlg|**;DF7DMwfz-6aJA6prITenl0S>uSenqNlvd9a&@*@7 zT52Y?Hj_7hUNYxBI7XuV4tmMKoeAhPH_v9>En;u}(@@vOWcFY*T(XAQ$}|))n=A>A zLm+6Sfb;z;B4Lq@|8YQ~!bXc9r~A?hi7V{b+DHgZklK9Rzxu$Wi2C?OMOMaOKx!$o zadantD_ur(Mhsj3iPYf_7mmf}Qq+=u2XO)`nR5y_b2BR`z2fxlfV;)|(x|Mq@dnZ~ zJ5S^=g;6w;{J*PxSUKhQuXGX78C9dpAYi~aWy5F&)d`MLc2M-0om^Lm>v6h(+Zr*S zl7}k-xZauatXMYkFd}K!3@oL2-b`@*y&1LBIlJ{{(d~qd;$Thh24k0TVS7cHM@iFZ zpj1W}Nyb$S0^b-79#b;U0&A;PzlXN#)dow2RM3PO%c}I@!iB7GmQTm%*+r|Ynt4>s zd4Z@>>}mk>RHkS}kz+kF{8PlGId?9;p;v#hqm6}$&5r)#^pRP=Hh_x&i>r)?T{$z0 zO>dv(h^g@OWFTKWiqOhMB_|6Inbes+b8VY)s-W*x0uC28YB5nQuXGZuWt;K@?!|Nab&E(;i2;wr-Bn> z(jS0@%(upG)19G*+{kvr5d|)@DS-Q$BR5l$bs+>VxKlGXHwakbtVF+DqQJsPr+=v# zQ^}l+SehBY=cT7iyK&d~tRx{oCe5)eESioF8Ww+2emLB-9rNE`guT+;s3+-|f4!B) zi@i(-rq<4LNu=h4_i3($5q2+51?G3R5Zh(PSrsVH>aniXCp^aG74=ROEP3bRA|t}O zJiU#idVRA^T|Gkv_`F}y#mN@;-pEgv$Se$!AeZx_w7Z-JhtEiBot7}^ZaZ9G`6H`| z3(egkSCi?CD|-Y3=#TP94Mnnk9)qdmhI4bpcmpHGSJK$e_121-Rk6i6YTj+pA8P~| zLpt*Xtp^F-N^+=$aq~A8dVj@T&W!IA$k=7)TVqPb!{^^E9cf`0lBRmt`B%)-F~i=a zw>2B)?bNg$)(f`1)tKMCHtcggS&p=qcr7bM5+s>1F>;Gzy+2&qGuB(lW}WwMy_Rb04WnOw39S{qcazu8|} zr?a#bZO93idAJ}(ixu7`xjakngqaI)yl<7Ed{%C}g?CrVZ1iD( z-)uI@OFGS)jPd#GX|R*SSslrW17yk&ANhX98EmPwuhD|?DjV{%zTS%amp9T#IG<%s zr+$}KlJ&Qvj-A(g#vWU;=X0)2W2|;c02@iF=GlMKVx=^eFdh%JN8||4rhsQwd8Mt$ zI8(npfqSB%4ek5>8!eGl)m&pQi9x@*a0!NVc z7r07%Kx9rB;v6Hf{k8=UK`}jpfh`Fh&=?c@pwGO)eYlaJNZFrVKS{3AwRaI?$bR)UfcC7vtnHa;G+Q z9wi6f^T+kakR%PabHpP08%)ZG8wKTf-h}y)Iqrjl>>Y*Qx7loA0|($)L^SXc4H+hQ zbM%drZGB|-lWbFwG51kyQxwK^X%GEi;Jw&BW4QnDkUeTSk|i46?ho0LDkA}~Py@iG zQ!C+WLE!QBWr>HR@HwTS{Y2Mtdg=TbY{kO>ht$Ll7c z6GVYo?XAQp5gS4gpyz!TgqgpoOI6!lva@pT$Js8A`Wf56S+>>&)C$D@X5DxpMuqm^ zAfnkFBY`b~=nnu1_q(h8xd0=OHH&_b0c9 zd|-^wiMvifxluO8N$CXdt8(j5Qvy%x1v$*KyExqR(Z90`g;6))OgDC_y_CdsQdVkU zoV&w#%9DC0NgUcS;etibv*gI4mS*|(uO=8Hf|XbP%XfrQ5Py2SD2o%9AN0+u#?o)h zas3Od$A7a(-QXH8?-SNTHQ5Jrn9UpclIx}#L@(88QDEBvS|`E=&AsWjc++!kjpWt| zpUo-(Kk<7US6L+`1L4$GGWv^)>NJ`90$(e;Q`*%*Slej?=HZ%>mt17W1npP z09(hXvYOf^-Pa(S%yO6zT>7s6Cv(QiuzuhrYvc9w8B=Uy!mDrIjTZzB92r+D5KUmM zo$2*Z7hnp|6?6Xn&h}J!c6F}X?P09%w|o)Wwe>ZLJ8c{hYA*n#hWKkm6B+rF1ydE& zWifJVb?Zwull`IcOnaMoy|JLXx!Jrwa+2Cpz4Gkh>>4ymlHheAif^PgB7#im0Ze;} zpvU6H;>OB#7<1_WZ*4FDk3i^(&r5vRLz@i&6~3qJxxgfxO7pj~lo@>Qo#guvcI2c?eVtGXR}HG}X-nupywo`(FC$9XX3`jwSEXKOtk~11+g-ztW-_Q0 zSi8Oe@&`x16SS|H<~QML@MJw4f_{E0sk=GWou`MnM*kA^HdtO6?I*p94j^qebA5F; zb9wdY@~x|{t*%(W))zqavqG)%;_~8L+YqmmLTKqw5Wnof;ouZ*j^Ze{=jb%#xZj^< z2KdaXC=FyRDYkb`!qS@JgBE47UuQ{uPF^5D-$(vI%+*AAiXG>Zgpf9NZ=wLjjnlVA ziRo5JDl`(FrI!9zA~Ln{$C+mm{uazB8riZ!50s(1rwK{41%60PDa&bTzCQ}p)MQjG zOne3{XjkEB1+#*|ZAvI3f*?c&sd>IXtF4TctfxDDFgmMmj5Z@qAT%G`uR=H%C$1MP z4!pYFZz_V1B>(pQ;ITs2?Q1nycq{8GSK-EC{3U!Gf0`70*EN}k{F>D~R@B#O$9%tR z?9cEfo!~KIf&JE7WXtHR=hy_uI25tkwsRoR@Lh6Y<_ ziL3DkZ$#Y9kob3du`R2BZbH0|El~GaxYAt6QZy#KUm%vFi)3?bB=|6x<3jp`@dcEr zJ%Z99@($&sZ*rK{!rgNbC59r(kupJq9BY*Sx?I5Uu=L4E$396;tbh(F^fGd=(>@&e zq1y2^JZq6kk%^v@W^g{v+Z6@dxrB~YEE}fYgxP_|#!QwxV*O-~Kk~OhlIauFhoex6 z|FI?w&S|uAXyH}F%Eh6Vl8wQYKm5hbP1L$vcMT#z#TC@RH9ysPUfZ36?jsQSuIcSg zLip0{q2%)ru`K@ZqHuOeQG0nu^(|AeYF#lpq!cf?4(jRcCEoJ`q8Mxhu)NL!g7F!`p{ds@$gDm*fd_;8b`9VBj-H?dC zC|3Rsl_DlCm7e~wG?#Y)p6DBxNM$E0HBAfT*3A~dztA3NNre@rBXny&T^FhwEx|nK zewZH5eks~MGQn~T4h|N=Y{KZpnd`-7#yV*FAgFpAf`1aOblt*x!Nx^EQX0Q0(daSD zS<2?~UB~Z)PQarxaI=y_C%X^8N~-BYbYt-)WbR-ah6ZVb{Pf#k(>N-YX`SlZMarwf zl<-z^{3A+v$FkEV+YhSd<-Rrg)zj|;=OaJu=WzmgI4!fPQo{ZxXT&hn#Y)QhsQuyc z9l`%l^)*xRnQwO=*0o9S2Jd&m`ZeSBCcJ%!;M2_ipyhYswV}YPwn`V*fnonV(Gx{| zka%jh5t;P1N&7Y9=eky5)voOzmFagOGJnud)A%V#Rb+$x0T=&rkCng~<{^~38~R6l zmF^kuDs*1CLklw|>KH_dKU!^U(UMQqL{>6?7K-JogD$^P!n~m>LCq`}o`t$t9f+I^ zFpzY%mR1O;s52UTTu2HqtuWPx>!QI?az8y3@C?191}cVO)~DhE6Zr5LoTIKc3i0!x zoUaE6f6dsv3;RKq=?i3qO=p*_9<@8l%hqLfZnB9Y_eoZ0J_ zKx{@rwPK@G!F~B{*t4PTDo%cbQ}D96yn)giOBNpZDsg|e*RM&AgrU}D#yw~$Bj53N zB=G-Yl75dAm-r&cn-2OLUdfs=r{Yk@)zs7i;A$)hSDs2pF#4xeuLd%pz#IJS=Cy2$ z?T}oI-&cnPb~)jjTbiSIE}(qrDey{5$hV?U9SgTeRhUxyZ%%@DFlHtGJ>xeF4pRnk z$x#eezR-D!e;u4MAOk#OhTU8k+NoM9L?`z29X1#>clJoNKH-+gDd_#4BQ(BG#HF$; zaXJMeB8Rl}?H?nbt42mvB>>-e9~AdYzX3`slKu0qEz@4R-X{Jn^~9y0D^RRXOfHL6 z+yg!z3?2!`yo6oaCGQZcHJOce8Io8fms2IcP*;;{)1dqHRv6agW6* z^*V`92q*czix6#Rv+msFT*@?@)u|8ssrtT$7B5D_nH(=KA~uN_2j}>@>*avmOC!8H zpI(;OhZG76gybzCT%LC8fqaXOd8u89uj&PD$g_*Uc%a>guhE@Z>CVBOcnj^pa?mX^ zk6$FxP1Hy0mUrmQT7EpGhrqIaHt>=j@s zQq3T|TAy-wmZqp3bzGM5b5iED8&g^?GQ{gMrGJB&yGIO^TZ_eWk=M*i1ayP#Z7P3m zhu)5Vx~EG~^RBjBBQA1RPm`kVnx^4UjqkzU}T1fI%=+zvLp9w8Qm!OA|M&;d@$OHOy}Ovkap+2yLoeGk6-1 z-bcaxQc3O1t2@sfpvt33Soa3RD{QMP`O~x`d1cx#=R=G%`?N!vV-Jb@#BG?&zIE1U zR=>&9^pYD_IHO7Z6s{)94qai5W~{zgD`>lAprsGsS`5~ZW~-Morqu41pMyc_X;98x zsdt{LjYmzq*LiHe6~EV?8K8pwR(J!Gv`y+;{h`rl*ZTM}pc z#I<1fsjKXnRqfH15U;Yr=0c_JO*P-dq1;5Jw00|GwvT@cL)k4GY}o}fuciDLar8;1 zwW9bRWyU(0s`_JM`g3MNh;bqE7NECdJGvRxopggWogfq@#FA@Psvg;NT*>{W|0l9X zlE0mYykeDZ> zrOnjmwmw9qUFXOmV1b$#sy1pypLBzn4`(w*2ZpQ9zHNv*ZWVZicb++OIu4feXd)_`1Ir6$z3% zY^W4ReL^4DS1%nsRJ>S>6dx&xgH!Qe@_B_-v7^Ber2wKyTf6jLtpO&DtlF9L?#lye zh2FooxJ7d5!W6@fGR=SNPm;pQLN;u<<<09b$h878$DlDlT?^> zbam~zetF}VaC_sjW+~3bGgn3DVqurZE{jt!!4)R}&7p!@BEMzR^YGrp z6us-^`!My$izR=yl4`u0c^Noma53`6!-h3fda0V<-?&h_6sp z+rPb*f;;HLTj`qv7YK+HvZ+DMeS#MWP;;Q*g3Fg#Rk<%%t)nP zJWKfofB2QW0!}RfUE`MExx}N^I9l)ndzu6!`qt2ObOpS?IcY}@8(G}=7CZVlK1 z>qevhT4=rWp#4xz%zfu5rMEH2F-`IVh4Wn_7KbwKUo31q1UX$zbOypSzbY61-A>QCgQ%j(nh8Q znu;egP#HGKI#T+>=NQ|Ksj1S6W{hHrjqmU#+sbpoBHJo<;%8TJ>v!rT)?h36N%Wph zkgJ#jAb_WkgSUnKP0aY!1KtyCxC3HGII^GJ>QCwYomq;qjv=^i#$aJFqs|(UDETW9 zAp_X<&Qj+i7RQimAdwE0Z5V}*X*-LSjrUBj8tYO7M`U_GQ!;Ul(?Qa%W=dB*% ztWMEAGBQ(A0Z3}^VrACH&2ieSf_1===V;F&{H2lAnd{u){nkjeJMs06*cZLs!S|Dx z?;?)Jj|)c7k)VGswsjcOfg>SJK1VdfL;2BlRrP?gHDc#Ue0^Je!tY7_*~EUQXLsP% zk+2QMWJ=@DoGgWzsU%cbxMKP>!wxLvuo^Zs{+Xf&Oi``1<7-;WqB)Qqc$%P8rGbaQ zDS}J#m`hC*o)m!0qKGqGHK^zfZ0~~ftQF!vW1HB(E{sjkpK|O@l*c8}r=NoIjlSc- z7vYAb9;XtysOSPl0lL_? zo%8EG7I($U(O~=UuXh0MiraCI9*ng%*Y=O=bJBT<{LtkJ)dn93Z>GNUp2nQ=8$YNl zR35~6fl2-h?m7%LR&J4T0~`;A&uIbzX+hVQQt*mg@?BYC|5Vh{Vr;tzp`qAlxw$_X zp=mG~p;2@!Y+W%QXU%9V_lFi=`+YdQ{`*i&;x;Rh51itQM~$4_gP0%Q#NNZOk}Je* zzjTN^%;Y)wT~hZE1#wq%zxyG~caGqV((j}c*oQ8xc+_aWH_oV4EqfQ*y3ylF=1u0B z{Pn8(Q}z`$@8v!`wHvsS)@hIS$BO13aQlJhOJrwiP~Hk8#zjURN|mf~Rr!GoFRFL? zJa2$c0pB*@Y;%cDP~SrTuxo`bvkO%4l6$ueZ|>%J*038k{TPz_8sRgtxzp{9`ZI(7 zfzHnB`sbe5+}^Nrr~WKqzk?TFX??J< z;UIjnP|=q`rlV4Hvj=Bc%`L7ha)NykW@wlZK8nD)Fa-GZI}s$N!`r5`Pu~Lu^bIj7 zwM2cg4hs3f;%P-_l8)kzBwr8?2J~}Lz6EzyReb)^ek;gL5`b^j|FcsNGw;6pH2;#~ zH&Vs!93I^g^Ba3O7TB9UpF4};tRVnXS@Az zyTq1OB^1;7PSLu# z39xniOV0XTN*H4L7C{gJ^_1kF`vmsYNPoi&v^QN*xRv;G-E)}lDgoEe)IjIy8BgH>&2_HIV|GK6 zbc3RFr)yzT%f;;~R^*@AH!2Ms+p6z}Dlyz?ev!h3y1jAl6R2d@Ri}Q<>Yp}$%-4r21b z2knO5K8pDWWWS3N@N`|Fe-*Zqx1q-rKDDvH%=ve_tQ~Isueu8W76>EF^6CY#tLs$3P zh6)OOxc3fXrLei6)7^&YK~tEI%T{yytv_WyuEGgfTd-4_Y(dh=v+F}qxOBT3^ z_$^Px3ppUpRc#9hy{^~Xwr+s8b$N_0$#R3zG~gsUh}ScBmUls3d`+k@5fsu&Fz7gkz!VsSv#+7~RPbK2{7*8`lScdRFne!of1`3@E&q z#^xSa@nmwBsx%^JkJrxE*~VMOXS*N2Eqv@*sG}5^*x&JHK=u1<b3d;B<5c$6@MFpMfnx%1MNzO1PUP=F>j#MZnh| z*CG`UL@0F$S?WD`?jmhm4LE|3UIrdPmR%O=niOjzch-RD(S#ipHz4!MujRJSPH^Gb zieew9>I0crUlcnVzn5NZf8GKupSVHV5)V>LYQIayZP&lSl{4*wX$w*%jc{9W(29p8%`&~sdi_#LHw;8#}RYMN)y;OVV0@UZ?J?XDWp zFf(^*HFRese4r#F3ltSz+01Afl92_R=odum3W`%h zK@x;_B@+)a;D@veThH>nwA;IXg{bx1FW#ty-jV}Er~DKv&%0p+KJ#_C?hBd}Qe*6PtLT+*c*eW7igId)IqYUr@1+j-cK z;;A7U$=_6iYgYYtE%$|XrFL^)x2#)fbzD~{I@ok5l#Ae;6ThA#{T{1xk}XiGF-HP+ z0nizvpD6t(@V;3-4ARd+@Rj6yIR~Cbak2y2^2>VL_a5qIB>1S)Y3ioLc)Qa%p}tf7 zkOCVXJ{jCWTeD&9>%y|v``f23JT@=v4p*zRFUxH8hxEAI+pL3>;Nxc+wlff>s(Bnk zg5R-7KemKc&v+2EU$1R!;%}eWM%=}5OmybKv97IyqTK|+0UziS!>iVC^W}W47L zeEzKQI~>%uX{*Uk^VS&xU~Iop`9BSgYq`{mx}CG3bHi0L>{N@?EKV$TU|(fQml&mf z2{50vIwzSwx;faNd3?3_7H^N&%K35qmaT&9y&>B5g@dQ7=JkakSJS}RX0@3n@5eqj zeNN4$&3X%;Q39nLgHlXi(yJ*j%bPj!uW9!`dDZc!>m%i_AnzN3qaglxgs;LMin?Y0 z&0J~X6V@KSrwU?)3N_%- zH@9Sg8=DU5%ei>V1&$ud&p_^jfa0Dwty=UR)FGwlD=+ITH-Ev)^IFq?e;VmYa)@7> z^11Te31}LHQ~W^L&qVHV`WL<*rT24q@iHD5MJ_H@RdU5VExi8&*q1+7l z*U8r%zZ87mtU;%42?#&L9PTZU<`0=Ti$wzrXlMkIo-`s8B@tQV4@?8fu1DP5U_Q3o zyZyUf{bYnMOCk*eA&|`H={IB=_&3>yZ$?(a6}X zUAb}(@|hQ_$JSD{>=J5%4sL=DasqErzLzoY8@-UKewtT12SrE|VkAa6e(v8K_kC2#bPg6KsDohw$Qcr8foGmXq9a+ z(kHAPT1yVSsrSXT@~^B`sVZwb*1CU+LOMEks!*$n8Hrb*R)wJHut52v9&j6{5h!sf zpFI8u;m>_5T<{BD)@Qk?jrMOl9Kk?(<^mSq!@_;KaEnj9e`mgbz#02S{(Wy2nqmBt z+YRSI^K|`vxz%a@S%+j}*XM9=={}gAAkeNYJoBp`ml32iI38AwM#R8ID0nA?MR!aff7zo z%jJ$&d6nrv1MXq)z=Z`wz`WSVoW>!W2Xr8KRg1~r3E-bW1M!lSBtx3!=aHbuUhL$I1UWv)MLKA z{jj)`Vm>aJk;U|1L|I|=vpvBZOkCsLou{xcLq}rBBZt-rmJyVHuFcXi zw0_UOt5Y?`dDkgf*zyKoqgYj<`wOu)?z6PZ+OLOcbPTWPASo=my8sVoz(av1l>x5Z^CO3Afvj`h#RL2`OKi~s9&`&F`CDhwMAxtW|&KIXP zTp~XXD=lb3*a}DO)GWKk-DphIX!Nw4BRkg?|D-&cl2TwA253W)8cu6doF^WZHGDj? z6yASRi%-C_2RvEzUtBtd*%Q$dVz9w*2i6bafQcvI(k|B3u!>ja8wIBi8{xil?@H_* z9BcEEVMKO)X@HNmJw~a~Hb*wOAaDjOSEH3cm{(&!V_E$>1n)%>m_ov>McL9&9(uF6 zSQ8}_{sR>#_ve-7l0#`D*^6y)0OVOsp&^J5L%<$J7{ynp?=h~tddA>8H`i_76wG_B z&z{Hpj<*^fY0F_qSR8`CrNorxymhY(aah)_`zjA{cbUD@B+s5X_zDVFks|B<5uvl% zK68dif_tb2tWm_58+sr2Ik23QPb^lsxBL?F3hhP}LKf1o?z~?8Vh~8{jvtshVfdzsJul5IJOa+z@g*u zmvf;_aZoCY@PdDvNQ{OCrI2f? z%~8+`vB63)ZXYxzu4le$AMDas^c=C_9koh(=1R3ePq1BlRt~+P9qkfTuw8i;9PAQa z6bHRw9qm#@aK8edxyD0g=H(2A+e3E7R&fPO@V%iRo5+HldQCHMD9!&Q4K8r#IbUL( z#)6$%BVB1(1#M~5fv#{ar%1i)NN*jQ5(?_*Tr_lfPpK`OLQVc z!BKBf)d4<2tGVH~FJ<#DP+iLR6X|&t@pyj7j>;zosjFX{hgY#9x_|>E0&9z`D$lj? zVtABKFaN}L@=_hKdttcR0G%@qh&n&$?xc>tTUo7OWDuXHj!OSM3#F6vSCrxEM;}W_WZ$Q#Aod)li08(V!F~K3?v{5 zqmLlfl$C}W6|u$(gVWKUSp(j)n2dxjgTsg{oN8`pP+ve4hR)VQ#?JT?I0Aoa3UCc& zj(0Wl;*<0x%S#pToMHA3cp7yT`q7J;-fI;q|E&`U!u)pL=J5E2+E~H*?qd8*oAp19 zLtdLzsBIe%qH;xgn+vHa#B5{3;|}qTVbS20RQC#$i<7Ti-jh zwnTc+h)KBS>q&J5rh{p7{-NEL;h~(v?G;_NcD;#si$Co>^_IrsQHB*X!e?$~Xf)*a zC8=AA6*LOo>HF8v?|U!dI6!urKC|NTfhiunlfR_GAC7xi89(f9N+q&_LOO7PxqCxs zg|p89diltG8?uIY@H{s@Q-YHZBQ%qmGf}Zv=lJ2X>z~Kzi^HoOC2ClisRxHdlwT`; zZanQeh|Rskd$)nH=+a77OWZs^8WndMqRo#^P&@OK?r+SrCKw)L{6RabVCSyy%oC$( zd)wM+f8JcE%VRRIHYhywo5V_ai0dw?11oU+%+XUfKK@Tw(k8}+aged~)Ki(x#hbV_ z6b1@*Juw+ExMf(7k&tn)K}teZEw2t{g|v*=grIG|(I;EeM`ZTR(1p9K^CE_m0_m88 zQ8Hpsi)`G_RY)&pj3q}lTsWQAu$c}QGO8j78Ze@94aE2fAf*@X{`W)W_qRK+cdC^& zsw%3#oqmTjOvv0FO`K6XKnvQZW}&IR-pwuSYNC>Pehw~zIA2TKxEKLMFoyN(Unpoy zi6W}7P^AHJzQ(P1&=Alp!Ap2VoZkwW1!01Sq^d&HaaJ~W`??MH=;UVh`(*2}k6pTH z4On#TGye%7C?dx6rv&N9zQ^udQF@kDdzQu)l=QE8T~duw+xLD1Y`OzYNI((Uzl~^+ z#KEm#bvvIseSSKkx&c8My21u)H5mFSZ(auwGLTem|N2Z)EF#;(8YcHn%jaIkfvr&^ zYX@kyIMtqSVLNZ)({fj=t_|_e&_>SPiUk@smRcz^ydf?39L$_^~bc@LGFQHM#=>>bxSEMra|Y~_iKsC+ugL*_rAzgYHzG}@4ibsNF3IqLkpS?buA<*UJ@kf7SW_6hJ** zS$yUK6_*{C)K`_wjzB+=R5t73=&|qFR~QWGvTiEm^THH;`Tp+-Lhsw6`3J;i;47pZw=P~dci z0kK-GxVe7vLW!FS!V+!CXM&{^o8VFdxgHFHwVhpGKDvK=dUSSftR`25(C79MIU(#| z;Z03%!x@qO)h`V8`|ey2m-MV*gxKc&QJ^xI734Smh6yw5+)htdY)%`AZii&|IeVQ` zkIVLpy#xiBby~laGm0eMWkyGEVglkMRGnO{k*mlpP9jo$VWN>WSyfzz5?d_8AG&g; z9>&s3GuhfE1?|s|dFJ7IAc2Siydl!m#Q2fg`|W<@swhw>DkMnsI7iwZR?XcbwL40q zmpqDQ^?}Y{efKNl?Y^;|#&*613W(5|v0EM`Q_Ic*U;$@$&uaVm?c=1yGB_+N)=cJy zXveja*1I!f!pH>_^Jv`JL$c_su*0CWAa(wF1uq!`#a*vt34zpT|0<~r)V-lkOK3I_ z-ul3K=08h-qnPGdg0Gcu&N%bZ8WAcoeL9aI*~p&s=N!s8aOn zAR5?net4Blln#o?WNg3i2`=Y%{8aP^G&oAILNVRmw*X4o4bPX7{z&9LzVwx?FS-smh7jGEa@590gTP^TwK<|qPM0y->Bbwh40aTo@iAA&&8pD*&H~Et9Wl~h zpnbf?VbsbdZyQXLRDW1XJMj1$xxoRh$&gr{P8lJKMSX+2ekBa*i~$3hzfMVKeaL;0 z{^gI$O^w!eLhd4xV(idHPFSrPx<5}&o?{qDAsv7dUCn0~8O#s*IfaP+*4<1RiB00W z^BsNUPM^PkhFy?l6>h4~#@!H=i~M{O+BOAJV24EsM7L`!nRl^NRe*b#P(^IES=#VR z?+9C_GmJX1o(Jfz@2V-u4<^iRro}w%K)8eEr9waamWHC*upr#rVdb@eDybuZxI`aS zAmL}B=d!)oo0Yf&WR-a#c_G*R_9`2t)KW;Bli37YnJ6J+t<$`GRDR6zd3|liWUh2_ z$eM=(2b52`A2S>__?UOG<{R!61{?lsE&<98?B~TtuogF?3&gTvAfX-bSX1LO=j=Qs z!=9@|2R}98d>e2VxF9CHwyX Dct}GE literal 8837 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 H009608hU1c diff --git a/CPLD/MAXV/db/RAM2GS.root_partition.map.reg_db.cdb b/CPLD/MAXV/db/RAM2GS.root_partition.map.reg_db.cdb new file mode 100644 index 0000000000000000000000000000000000000000..0569b0e24d8da0f65bfb682c7be66c6cc533bb0b GIT binary patch literal 219 zcmWe(U|?9w%?KnJ7_x!T1W1Ra78Pga=P4Lk>KW=8C^(g7=AgG1U-xyH`)kT@3uI~zT3KO$1(Puzkapv+{KVt pe*S^L^#u4R5Ha9RJ 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 literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.rtlv_sg.cdb b/CPLD/MAXV/db/RAM2GS.rtlv_sg.cdb new file mode 100644 index 0000000000000000000000000000000000000000..298c5e8b413e75380591adcbdff5c53edb27781b GIT binary patch literal 18324 zcmX_n1yEc~(=Hku65KUda0m`da0nU*?he77#R=}gZDAo;65QS077Hxyu*l->H}CgX z-8xk*GhH)P(`UM$={biG0Rf=`3-KRCK(PP!eEi3?t=!!0oSkTSggJRQxoM?5?Hnv= z1q8WixrMoSdAWGGd4y>-KhrAPd05fPTH1O1vkezR`ri<9GXG-;FqHq}|It+W|C4K$M2dmy!IS;+4qF?P01JvbUBQ?r{-xYDi&F)egpjPZT`#nYgIZ z$Wk^>YNe<)`82)1H8Z14S-11L3ChWPCA?_PD!RK`fl~pf#Sz(?Duf_?P1N@*$}t-R ziY9UmX>06Na&==PV<_lfEMyJh8ZVl$(7-)6ElkT2(!jKMp{`&@u0}4iZQ-UfkX2yI zJOjskg_NdQ>YMY3GyT2Ow33s{{RscP^YXKmNRKj*GpbnAx_sIGP#~^f!#MzSRO$ig4KsAe39sP3&WRuy~7ixbW z=YU(CGveP+kHBK%*;}Iak|Q=Bl}Vkm?1ZX~y!9ZlXj39Mpk^33H@*Z7tm_ITIg$UPN+RJwPIh=Oh z?nKi3YO8kA^G0kYqawW{$4&WOwaLqRN3QyxAn;E}_)idF^_c{|mx)3<>l%I`V6j+* zMhbJMeVxAvLfFEtjxSg}6p>LU2E9~l@QcAT5d`B)h+TQ@3hbwD^6l@+(Tw^m#P`Wx z4ke*y+IX!IRlZYsrMyrzvB|cm^L+aRsfrH!1j+calb1A|Z^lTh%`itRdHQxVGdbjV zaVOd>U$igANlPx8W{SR%TzJgiILqAS-W0&&rALu8&HwnJwJYN=p zx&J+qdcC(xeMWe(SbB77R^8{A2u9?R9--#eqN}svajb*HmK@*G@-bhL8kkgVT6%mA ze@za5ZDX`tB8)8yv+BCI8Mz%q9DNUfbhBF+-~8zuiAm7QNhx}XnC%Suer#_mgWcvF z-(EwooaD{4{`v`>=N9_S0YMR;YOgRwb3Gq__<5+qOF!MO_kfU#NFX%cr-uXW;wK^H z`)FZ_FkN5%k;O3jxzvfZ$<_R@MU`;{|d^qes6j@GO{f+#x#HQ z>%@e0Uc7}tVy`Rg1gO@Cy6R3UyLt*7m=zzA|8{G2+tLMHm`_LmD!44t!huk92jQn5mofrSOP6*^Pex^$rkzn8K?9yj3Km8+xY}3C)`8^s^&H_%v9S}nNCsbWqOT>EE4Zbiop3)Dp5T;NXIY{)W zDc1XHru?%X&0el(4q-XLRxQyo_%Wu9Xw&A zni@6%^+)1AS)Bfp8Ig__c>H9@rGw%wd6kqxtnL=zsRUQ*QU&0_yinlPLQ^zfio!(P zb$Ln7fYy9zD-(~N2}3>picbLY>>B@O_><1xh3?EE-WAOzoV(GpU&XK9XL18)sFdX% zAOpLH`Y)ULrt+8Q1+6Eq)Yuq7Lfg}xPzGG`6_YW`AND&*XBg0YnN6q;k< z`;(sS)1_g90l^WuF$JOJ3^x}y^|V++6gcoB|55nDxc&+&@=L%y z%rnfyRc+#e?m7)E`T7vI`}1J;6h}$77MerVa#{Q;e~?s9Xj{X}<+9z>0?sDFJn1*d zDVT5xeIO_EG|%bcOoqA9A~QR@;in-0n*A;O@WRu;v(0`#c_vr9hv8BQL928Q6rgz$1A=zImqUnVTL8R;|T-CNw{HDTy zRCEpG%rKRwUpNL}yJ#wYjGW;w$mvVT&0ml+b+iS(>DuyBV=AK$+h43lnpD+tM!f7Z z$0QAj95uAX{+2SJw^Hh`XpQ~-xqZSYE<(5CT(`)3e$0c1vhwaXdgirTYvzXyGZIZy zfvQ-#G8*~P-xqasX~)|8L9(luG2`1e{jYd69o|>abs!AgFX7x5}v^a}JLtFE+`FVOr^W?uCt(Lv`Q1OaUZD8d?BXte&Bj2~%7??tE zp59|@qy1RLl5$(cGjuKJk6E}Q-V%g|ja|E^m`oPjk#8ipDu>ol75 zv8{A1Y$NttZ&wJiwe{TQJH>B%J(T31>Vk0%?Iw!SVUuuHco~CodJTCLOsSF z%fG$ZYFJ2T=_$Q<>B(c;@qwcVp1di_CZF;WpJc^u`~;2c_X+h6rxE{X&yZC6y-V94 zqtvmDhT;7wUw)E6r^HrBiPy*S*QZo+>0tk&TseMGM0xUz8)sDHocYtjxIB_%c$gQ9 zdQsDDIRH*ts_keFsR6|gd<-JOdeJiPfw_k3CSd$RQJHu{zyAH~>z=)*(|F482Sm=t z?k(q#U1JH8zi*$PxMMWzJp>M5V*q|s1SW_ks~ZhZBDfdzQbh_j_jf$0#R&w@N-N~A zWPSZff|~crk`L((;EQYt6JguuhEpiM41kdJIz<{N%VXgv}Sb79r0_I^F#3 zas2Oj6)+K-v3*3Sm_UuLE#K%6ku_`wKQWfqr7izi7{!ojPa9*Y{B?Wbrrq1Y=VJe^ zZO9(QY0LC%NagnVv@4fA**Sx1gj!uNA;?~+;V<%{B0W}agJm?#IFA3bF8(R^P3yXr z?MSV(C}+KL+xz3*idjy@A=|kMph`a~rJu3z-R7O&ssCBexdlH3S`B<{8IxEwq2Ys? zBp<4?;y2<-EyfBAWW98K9d?6>59%0N^R3+VDxDdrj((H*2_DOZTG1KanU9ccWWKfO zvf!WMW>?0OT$`EhY?WwbcOUT(W6|vb6@I`HOn(mM?{!RVcE!b5gmL2q0#4UG5<&`{HtbV(-J_pZ@6BQ zYAm|nm9spgj4m-(EF+eRk=jnO@{qYKd%!?jY_<~M2x7la9d~UT<_XSDBi%dS$0oC` zk0l(b=5U)vJGa(oLwB9(YqoG=$r=fTH%Trr6SokDy0WTxRQ6^x6R8op`4d(%?8sy^ zH`KxZc7CI{iUO+0%pWb=^9$IjU#ywHDSjEPDTt*f-&!AAmDG<*j;4(GS={oD?R2dA zWw8RCkxZ;VuNm}ZWF_B5oLiObbj16&u+*@bja{!9cCHkOyk-3Q2R96ZaV|ut;Gf2l z`W1~nJo)g`FLe#7C?d){&m!p}Wq*k*JFUgQ&fI{i7*TfQItBA*pMd>C19vBQ- zpPhZBo}Y2JEOOf0Gmo4*3z0no$8W~9cPtGsL`T}^h{BjT_=Gm*-0jcyjtxI$v6WV|BT-z$8Pam^Q`-)$Io9=s6 zMHze0kR;1KKm8%2R483Z%n;TD&D6f9)$3$9+p{R+qA2B$l85qbPTAozGw}?)(#ujk zzm1$#iypGJ^vvL%ayXt8^XPX%(SXY;(Q#Zp!@e?y;RQ-}i3qq7V`Z#^>71rBmBh5z&=idXR@7Y+1S4g!k zLUZ)E?0HfTc%ue{y?^ii+0|8+NQX7)h}4x>C#Xm#b*%D}*e9#9ou#IISXvdjyY^-R zoaJWyO3GGrspC-LoB0(MU*b9%)}XBou16QPwYsnDZVL~R^LT_RBOku= zv-d;E7`^cr*48qK>_Ve@!;tYot|*B?+(=Pppa1iR&m?~V>+!WP_4xxkh;gd3_^5Y> z^z&-+H7VTOLJMH1@ll&2GNj>xhdaUk+q~;~oy8sqmdPGtO=>LL;U(WvtM6~#lEJm@ zBBVmHyH}b?rOQsaH^J;C*NtoiA>Hk|%-VLxU$^?!_s@ijEntY`>- z_PKFiv`S`L6@JcAOtwlpxo^VRKwu;sb6r=Rm+~Hy(pal0$H`KAsLsH+4(?7nzbbxHdHV z+u}z+WqoG+PXju{^#aBCid2d3{t3ij{Ynw5u^$O;Y1acd>Ff1eYXj)?{nI1vyU_5n zieYoCgZCtK9J?RN2C$;S5B8M

    %@(>%Ij}(+?5oapXy#d~UGTXETW{Yw{jRjD^uf z+_00-&ar~3+PNy%niV+qa7Rudcx{_)=`T*Y7 zkXQ{U3~6fb67YFeyAAKay@;ZAYZVO49@L)nC$3A{oGh;TB!iAgM@Mu@{PQTai;$z)iB` zm$tU_B4@@&R#DHP{!3SJZUW@6b4IpMt!q`GMzBA;T+8@WZw*7jyoG`BTNWz^vi&`s z5GR)F+qH(zz0Q4d4~OzX;|2I~cokZ57IBQC)k$qXRnCPU>xn}y_(gDd$uD(7S<9v` zYG*`e$#=6J9Ee4ga+*lo;66sUb5p@L`-%r2Q$>ciYgtBKmjg)q3%3@jq zc8t{Ve==ZCkH|N>ha?sg2UJ#$aj9=rjqq~9%J!YG++*T|gsJTgFG6n<;7) zo-*up_#~@T@{#Js2a_R_$bu)={w_f%hmqhw1Tvv`QJSf1gXqC2iO1ewnVOh@+#`#{ zpg>dzI_TOX@7S~~p&wU4Fs|-tEU)BZfXDw!oN+89qiJydjP~45-PyZ>3rX)ylo-`s z`7^i^KiQ-dBR3Eo9v=~Ba(kc0Y}SC2u-|+tW)ePGFXg*)v9rtI|G?l&mKh?Ur~ge? z=;&4kON`3N)7WV$bP070Ox_da8@6;k><1Pga$At(Q`z z&(A!vPCZ$o$b{=8?+`;Dn&DB)3RcCFlOy=6L)4+7i>ecHA4+~R-DnsNDgAam@$N}}gX>CC4!9TNBDPmh9$0ZxPtzp|Fk;}Q9BD%4o(pq|{X>ct!CtYq-OO9xQe%ul zX7RoXTaC5;y8)8so~tj^zurPLEMM@7r>=;YX^%XWniROoUtHCgOFLoaY*mRX``z@7 zZKYmnqDPdqWoABO+`~XMre4DV{u2TB5<=zc)DyjO1$4gnfkp4PESWTIFNUxYzL+C5 zt$?;&IyL1LlOa)y%51(}VUxT>U^~v1$Ze`PiLjP_EXzU?MAqR0o<)fU)}NdE8#++0 zg19uZbew%(mhLO{PKzld_4{w?hDpjj&Qx4o%{5*Rc75r{x+hGA`|vpx9$-#Cr3@MA zfK2A{tI}S2w9LgskX+t+{SECnEwzb;h}Ev%C)sd1j$)>v6O*GKs(Pg1Cp}S#UZHDu zEI0&?BDbY2ohj#Ex)M8Zx_OS2Ye>7IOba|X3+pV}EMf*^e$%y|17aS^p~Ur{ttVTp zmT#Q(Y!CAh_ie58w`wg*;mN^gW(_92|J0*$o>`fTc7!}SOQXk$B@V3F7{iSacxEhm<4wBv zhH``0w6Jsgg4c(Rkct+XZw)jCy5R_J#eMPu9J&7H!G&V&Diz${|5UfKGGRCU;ZEd9 z;6g6^t7t)DnaTfkH!Vw>y3jAj(F>p~;gSCg@(w7~!sni#rRsV`RGc%=(7}r_EizPU z@Dj=J@S&)P!wuZH$31N^to;>TsDM_29u$EaAkQ}r05^fJ&i+NOCZJ!<-fGYo!f3#^ z0zUMW4|od1hZ7l*0c&Pzoj7!k`k=)?=I1FR12S~;<{k9@H)S+_;SjgGRjzX?27Mq41& zMctNw8evy`#FSB;)o2uEx*h(hxp>5WjY_Ujx>GSlEj?? z<>X_xmqTaxq5r|=p{hlkbh@tU$m{6%(bypy)ve*TJo8eJ8wiA4SfYH>sWR56G@x`3 z{+q9vE(liDTk{7Bgh&j~A=%r}cM4C5cs^%eUd1rT4bdDuQX&`*$pkhE-<*zFW2WTs z8qHv2g3%NQ7a2~ep0B;vgfIRpiVd!d-`@xt3%fbQBnJHg{F+5olc?_=YtkKsv7QkQ z1YW}X*9Mb1+SXSlV630TrFy(qVJR>vB!0e;Fi7KIdqQ-E2gZ3p6K-Gwp_Z!1j^;oe z3t)Q60Gb(@aW60%w*M09_jwvcd8_}=*FBzT*TBEZq9v(7mtWbu_x);}y4xm?OxKDc zMe+}UQ-#C!%DAP>1k(|nJ{t;lxk%g}*7fzd9RPpJ+qI7P%}}(& zj}cwE^PUQ4>*sjUy`a95nBq@O0B3f)7nkh!UDxTk@6_KHX%d&r=_S?HWxSLtES4%f z=_M(m7yA-0{;rQ69S@OU)6hmM(}VKXv36=|Q@8M`C3wknw*Cmv=ln+(&tQPA4G`*Y@mlrR4QH4D5J8T#IL?(u-^@9zNRhBVHv{U@Q>T3 z749SP9H*h0rLR6b;bh_VazsYZklz+yXFZ9^-kie#{@yz_0HP~Y9j^3X)qnfG`p4uHlL=);5^)OcwhERm(Z}`X2jy!%w;LSHo+N}g6k!1)tOD$&M!hm<+x9-3VNjL zc%!{{f$GGAG?A&{=RX8s*%@o1g6)Dpc%uk2n ztW17#tXaIujTbs;Vst}wz~l?gmdt!KHuzCfk?NC?W+x>*`8)tq1V2ae8!pewHH{&Owo+Z@#m#SmVRvt2!w z--331Ql;$5R3e~`LiwqZZ5Q57o49CLB~ebw&MD&Id6=hHe(s6VXCKqInHOIh#p$q5 z#ZGHsLNZ3XVt7*fpmWnAZNRw1%^fpGL*iWl>o~%BW-++;3FEcBj1#}u6AO9EVTG`{Oj#PUbxDE{hUWe!~ayxVJPQS>mKbeKx)i0|k8{LzP}-q1HJVeCiL)IFm?Nc&m5-VwWV zaxPcm9{wK2oBbTNUUmd)1KCVJMzhYtMUOYWZNvGw?{~#UxY7Q_Kc-i-HQT>*nR-g{ zOI2=P#+S{`1o|FD6=E3!Jdm1{xb#Rv98_U4Dw&Hh9=M?pYb?zh^6dh&e;bNMuE@C( znWh9c*C_;OdCU-?FTjr%&S zfrk*8{Yc;U)To8w$$cl0k^ZJ!V@Llpf9gEN(8)O6xOBhwT!VMldz@gtf5@N~swbW~ zS0UIS>gbCLD1e#!H{|^Tn)7tng5nt${-hID&yomV!+#Ut9p14#9{y>s5Xhu5N4LmP zF|CXf>!Tj`j9aHRt4+{DDx0rMgR8pR&0>+#u;$io=S~D^CkTRZb-rCMQ?OiNKwHNZ zFJOIQ-J=h#j}MGtBE!YSik|NIEvYd4@1>*2KQy@A_gBdAJvdMYbd_P$rlV8$37e8j z%Th0zy=3Oul0ct|KOSKe92|QUXqv{($aw*IW{O`EDpmY08lG$U5s&MrpmE!cZzu3Z z2(9C;Os1N3KWC2Zm!~DHZ1c<&dRQZRQ3dD1$#3hkmB3xES6xF$Kcw1H64FF@)L zIWnL_-ACV?N9sxnlb^%`o!U?`k=Mo9YYsJN&D~xX6^zqIvjc;_@a-it?BcYG%4U2v z1TAHA;+ATSZ-$?DEg%b<$^@GDDbn3SnK#kukIjC&WzE!jbFb=dNLyhg>-f~YbQOn- zleC#a8OzP*th;MZP-;leF-yv@!6FdQ0k1&1oTbhs2#T}6%6Q**c@($Sd2|oas(SVb zbgXI3b)J>9EDMn7xo^F3Y~45@kNgJ4b_P(*RL?pGg41e#cUkw)=m0%Hv_0=UCmvC( z9R7rrEx<~WwESTniXyoeRJnOS#p*WPTRha|opZmR!>Tf7@kAKas6@J8_qL0=R;5WQ zU@c;6#-~CI}=Ku?Ev+JUSTO$vT0qQ6<)aCVNM2hMzfWfoEH+K5G z%4&4b7_4eRc5vrt*7=@luH>*a4p*CR{M7HoYtZk}W4r`e!`9zpB}XZ?=PvN9zNnIi zD7`*hQwTUb)bhg|%Il+8tXMy(_3 zt0GiqbMHBa*22Nq8pcI7x;po9)q<>^dKC>@hp5 zBzk>8(>0cMt7~fCuAP^>$1qbBPwZ1`$6h~*t-oXu=Qa}GnUpBcZef|SKS*h`+|@d^ z#?8^j6&lZ}*|dam+1a#wus3m?%xy z#4P@!VN-^Rsn3}Z#y7jgQ=xFHE8gz{UeFt_0?32o3+h#{*`kqYYk3A@NF{J6-5Vv$ zA)92W2loeW`*=ouMLiG9h9o3f&16OJBLQP(S-Cr{P%v$O+sBy~5T0>$2CW*mFW#;u z4Plq!ShfDxi*I!H(6+NA;hNFgurFV}A0P~BiLIeARvc`r1hXd>km7%EtN4RDwEQS^ zX*MKSmG#mcXnnPDcGTy$Ha^5i%vdR1y+cRpM&h*ds>6_0N51|o{zE{09`_huO9|v+ z!zBR`_8w(dOg`%JvkEAZLCD5_i!yPe-H-q#g91}l0Ws4Han1D$ll1^=m>|E=AqUw) zYO*eeQ1P+{m|bk0#JQSp!^bK64fou5?XAlhYKQc%{ay8_p7Mj?c$Mly@PLAB*@PtV4O z4cjh^;bRSbXdIpU0_loBm=;8lj-T!FefW;~N+^`li*!@H#ss`0+450?lJ=bw2l=`R zrLxP->PJB2?AO|$nO{5auU6X|d#(L*p?@PL(;V3d5~mT#YGzs^M$_lb4OFa-ug?S|`{^IR>1ys)T}z`E&*Qfw4^OPWtz{L*OhsH5xKa~c(31qf#bNGOcj`Q%R}|Jg z9AiZvHuH)&k7uv;xqg|?USwEVy`6Cgs{1`Q@sXVcLA)&w}Rm68OwB-`Lm9d zMkhttXx@dTZm5pQKh{9Lu@pLbs*{b%Q|DF{TdAL1TI$}{&O0czOfK96_SHAk!y#U& zf75s*4EB6lu&ioLEMG}`#ibf@3{*lm+yTwhF6>!-;r{4NlNYQ%5=b6SSjWbtN$(~6 zGqlr3?WnJN2d3N5*NOandEVRf1J_k`IJO3-X*h~YJ*a>Br^r&@oFZ?SF%S0Uyd}^- zTBib!7Q$z1ZN@-UwN}ZR#T~H#)XFSC6$MRltDEb=J`Np3Z4*(K^Cl&B%uS#bBLFkK zJYFvNlGV0Vk^FboWa;+q8y7&2EUTF`;1&@k$1=RhJ_Mt5aqErxDg`R+9>IG0BLrNP z1U0$42n4%Rmun4-U;(#4lRYCC!ON_mR3?X`rG%om&VEIKt@e;@^&6gz9glBX0O1ii z5Y*j;`VHif-^DFCUZ`qsgAxsb_J4|vyNfCU^R|)J;(vC0!a`~YuoQBk{}j**uH#1x z&}48*?7LoFZ!8xQu;~Swm09_AFKhl$Tg=%4P7No>VH26~_UzNu&ZLzUl=M=lC83aM zhg>aTr|aHx67l3E7y|YDHn@Lho@Bi z3z|lik6k(NgEE>9l5t`N z^2FVRadXk~^q;p(V4k6KJ*1P;lMNn!6@r7IUOUmj(hrp>;s#8@1@MB?n~kr?6XreN zW=dm~;wqF$&ZnGg4dUtW31%{tAHw88{88JC>J3806 z4|hldTBGhv9;@I?C+F3t``Kgf0U=@Wo^0tD6;Kmw-=~|^Zp&g{I5dJ4uH6`yccPI^ zk}+8bD`dY~rSfW*!H`nU~XBi0jjkw`)c3TUH@iucZVo#En{hb0QFK0x-L`25`R;CKajq?ct>x zq<+KE*kKX^ju4`uuL`-a`Gn7Tm_O;<`*bY4y>7QoH2PpN8R&Vu7D~_&d0bGM0h8sb z>~J^U#$H-~Fs7I_)v(Ch2iEu{PR_lnGkjD6K`5I8;{rYa#X|!hk`G$_o@un|Md0$P zzU@)OSL^pDhfPWLL7+C+^Ri0BficC=eZxcD37ENyI8R6Z(cMv*pY_qrG46T&;{%}b zwB50iX4Y#V;b{3?oZhZ+CL6;_fT17+aqmx-y;;_FxQlW-Y~Q5nZ346(YZ&(Q(?l+S zSJeS|E%Hq#2)nEgH?u6gGW*N#Rx*JJbWy9Ctod7?pX`>uMNmWIg`LS5WWA`-`oe92Bnhv=0Mz_sx~D zlQ+Xy6S>$$@*VK*o&r-G-h)+q%RPzq#Itb`3a2slaQBy3YjzZ}YE@3qB`lka{(aSE zKp2j7AfEf}1|tZ3t2;72DS;{;Sj6lMG1Bg$fXy_ktrgReJ%4_{y#Pdqbsrr&inib>?NHEu0WBRj`ia5Hypv5MRefQN7WDj zNzatN{kr;%<2%q*O6d<*iX{`5iFvWmQ(H_K7XG04E`vrAcjD63sy;{x7i-Qg_i?=0N zRWj};8N#aSF2>01@67Soh1|Kw7MF!;1s^&A(up`@&K~yT6t5c27>GZ`s{{j#qPYgh zFU?}E%8)7KaRcp&4%+1Wv*xePubEi0yfTubB_E?n6y{0avt|YVs#W&6qI(vRq5aKC zP<5f1Ej+dGIxu)5cww^peN=%ks?bHne%!uUqbiil2@Vii!HzUM$4ci9FvQH-vV83k zmyeJybSB1n?4vpA%L$ng5E1&@f2#b6mR`b0|6_^T8w3N5n_1^fOXk>K$s5mZ6^rdL znci47RTkSnZagkHcQKrmga31Zar}nZKR}m;4mr;jvSAQn<`s&+k87($r6iH4`Rro` zBmbyL8;XpR4dqAik% z-<0`Iy5nrG!`}X{QeYd-rmhG$ z_XIP(QJbfu-tphMcl^`#O^0|ZUFd+#hpq|I9NdjqQReY$WqmJIzq8G-HjwG!2HrX2<^9a$==$dP@;lk+%@PyG?B!(IjaosM2z=vV zuuoTvFB$?j|M%Ac7`}Z+Zx0*`XkE8lZx+y+Z*wxFYV^Fh6n_~Yz4UB@SFRE-rbB}) zY-cB@1c33ROV5}WUO%6VHRkP`I=qhjG({kfj0IetHd*!-4)QwHyA2FCK~PPr4zIuV z@`17Y4GiBH)|n3*iJ$@jDr3?}-&3B~>Gv$X%;2LU6Q@}spncv63?1I#XY)u+m=;Z8 z!iI-SQ6XzPo)V~kD12d4-1bn;P5`FKa>ot4ZK&g7^K@~0|4IjLuQKp(&SXo40>gE-$X6E=?Nu`0j0d%@{t1w&I^exQR0diB4Da5?ei{k-HEDCUdO1a= zBu&Ap%2|&WpjbT;6qOSAleK>Y%_9b0$-NRO)Z`OR2Z`i&b&B2C$quInsC5Slss|E0 z{+P^B&;E&XZ-{{1C7T6J*e5WI^Y`SQ=Q2Kjysg(AWv@6$J=|*O2-Xo%%P{0D8Q20z=Y9~PQEYOUiVzY+wwYc~x!(Y!KD(m8O0tFSzmTZVfhib-1T9wF-|XU< zZvU7>-67dr39coJo4y##%wdN-3JcN5xm@&2Eh2#~eI)Vj+jBzQGhpBX_z{A80|HDX zHihdGx)n|I#?EuW5vq`&lvm}Y1lmBjP|Hob0{CA^x=K&(3*FVEO5?P<1I3mYK@SiY zAPHJ_bE%XDRNarLMO_-AFiSl36u9KALj7E{TrMmcWRGp7RY0ZmLW1-CBavDEb}dp+ zi`l=Wc6aP3nUY}sGI(TMs`eW`q}7Y5>PpkvhwcC4Uilx!6C^%gq)9UR&++bvi~T^v zM7D4mpf9{3?F@C}dE=4^pnMhunV&(k&xHfPWgpW!v z)NekP#;vscRkj%`urDxP4V-u$h;t0v?F@)e*6%cm+Rg55sqAZvbC)vn(;+?S^Fkq_ z800jk83Yc_eW_28R94pRiMER^o?X~Oq-mVsOQ!~6EbsA+hmUX76zchl6*e>~!riDK zcvY8l_sdZe_-PHW_5K%GfAb@BibOf zG4jsH$$Ad@Jt6#p=3)d81IUd`0cQVMh}tIEdhfs@>R8IUb6FW~1{}6g28$B?m-RKk zvbA`!F21s4fJN(A7dQ5*-!TAZJy00VHp+5exQz3GkSk(MFfXQx&Y({N!Sf^b=!1%n zi`A9n;RD8t08#4sQjnkIqD88!le~Gl@css6d(`K97Bnul{sg;w?%ltFk+tvOeG8u# z?f${`I|^6MNPl|ddo^a}P%iLaSF13K@zFZbF&3Il#^O!%l!!7m6Xghh&`hH6<3vt| zygBHNT%UkA3e(7|Z=716P>m^(V06m>_l>O{0~#!<3ty)mma{PlxAonS{K1#o*X)wbKXc(~AG1N}c(w~PS57G-~tnU~AyhFM{s zTsYK=e|M)AI)Dngxj4On{0k^(^g_-E%tJAP?k*PtKc9kqsllP|Ku`{dy|B=tfDM+* zNz_Ks>IlpOSM>qrj|j zs%@`zj#N{PbM3Xe8p;c|5sT3ZUJ( zyrq4VGJtoASglhh<#Gv~S}#5_)N*;Wz?bQ3CHCDGn`A757Itf$6NX=gMmN5cGXez6Z_hb1a!<472$uqWj#+`DhXenyF2baM z+A*t)+tVm$BtT+rx7PhdPm@IyENi&GC0vH}ZV?z%m1C8`A9xQ4D*0!4oqAt;*|Or) zC<>0B`Zw35_DzArDFjFXpeSHXeWtgBiH9mRgQ4-40)n)29OH@;=Hju#oTK^Uh8bsf zYUi9H{>8GEBpl(l>VRn*Y838pv&AT2LVza(>PodiKi|AEk(7H|DA2oilK0hn1kzyR zP5Y?7(u#8o;U`;V7j?R(h}_9eQ}?QLJ+NMExkl$7F@E_JIAV9hv;l8aQaofEn!R!7l{ALtfr`7PL<{$glDE)4+%CiL?9|ed0)25@~?%Fp5>!&65 zWP*7?-E1HIX?)Npr6ZxdO@&|&FA7G>JvCpHFNZg|TXtbA(shG?@vbwF5^jj|5Xy~koPDL)ORJwH zi5csS_}#VFxFnyvWkx4>n* zre9=2yO(Lu_5{P@y6NiakExYLwF;wPV`)qOFa}OJ2hxELzCJlc@3~a2 zimTA6Z11#^R099qlQ#1nTD|q%^rP6rIjW5Fuk|O1+aEQ*5Edon9ief>q&%PK4(#`S zcd9~gPq|{+A4t*7u$#%}Q|EtDh%Iaths@rVr78Dnxp-Yv&VT=Bd4AEk;>U?7VxUx; zrgQdA2Z7t*(=l;^u$hTFj>WMN3#`qgwV>+!IlQ*6gX<~n>Rkau8D5~F{P|I-JPy!^ zYN4SB@xF9C^4FoG1X1qx?Pi3Z;^)d6m`ymE3i$^mSGw~7-nOUMt=P+NK4O9qq4bS( z+k$o-)fFqOEQQ8S`3^-0PSjRc{57G%!{t>M#~D=_tu94u=ilD>t>FPu&dg)5xtPMn zSYLACf9WhX7{|pGYSA2SSj(dFxAC{G zs*a@>f2aJ+Y@im&k-jIG!gh7K`iIJkI%8Z;@(~2Wg}`({Fq+snI*8xK?jF}p7n^@6 zeLtXIam|}>qa6=)$qL$is-u~E6I^$$F`q#keECrTik8~ff;0CJ;?9l+3(Xd4LV%?s zEz%&t0)`=k4>N!ff!CjENj-cmtXKgrm~hDVKnFUAD>7Zszfuem^LFiQ>4vERcz7cf z`(lKDEG2mRj{m9{=dDdE0xTLE;#NB;a|asVNR9IkXsuOx2Xc?1^QL21=YRX~lqoom zZdJWMkIm9GsJw2P?uk7QuN71o&Kosx?u+2OSrg|-1Si|FrqJ#itbejRw9yXuC;P{|_I^td zVjtq%Y;p2^)FIA(;M|UHz2xD%9l`m~;$%z+aUO!t--G;lIPXMop0GYoe+zNmfzQtY zC&9z{y1O=CQ1g1l#kzGkyJhDH{kb*fbA0Af`a0(n3O4>w=!NqrBanSN-XT7PaagG9 zdFb=-M!_1&p#9V&V8b>x1`v)h2^r$#HODCCCs-EZybRd~fiF+jhfu!=Cq!5(!bv?7 zCsU|vj-_rq!FmN#p4J(4dOoL&`TPdVjl@oAIDTho2z8i3U2{x(bpdOhUdrl4Aml&P z3&$VyL6(NPz6qRHfb(KSoKGx4fM>4ND5Iv(emhbB0k%O@2>HB)yoUvRZbUxqM7$x+ zXUw!I#QD_144^!eeF$YrFT{CQ5n>gM5a&AJr2MWu2ruMQzH28~L)q^~_~cw(5zYY$VpA2I zi->haI29lFAw0`Q$mwCvW>B+^^cEvgh+sMRuhn`*fVomgUoHt~0^piDoiF z+4tG+GqEs~oog)NDqXw2Y9u22%`TUHC?flOm&?8@BKs{X`!v=Abi@6lu)XW|wOo65 z@nr^a{vpP!oHJ=>oaY#gIGe{T$BU_+{56Y_Qn6XAYb5wI);W5YA^Y7_tjot)CC;;t zyJc~%wCtl1*=M_4_I(lAuXMTWBN5rJcDd|B5!tyWW4YS9kZl&TTN`<0b_eMELX zFVM}huZzge_g7MO+Nc|S{vzg+HHFu4PcXOJkM|wy!yHm;V_KoWw(hy%d+rAymIn2RymFr=jD+N$8lt|d#% zv>huWIj(FvR<;;A5O}k7=T8K42}UbM;RTwhun3f4{n^U31SZZ`5U&a@69;9jOu#^QkrZDmXyktLO&K>wSHg4#K8s++(TSZu;l|VjVkl)Tlal~^&Ypo zBU5&C&2|p*jkm0CU-acp;Flpscg2h;rR1bbR3b29vZUPA-4l-wltDjAf38fNtimPL z82>IMw&2nz?*P4#KD1ksn47&mGc`Lo(J?c7qa2#)Nu-bFz=@-n0~-=E(t@LjI?YB! zi?U@`z)fU+3*#?n%@>rd39TVJm9T`*9tvxNSM16_?(!CkD(55yNbJtC}vZx*ZJ z0oLYv7j&8`snlTvDq==aWUGeznOeNEobxDZQa~A*(OUS1kH&uORM43tq43ygo6N)$ zSI1o?zaD=#?tx*gq@vWrb1ZF)ohzYMk(Pflb|=o#c!V5gHSF0U)5L{OhGS_sd^-lq zSbMsX-z0>h2_tYnlC`ywtmB3|xPS_)dhYh4D8OTk+K{4# zLo}LT8XvAN?c}4_l5&hN#0YAJQwY7D?7Z57nQk8Cz#FyAO*6~8tcM|mWnuW`hs&5J z{==y=`|uXt$mWmvH6#l($lG}4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*Cn500000002$`00000004yn0000000000 z002h=00000004La>{UBY!cZ73if^4X(ZRt%CpR55I%(9z0U@R&I+&(HQ6jXYErUPE zKj<^YM?I(I>kDd#Aq>PXIox~C_wIK~^NOO30n5NN@Q@4EJoX|_;2u5CTLQ5lBvw$q zK&=oW>GKz?2;mu<2)rX+{6C-|SQjzb!8bTU;)wk_IAReZgH8x zVYLs?cP#}Rl}+FZVEpn)VGq#irsFC(CL+832f!sEoE&dkoE${utZ@rq)q2Bi*P5DX znTEE#Yx|v~IIUteThNisN|-anWt)J<$=a(clwTnV+qyXB`}j=>yCjn%FhEYljT&nrG&LH7s61AnZXfe7A9FC3weSU2|hdaVFQhg#v_LMxWlQd!kX#dB3t zFH6V#kA*5tgUt~BL3RtXWXrI8dOd;UC$PK5Vb#`89({*a{N#70b$XT<)?%PZu|ZG# zPz5{rjWR~N(bRR%J?c2xjZW`B00030|9Ao7Vqj#@U|?X#udNAW1ky}EEDyxaE>7{m z?v5d@@j)U0hiiUI68yfBxVG*#t601c(u? zbN2TQ@b`1|3t?jr07}?=Gx`CfuqXsO9po-{1_z*mH9os*gn+a#5Q8)#O!N$K4f5q+ z$N&oNo$%uc2ax8(P~;C%#0d_$t*M#?Qa}aLKn$W0CV|`r2{NGjf+D%V0djP%O(Reh R*oCY>IxslW7XSbN|Nn^QYUKa` literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.sld_design_entry_dsc.sci b/CPLD/MAXV/db/RAM2GS.sld_design_entry_dsc.sci new file mode 100644 index 0000000000000000000000000000000000000000..dcd2274afec766142d08abfe82be607ddc4193d2 GIT binary patch literal 223 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 literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/RAM2GS.tmw_info b/CPLD/MAXV/db/RAM2GS.tmw_info new file mode 100644 index 0000000..82793cd --- /dev/null +++ b/CPLD/MAXV/db/RAM2GS.tmw_info @@ -0,0 +1,6 @@ +start_full_compilation:s:00:00:16 +start_analysis_synthesis:s:00:00:10-start_full_compilation +start_analysis_elaboration:s-start_full_compilation +start_fitter:s:00:00:03-start_full_compilation +start_assembler:s:00:00:01-start_full_compilation +start_timing_analyzer:s:00:00:02-start_full_compilation diff --git a/CPLD/MAXV/db/RAM2GS.vpr.ammdb b/CPLD/MAXV/db/RAM2GS.vpr.ammdb new file mode 100644 index 0000000000000000000000000000000000000000..0decc49a06fd4c3bccb4efca47bc91b3a9e43e20 GIT binary patch literal 635 zcmV->0)+h(000233jqKC0001M0BZm=00011WpZ4R5Ha9RJ zFgY(WGA}YPF*zVpN+3*WbY&n#WNCD1Z*JTO00000001=t00000002z@0000000000 z004Ue00000004Lav{pS!13?ho#6uKR`~gA)%k+YUjh%{E1r&v((9+scuoNs6EG#Sp zkyM&OD;q(?UOS6mWpAROx9+~(n}G-65@P~)+}wLR^X6msk{DwS-L>g1V@8cBPU5L< z{qM(S_8#62xqE`AXW*&edHj9wzlA>qFKdO&{~YYgG_%=X3Am3R^v%My;xCVX2fn`r z{WGMekl`_Zwrhl+VZFxhmCyC$`mnzn#Q(CH{zb$emVONy?^n+$^p1#L?ic&7Am3uw zd|p3j+fQPU80K*uhW6(i`EJO3f5NWId~bo@mVR=5?g^i#`i%kC{m1=heqOvX{Q0Vd ze0YEJ`UmK7=S7$N3-EPbONgiY`33lr)C;D)mU^*1>2HjG0)H*3C-09BICQJx{+<9| z>vs!V`^WX$2Cn_$eA?un`|}QbRq`8$zbna)`FZ~S8{eUN98*3Azl@pKp2R*(3Z{WIp(N$lse9@^`nW zpK;dH0AJ73C&cqFL%;a@(=UGo{`LREE8=UvL~n=q%wK@NWvNdU{u*f~{T}`W00960 zcmZN!U}OkjU|=|qW$=L!NHYPk01!L+`o=qk`1{8D`n$xtI59DB00m(Hq)-ruOY@2| V)ALeO6yoDE^GeK200000|Nn%DE@A)x literal 0 HcmV?d00001 diff --git a/CPLD/MAXV/db/prev_cmp_RAM2GS-MAXV.qmsg b/CPLD/MAXV/db/prev_cmp_RAM2GS-MAXV.qmsg new file mode 100644 index 0000000..2c26376 --- /dev/null +++ b/CPLD/MAXV/db/prev_cmp_RAM2GS-MAXV.qmsg @@ -0,0 +1,114 @@ +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1691898432218 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Analysis & Synthesis Quartus Prime " "Running Quartus Prime Analysis & Synthesis" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1691898432223 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 12 23:47:12 2023 " "Processing started: Sat Aug 12 23:47:12 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1691898432223 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691898432223 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXV -c RAM2GS " "Command: quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXV -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691898432223 ""} +{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Analysis & Synthesis" 0 -1 1691898432533 ""} +{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Analysis & Synthesis" 0 -1 1691898432533 ""} +{ "Warning" "WVRFX_L3_VERI_XZ_EXTEND_SIGNIFICANT" "RAM2GS-MAX.v(59) " "Verilog HDL warning at RAM2GS-MAX.v(59): extended using \"x\" or \"z\"" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 59 0 0 } } } 0 10273 "Verilog HDL warning at %1!s!: extended using \"x\" or \"z\"" 1 0 "Analysis & Synthesis" 0 -1 1691898440841 ""} +{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "/onedrive/documents/github/ram2gs/cpld/ram2gs-max.v 1 1 " "Found 1 design units, including 1 entities, in source file /onedrive/documents/github/ram2gs/cpld/ram2gs-max.v" { { "Info" "ISGN_ENTITY_NAME" "1 RAM2GS " "Found entity 1: RAM2GS" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 1 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1691898440841 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691898440841 ""} +{ "Warning" "WVRFX_L2_VERI_ID_IS_SV_KEYWORD" "program UFM.v(73) " "Verilog HDL Declaration warning at UFM.v(73): \"program\" is SystemVerilog-2005 keyword" { } { { "UFM.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v" 73 0 0 } } } 0 10463 "Verilog HDL Declaration warning at %2!s!: \"%1!s!\" is SystemVerilog-2005 keyword" 1 0 "Analysis & Synthesis" 0 -1 1691898440872 ""} +{ "Warning" "WVRFX_L2_VERI_ID_IS_SV_KEYWORD" "program UFM.v(177) " "Verilog HDL Declaration warning at UFM.v(177): \"program\" is SystemVerilog-2005 keyword" { } { { "UFM.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v" 177 0 0 } } } 0 10463 "Verilog HDL Declaration warning at %2!s!: \"%1!s!\" is SystemVerilog-2005 keyword" 1 0 "Analysis & Synthesis" 0 -1 1691898440872 ""} +{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "ufm.v 2 2 " "Found 2 design units, including 2 entities, in source file ufm.v" { { "Info" "ISGN_ENTITY_NAME" "1 UFM_altufm_none_38r " "Found entity 1: UFM_altufm_none_38r" { } { { "UFM.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v" 47 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1691898440872 ""} { "Info" "ISGN_ENTITY_NAME" "2 UFM " "Found entity 2: UFM" { } { { "UFM.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v" 154 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1691898440872 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691898440872 ""} +{ "Info" "ISGN_START_ELABORATION_TOP" "RAM2GS " "Elaborating entity \"RAM2GS\" for the top level hierarchy" { } { } 0 12127 "Elaborating entity \"%1!s!\" for the top level hierarchy" 0 0 "Analysis & Synthesis" 0 -1 1691898440904 ""} +{ "Warning" "WVRFX_L2_HDL_OBJECT_ASSIGNED_NOT_READ" "LEDEN RAM2GS-MAX.v(20) " "Verilog HDL or VHDL warning at RAM2GS-MAX.v(20): object \"LEDEN\" assigned a value but never read" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 20 0 0 } } } 0 10036 "Verilog HDL or VHDL warning at %2!s!: object \"%1!s!\" assigned a value but never read" 0 0 "Analysis & Synthesis" 0 -1 1691898440904 "|RAM2GS"} +{ "Warning" "WVRFX_L2_VERI_EXPRESSION_TRUNCATED_TO_FIT" "32 2 RAM2GS-MAX.v(161) " "Verilog HDL assignment warning at RAM2GS-MAX.v(161): truncated value with size 32 to match size of target (2)" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 161 0 0 } } } 0 10230 "Verilog HDL assignment warning at %3!s!: truncated value with size %1!d! to match size of target (%2!d!)" 0 0 "Analysis & Synthesis" 0 -1 1691898440904 "|RAM2GS"} +{ "Warning" "WVRFX_L2_VERI_EXPRESSION_TRUNCATED_TO_FIT" "32 18 RAM2GS-MAX.v(166) " "Verilog HDL assignment warning at RAM2GS-MAX.v(166): truncated value with size 32 to match size of target (18)" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 166 0 0 } } } 0 10230 "Verilog HDL assignment warning at %3!s!: truncated value with size %1!d! to match size of target (%2!d!)" 0 0 "Analysis & Synthesis" 0 -1 1691898440904 "|RAM2GS"} +{ "Warning" "WVRFX_L2_VERI_EXPRESSION_TRUNCATED_TO_FIT" "32 4 RAM2GS-MAX.v(293) " "Verilog HDL assignment warning at RAM2GS-MAX.v(293): truncated value with size 32 to match size of target (4)" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 293 0 0 } } } 0 10230 "Verilog HDL assignment warning at %3!s!: truncated value with size %1!d! to match size of target (%2!d!)" 0 0 "Analysis & Synthesis" 0 -1 1691898440904 "|RAM2GS"} +{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "UFM UFM:UFM_inst " "Elaborating entity \"UFM\" for hierarchy \"UFM:UFM_inst\"" { } { { "../RAM2GS-MAX.v" "UFM_inst" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 90 0 0 } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1691898440919 ""} +{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "UFM_altufm_none_38r UFM:UFM_inst\|UFM_altufm_none_38r:UFM_altufm_none_38r_component " "Elaborating entity \"UFM_altufm_none_38r\" for hierarchy \"UFM:UFM_inst\|UFM_altufm_none_38r:UFM_altufm_none_38r_component\"" { } { { "UFM.v" "UFM_altufm_none_38r_component" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v" 205 0 0 } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1691898440919 ""} +{ "Warning" "WVRFX_VERI_DISPLAY_SYSTEM_CALL_WARNING" " Memory initialization file RAM2GS.mif is not found. This may result in inconsistent simulation results. UFM.v(145) " "Verilog HDL Display System Task warning at UFM.v(145): Memory initialization file RAM2GS.mif is not found. This may result in inconsistent simulation results." { } { { "UFM.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v" 145 0 0 } } } 0 10649 "Verilog HDL Display System Task warning at %2!s!: %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691898440935 "|RAM2GS|UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component"} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[0\] RD\[0\] " "Output pin \"Dout\[0\]\" driven by bidirectional pin \"RD\[0\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 26 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 59 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691898441185 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[1\] RD\[1\] " "Output pin \"Dout\[1\]\" driven by bidirectional pin \"RD\[1\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 26 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 59 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691898441185 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[2\] RD\[2\] " "Output pin \"Dout\[2\]\" driven by bidirectional pin \"RD\[2\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 26 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 59 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691898441185 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[3\] RD\[3\] " "Output pin \"Dout\[3\]\" driven by bidirectional pin \"RD\[3\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 26 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 59 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691898441185 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[4\] RD\[4\] " "Output pin \"Dout\[4\]\" driven by bidirectional pin \"RD\[4\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 26 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 59 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691898441185 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[5\] RD\[5\] " "Output pin \"Dout\[5\]\" driven by bidirectional pin \"RD\[5\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 26 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 59 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691898441185 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[6\] RD\[6\] " "Output pin \"Dout\[6\]\" driven by bidirectional pin \"RD\[6\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 26 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 59 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691898441185 ""} +{ "Warning" "WATM_BUILD_TRI_TO_BIDIR_AND_OUTPUT_PIN" "Dout\[7\] RD\[7\] " "Output pin \"Dout\[7\]\" driven by bidirectional pin \"RD\[7\]\" cannot be tri-stated" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 26 -1 0 } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 59 -1 0 } } } 0 14632 "Output pin \"%1!s!\" driven by bidirectional pin \"%2!s!\" cannot be tri-stated" 0 0 "Analysis & Synthesis" 0 -1 1691898441185 ""} +{ "Info" "ICUT_CUT_TM_SUMMARY" "245 " "Implemented 245 device resources after synthesis - the final resource count might be different" { { "Info" "ICUT_CUT_TM_IPINS" "25 " "Implemented 25 input pins" { } { } 0 21058 "Implemented %1!d! input pins" 0 0 "Design Software" 0 -1 1691898441232 ""} { "Info" "ICUT_CUT_TM_OPINS" "30 " "Implemented 30 output pins" { } { } 0 21059 "Implemented %1!d! output pins" 0 0 "Design Software" 0 -1 1691898441232 ""} { "Info" "ICUT_CUT_TM_BIDIRS" "8 " "Implemented 8 bidirectional pins" { } { } 0 21060 "Implemented %1!d! bidirectional pins" 0 0 "Design Software" 0 -1 1691898441232 ""} { "Info" "ICUT_CUT_TM_LCELLS" "181 " "Implemented 181 logic cells" { } { } 0 21061 "Implemented %1!d! logic cells" 0 0 "Design Software" 0 -1 1691898441232 ""} { "Info" "ICUT_CUT_TM_UFMS" "1 " "Implemented 1 User Flash Memory blocks" { } { } 0 21070 "Implemented %1!d! User Flash Memory blocks" 0 0 "Design Software" 0 -1 1691898441232 ""} } { } 0 21057 "Implemented %1!d! device resources after synthesis - the final resource count might be different" 0 0 "Analysis & Synthesis" 0 -1 1691898441232 ""} +{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.map.smsg " "Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.map.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1691898441263 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Analysis & Synthesis 0 s 14 s Quartus Prime " "Quartus Prime Analysis & Synthesis was successful. 0 errors, 14 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4703 " "Peak virtual memory: 4703 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1691898441279 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 12 23:47:21 2023 " "Processing ended: Sat Aug 12 23:47:21 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1691898441279 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:09 " "Elapsed time: 00:00:09" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1691898441279 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:22 " "Total CPU time (on all processors): 00:00:22" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1691898441279 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Analysis & Synthesis" 0 -1 1691898441279 ""} +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Analysis & Synthesis" 0 -1 1691898442419 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Fitter Quartus Prime " "Running Quartus Prime Fitter" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1691898442435 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 12 23:47:22 2023 " "Processing started: Sat Aug 12 23:47:22 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1691898442435 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Fitter" 0 -1 1691898442435 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_fit --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS " "Command: quartus_fit --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Fitter" 0 -1 1691898442435 ""} +{ "Info" "0" "" "qfit2_default_script.tcl version: #1" { } { } 0 0 "qfit2_default_script.tcl version: #1" 0 0 "Fitter" 0 0 1691898442529 ""} +{ "Info" "0" "" "Project = RAM2GS-MAXV" { } { } 0 0 "Project = RAM2GS-MAXV" 0 0 "Fitter" 0 0 1691898442529 ""} +{ "Info" "0" "" "Revision = RAM2GS" { } { } 0 0 "Revision = RAM2GS" 0 0 "Fitter" 0 0 1691898442529 ""} +{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Fitter" 0 -1 1691898442591 ""} +{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Fitter" 0 -1 1691898442591 ""} +{ "Info" "IMPP_MPP_USER_DEVICE" "RAM2GS 5M240ZT100C5 " "Selected device 5M240ZT100C5 for design \"RAM2GS\"" { } { } 0 119006 "Selected device %2!s! for design \"%1!s!\"" 0 0 "Fitter" 0 -1 1691898442591 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1691898442638 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1691898442638 ""} +{ "Info" "IFITCC_FITCC_INFO_AUTO_FIT_COMPILATION_ON" "" "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" { } { } 0 171003 "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" 0 0 "Fitter" 0 -1 1691898442654 ""} +{ "Warning" "WCPT_FEATURE_DISABLED_POST" "LogicLock " "Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." { } { } 0 292013 "Feature %1!s! is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." 0 0 "Fitter" 0 -1 1691898442669 ""} +{ "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED" "" "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" { { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M80ZT100C5 " "Device 5M80ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898442763 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M80ZT100I5 " "Device 5M80ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898442763 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M160ZT100C5 " "Device 5M160ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898442763 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M160ZT100I5 " "Device 5M160ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898442763 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M240ZT100I5 " "Device 5M240ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898442763 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M570ZT100C5 " "Device 5M570ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898442763 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M570ZT100I5 " "Device 5M570ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1691898442763 ""} } { } 2 176444 "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" 0 0 "Fitter" 0 -1 1691898442763 ""} +{ "Critical Warning" "WSTA_SDC_NOT_FOUND" "RAM2GS.sdc " "Synopsys Design Constraints File file not found: 'RAM2GS.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." { } { } 1 332012 "Synopsys Design Constraints File file not found: '%1!s!'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." 0 0 "Fitter" 0 -1 1691898442810 ""} +{ "Info" "ISTA_NO_CLOCK_FOUND_NO_DERIVING_MSG" "base clocks " "No user constrained base clocks found in the design" { } { } 0 332144 "No user constrained %1!s! found in the design" 0 0 "Fitter" 0 -1 1691898442810 ""} +{ "Info" "ISTA_DEFAULT_TDC_OPTIMIZATION_GOALS" "" "Timing requirements not specified -- optimizing circuit to achieve the following default global requirements" { { "Info" "ISTA_ASSUMED_DEFAULT_TDC_REQUIREMENT" "" "Assuming a default timing requirement" { } { } 0 332127 "Assuming a default timing requirement" 0 0 "Design Software" 0 -1 1691898442810 ""} } { } 0 332128 "Timing requirements not specified -- optimizing circuit to achieve the following default global requirements" 0 0 "Fitter" 0 -1 1691898442810 ""} +{ "Info" "ISTA_REPORT_CLOCKS_INFO" "Found 6 clocks " "Found 6 clocks" { { "Info" "ISTA_REPORT_CLOCKS_INFO" " Period Clock Name " " Period Clock Name" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898442810 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" "======== ============ " "======== ============" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898442810 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 ARCLK " " 1.000 ARCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898442810 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 DRCLK " " 1.000 DRCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898442810 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 nCCAS " " 1.000 nCCAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898442810 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 nCRAS " " 1.000 nCRAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898442810 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 PHI2 " " 1.000 PHI2" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898442810 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 1.000 RCLK " " 1.000 RCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1691898442810 ""} } { } 0 332111 "%1!s!" 0 0 "Fitter" 0 -1 1691898442810 ""} +{ "Extra Info" "IFSAC_FSAC_START_REG_LOCATION_PROCESSING" "" "Performing register packing on registers with non-logic cell location assignments" { } { } 1 176273 "Performing register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1691898442810 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_REG_LOCATION_PROCESSING" "" "Completed register packing on registers with non-logic cell location assignments" { } { } 1 176274 "Completed register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1691898442810 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "User Assigned Global Signals Promotion Operation " "Completed User Assigned Global Signals Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1691898442810 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_ALL_TO_GLOBAL" "RCLK Global clock in PIN 12 " "Automatically promoted signal \"RCLK\" to use Global clock in PIN 12" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 40 -1 0 } } } 0 186215 "Automatically promoted signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691898442825 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "PHI2 Global clock " "Automatically promoted some destinations of signal \"PHI2\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "PHI2r " "Destination \"PHI2r\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 13 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898442825 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691898442825 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "PHI2 " "Pin \"PHI2\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { PHI2 } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "PHI2" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 334 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691898442825 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCRAS Global clock " "Automatically promoted some destinations of signal \"nCRAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "LED~0 " "Destination \"LED~0\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898442825 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RASr " "Destination \"RASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 14 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898442825 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691898442825 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCRAS " "Pin \"nCRAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCRAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCRAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 336 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691898442825 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCCAS Global clock " "Automatically promoted some destinations of signal \"nCCAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CBR " "Destination \"CBR\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 17 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898442825 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "comb~0 " "Destination \"comb~0\" may be non-global or may not use global clock" { } { } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898442825 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CASr " "Destination \"CASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 15 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1691898442825 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1691898442825 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCCAS " "Pin \"nCCAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCCAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCCAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 335 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1691898442825 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "Auto Global Promotion Operation " "Completed Auto Global Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1691898442825 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_START_FYGR_REGPACKING_INFO" "" "Starting register packing" { } { } 0 176234 "Starting register packing" 0 0 "Fitter" 0 -1 1691898442825 ""} +{ "Extra Info" "IFSAC_FSAC_START_LUT_PACKING" "" "Moving registers into LUTs to improve timing and density" { } { } 1 176244 "Moving registers into LUTs to improve timing and density" 1 0 "Fitter" 0 -1 1691898442841 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_HEADER" "" "Started processing fast register assignments" { } { } 0 186468 "Started processing fast register assignments" 0 0 "Fitter" 0 -1 1691898442857 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_FOOTER" "" "Finished processing fast register assignments" { } { } 0 186469 "Finished processing fast register assignments" 0 0 "Fitter" 0 -1 1691898442857 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_LUT_PACKING" "00:00:00 " "Finished moving registers into LUTs: elapsed time is 00:00:00" { } { } 1 176245 "Finished moving registers into LUTs: elapsed time is %1!s!" 1 0 "Fitter" 0 -1 1691898442857 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_REGPACKING_INFO" "" "Finished register packing" { } { } 0 176235 "Finished register packing" 0 0 "Fitter" 0 -1 1691898442857 ""} +{ "Info" "IFITCC_FITTER_PREPARATION_END" "00:00:00 " "Fitter preparation operations ending: elapsed time is 00:00:00" { } { } 0 171121 "Fitter preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691898442888 ""} +{ "Info" "IVPR20K_VPR_FAMILY_APL_ERROR" "" "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." { } { } 0 14896 "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." 0 0 "Fitter" 0 -1 1691898442888 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_START" "" "Fitter placement preparation operations beginning" { } { } 0 170189 "Fitter placement preparation operations beginning" 0 0 "Fitter" 0 -1 1691898442966 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_END" "00:00:00 " "Fitter placement preparation operations ending: elapsed time is 00:00:00" { } { } 0 170190 "Fitter placement preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691898443075 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_START" "" "Fitter placement operations beginning" { } { } 0 170191 "Fitter placement operations beginning" 0 0 "Fitter" 0 -1 1691898443075 ""} +{ "Info" "IFITAPI_FITAPI_INFO_VPR_PLACEMENT_FINISH" "" "Fitter placement was successful" { } { } 0 170137 "Fitter placement was successful" 0 0 "Fitter" 0 -1 1691898443388 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_END" "00:00:00 " "Fitter placement operations ending: elapsed time is 00:00:00" { } { } 0 170192 "Fitter placement operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691898443388 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_START" "" "Fitter routing operations beginning" { } { } 0 170193 "Fitter routing operations beginning" 0 0 "Fitter" 0 -1 1691898443404 ""} +{ "Info" "IFITAPI_FITAPI_VPR_PERCENT_ROUTING_RESOURCE_USAGE" "18 " "Router estimated average interconnect usage is 18% of the available device resources" { { "Info" "IFITAPI_FITAPI_VPR_PEAK_ROUTING_REGION" "18 X0_Y0 X8_Y5 " "Router estimated peak interconnect usage is 18% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5" { } { { "loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 1 { 0 "Router estimated peak interconnect usage is 18% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5"} { { 12 { 0 ""} 0 0 9 6 } } } } } } } 0 170196 "Router estimated peak interconnect usage is %1!d!%% of the available device resources in the region that extends from location %2!s! to location %3!s!" 0 0 "Design Software" 0 -1 1691898443513 ""} } { } 0 170195 "Router estimated average interconnect usage is %1!d!%% of the available device resources" 0 0 "Fitter" 0 -1 1691898443513 ""} +{ "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED" "" "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." { { "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED_FOR_ROUTABILITY" "" "Optimizations that may affect the design's routability were skipped" { } { } 0 170201 "Optimizations that may affect the design's routability were skipped" 0 0 "Design Software" 0 -1 1691898443761 ""} } { } 0 170199 "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." 0 0 "Fitter" 0 -1 1691898443761 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_END" "00:00:00 " "Fitter routing operations ending: elapsed time is 00:00:00" { } { } 0 170194 "Fitter routing operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691898443762 ""} +{ "Info" "IVPR20K_VPR_TIMING_ANALYSIS_TIME" "the Fitter 0.22 " "Total time spent on timing analysis during the Fitter is 0.22 seconds." { } { } 0 11888 "Total time spent on timing analysis during %1!s! is %2!s! seconds." 0 0 "Fitter" 0 -1 1691898443772 ""} +{ "Info" "IFITCC_FITTER_POST_OPERATION_END" "00:00:00 " "Fitter post-fit operations ending: elapsed time is 00:00:00" { } { } 0 11218 "Fitter post-fit operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1691898443779 ""} +{ "Warning" "WFIOMGR_RESERVE_ASSIGNMENT_FOR_UNUSED_PINS_IS_DEFAULT" "As output driving ground " "The Reserve All Unused Pins setting has not been specified, and will default to 'As output driving ground'." { } { } 0 169174 "The Reserve All Unused Pins setting has not been specified, and will default to '%1!s!'." 0 0 "Fitter" 0 -1 1691898443796 ""} +{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg " "Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Fitter" 0 -1 1691898443827 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Fitter 0 s 4 s Quartus Prime " "Quartus Prime Fitter was successful. 0 errors, 4 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "5345 " "Peak virtual memory: 5345 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1691898443858 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 12 23:47:23 2023 " "Processing ended: Sat Aug 12 23:47:23 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1691898443858 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1691898443858 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:02 " "Total CPU time (on all processors): 00:00:02" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1691898443858 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Fitter" 0 -1 1691898443858 ""} +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Fitter" 0 -1 1691898444842 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus Prime " "Running Quartus Prime Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1691898444842 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 12 23:47:24 2023 " "Processing started: Sat Aug 12 23:47:24 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1691898444842 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Assembler" 0 -1 1691898444842 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS " "Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Assembler" 0 -1 1691898444842 ""} +{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Assembler" 0 -1 1691898445114 ""} +{ "Info" "IASM_ASM_GENERATING_POWER_DATA" "" "Writing out detailed assembly data for power analysis" { } { } 0 115031 "Writing out detailed assembly data for power analysis" 0 0 "Assembler" 0 -1 1691898445145 ""} +{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Assembler is generating device programming files" { } { } 0 115030 "Assembler is generating device programming files" 0 0 "Assembler" 0 -1 1691898445150 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 1 Quartus Prime " "Quartus Prime Assembler was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4662 " "Peak virtual memory: 4662 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1691898445260 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 12 23:47:25 2023 " "Processing ended: Sat Aug 12 23:47:25 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1691898445260 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1691898445260 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1691898445260 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Assembler" 0 -1 1691898445260 ""} +{ "Info" "IFLOW_DISABLED_MODULE" "Power Analyzer FLOW_ENABLE_POWER_ANALYZER " "Skipped module Power Analyzer due to the assignment FLOW_ENABLE_POWER_ANALYZER" { } { } 0 293026 "Skipped module %1!s! due to the assignment %2!s!" 0 0 "Assembler" 0 -1 1691898445991 ""} +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Assembler" 0 -1 1691898446531 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Timing Analyzer Quartus Prime " "Running Quartus Prime Timing Analyzer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1691898446541 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 12 23:47:26 2023 " "Processing started: Sat Aug 12 23:47:26 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1691898446541 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Timing Analyzer" 0 -1 1691898446541 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_sta RAM2GS-MAXV -c RAM2GS " "Command: quartus_sta RAM2GS-MAXV -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Timing Analyzer" 0 -1 1691898446541 ""} +{ "Info" "0" "" "qsta_default_script.tcl version: #1" { } { } 0 0 "qsta_default_script.tcl version: #1" 0 0 "Timing Analyzer" 0 0 1691898446650 ""} +{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Timing Analyzer" 0 -1 1691898446770 ""} +{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Timing Analyzer" 0 -1 1691898446770 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1691898446815 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1691898446815 ""} +{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Timing Analyzer" 0 -1 1691898446855 ""} +{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Timing Analyzer" 0 -1 1691898447085 ""} +{ "Critical Warning" "WSTA_SDC_NOT_FOUND" "RAM2GS.sdc " "Synopsys Design Constraints File file not found: 'RAM2GS.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." { } { } 1 332012 "Synopsys Design Constraints File file not found: '%1!s!'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." 0 0 "Timing Analyzer" 0 -1 1691898447120 ""} +{ "Info" "ISTA_NO_CLOCK_FOUND_DERIVING" "base clocks \"derive_clocks -period 1.0\" " "No user constrained base clocks found in the design. Calling \"derive_clocks -period 1.0\"" { } { } 0 332142 "No user constrained %1!s! found in the design. Calling %2!s!" 0 0 "Timing Analyzer" 0 -1 1691898447120 ""} +{ "Info" "ISTA_DERIVE_CLOCKS_INFO" "Deriving Clocks " "Deriving Clocks" { { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name nCCAS nCCAS " "create_clock -period 1.000 -name nCCAS nCCAS" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691898447120 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name nCRAS nCRAS " "create_clock -period 1.000 -name nCRAS nCRAS" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691898447120 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name RCLK RCLK " "create_clock -period 1.000 -name RCLK RCLK" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691898447120 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name PHI2 PHI2 " "create_clock -period 1.000 -name PHI2 PHI2" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691898447120 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name DRCLK DRCLK " "create_clock -period 1.000 -name DRCLK DRCLK" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691898447120 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name ARCLK ARCLK " "create_clock -period 1.000 -name ARCLK ARCLK" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1691898447120 ""} } { } 0 332105 "%1!s!" 0 0 "Timing Analyzer" 0 -1 1691898447120 ""} +{ "Info" "0" "" "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" { } { } 0 0 "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" 0 0 "Timing Analyzer" 0 0 1691898447125 ""} +{ "Info" "0" "" "Can't run Report Timing Closure Recommendations. The current device family is not supported." { } { } 0 0 "Can't run Report Timing Closure Recommendations. The current device family is not supported." 0 0 "Timing Analyzer" 0 0 1691898447135 ""} +{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1691898447135 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "setup -99.000 " "Worst-case setup slack is -99.000" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447140 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447140 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -99.000 -99.000 ARCLK " " -99.000 -99.000 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447140 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -99.000 -99.000 DRCLK " " -99.000 -99.000 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447140 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -21.001 -209.812 PHI2 " " -21.001 -209.812 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447140 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -18.876 -581.010 RCLK " " -18.876 -581.010 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447140 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -4.999 -22.739 nCRAS " " -4.999 -22.739 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447140 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1691898447140 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "hold -17.852 " "Worst-case hold slack is -17.852" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447150 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447150 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -17.852 -17.852 DRCLK " " -17.852 -17.852 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447150 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -15.984 -15.984 ARCLK " " -15.984 -15.984 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447150 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.781 -0.781 PHI2 " " -0.781 -0.781 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447150 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.589 -0.786 RCLK " " -0.589 -0.786 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447150 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.360 -1.399 nCRAS " " -0.360 -1.399 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447150 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1691898447150 ""} +{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1691898447150 ""} +{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1691898447160 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width -29.500 " "Worst-case minimum pulse width slack is -29.500" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447170 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447170 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -29.500 -59.000 ARCLK " " -29.500 -59.000 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447170 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -29.500 -59.000 DRCLK " " -29.500 -59.000 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447170 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -2.289 -2.289 PHI2 " " -2.289 -2.289 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447170 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -2.289 -2.289 RCLK " " -2.289 -2.289 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447170 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -2.289 -2.289 nCCAS " " -2.289 -2.289 nCCAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447170 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -2.289 -2.289 nCRAS " " -2.289 -2.289 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1691898447170 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1691898447170 ""} +{ "Info" "ISTA_METASTABILITY_REPORT_DISABLED" "" "The selected device family is not supported by the report_metastability command." { } { } 0 332001 "The selected device family is not supported by the report_metastability command." 0 0 "Timing Analyzer" 0 -1 1691898447245 ""} +{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "setup " "Design is not fully constrained for setup requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1691898447265 ""} +{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "hold " "Design is not fully constrained for hold requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1691898447265 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Timing Analyzer 0 s 3 s Quartus Prime " "Quartus Prime Timing Analyzer was successful. 0 errors, 3 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4676 " "Peak virtual memory: 4676 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1691898447330 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 12 23:47:27 2023 " "Processing ended: Sat Aug 12 23:47:27 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1691898447330 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1691898447330 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1691898447330 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Timing Analyzer" 0 -1 1691898447330 ""} +{ "Info" "IFLOW_ERROR_COUNT" "Full Compilation 0 s 22 s " "Quartus Prime Full Compilation was successful. 0 errors, 22 warnings" { } { } 0 293000 "Quartus Prime %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Timing Analyzer" 0 -1 1691898447949 ""} diff --git a/CPLD/MAXV/greybox_tmp/cbx_args.txt b/CPLD/MAXV/greybox_tmp/cbx_args.txt new file mode 100644 index 0000000..1493d8a --- /dev/null +++ b/CPLD/MAXV/greybox_tmp/cbx_args.txt @@ -0,0 +1,25 @@ +ERASE_TIME=500000000 +INTENDED_DEVICE_FAMILY="MAX V" +LPM_FILE=RAM2GS.mif +LPM_HINT=UNUSED +LPM_TYPE=altufm_none +OSC_FREQUENCY=180000 +PORT_ARCLKENA=PORT_UNUSED +PORT_DRCLKENA=PORT_UNUSED +PROGRAM_TIME=1600000 +WIDTH_UFM_ADDRESS=9 +DEVICE_FAMILY="MAX V" +CBX_AUTO_BLACKBOX=ALL +arclk +ardin +arshft +busy +drclk +drdin +drdout +drshft +erase +osc +oscena +program +rtpbusy diff --git a/CPLD/MAXV/incremental_db/README b/CPLD/MAXV/incremental_db/README new file mode 100644 index 0000000..9f62dcd --- /dev/null +++ b/CPLD/MAXV/incremental_db/README @@ -0,0 +1,11 @@ +This folder contains data for incremental compilation. + +The compiled_partitions sub-folder contains previous compilation results for each partition. +As long as this folder is preserved, incremental compilation results from earlier compiles +can be re-used. To perform a clean compilation from source files for all partitions, both +the db and incremental_db folder should be removed. + +The imported_partitions sub-folder contains the last imported QXP for each imported partition. +As long as this folder is preserved, imported partitions will be automatically re-imported +when the db or incremental_db/compiled_partitions folders are removed. + diff --git a/CPLD/MAXV/incremental_db/compiled_partitions/RAM2GS.db_info b/CPLD/MAXV/incremental_db/compiled_partitions/RAM2GS.db_info new file mode 100644 index 0000000..4917539 --- /dev/null +++ b/CPLD/MAXV/incremental_db/compiled_partitions/RAM2GS.db_info @@ -0,0 +1,3 @@ +Quartus_Version = Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition +Version_Index = 503488000 +Creation_Time = Sat Aug 12 18:47:50 2023 diff --git a/CPLD/MAXV/incremental_db/compiled_partitions/RAM2GS.root_partition.map.kpt b/CPLD/MAXV/incremental_db/compiled_partitions/RAM2GS.root_partition.map.kpt new file mode 100644 index 0000000000000000000000000000000000000000..09f5b3652a9252d7873c9ea69b93e105e1e00445 GIT binary patch literal 2621 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 + + + + + + + diff --git a/CPLD/MAXV/output_files/RAM2GS.map.rpt b/CPLD/MAXV/output_files/RAM2GS.map.rpt index 0e26225..4a841e3 100644 --- a/CPLD/MAXV/output_files/RAM2GS.map.rpt +++ b/CPLD/MAXV/output_files/RAM2GS.map.rpt @@ -1,5 +1,5 @@ Analysis & Synthesis report for RAM2GS -Sat Aug 12 18:40:54 2023 +Sat Aug 12 23:47:44 2023 Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition @@ -10,7 +10,16 @@ Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition 2. Analysis & Synthesis Summary 3. Analysis & Synthesis Settings 4. Parallel Compilation - 5. Analysis & Synthesis Messages + 5. Analysis & Synthesis Source Files Read + 6. Analysis & Synthesis Resource Usage Summary + 7. Analysis & Synthesis Resource Utilization by Entity + 8. Analysis & Synthesis IP Cores Summary + 9. General Register Statistics + 10. Inverted Register Statistics + 11. Multiplexer Restructuring Statistics (Restructuring Performed) + 12. Port Connectivity Checks: "UFM:UFM_inst" + 13. Analysis & Synthesis Messages + 14. Analysis & Synthesis Suppressed Messages @@ -37,11 +46,15 @@ https://fpgasoftware.intel.com/eula. +---------------------------------------------------------------------------+ ; Analysis & Synthesis Summary ; +-----------------------------+---------------------------------------------+ -; Analysis & Synthesis Status ; Failed - Sat Aug 12 18:40:54 2023 ; +; Analysis & Synthesis Status ; Successful - Sat Aug 12 23:47:44 2023 ; ; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; ; Revision Name ; RAM2GS ; ; Top-level Entity Name ; RAM2GS ; ; Family ; MAX V ; +; Total logic elements ; 181 ; +; Total pins ; 63 ; +; Total virtual pins ; 0 ; +; UFM blocks ; 1 / 1 ( 100 % ) ; +-----------------------------+---------------------------------------------+ @@ -132,23 +145,171 @@ https://fpgasoftware.intel.com/eula. +----------------------------+-------------+ ++----------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Source Files Read ; ++----------------------------------+-----------------+-----------------------------+-------------------------------------------------------+---------+ +; File Name with User-Entered Path ; Used in Netlist ; File Type ; File Name with Absolute Path ; Library ; ++----------------------------------+-----------------+-----------------------------+-------------------------------------------------------+---------+ +; ../RAM2GS-MAX.v ; yes ; User Verilog HDL File ; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v ; ; +; UFM.v ; yes ; User Wizard-Generated File ; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v ; ; ++----------------------------------+-----------------+-----------------------------+-------------------------------------------------------+---------+ + + ++-----------------------------------------------------+ +; Analysis & Synthesis Resource Usage Summary ; ++---------------------------------------------+-------+ +; Resource ; Usage ; ++---------------------------------------------+-------+ +; Total logic elements ; 181 ; +; -- Combinational with no register ; 85 ; +; -- Register only ; 29 ; +; -- Combinational with a register ; 67 ; +; ; ; +; Logic element usage by number of LUT inputs ; ; +; -- 4 input functions ; 57 ; +; -- 3 input functions ; 42 ; +; -- 2 input functions ; 44 ; +; -- 1 input functions ; 8 ; +; -- 0 input functions ; 1 ; +; ; ; +; Logic elements by mode ; ; +; -- normal mode ; 165 ; +; -- arithmetic mode ; 16 ; +; -- qfbk mode ; 0 ; +; -- register cascade mode ; 0 ; +; -- synchronous clear/load mode ; 9 ; +; -- asynchronous clear/load mode ; 0 ; +; ; ; +; Total registers ; 96 ; +; Total logic cells in carry chains ; 17 ; +; I/O pins ; 63 ; +; UFM blocks ; 1 ; +; Maximum fan-out node ; RCLK ; +; Maximum fan-out ; 54 ; +; Total fan-out ; 647 ; +; Average fan-out ; 2.64 ; ++---------------------------------------------+-------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Resource Utilization by Entity ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; UFM Blocks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Entity Name ; Library Name ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; |RAM2GS ; 181 (181) ; 96 ; 1 ; 63 ; 0 ; 85 (85) ; 29 (29) ; 67 (67) ; 17 (17) ; 0 (0) ; |RAM2GS ; RAM2GS ; work ; +; |UFM:UFM_inst| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst ; UFM ; work ; +; |UFM_altufm_none_38r:UFM_altufm_none_38r_component| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component ; UFM_altufm_none_38r ; work ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. + + ++---------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis IP Cores Summary ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ +; Vendor ; IP Core Name ; Version ; Release Date ; License Type ; Entity Instance ; IP Include File ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ +; Altera ; ALTUFM_NONE Intel FPGA IP ; 19.1 ; N/A ; N/A ; |RAM2GS|UFM:UFM_inst ; UFM.v ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ + + ++------------------------------------------------------+ +; General Register Statistics ; ++----------------------------------------------+-------+ +; Statistic ; Value ; ++----------------------------------------------+-------+ +; Total registers ; 96 ; +; Number of registers using Synchronous Clear ; 6 ; +; Number of registers using Synchronous Load ; 3 ; +; Number of registers using Asynchronous Clear ; 0 ; +; Number of registers using Asynchronous Load ; 0 ; +; Number of registers using Clock Enable ; 8 ; +; Number of registers using Preset ; 0 ; ++----------------------------------------------+-------+ + + ++--------------------------------------------------+ +; Inverted Register Statistics ; ++----------------------------------------+---------+ +; Inverted Register ; Fan out ; ++----------------------------------------+---------+ +; nRCS~reg0 ; 1 ; +; nRWE~reg0 ; 1 ; +; nRRAS~reg0 ; 1 ; +; nRCAS~reg0 ; 1 ; +; Total number of inverted registers = 4 ; ; ++----------------------------------------+---------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------+ +; Multiplexer Restructuring Statistics (Restructuring Performed) ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ +; Multiplexer Inputs ; Bus Width ; Baseline Area ; Area if Restructured ; Saving if Restructured ; Registered ; Example Multiplexer Output ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ +; 3:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|S[0] ; +; 4:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|C1Submitted ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ + + ++-------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "UFM:UFM_inst" ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ +; ardin ; Input ; Info ; Stuck at GND ; +; busy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; osc ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; rtpbusy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ + + +-------------------------------+ ; Analysis & Synthesis Messages ; +-------------------------------+ Info: ******************************************************************* Info: Running Quartus Prime Analysis & Synthesis Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - Info: Processing started: Sat Aug 12 18:40:41 2023 + Info: Processing started: Sat Aug 12 23:47:36 2023 Info: Command: quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXV -c RAM2GS Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance. Info (20030): Parallel compilation is enabled and will use 4 of the 4 processors detected Info (12021): Found 1 design units, including 1 entities, in source file /onedrive/documents/github/ram2gs/cpld/ram2gs-max.v - Info (12023): Found entity 1: RAM4GS File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 1 -Error (12007): Top-level design entity "RAM2GS" is undefined -Error: Quartus Prime Analysis & Synthesis was unsuccessful. 1 error, 1 warning - Error: Peak virtual memory: 4687 megabytes - Error: Processing ended: Sat Aug 12 18:40:54 2023 - Error: Elapsed time: 00:00:13 - Error: Total CPU time (on all processors): 00:00:29 + Info (12023): Found entity 1: RAM2GS File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 1 +Info (12021): Found 2 design units, including 2 entities, in source file ufm.v + Info (12023): Found entity 1: UFM_altufm_none_38r File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v Line: 47 + Info (12023): Found entity 2: UFM File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v Line: 154 +Info (12127): Elaborating entity "RAM2GS" for the top level hierarchy +Warning (10036): Verilog HDL or VHDL warning at RAM2GS-MAX.v(20): object "LEDEN" assigned a value but never read File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 20 +Warning (10230): Verilog HDL assignment warning at RAM2GS-MAX.v(161): truncated value with size 32 to match size of target (2) File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 161 +Warning (10230): Verilog HDL assignment warning at RAM2GS-MAX.v(166): truncated value with size 32 to match size of target (18) File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 166 +Warning (10230): Verilog HDL assignment warning at RAM2GS-MAX.v(293): truncated value with size 32 to match size of target (4) File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 293 +Info (12128): Elaborating entity "UFM" for hierarchy "UFM:UFM_inst" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 90 +Info (12128): Elaborating entity "UFM_altufm_none_38r" for hierarchy "UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v Line: 205 +Warning (10649): Verilog HDL Display System Task warning at UFM.v(145): Memory initialization file RAM2GS.mif is not found. This may result in inconsistent simulation results. File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v Line: 145 +Warning (14632): Output pin "Dout[0]" driven by bidirectional pin "RD[0]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 +Warning (14632): Output pin "Dout[1]" driven by bidirectional pin "RD[1]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 +Warning (14632): Output pin "Dout[2]" driven by bidirectional pin "RD[2]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 +Warning (14632): Output pin "Dout[3]" driven by bidirectional pin "RD[3]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 +Warning (14632): Output pin "Dout[4]" driven by bidirectional pin "RD[4]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 +Warning (14632): Output pin "Dout[5]" driven by bidirectional pin "RD[5]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 +Warning (14632): Output pin "Dout[6]" driven by bidirectional pin "RD[6]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 +Warning (14632): Output pin "Dout[7]" driven by bidirectional pin "RD[7]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 +Info (21057): Implemented 245 device resources after synthesis - the final resource count might be different + Info (21058): Implemented 25 input pins + Info (21059): Implemented 30 output pins + Info (21060): Implemented 8 bidirectional pins + Info (21061): Implemented 181 logic cells + Info (21070): Implemented 1 User Flash Memory blocks +Info (144001): Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.map.smsg +Info: Quartus Prime Analysis & Synthesis was successful. 0 errors, 14 warnings + Info: Peak virtual memory: 4702 megabytes + Info: Processing ended: Sat Aug 12 23:47:45 2023 + Info: Elapsed time: 00:00:09 + Info: Total CPU time (on all processors): 00:00:21 + + ++------------------------------------------+ +; Analysis & Synthesis Suppressed Messages ; ++------------------------------------------+ +The suppressed messages can be found in D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.map.smsg. diff --git a/CPLD/MAXV/output_files/RAM2GS.map.smsg b/CPLD/MAXV/output_files/RAM2GS.map.smsg new file mode 100644 index 0000000..00ba75e --- /dev/null +++ b/CPLD/MAXV/output_files/RAM2GS.map.smsg @@ -0,0 +1,3 @@ +Warning (10273): Verilog HDL warning at RAM2GS-MAX.v(59): extended using "x" or "z" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 59 +Warning (10463): Verilog HDL Declaration warning at UFM.v(73): "program" is SystemVerilog-2005 keyword File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v Line: 73 +Warning (10463): Verilog HDL Declaration warning at UFM.v(177): "program" is SystemVerilog-2005 keyword File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v Line: 177 diff --git a/CPLD/MAXV/output_files/RAM2GS.map.summary b/CPLD/MAXV/output_files/RAM2GS.map.summary index 012e6af..afed099 100644 --- a/CPLD/MAXV/output_files/RAM2GS.map.summary +++ b/CPLD/MAXV/output_files/RAM2GS.map.summary @@ -1,5 +1,9 @@ -Analysis & Synthesis Status : Failed - Sat Aug 12 18:40:54 2023 +Analysis & Synthesis Status : Successful - Sat Aug 12 23:47:44 2023 Quartus Prime Version : 19.1.0 Build 670 09/22/2019 SJ Lite Edition Revision Name : RAM2GS Top-level Entity Name : RAM2GS Family : MAX V +Total logic elements : 181 +Total pins : 63 +Total virtual pins : 0 +UFM blocks : 1 / 1 ( 100 % ) diff --git a/CPLD/MAXV/output_files/RAM2GS.pin b/CPLD/MAXV/output_files/RAM2GS.pin new file mode 100644 index 0000000..88c2384 --- /dev/null +++ b/CPLD/MAXV/output_files/RAM2GS.pin @@ -0,0 +1,165 @@ + -- Copyright (C) 2019 Intel Corporation. All rights reserved. + -- Your use of Intel Corporation's design tools, logic functions + -- and other software and tools, and any partner logic + -- functions, and any output files from any of the foregoing + -- (including device programming or simulation files), and any + -- associated documentation or information are expressly subject + -- to the terms and conditions of the Intel Program License + -- Subscription Agreement, the Intel Quartus Prime License Agreement, + -- the Intel FPGA IP License Agreement, or other applicable license + -- agreement, including, without limitation, that your use is for + -- the sole purpose of programming logic devices manufactured by + -- Intel and sold by Intel or its authorized distributors. Please + -- refer to the applicable agreement for further details, at + -- https://fpgasoftware.intel.com/eula. + -- + -- This is a Quartus Prime output file. It is for reporting purposes only, and is + -- not intended for use as a Quartus Prime input file. This file cannot be used + -- to make Quartus Prime pin assignments - for instructions on how to make pin + -- assignments, please see Quartus Prime help. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- NC : No Connect. This pin has no internal connection to the device. + -- DNU : Do Not Use. This pin MUST NOT be connected. + -- VCCINT : Dedicated power pin, which MUST be connected to VCC (1.8V). + -- VCCIO : Dedicated power pin, which MUST be connected to VCC + -- of its bank. + -- Bank 1: 3.3V + -- Bank 2: 3.3V + -- GND : Dedicated ground pin. Dedicated GND pins MUST be connected to GND. + -- It can also be used to report unused dedicated pins. The connection + -- on the board for unused dedicated pins depends on whether this will + -- be used in a future design. One example is device migration. When + -- using device migration, refer to the device pin-tables. If it is a + -- GND pin in the pin table or if it will not be used in a future design + -- for another purpose the it MUST be connected to GND. If it is an unused + -- dedicated pin, then it can be connected to a valid signal on the board + -- (low, high, or toggling) if that signal is required for a different + -- revision of the design. + -- GND+ : Unused input pin. It can also be used to report unused dual-purpose pins. + -- This pin should be connected to GND. It may also be connected to a + -- valid signal on the board (low, high, or toggling) if that signal + -- is required for a different revision of the design. + -- GND* : Unused I/O pin. Connect each pin marked GND* directly to GND + -- or leave it unconnected. + -- RESERVED : Unused I/O pin, which MUST be left unconnected. + -- RESERVED_INPUT : Pin is tri-stated and should be connected to the board. + -- RESERVED_INPUT_WITH_WEAK_PULLUP : Pin is tri-stated with internal weak pull-up resistor. + -- RESERVED_INPUT_WITH_BUS_HOLD : Pin is tri-stated with bus-hold circuitry. + -- RESERVED_OUTPUT_DRIVEN_HIGH : Pin is output driven high. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- Pin directions (input, output or bidir) are based on device operating in user mode. + --------------------------------------------------------------------------------- + +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition +CHIP "RAM2GS" ASSIGNED TO AN: 5M240ZT100C5 + +Pin Name/Usage : Location : Dir. : I/O Standard : Voltage : I/O Bank : User Assignment +------------------------------------------------------------------------------------------------------------- +GND : 1 : gnd : : : : +RDQMH : 2 : output : 3.3-V LVCMOS : : 1 : Y +nRCS : 3 : output : 3.3-V LVCMOS : : 1 : Y +nRCAS : 4 : output : 3.3-V LVCMOS : : 1 : Y +RBA[0] : 5 : output : 3.3-V LVCMOS : : 1 : Y +nRRAS : 6 : output : 3.3-V LVCMOS : : 1 : Y +RA[11] : 7 : output : 3.3-V LVCMOS : : 1 : Y +RCKE : 8 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 9 : power : : 3.3V : 1 : +GND : 10 : gnd : : : : +GND : 11 : gnd : : : : +RCLK : 12 : input : 3.3-V LVCMOS : : 1 : Y +VCCINT : 13 : power : : 1.8V : : +RBA[1] : 14 : output : 3.3-V LVCMOS : : 1 : Y +RA[9] : 15 : output : 3.3-V LVCMOS : : 1 : Y +RA[10] : 16 : output : 3.3-V LVCMOS : : 1 : Y +RA[8] : 17 : output : 3.3-V LVCMOS : : 1 : Y +RA[0] : 18 : output : 3.3-V LVCMOS : : 1 : Y +RA[7] : 19 : output : 3.3-V LVCMOS : : 1 : Y +RA[1] : 20 : output : 3.3-V LVCMOS : : 1 : Y +RA[6] : 21 : output : 3.3-V LVCMOS : : 1 : Y +TMS : 22 : input : : : 1 : +TDI : 23 : input : : : 1 : +TCK : 24 : input : : : 1 : +TDO : 25 : output : : : 1 : +RA[4] : 26 : output : 3.3-V LVCMOS : : 1 : Y +RA[3] : 27 : output : 3.3-V LVCMOS : : 1 : Y +Dout[5] : 28 : output : 3.3-V LVCMOS : : 1 : Y +RA[5] : 29 : output : 3.3-V LVCMOS : : 1 : Y +RA[2] : 30 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 31 : power : : 3.3V : 1 : +GND : 32 : gnd : : : : +Dout[0] : 33 : output : 3.3-V LVCMOS : : 1 : Y +Dout[6] : 34 : output : 3.3-V LVCMOS : : 1 : Y +Din[2] : 35 : input : 3.3-V LVCMOS : : 1 : Y +Din[1] : 36 : input : 3.3-V LVCMOS : : 1 : Y +Din[3] : 37 : input : 3.3-V LVCMOS : : 1 : Y +Din[5] : 38 : input : 3.3-V LVCMOS : : 1 : Y +Din[4] : 39 : input : 3.3-V LVCMOS : : 1 : Y +Din[7] : 40 : input : 3.3-V LVCMOS : : 1 : Y +Din[6] : 41 : input : 3.3-V LVCMOS : : 1 : Y +Din[0] : 42 : input : 3.3-V LVCMOS : : 1 : Y +Dout[7] : 43 : output : 3.3-V LVCMOS : : 1 : Y +Dout[4] : 44 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 45 : power : : 3.3V : 1 : +GND : 46 : gnd : : : : +Dout[3] : 47 : output : 3.3-V LVCMOS : : 1 : Y +nFWE : 48 : input : 3.3-V LVCMOS : : 1 : Y +MAin[0] : 49 : input : 3.3-V LVCMOS : : 1 : Y +MAin[2] : 50 : input : 3.3-V LVCMOS : : 1 : Y +MAin[1] : 51 : input : 3.3-V LVCMOS : : 1 : Y +PHI2 : 52 : input : 3.3-V LVCMOS : : 2 : Y +nCCAS : 53 : input : 3.3-V LVCMOS : : 2 : Y +CROW[0] : 54 : input : 3.3-V LVCMOS : : 2 : Y +CROW[1] : 55 : input : 3.3-V LVCMOS : : 2 : Y +Dout[2] : 56 : output : 3.3-V LVCMOS : : 2 : Y +Dout[1] : 57 : output : 3.3-V LVCMOS : : 2 : Y +GND* : 58 : : : : 2 : +VCCIO2 : 59 : power : : 3.3V : 2 : +GND : 60 : gnd : : : : +GND* : 61 : : : : 2 : +GND* : 62 : : : : 2 : +VCCINT : 63 : power : : 1.8V : : +GND* : 64 : : : : 2 : +GND : 65 : gnd : : : : +GND* : 66 : : : : 2 : +nCRAS : 67 : input : 3.3-V LVCMOS : : 2 : Y +MAin[7] : 68 : input : 3.3-V LVCMOS : : 2 : Y +MAin[5] : 69 : input : 3.3-V LVCMOS : : 2 : Y +MAin[4] : 70 : input : 3.3-V LVCMOS : : 2 : Y +MAin[3] : 71 : input : 3.3-V LVCMOS : : 2 : Y +MAin[6] : 72 : input : 3.3-V LVCMOS : : 2 : Y +MAin[8] : 73 : input : 3.3-V LVCMOS : : 2 : Y +MAin[9] : 74 : input : 3.3-V LVCMOS : : 2 : Y +GND* : 75 : : : : 2 : +GND* : 76 : : : : 2 : +GND* : 77 : : : : 2 : +GND* : 78 : : : : 2 : +GND : 79 : gnd : : : : +VCCIO2 : 80 : power : : 3.3V : 2 : +GND* : 81 : : : : 2 : +GND* : 82 : : : : 2 : +GND* : 83 : : : : 2 : +GND* : 84 : : : : 2 : +GND* : 85 : : : : 2 : +GND* : 86 : : : : 2 : +GND* : 87 : : : : 2 : +LED : 88 : output : 3.3-V LVTTL : : 2 : Y +RD[2] : 89 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[1] : 90 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[5] : 91 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[4] : 92 : bidir : 3.3-V LVCMOS : : 2 : Y +GND : 93 : gnd : : : : +VCCIO2 : 94 : power : : 3.3V : 2 : +RD[6] : 95 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[0] : 96 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[7] : 97 : bidir : 3.3-V LVCMOS : : 2 : Y +RDQML : 98 : output : 3.3-V LVCMOS : : 2 : Y +RD[3] : 99 : bidir : 3.3-V LVCMOS : : 2 : Y +nRWE : 100 : output : 3.3-V LVCMOS : : 2 : Y diff --git a/CPLD/MAXV/output_files/RAM2GS.pof b/CPLD/MAXV/output_files/RAM2GS.pof new file mode 100644 index 0000000000000000000000000000000000000000..75e8a56d13154d1bd8bd004520f01ddb8f836d70 GIT binary patch literal 7861 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 diff --git a/CPLD/MAXV/output_files/RAM2GS.sta.rpt b/CPLD/MAXV/output_files/RAM2GS.sta.rpt new file mode 100644 index 0000000..c480479 --- /dev/null +++ b/CPLD/MAXV/output_files/RAM2GS.sta.rpt @@ -0,0 +1,1010 @@ +Timing Analyzer report for RAM2GS +Sat Aug 12 23:47:50 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Timing Analyzer Summary + 3. Parallel Compilation + 4. Clocks + 5. Fmax Summary + 6. Setup Summary + 7. Hold Summary + 8. Recovery Summary + 9. Removal Summary + 10. Minimum Pulse Width Summary + 11. Setup: 'ARCLK' + 12. Setup: 'DRCLK' + 13. Setup: 'PHI2' + 14. Setup: 'RCLK' + 15. Setup: 'nCRAS' + 16. Hold: 'DRCLK' + 17. Hold: 'ARCLK' + 18. Hold: 'PHI2' + 19. Hold: 'RCLK' + 20. Hold: 'nCRAS' + 21. Setup Transfers + 22. Hold Transfers + 23. Report TCCS + 24. Report RSKM + 25. Unconstrained Paths Summary + 26. Clock Status Summary + 27. Unconstrained Input Ports + 28. Unconstrained Output Ports + 29. Unconstrained Input Ports + 30. Unconstrained Output Ports + 31. Timing Analyzer Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++-----------------------------------------------------------------------------+ +; Timing Analyzer Summary ; ++-----------------------+-----------------------------------------------------+ +; Quartus Prime Version ; Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; +; Timing Analyzer ; Legacy Timing Analyzer ; +; Revision Name ; RAM2GS ; +; Device Family ; MAX V ; +; Device Name ; 5M240ZT100C5 ; +; Timing Models ; Final ; +; Delay Model ; Slow Model ; +; Rise/Fall Delays ; Unavailable ; ++-----------------------+-----------------------------------------------------+ + + ++------------------------------------------+ +; Parallel Compilation ; ++----------------------------+-------------+ +; Processors ; Number ; ++----------------------------+-------------+ +; Number detected on machine ; 8 ; +; Maximum allowed ; 4 ; +; ; ; +; Average used ; 1.00 ; +; Maximum used ; 2 ; +; ; ; +; Usage by Processor ; % Time Used ; +; Processor 1 ; 100.0% ; +; Processor 2 ; 0.0% ; ++----------------------------+-------------+ + + ++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Clocks ; ++------------+------+--------+------------+-------+-------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ +; Clock Name ; Type ; Period ; Frequency ; Rise ; Fall ; Duty Cycle ; Divide by ; Multiply by ; Phase ; Offset ; Edge List ; Edge Shift ; Inverted ; Master ; Source ; Targets ; ++------------+------+--------+------------+-------+-------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ +; ARCLK ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { ARCLK } ; +; DRCLK ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { DRCLK } ; +; nCCAS ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { nCCAS } ; +; nCRAS ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { nCRAS } ; +; PHI2 ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { PHI2 } ; +; RCLK ; Base ; 1.000 ; 1000.0 MHz ; 0.000 ; 0.500 ; ; ; ; ; ; ; ; ; ; ; { RCLK } ; ++------------+------+--------+------------+-------+-------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ + + ++-------------------------------------------------+ +; Fmax Summary ; ++-----------+-----------------+------------+------+ +; Fmax ; Restricted Fmax ; Clock Name ; Note ; ++-----------+-----------------+------------+------+ +; 10.0 MHz ; 10.0 MHz ; ARCLK ; ; +; 10.0 MHz ; 10.0 MHz ; DRCLK ; ; +; 23.25 MHz ; 23.25 MHz ; PHI2 ; ; +; 52.25 MHz ; 52.25 MHz ; RCLK ; ; ++-----------+-----------------+------------+------+ +This panel reports FMAX for every clock in the design, regardless of the user-specified clock periods. FMAX is only computed for paths where the source and destination registers or ports are driven by the same clock. Paths of different clocks, including generated clocks, are ignored. For paths between a clock and its inversion, FMAX is computed as if the rising and falling edges are scaled along with FMAX, such that the duty cycle (in terms of a percentage) is maintained. Altera recommends that you always use clock constraints and other slack reports for sign-off analysis. + + ++---------------------------------+ +; Setup Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; ARCLK ; -99.000 ; -99.000 ; +; DRCLK ; -99.000 ; -99.000 ; +; PHI2 ; -21.001 ; -209.812 ; +; RCLK ; -18.876 ; -581.010 ; +; nCRAS ; -4.999 ; -22.739 ; ++-------+---------+---------------+ + + ++---------------------------------+ +; Hold Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; DRCLK ; -17.852 ; -17.852 ; +; ARCLK ; -15.984 ; -15.984 ; +; PHI2 ; -0.781 ; -0.781 ; +; RCLK ; -0.589 ; -0.786 ; +; nCRAS ; -0.360 ; -1.399 ; ++-------+---------+---------------+ + + +-------------------- +; Recovery Summary ; +-------------------- +No paths to report. + + +------------------- +; Removal Summary ; +------------------- +No paths to report. + + ++---------------------------------+ +; Minimum Pulse Width Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; ARCLK ; -29.500 ; -59.000 ; +; DRCLK ; -29.500 ; -59.000 ; +; PHI2 ; -2.289 ; -2.289 ; +; RCLK ; -2.289 ; -2.289 ; +; nCCAS ; -2.289 ; -2.289 ; +; nCRAS ; -2.289 ; -2.289 ; ++-------+---------+---------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'ARCLK' ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -99.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 1.000 ; 0.000 ; 80.000 ; +; -23.016 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 1.000 ; -1.053 ; 2.963 ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'DRCLK' ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -99.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 1.000 ; 0.000 ; 80.000 ; +; -22.786 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 1.000 ; 0.815 ; 4.601 ; +; -21.148 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 1.000 ; 0.815 ; 2.963 ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++------------------------------------------------------------------------------------------------------------+ +; Setup: 'PHI2' ; ++---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; -21.001 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 21.180 ; +; -20.566 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 20.745 ; +; -20.330 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 20.509 ; +; -20.128 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 20.307 ; +; -20.112 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 20.291 ; +; -20.052 ; Bank[7] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 20.231 ; +; -20.052 ; Bank[7] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 20.231 ; +; -19.677 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.856 ; +; -19.638 ; Bank[7] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.817 ; +; -19.638 ; Bank[7] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.817 ; +; -19.617 ; Bank[3] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.796 ; +; -19.617 ; Bank[3] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.796 ; +; -19.533 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.712 ; +; -19.441 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.620 ; +; -19.381 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.560 ; +; -19.381 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.560 ; +; -19.239 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.418 ; +; -19.203 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.382 ; +; -19.203 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.382 ; +; -19.179 ; Bank[6] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.358 ; +; -19.179 ; Bank[6] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.358 ; +; -18.967 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.146 ; +; -18.967 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.146 ; +; -18.880 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 19.059 ; +; -18.765 ; Bank[6] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 18.944 ; +; -18.765 ; Bank[6] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 18.944 ; +; -18.644 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 18.823 ; +; -18.584 ; Bank[5] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 18.763 ; +; -18.584 ; Bank[5] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 18.763 ; +; -18.170 ; Bank[5] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 18.349 ; +; -18.170 ; Bank[5] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 18.349 ; +; -17.991 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 18.170 ; +; -17.931 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 18.110 ; +; -17.931 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 18.110 ; +; -17.517 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 17.696 ; +; -17.517 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 17.696 ; +; -16.677 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.856 ; +; -16.672 ; Bank[7] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.851 ; +; -16.672 ; Bank[7] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.851 ; +; -16.394 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.573 ; +; -16.237 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.416 ; +; -16.237 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.416 ; +; -16.213 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.392 ; +; -16.213 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.392 ; +; -16.036 ; Bank[0] ; UFMOscEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.215 ; +; -16.001 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.180 ; +; -16.001 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.180 ; +; -15.985 ; CmdEnable ; CmdUFMErase ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 16.664 ; +; -15.985 ; CmdEnable ; CmdUFMPrgm ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 16.664 ; +; -15.959 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 16.138 ; +; -15.799 ; Bank[6] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.978 ; +; -15.799 ; Bank[6] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.978 ; +; -15.788 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.967 ; +; -15.778 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.957 ; +; -15.778 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.957 ; +; -15.728 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.907 ; +; -15.728 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.907 ; +; -15.723 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.902 ; +; -15.571 ; CmdEnable ; CmdDRDIn ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 16.250 ; +; -15.571 ; CmdEnable ; CmdDRCLK ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 16.250 ; +; -15.542 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.721 ; +; -15.542 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.721 ; +; -15.521 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.700 ; +; -15.340 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.519 ; +; -15.340 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.519 ; +; -15.314 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.493 ; +; -15.314 ; Bank[4] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.493 ; +; -15.204 ; Bank[5] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.383 ; +; -15.204 ; Bank[5] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.383 ; +; -15.147 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.326 ; +; -15.087 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.266 ; +; -15.087 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.266 ; +; -14.926 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 15.105 ; +; -14.745 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 14.924 ; +; -14.745 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 14.924 ; +; -14.673 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 14.852 ; +; -14.673 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 14.852 ; +; -14.551 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 14.730 ; +; -14.551 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 14.730 ; +; -14.273 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 14.452 ; +; -14.092 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 14.271 ; +; -14.092 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 14.271 ; +; -12.605 ; CmdEnable ; CmdSubmitted ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 13.284 ; +; -12.605 ; CmdEnable ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 13.284 ; +; -12.348 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 12.527 ; +; -12.348 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 12.527 ; +; -12.327 ; CmdEnable ; XOR8MEG ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 13.006 ; +; -12.096 ; C1Submitted ; UFMOscEN ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 12.775 ; +; -12.070 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 12.249 ; +; -11.889 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 12.068 ; +; -11.889 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 12.068 ; +; -11.707 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 11.886 ; +; -11.707 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 11.886 ; +; -11.429 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 11.608 ; +; -11.248 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 11.427 ; +; -11.248 ; Bank[0] ; C1Submitted ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 11.427 ; +; -10.525 ; C1Submitted ; CmdEnable ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 11.204 ; +; -9.897 ; ADSubmitted ; UFMOscEN ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 10.576 ; +; -8.326 ; ADSubmitted ; CmdEnable ; PHI2 ; PHI2 ; 1.000 ; 0.000 ; 9.005 ; +; -7.155 ; XOR8MEG ; RA11 ; PHI2 ; PHI2 ; 0.500 ; 0.000 ; 7.334 ; ++---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ + + ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'RCLK' ; ++---------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ +; -18.876 ; CmdSubmitted ; DRCLK ; PHI2 ; RCLK ; 0.500 ; -6.616 ; 12.439 ; +; -18.504 ; CmdDRDIn ; DRDIn ; PHI2 ; RCLK ; 0.500 ; -6.616 ; 12.067 ; +; -18.233 ; CBR ; nRCAS~reg0 ; nCRAS ; RCLK ; 0.500 ; -4.749 ; 13.663 ; +; -18.139 ; S[1] ; Ready ; RCLK ; RCLK ; 1.000 ; 0.000 ; 18.818 ; +; -17.788 ; S[1] ; nRCAS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 18.467 ; +; -17.751 ; IS[1] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 18.430 ; +; -17.671 ; FS[17] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 18.350 ; +; -17.385 ; CmdSubmitted ; DRDIn ; PHI2 ; RCLK ; 0.500 ; -6.616 ; 10.948 ; +; -17.274 ; FS[16] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 17.953 ; +; -17.156 ; CmdSubmitted ; n8MEGEN ; PHI2 ; RCLK ; 0.500 ; -6.616 ; 10.719 ; +; -17.139 ; IS[2] ; Ready ; RCLK ; RCLK ; 1.000 ; 0.000 ; 17.818 ; +; -17.133 ; FS[16] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 17.812 ; +; -17.039 ; FWEr ; nRCAS~reg0 ; nCRAS ; RCLK ; 0.500 ; -4.749 ; 12.469 ; +; -16.759 ; FS[7] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 17.438 ; +; -16.467 ; Cmdn8MEGEN ; n8MEGEN ; PHI2 ; RCLK ; 0.500 ; -6.616 ; 10.030 ; +; -16.451 ; CBR ; RCKEEN ; nCRAS ; RCLK ; 0.500 ; -4.749 ; 11.881 ; +; -16.378 ; FS[12] ; InitReady ; RCLK ; RCLK ; 1.000 ; 0.000 ; 17.057 ; +; -16.363 ; CBR ; nRowColSel ; nCRAS ; RCLK ; 0.500 ; -4.749 ; 11.793 ; +; -16.259 ; S[1] ; nRWE~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.938 ; +; -16.221 ; FS[12] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.900 ; +; -16.212 ; FS[16] ; ARShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.891 ; +; -16.177 ; FS[10] ; InitReady ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.856 ; +; -16.023 ; IS[3] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.702 ; +; -16.020 ; FS[10] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.699 ; +; -15.846 ; UFMInitDone ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.525 ; +; -15.707 ; CBR ; nRCS~reg0 ; nCRAS ; RCLK ; 0.500 ; -4.749 ; 11.137 ; +; -15.691 ; FS[6] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.370 ; +; -15.564 ; S[0] ; Ready ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.243 ; +; -15.471 ; InitReady ; Ready ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.150 ; +; -15.449 ; FS[4] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.128 ; +; -15.375 ; S[0] ; IS[2] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.054 ; +; -15.336 ; FS[13] ; InitReady ; RCLK ; RCLK ; 1.000 ; 0.000 ; 16.015 ; +; -15.279 ; FS[17] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.958 ; +; -15.275 ; FS[17] ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.954 ; +; -15.258 ; FWEr ; RCKEEN ; nCRAS ; RCLK ; 0.500 ; -4.749 ; 10.688 ; +; -15.225 ; RCKE~reg0 ; nRWE~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.904 ; +; -15.199 ; S[0] ; nRWE~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.878 ; +; -15.179 ; FS[13] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.858 ; +; -15.170 ; S[1] ; IS[2] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.849 ; +; -15.111 ; Ready ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.790 ; +; -15.100 ; FS[17] ; ARShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.779 ; +; -15.077 ; IS[1] ; Ready ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.756 ; +; -14.992 ; FS[7] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.671 ; +; -14.960 ; IS[2] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.639 ; +; -14.900 ; FWEr ; nRowColSel ; nCRAS ; RCLK ; 0.500 ; -4.749 ; 10.330 ; +; -14.819 ; FS[17] ; UFMD ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.498 ; +; -14.800 ; FS[6] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.479 ; +; -14.787 ; FS[12] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.466 ; +; -14.741 ; FS[16] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.420 ; +; -14.737 ; FS[16] ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.416 ; +; -14.688 ; FS[11] ; InitReady ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.367 ; +; -14.608 ; CBR ; nRWE~reg0 ; nCRAS ; RCLK ; 0.500 ; -4.749 ; 10.038 ; +; -14.608 ; FS[4] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.287 ; +; -14.607 ; RASr2 ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.286 ; +; -14.586 ; FS[10] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.265 ; +; -14.579 ; FS[5] ; DRCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.258 ; +; -14.535 ; S[0] ; RCKEEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.214 ; +; -14.531 ; FS[11] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.210 ; +; -14.445 ; IS[1] ; nRRAS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.124 ; +; -14.445 ; Ready ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.124 ; +; -14.382 ; RASr2 ; Ready ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.061 ; +; -14.367 ; Ready ; IS[2] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.046 ; +; -14.367 ; FS[7] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.046 ; +; -14.363 ; FS[7] ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 15.042 ; +; -14.301 ; IS[0] ; Ready ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.980 ; +; -14.281 ; FS[16] ; UFMD ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.960 ; +; -14.244 ; FWEr ; nRCS~reg0 ; nCRAS ; RCLK ; 0.500 ; -4.749 ; 9.674 ; +; -14.175 ; UFMInitDone ; ARShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.854 ; +; -14.108 ; IS[0] ; nRWE~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.787 ; +; -13.950 ; FS[17] ; DRDIn ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.629 ; +; -13.913 ; S[1] ; RCKEEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.592 ; +; -13.907 ; FS[7] ; UFMD ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.586 ; +; -13.850 ; UFMReqErase ; ARShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.529 ; +; -13.787 ; FS[6] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.466 ; +; -13.783 ; FS[6] ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.462 ; +; -13.774 ; FS[17] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.453 ; +; -13.745 ; FS[13] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.424 ; +; -13.735 ; RASr2 ; nRCAS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.414 ; +; -13.682 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; n8MEGEN ; DRCLK ; RCLK ; 1.000 ; -0.815 ; 13.546 ; +; -13.678 ; S[0] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.357 ; +; -13.638 ; InitReady ; IS[2] ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.317 ; +; -13.545 ; FS[4] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.224 ; +; -13.541 ; FS[4] ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.220 ; +; -13.473 ; S[1] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.152 ; +; -13.462 ; InitReady ; nRWE~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.141 ; +; -13.454 ; UFMInitDone ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.133 ; +; -13.450 ; UFMInitDone ; n8MEGEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.129 ; +; -13.413 ; FS[5] ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.092 ; +; -13.412 ; FS[16] ; DRDIn ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.091 ; +; -13.373 ; UFMInitDone ; ARCLK ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.052 ; +; -13.322 ; RCKEEN ; RCKEEN ; RCLK ; RCLK ; 1.000 ; 0.000 ; 14.001 ; +; -13.310 ; FS[15] ; InitReady ; RCLK ; RCLK ; 1.000 ; 0.000 ; 13.989 ; +; -13.289 ; FS[17] ; DRShift ; RCLK ; RCLK ; 1.000 ; 0.000 ; 13.968 ; +; -13.270 ; RASr2 ; nRWE~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 13.949 ; +; -13.218 ; IS[0] ; nRCS~reg0 ; RCLK ; RCLK ; 1.000 ; 0.000 ; 13.897 ; +; -13.153 ; FS[15] ; UFMReqErase ; RCLK ; RCLK ; 1.000 ; 0.000 ; 13.832 ; +; -13.145 ; FWEr ; nRWE~reg0 ; nCRAS ; RCLK ; 0.500 ; -4.749 ; 8.575 ; +; -13.125 ; IS[3] ; Ready ; RCLK ; RCLK ; 1.000 ; 0.000 ; 13.804 ; +; -13.097 ; FS[14] ; InitReady ; RCLK ; RCLK ; 1.000 ; 0.000 ; 13.776 ; +; -13.097 ; FS[11] ; UFMInitDone ; RCLK ; RCLK ; 1.000 ; 0.000 ; 13.776 ; ++---------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ + + ++--------------------------------------------------------------------------------------------------------+ +; Setup: 'nCRAS' ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; -4.999 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 0.500 ; 9.695 ; 14.873 ; +; -4.499 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 1.000 ; 9.695 ; 14.873 ; +; -3.382 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 8.310 ; +; -2.386 ; Ready ; RowA[9] ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 7.314 ; +; -2.385 ; Ready ; RowA[3] ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 7.313 ; +; -2.384 ; Ready ; RowA[7] ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 7.312 ; +; -2.334 ; Ready ; RowA[2] ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 7.262 ; +; -2.258 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 7.186 ; +; -1.307 ; Ready ; RowA[1] ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 6.235 ; +; -1.304 ; Ready ; RowA[0] ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 6.232 ; +; 0.985 ; Ready ; RowA[5] ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 3.943 ; +; 0.986 ; Ready ; RowA[4] ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 3.942 ; +; 0.988 ; Ready ; RowA[8] ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 3.940 ; +; 1.000 ; Ready ; RowA[6] ; RCLK ; nCRAS ; 0.500 ; 4.749 ; 3.928 ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Hold: 'DRCLK' ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -17.852 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; 0.815 ; 2.963 ; +; -16.214 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; 0.815 ; 4.601 ; +; 60.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 0.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Hold: 'ARCLK' ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -15.984 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 0.000 ; -1.053 ; 2.963 ; +; 60.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 0.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++-----------------------------------------------------------------------------------------------------------+ +; Hold: 'PHI2' ; ++--------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++--------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; -0.781 ; Ready ; RA11 ; RCLK ; PHI2 ; 0.000 ; 6.616 ; 5.874 ; +; -0.218 ; n8MEGEN ; RA11 ; RCLK ; PHI2 ; 0.000 ; 6.616 ; 6.437 ; +; 0.330 ; n8MEGEN ; Cmdn8MEGEN ; RCLK ; PHI2 ; -0.500 ; 6.616 ; 6.485 ; +; 3.740 ; XOR8MEG ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 3.779 ; +; 5.217 ; CmdEnable ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.256 ; +; 5.474 ; UFMOscEN ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.513 ; +; 7.795 ; XOR8MEG ; RA11 ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.334 ; +; 8.058 ; Bank[0] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.597 ; +; 8.062 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 7.601 ; +; 8.699 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.238 ; +; 8.703 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 8.242 ; +; 8.966 ; ADSubmitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 9.005 ; +; 10.537 ; ADSubmitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 10.576 ; +; 10.902 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 10.441 ; +; 10.906 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 10.445 ; +; 11.165 ; C1Submitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 11.204 ; +; 11.555 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 11.094 ; +; 11.559 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 11.098 ; +; 12.069 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 11.608 ; +; 12.150 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 11.689 ; +; 12.154 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 11.693 ; +; 12.347 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 11.886 ; +; 12.347 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 11.886 ; +; 12.352 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 11.891 ; +; 12.356 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 11.895 ; +; 12.399 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 11.938 ; +; 12.588 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 12.127 ; +; 12.592 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 12.131 ; +; 12.710 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 12.249 ; +; 12.736 ; C1Submitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 12.775 ; +; 12.967 ; CmdEnable ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 13.006 ; +; 12.988 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 12.527 ; +; 12.988 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 12.527 ; +; 13.023 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 12.562 ; +; 13.027 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 12.566 ; +; 13.040 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 12.579 ; +; 13.245 ; CmdEnable ; CmdSubmitted ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 13.284 ; +; 13.245 ; CmdEnable ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 13.284 ; +; 13.970 ; Bank[0] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 13.509 ; +; 14.611 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 14.150 ; +; 14.913 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 14.452 ; +; 15.191 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 14.730 ; +; 15.191 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 14.730 ; +; 15.243 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 14.782 ; +; 15.313 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 14.852 ; +; 15.313 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 14.852 ; +; 15.566 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.105 ; +; 15.727 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.266 ; +; 15.727 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.266 ; +; 15.844 ; Bank[5] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.383 ; +; 15.844 ; Bank[5] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.383 ; +; 15.896 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.435 ; +; 15.954 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.493 ; +; 15.954 ; Bank[4] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.493 ; +; 16.161 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.700 ; +; 16.211 ; CmdEnable ; CmdDRDIn ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 16.250 ; +; 16.211 ; CmdEnable ; CmdDRCLK ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 16.250 ; +; 16.363 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.902 ; +; 16.368 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.907 ; +; 16.368 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.907 ; +; 16.439 ; Bank[6] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.978 ; +; 16.439 ; Bank[6] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 15.978 ; +; 16.491 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.030 ; +; 16.599 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.138 ; +; 16.625 ; CmdEnable ; CmdUFMErase ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 16.664 ; +; 16.625 ; CmdEnable ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 16.664 ; +; 16.641 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.180 ; +; 16.641 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.180 ; +; 16.693 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.232 ; +; 16.814 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.353 ; +; 16.877 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.416 ; +; 16.877 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.416 ; +; 16.929 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.468 ; +; 17.034 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.573 ; +; 17.312 ; Bank[7] ; CmdSubmitted ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.851 ; +; 17.312 ; Bank[7] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.851 ; +; 17.364 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 16.903 ; +; 17.467 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 17.006 ; +; 18.062 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 17.601 ; +; 18.157 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 17.696 ; +; 18.157 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 17.696 ; +; 18.264 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 17.803 ; +; 18.500 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 18.039 ; +; 18.571 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 18.110 ; +; 18.571 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 18.110 ; +; 18.810 ; Bank[5] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 18.349 ; +; 18.810 ; Bank[5] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 18.349 ; +; 18.935 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 18.474 ; +; 19.224 ; Bank[5] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 18.763 ; +; 19.224 ; Bank[5] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 18.763 ; +; 19.405 ; Bank[6] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 18.944 ; +; 19.405 ; Bank[6] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 18.944 ; +; 19.607 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 19.146 ; +; 19.607 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 19.146 ; +; 19.819 ; Bank[6] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 19.358 ; +; 19.819 ; Bank[6] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 19.358 ; +; 19.843 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 19.382 ; +; 19.843 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 19.382 ; +; 20.021 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 19.560 ; +; 20.021 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -0.500 ; 0.000 ; 19.560 ; ++--------+-------------+--------------+--------------+-------------+--------------+------------+------------+ + + ++----------------------------------------------------------------------------------------------------------+ +; Hold: 'RCLK' ; ++--------+-------------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++--------+-------------+-------------+--------------+-------------+--------------+------------+------------+ +; -0.589 ; ARCLK ; ARCLK ; ARCLK ; RCLK ; 0.000 ; 4.946 ; 4.890 ; +; -0.197 ; DRCLK ; DRCLK ; DRCLK ; RCLK ; 0.000 ; 4.946 ; 5.282 ; +; -0.089 ; ARCLK ; ARCLK ; ARCLK ; RCLK ; -0.500 ; 4.946 ; 4.890 ; +; 0.303 ; DRCLK ; DRCLK ; DRCLK ; RCLK ; -0.500 ; 4.946 ; 5.282 ; +; 2.125 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 0.000 ; 4.946 ; 7.110 ; +; 2.325 ; nCCAS ; CASr ; nCCAS ; RCLK ; 0.000 ; 4.946 ; 7.310 ; +; 2.625 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; -0.500 ; 4.946 ; 7.110 ; +; 2.825 ; nCCAS ; CASr ; nCCAS ; RCLK ; -0.500 ; 4.946 ; 7.310 ; +; 3.374 ; FS[17] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.413 ; +; 3.470 ; S[1] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.509 ; +; 3.473 ; S[1] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.512 ; +; 3.792 ; IS[1] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.831 ; +; 3.852 ; S[0] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.891 ; +; 3.859 ; S[0] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.898 ; +; 4.200 ; PHI2r2 ; PHI2r3 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.239 ; +; 4.202 ; PHI2r ; PHI2r2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.241 ; +; 4.390 ; PHI2r3 ; DRDIn ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.429 ; +; 4.401 ; CASr2 ; nRWE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.440 ; +; 4.548 ; RASr2 ; RASr3 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.587 ; +; 4.831 ; FS[0] ; FS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.870 ; +; 5.217 ; FS[6] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.256 ; +; 5.228 ; FS[9] ; FS[9] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.267 ; +; 5.229 ; FS[16] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.268 ; +; 5.245 ; Ready ; Ready ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.284 ; +; 5.252 ; DRShift ; DRShift ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.291 ; +; 5.255 ; FS[1] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.294 ; +; 5.267 ; FS[8] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.306 ; +; 5.267 ; FS[10] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.306 ; +; 5.271 ; FS[11] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.310 ; +; 5.309 ; InitReady ; InitReady ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.348 ; +; 5.416 ; UFMReqErase ; UFMReqErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.455 ; +; 5.429 ; UFMD ; UFMD ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.468 ; +; 5.440 ; FS[4] ; FS[4] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.479 ; +; 5.440 ; FS[7] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.479 ; +; 5.441 ; FS[5] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.480 ; +; 5.441 ; FS[3] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.480 ; +; 5.441 ; FS[2] ; FS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.480 ; +; 5.442 ; UFMInitDone ; UFMInitDone ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.481 ; +; 5.449 ; UFMProgram ; UFMProgram ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.488 ; +; 5.452 ; FS[14] ; FS[14] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.491 ; +; 5.453 ; FS[15] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.492 ; +; 5.456 ; FS[12] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.495 ; +; 5.466 ; FS[13] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.505 ; +; 5.485 ; CASr2 ; nRCAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.524 ; +; 5.500 ; CASr2 ; nRCS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.539 ; +; 5.515 ; IS[2] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.554 ; +; 5.527 ; IS[3] ; IS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.566 ; +; 5.530 ; IS[0] ; IS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.569 ; +; 5.534 ; IS[0] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.573 ; +; 5.814 ; nCRAS ; RASr ; nCRAS ; RCLK ; 0.000 ; 4.946 ; 10.799 ; +; 5.837 ; PHI2r2 ; n8MEGEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.876 ; +; 5.858 ; S[1] ; nRRAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.897 ; +; 5.952 ; FS[6] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.991 ; +; 5.963 ; FS[9] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.002 ; +; 5.964 ; FS[16] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.003 ; +; 5.990 ; FS[1] ; FS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.029 ; +; 6.002 ; FS[10] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.041 ; +; 6.006 ; FS[11] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.045 ; +; 6.096 ; FS[6] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.135 ; +; 6.107 ; FS[9] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.146 ; +; 6.134 ; FS[1] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.173 ; +; 6.146 ; FS[10] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.185 ; +; 6.150 ; FS[11] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.189 ; +; 6.251 ; FS[9] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.290 ; +; 6.290 ; FS[10] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.329 ; +; 6.296 ; IS[0] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.335 ; +; 6.314 ; nCRAS ; RASr ; nCRAS ; RCLK ; -0.500 ; 4.946 ; 10.799 ; +; 6.395 ; FS[9] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.434 ; +; 6.442 ; FS[4] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.481 ; +; 6.442 ; FS[7] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.481 ; +; 6.443 ; FS[5] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.482 ; +; 6.443 ; FS[2] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.482 ; +; 6.454 ; FS[14] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.493 ; +; 6.455 ; FS[15] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.494 ; +; 6.458 ; FS[12] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.497 ; +; 6.460 ; UFMErase ; UFMErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.499 ; +; 6.461 ; RASr3 ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.500 ; +; 6.503 ; S[0] ; nRRAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.542 ; +; 6.530 ; FS[0] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.569 ; +; 6.586 ; FS[4] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.625 ; +; 6.587 ; FS[5] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.626 ; +; 6.598 ; FS[14] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.637 ; +; 6.599 ; FS[15] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.638 ; +; 6.706 ; nRowColSel ; nRowColSel ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.745 ; +; 6.730 ; FS[4] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.769 ; +; 6.731 ; FS[5] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.770 ; +; 6.742 ; FS[14] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.781 ; +; 6.759 ; CASr3 ; nRWE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.798 ; +; 6.770 ; FS[1] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.809 ; +; 6.770 ; FS[1] ; FS[4] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.809 ; +; 6.770 ; FS[1] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.809 ; +; 6.770 ; FS[1] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.809 ; +; 6.770 ; FS[1] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.809 ; +; 6.777 ; FS[5] ; UFMInitDone ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.816 ; +; 6.786 ; FS[11] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.825 ; +; 6.786 ; FS[11] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.825 ; +; 6.786 ; FS[11] ; FS[14] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.825 ; +; 6.786 ; FS[11] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.825 ; +; 6.874 ; FS[4] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.913 ; +; 6.894 ; IS[1] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.933 ; ++--------+-------------+-------------+--------------+-------------+--------------+------------+------------+ + + ++--------------------------------------------------------------------------------------------------------+ +; Hold: 'nCRAS' ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; -0.360 ; Ready ; RowA[6] ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 3.928 ; +; -0.348 ; Ready ; RowA[8] ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 3.940 ; +; -0.346 ; Ready ; RowA[4] ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 3.942 ; +; -0.345 ; Ready ; RowA[5] ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 3.943 ; +; 1.944 ; Ready ; RowA[0] ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 6.232 ; +; 1.947 ; Ready ; RowA[1] ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 6.235 ; +; 2.898 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 7.186 ; +; 2.974 ; Ready ; RowA[2] ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 7.262 ; +; 3.024 ; Ready ; RowA[7] ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 7.312 ; +; 3.025 ; Ready ; RowA[3] ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 7.313 ; +; 3.026 ; Ready ; RowA[9] ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 7.314 ; +; 4.022 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; -0.500 ; 4.749 ; 8.310 ; +; 5.139 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 0.000 ; 9.695 ; 14.873 ; +; 5.639 ; nCCAS ; CBR ; nCCAS ; nCRAS ; -0.500 ; 9.695 ; 14.873 ; ++--------+-----------+-------------+--------------+-------------+--------------+------------+------------+ + + ++-------------------------------------------------------------------+ +; Setup Transfers ; ++------------+----------+----------+----------+----------+----------+ +; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; ++------------+----------+----------+----------+----------+----------+ +; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; +; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; +; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; +; PHI2 ; PHI2 ; 0 ; 1 ; 152 ; 14 ; +; RCLK ; PHI2 ; 2 ; 0 ; 1 ; 0 ; +; ARCLK ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; DRCLK ; RCLK ; 4 ; 2 ; 0 ; 0 ; +; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; +; PHI2 ; RCLK ; 1 ; 12 ; 0 ; 0 ; +; RCLK ; RCLK ; 620 ; 0 ; 0 ; 0 ; ++------------+----------+----------+----------+----------+----------+ +Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. + + ++-------------------------------------------------------------------+ +; Hold Transfers ; ++------------+----------+----------+----------+----------+----------+ +; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; ++------------+----------+----------+----------+----------+----------+ +; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; +; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; +; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; +; PHI2 ; PHI2 ; 0 ; 1 ; 152 ; 14 ; +; RCLK ; PHI2 ; 2 ; 0 ; 1 ; 0 ; +; ARCLK ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; DRCLK ; RCLK ; 4 ; 2 ; 0 ; 0 ; +; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; +; PHI2 ; RCLK ; 1 ; 12 ; 0 ; 0 ; +; RCLK ; RCLK ; 620 ; 0 ; 0 ; 0 ; ++------------+----------+----------+----------+----------+----------+ +Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. + + +--------------- +; Report TCCS ; +--------------- +No dedicated SERDES Transmitter circuitry present in device or used in design + + +--------------- +; Report RSKM ; +--------------- +No non-DPA dedicated SERDES Receiver circuitry present in device or used in design + + ++------------------------------------------------+ +; Unconstrained Paths Summary ; ++---------------------------------+-------+------+ +; Property ; Setup ; Hold ; ++---------------------------------+-------+------+ +; Illegal Clocks ; 0 ; 0 ; +; Unconstrained Clocks ; 0 ; 0 ; +; Unconstrained Input Ports ; 31 ; 31 ; +; Unconstrained Input Port Paths ; 232 ; 232 ; +; Unconstrained Output Ports ; 38 ; 38 ; +; Unconstrained Output Port Paths ; 77 ; 77 ; ++---------------------------------+-------+------+ + + ++-------------------------------------+ +; Clock Status Summary ; ++--------+-------+------+-------------+ +; Target ; Clock ; Type ; Status ; ++--------+-------+------+-------------+ +; ARCLK ; ARCLK ; Base ; Constrained ; +; DRCLK ; DRCLK ; Base ; Constrained ; +; PHI2 ; PHI2 ; Base ; Constrained ; +; RCLK ; RCLK ; Base ; Constrained ; +; nCCAS ; nCCAS ; Base ; Constrained ; +; nCRAS ; nCRAS ; Base ; Constrained ; ++--------+-------+------+-------------+ + + ++---------------------------------------------------------------------------------------------------+ +; Unconstrained Input Ports ; ++------------+--------------------------------------------------------------------------------------+ +; Input Port ; Comment ; ++------------+--------------------------------------------------------------------------------------+ +; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCRAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; ++------------+--------------------------------------------------------------------------------------+ + + ++-----------------------------------------------------------------------------------------------------+ +; Unconstrained Output Ports ; ++-------------+---------------------------------------------------------------------------------------+ +; Output Port ; Comment ; ++-------------+---------------------------------------------------------------------------------------+ +; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; LED ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; ++-------------+---------------------------------------------------------------------------------------+ + + ++---------------------------------------------------------------------------------------------------+ +; Unconstrained Input Ports ; ++------------+--------------------------------------------------------------------------------------+ +; Input Port ; Comment ; ++------------+--------------------------------------------------------------------------------------+ +; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCRAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; ++------------+--------------------------------------------------------------------------------------+ + + ++-----------------------------------------------------------------------------------------------------+ +; Unconstrained Output Ports ; ++-------------+---------------------------------------------------------------------------------------+ +; Output Port ; Comment ; ++-------------+---------------------------------------------------------------------------------------+ +; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; LED ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; ++-------------+---------------------------------------------------------------------------------------+ + + ++--------------------------+ +; Timing Analyzer Messages ; ++--------------------------+ +Info: ******************************************************************* +Info: Running Quartus Prime Timing Analyzer + Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + Info: Processing started: Sat Aug 12 23:47:49 2023 +Info: Command: quartus_sta RAM2GS-MAXV -c RAM2GS +Info: qsta_default_script.tcl version: #1 +Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance. +Info (20030): Parallel compilation is enabled and will use 4 of the 4 processors detected +Info (21077): Low junction temperature is 0 degrees C +Info (21077): High junction temperature is 85 degrees C +Info (334003): Started post-fitting delay annotation +Info (334004): Delay annotation completed successfully +Critical Warning (332012): Synopsys Design Constraints File file not found: 'RAM2GS.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design. +Info (332142): No user constrained base clocks found in the design. Calling "derive_clocks -period 1.0" +Info (332105): Deriving Clocks + Info (332105): create_clock -period 1.000 -name nCCAS nCCAS + Info (332105): create_clock -period 1.000 -name nCRAS nCRAS + Info (332105): create_clock -period 1.000 -name RCLK RCLK + Info (332105): create_clock -period 1.000 -name PHI2 PHI2 + Info (332105): create_clock -period 1.000 -name DRCLK DRCLK + Info (332105): create_clock -period 1.000 -name ARCLK ARCLK +Info: Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON +Info: Can't run Report Timing Closure Recommendations. The current device family is not supported. +Critical Warning (332148): Timing requirements not met +Info (332146): Worst-case setup slack is -99.000 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): -99.000 -99.000 ARCLK + Info (332119): -99.000 -99.000 DRCLK + Info (332119): -21.001 -209.812 PHI2 + Info (332119): -18.876 -581.010 RCLK + Info (332119): -4.999 -22.739 nCRAS +Info (332146): Worst-case hold slack is -17.852 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): -17.852 -17.852 DRCLK + Info (332119): -15.984 -15.984 ARCLK + Info (332119): -0.781 -0.781 PHI2 + Info (332119): -0.589 -0.786 RCLK + Info (332119): -0.360 -1.399 nCRAS +Info (332140): No Recovery paths to report +Info (332140): No Removal paths to report +Info (332146): Worst-case minimum pulse width slack is -29.500 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): -29.500 -59.000 ARCLK + Info (332119): -29.500 -59.000 DRCLK + Info (332119): -2.289 -2.289 PHI2 + Info (332119): -2.289 -2.289 RCLK + Info (332119): -2.289 -2.289 nCCAS + Info (332119): -2.289 -2.289 nCRAS +Info (332001): The selected device family is not supported by the report_metastability command. +Info (332102): Design is not fully constrained for setup requirements +Info (332102): Design is not fully constrained for hold requirements +Info: Quartus Prime Timing Analyzer was successful. 0 errors, 3 warnings + Info: Peak virtual memory: 4676 megabytes + Info: Processing ended: Sat Aug 12 23:47:50 2023 + Info: Elapsed time: 00:00:01 + Info: Total CPU time (on all processors): 00:00:01 + + diff --git a/CPLD/MAXV/output_files/RAM2GS.sta.summary b/CPLD/MAXV/output_files/RAM2GS.sta.summary new file mode 100644 index 0000000..cbf85f3 --- /dev/null +++ b/CPLD/MAXV/output_files/RAM2GS.sta.summary @@ -0,0 +1,69 @@ +------------------------------------------------------------ +Timing Analyzer Summary +------------------------------------------------------------ + +Type : Setup 'ARCLK' +Slack : -99.000 +TNS : -99.000 + +Type : Setup 'DRCLK' +Slack : -99.000 +TNS : -99.000 + +Type : Setup 'PHI2' +Slack : -21.001 +TNS : -209.812 + +Type : Setup 'RCLK' +Slack : -18.876 +TNS : -581.010 + +Type : Setup 'nCRAS' +Slack : -4.999 +TNS : -22.739 + +Type : Hold 'DRCLK' +Slack : -17.852 +TNS : -17.852 + +Type : Hold 'ARCLK' +Slack : -15.984 +TNS : -15.984 + +Type : Hold 'PHI2' +Slack : -0.781 +TNS : -0.781 + +Type : Hold 'RCLK' +Slack : -0.589 +TNS : -0.786 + +Type : Hold 'nCRAS' +Slack : -0.360 +TNS : -1.399 + +Type : Minimum Pulse Width 'ARCLK' +Slack : -29.500 +TNS : -59.000 + +Type : Minimum Pulse Width 'DRCLK' +Slack : -29.500 +TNS : -59.000 + +Type : Minimum Pulse Width 'PHI2' +Slack : -2.289 +TNS : -2.289 + +Type : Minimum Pulse Width 'RCLK' +Slack : -2.289 +TNS : -2.289 + +Type : Minimum Pulse Width 'nCCAS' +Slack : -2.289 +TNS : -2.289 + +Type : Minimum Pulse Width 'nCRAS' +Slack : -2.289 +TNS : -2.289 + +------------------------------------------------------------ diff --git a/CPLD/RAM2GS-MAX.v b/CPLD/RAM2GS-MAX.v index ac5eb43..f9d9900 100644 --- a/CPLD/RAM2GS-MAX.v +++ b/CPLD/RAM2GS-MAX.v @@ -1,5 +1,5 @@ -module RAM4GS(PHI2, MAin, CROW, Din, Dout, - nCCAS, nCRAS, nFWE, +module RAM2GS(PHI2, MAin, CROW, Din, Dout, + nCCAS, nCRAS, nFWE, LED, RBA, RA, RD, nRCS, RCLK, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML); @@ -16,9 +16,15 @@ module RAM4GS(PHI2, MAin, CROW, Din, Dout, 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 = RD[7:0]; + output [7:0] Dout; + assign Dout[7:0] = RD[7:0]; /* Latched 65816 Bank Address */ reg [7:0] Bank; @@ -46,8 +52,9 @@ module RAM4GS(PHI2, MAin, CROW, Din, Dout, assign RA[11] = RA11; assign RA[10] = RA10; assign RA[9:0] = ~nRowColSel ? RowA[9:0] : MAin[9:0]; - output RDQML = ~nRowColSel ? 1'b1 : ~MAin[9]; - output RDQMH = ~nRowColSel ? 1'b1 : MAin[9]; + 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; @@ -93,6 +100,7 @@ module RAM4GS(PHI2, MAin, CROW, Din, Dout, reg ADSubmitted = 0; reg CmdEnable = 0; reg CmdSubmitted = 0; + reg CmdLEDEN = 0; reg Cmdn8MEGEN = 0; reg CmdDRCLK = 0; reg CmdDRDIn = 0; diff --git a/CPLD/RAM2GS.mif b/CPLD/RAM2GS.mif new file mode 100644 index 0000000..65c8441 --- /dev/null +++ b/CPLD/RAM2GS.mif @@ -0,0 +1,27 @@ +-- Copyright (C) 1991-2013 Altera Corporation +-- Your use of Altera Corporation's design tools, logic functions +-- and other software and tools, and its AMPP partner logic +-- functions, and any output files from any of the foregoing +-- (including device programming or simulation files), and any +-- associated documentation or information are expressly subject +-- to the terms and conditions of the Altera Program License +-- Subscription Agreement, Altera MegaCore Function License +-- Agreement, or other applicable license agreement, including, +-- without limitation, that your use is for the sole purpose of +-- programming logic devices manufactured by Altera and sold by +-- Altera or its authorized distributors. Please refer to the +-- applicable agreement for further details. + +-- Quartus II generated Memory Initialization File (.mif) + +WIDTH=16; +DEPTH=512; + +ADDRESS_RADIX=HEX; +DATA_RADIX=HEX; + +CONTENT BEGIN + [000..0FD] : 0000; + 0FE : 7FFF; + [0FF..1FF] : FFFF; +END; diff --git a/CPLD/RAM2GS.qsf b/CPLD/RAM2GS.qsf index ed8578e..ad6ce4f 100644 --- a/CPLD/RAM2GS.qsf +++ b/CPLD/RAM2GS.qsf @@ -74,6 +74,11 @@ set_global_assignment -name SAFE_STATE_MACHINE ON +set_global_assignment -name MIF_FILE RAM4GS.mif +set_global_assignment -name QIP_FILE UFM.qip + + + set_location_assignment PIN_12 -to RCLK set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RCLK @@ -174,7 +179,6 @@ set_location_assignment PIN_95 -to RD[6] set_location_assignment PIN_97 -to RD[7] set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to RD -set_global_assignment -name MIF_FILE RAM4GS.mif set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to nCRAS set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to nCCAS set_instance_assignment -name PAD_TO_CORE_DELAY 1 -to nFWE @@ -210,4 +214,3 @@ set_instance_assignment -name SLOW_SLEW_RATE OFF -to RDQML set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to RD set_instance_assignment -name SLOW_SLEW_RATE ON -to RD set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to RD -set_global_assignment -name QIP_FILE UFM.qip \ No newline at end of file

FW@Jl#O_J$h#1D^@JW)+EU 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 literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.cmp.idb b/CPLD/MAXII/db/RAM2GS.cmp.idb new file mode 100644 index 0000000000000000000000000000000000000000..cb11c64112b0240077971185c2fb6133579dbfca GIT binary patch literal 2717 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 XBP#>NDo~AUke{OuI0*m%00960Lxev# literal 0 HcmV?d00001 diff --git a/CPLD/MAXII/db/RAM2GS.cmp.logdb b/CPLD/MAXII/db/RAM2GS.cmp.logdb new file mode 100644 index 0000000..626799f --- /dev/null +++ b/CPLD/MAXII/db/RAM2GS.cmp.logdb @@ -0,0 +1 @@ +v1 diff --git a/CPLD/MAXII/db/RAM2GS.cmp.rdb b/CPLD/MAXII/db/RAM2GS.cmp.rdb index b4277b673d6cac74e322f36143c90d38c94585dc..d719addec7db9b1c8974395a8af62edef4a10dc6 100644 GIT binary patch literal 14228 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 delta 3621 zcmV+=4%+dQZ^;~xM}Ma*00000001Zr00000007$o0000000000002o200000004La z>{|J6)l=t(HPz8(qJ`?|1n9Y2_!-eiy%w%}W<9N;TJenk3NzeI8i5ZN(SiC~y`^WNOnu zO3wXAq0=B=#9&bzieBK%WeT_)x=lXlp+~*rnrQac4C43e#jqC(*BRLtt`vBZh;4g0 zZOX$(;(yACX5c+W%^l4QQe{WtI*|(p>){7#{?G@$MGTSB@{(n}URu2-p_toVJh4Yn z9Dvss*V~$MiUV-4$9xMJAAy-Ms0f^|xG+u_1 zNF(GjP@*`Nk?l}i?Pz-zMT_v+&dy{pwG$C7Ie%1+(#W6hNC-=b3Yt;8BiFwYRy?2E z!S!0LLucU!{70a&`F*nuWd(qlouCQwEZWIj|w*8D5bD19BGR&g252=uFo zJHA&uloLC4BXR8d7cf%RU9>1}eGeECZe^c^|H>D)u;CX88yc>?2qCZoDD3Lkq+Nh< z-hcWAKQF5C-cL zVO@JL1*j|6Y@K&j$zr>pbcAl1F8CpSbbrI<+fqeq!wuL|dAp+R07$Vv87b&MJUI;a z_SZ2fIT+wrDIcH>vPfZKNj5KA0VBCwhJ{@Fo*me(t3sYMIz#u`QuqP#pLf-jJCLcmaAV zS@&9{zYz%yV9wU_i<6Fo4?#<=CwQIQ_TsR#a|=*mk(i48AuqU#OA34UbH9oM7)*v9TdG=G~K9ovU0 z1Et&CE;M@W>f`dDQZCn@=w8x>4I*<>ZGS9X!#2iOM-Fx?dK7VWRdPtTGl8(~VAj!! zkRcLdWUsKjiPB9c!?p7MPK6w*?i!vyrf)=H?AOKyL_~J@O7$r7nMq*k&U>=(U5u`U z%m*@km0=#g=hSv%xkQ&_2!Ar&l%N}Y|1ml(q}RB3&9R2(Qq{ZdUbEHc53S~Lr#3k0 zH-^na{aWBrEkCVP%e$4`{k`hJ-qTWL@1U~3UoJl`S9YK5Kh^^oJQj%YZotn0Ae z#SEXHbn1gusvz`;Ft1R&CJjYib$y@0NB?b?ZJ8{3V^B*Kb&j0SNE5nw{gJ)oq=S7aA3} zj2&ORkWg>S@m`5DBo2iYImjv3oZ$ZR{hssnyPr4egJJh%&^s9n51W0oy8UyFg_@+( z!8$W=f7}!>s9B6G<$ux+D8;;ytKqJ@b}0jF?2&WzN7&;d;V4d!(b4m%J*Bi?iBkuO zS>(9da_%Sjzz;EI;791K_fAv>NIZo6Vgt%_v_bZ%M)YgWv?ej3-*P8fETr4DrGbBQLeE zBn}y;C9A2+=*XFLZcbAMi|Be`Y{X`^&?5fb_GGV)3JNiwIo{a63Pr{6hO%BMC!8Y0 z>;1jqp3(i=a~v7>^#OqX?>rZInXZU&NaS88o?l3#$$w1SIA)1pp5fae;Bzepc!@$w zwy$a`uhh0*Yo%SP`@482P|~r&U?*qb&`afyH8k5BeKmdQ8s|s2 zyW@p?kOC*mAZ4j>M3RkZmTg)MeORf3mKC6E^%sK|bD zwodn)KlW=}BG9r`yu^@FlTAU;Tw33zc*86^IHk**XKI&uF|3x$M(8*6zBp{Y!6$ zun~eMpXK`g!eApGpOh2pnQ!sfU>!aWM|zuZlBntvV~}$VX5nk&vFPD!y*QW!emtEC zoPP%4mHhBI@AZjeL2N3d1}J4%zwz%8Dkk4tk?Seb8M<7Sdcr#j(egM&Z^fA z8~25zBQcQ2t?u($>%M?$`L(+AyJzCffHU9OsyABqo|Fq}sI|IBgFLNSMrP}@DlOiY z5H;Ea8s{l^N^#$vdnSuFp+qJz>5`Pih z?4is<_=0OupV`>px1=|XX6QsAwNH(*X6wu%(9=(oN z@$P_9n^qa{LX9{(x0+|?#|W&*Ge@aGm>kZM+D)7ic&jM3X3iu^#U7P~Ymd|=8Y0-* z+T=XQi5i1av4W*71Le@|QQ(K6cz@x*&<5D(Bo2KOQu<}hOV=O05+*{qL06WS**d+0 zq3PNi!EAayF8|bVTpakgPT@?kVZ4LM4}jvx4{!sDksIzG!SXFJ;o3})$CDGmT!Tuh zz6F62Zv6nGHM1F|p&unTHrHTe&&icJYmpE50=PCv2`=@RNH0aIMLI>BWq(JuUIkL4 zl)&VLxXdMoKCS?$+e3-usGhMCFmrU7ELe`XT!ZEXi^H&yo??zY4cL>rwUVVFThD-6 znmfxB*d0rxZMT{gjPVq$4Cw1KIeK*m?1xJ>B)gv@+bec)SL??7xlheCsELVOB-SQz z9&0QIcU9y+N~Zb|nmzhGSbu?x)jHIX{EEYU4}&|rNyj*6WgoHW9gP$1>0IBo5GqZJ zJ`@JGEoN;EX{&82xMeO+ENw)N*1n_|tzN9iu`1VKZbk2hsae|pB8o}eE^1s=AcQ?k z8DM$=ijoh!@~vIGUt+hexrUlZ>eO6<#b-LK+3hGc_Bt^C;H36FpEYnU)&Ne1+CK0+&HbH%c_bXODW0P?_ zp^a`Wyv0_k32qGue2&9>Sm>YOf%z zVI+BfCofm$5M~Amp#1A|HL4)}AS?#NApL%>;qh+%J}$07@erjfV5N_qy>DWMDiwk% zMN!7eAOJMxDuZG+$Tc7n1)<7(T-_agpoXzABmkxIIDSdMRDVfARRxFo`Z@+h#)mjM z`M5$=vok~hRc{qkRAzyiDGF5$awW1#4zTT9J|O>uxJHCPjpJm{0Lr9I z-xLb-i3n7YtFM!*i;JrZR3R7G-t8QJ=D}PE^9!<_+zb*x?dki!T?JAMdO)LL0RvIx r>f`F`>KDSppdJ8}mI=u}3W_TrVt{!WqAWNh$kWd~9;zAu00960HGt;0 diff --git a/CPLD/MAXII/db/RAM2GS.cmp0.ddb b/CPLD/MAXII/db/RAM2GS.cmp0.ddb new file mode 100644 index 0000000000000000000000000000000000000000..fbb4d60572b80580d327ce8c032d490db63024a0 GIT binary patch literal 75185 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