Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

various fixes for 030-iob18 #2072

Merged
merged 5 commits into from
Dec 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion fuzzers/030-iob18/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# https://opensource.org/licenses/ISC
#
# SPDX-License-Identifier: ISC
N := 80
N := 40
hansfbaier marked this conversation as resolved.
Show resolved Hide resolved
SPECIMENS_DEPS := build/iobanks.txt
include ../fuzzer.mk

Expand All @@ -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' >> $@
hansfbaier marked this conversation as resolved.
Show resolved Hide resolved
sort -o $@ $@
${XRAY_MASKMERGE} build/mask_riob18.db $$(find -name segdata_riob18.txt)

build/segbits_hclk_ioi.rdb: $(SPECIMENS_OK)
Expand Down
2 changes: 1 addition & 1 deletion fuzzers/030-iob18/generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down
17 changes: 10 additions & 7 deletions fuzzers/030-iob18/top.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"],
}
Expand Down Expand Up @@ -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

Expand Down
5 changes: 4 additions & 1 deletion fuzzers/030-iob18/write_io_banks.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion utils/bit2fasm.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.")
Expand Down