Failed in dbfixup.py:153 add_tag_bits (AssertionError) because the
process_rdb name-harmonisation loop folded two distinct-bit Y1 IN
groups onto a single feature name. On Virtex-7 IOB_Y1 LVCMOS*.IN
has bits {38_00,39_01} but SSTL*.IN has only {38_00}; the visited-
iostandard logic forced both onto 'LVCMOS18_SSTL12_SSTL135_SSTL15.IN'
(driven by the Y0 grouping where they happened to share bits),
emitting two contradictory db lines that dbfixup can't merge.
(The existing filter_negbits already expects the un-merged name
IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18.IN, confirming the merge is wrong
here.) kintex7's Y1 LVCMOS and SSTL share bits, so it never hits
this case.
Fix: require identical bits before adopting a visited name; gate
via XRAY_DATABASE == virtex7 so kintex7's behaviour is provably
unchanged. Adds 'import os' for the env check.
Verified: no duplicate tags; Y1 splits correctly into
LVCMOS12_LVCMOS15_LVCMOS18.IN + SSTL12_SSTL135_SSTL15.IN.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| Makefile | ||
| README.md | ||
| bits.dbf | ||
| check_results.py | ||
| generate.py | ||
| generate.tcl | ||
| hclk_bits.dbf | ||
| iostandards.py | ||
| process_rdb.py | ||
| tag_groups.txt | ||
| top.py | ||
| write_io_banks.tcl | ||
README.md
IOB18 Fuzzer
This fuzzer solves the bits related to the IO pads in the high performance banks, which are present in most of the Kintex and Virtex devices (a notable exception are K420T and K480T) using bank numbers of 30 and above.
These banks have a maximum voltage of 1.8V which is the reason why many of the BEL names end in 18 (as opposed to 33 for the high range banks, which run on a maximum voltage of 3.3V).
Currently the focus is on supporting the most used IO standards; On most boards, the high performance banks are connected to DDR3 memory and this mandates the support of single ended and differential SSTL15. Of course, all the LVCMOS variants and LVDS are a must have too.
Currently unsupported are digitally controlled impedance (usually indicated by the regular IO standard names with a _DCI and _T_DCI suffix).