diff --git a/fuzzers/030-iob18/Makefile b/fuzzers/030-iob18/Makefile index f90dbfd95..33120252e 100644 --- a/fuzzers/030-iob18/Makefile +++ b/fuzzers/030-iob18/Makefile @@ -5,7 +5,7 @@ # https://opensource.org/licenses/ISC # # SPDX-License-Identifier: ISC -N := 80 +N := 40 SPECIMENS_DEPS := build/iobanks.txt include ../fuzzer.mk @@ -23,6 +23,9 @@ build/segbits_riob18.db: build/segbits_riob18.rdb process_rdb.py bits.dbf sed '/IOB18.IOB_Y1.LVDS/d' -i build/segbits_riob18.rdb python3 process_rdb.py build/segbits_riob18.rdb > build/segbits_riob18_processed.rdb ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --groups tag_groups.txt --seg-fn-in build/segbits_riob18_processed.rdb --seg-fn-out $@ + # TODO: This is a hack. See https://github.com/f4pga/prjxray/issues/2073 + echo 'RIOB18.IOB_Y0.SSTL12_SSTL135_SSTL15.IN !38_126 39_127' >> $@ + sort -o $@ $@ ${XRAY_MASKMERGE} build/mask_riob18.db $$(find -name segdata_riob18.txt) build/segbits_hclk_ioi.rdb: $(SPECIMENS_OK) diff --git a/fuzzers/030-iob18/generate.py b/fuzzers/030-iob18/generate.py index fc0af32c4..a4ac6356e 100644 --- a/fuzzers/030-iob18/generate.py +++ b/fuzzers/030-iob18/generate.py @@ -39,7 +39,7 @@ def drives_for_iostandard(iostandard): return drives STEPDOWN_IOSTANDARDS = LVCMOS + SSTL -IBUF_LOW_PWR_SUPPORTED = LVDS + DIFF_SSTL +IBUF_LOW_PWR_SUPPORTED = LVDS + SSTL ONLY_DIFF_IOSTANDARDS = LVDS diff --git a/fuzzers/030-iob18/top.py b/fuzzers/030-iob18/top.py index e8f39805d..6944e1ca3 100644 --- a/fuzzers/030-iob18/top.py +++ b/fuzzers/030-iob18/top.py @@ -65,6 +65,15 @@ def run(): "SSTL12": DIFF_SSTL12, } + vref_map = { + "SSTL12": .600, + "SSTL135": .675, + "SSTL15": .75, + "DIFF_SSTL12": .600, + "DIFF_SSTL135": .675, + "DIFF_SSTL15": .75, + } + only_diff_map = { "LVDS": ["LVDS"], } @@ -99,13 +108,7 @@ def run(): for iobank in iobanks: iostandard = random.choice(iostandards) if iostandard in SSTL: - params['INTERNAL_VREF'][iobank] = random.choice( - ( - .600, - .675, - .75, - .90, - )) + params['INTERNAL_VREF'][iobank] = vref_map[iostandard] iostandard_map[iobank] = iostandard diff --git a/fuzzers/030-iob18/write_io_banks.tcl b/fuzzers/030-iob18/write_io_banks.tcl index eac330dab..aca8c1d01 100644 --- a/fuzzers/030-iob18/write_io_banks.tcl +++ b/fuzzers/030-iob18/write_io_banks.tcl @@ -11,7 +11,10 @@ open_io_design -name io_1 set fp [open "iobanks.txt" "w"] foreach iobank [get_iobanks] { foreach site [get_sites -of $iobank] { - puts $fp "$site,$iobank" + # we only care about the high performance banks here + if {[string match "BT_HIGH_PERFORMANCE" [get_property BANK_TYPE $iobank]]} { + puts $fp "$site,$iobank" + } } } close $fp diff --git a/utils/bit2fasm.py b/utils/bit2fasm.py index 103b377ef..859ec1096 100755 --- a/utils/bit2fasm.py +++ b/utils/bit2fasm.py @@ -91,7 +91,7 @@ def main(): '--part', help="Name of part being targetted.", **part_kwargs) parser.add_argument( '--bitread', - help="Name of part being targetted.", + help="bitread tool to to use", default=default_bitread) parser.add_argument( '--frame_range', help="Frame range to use with bitread.")