Commit Graph

2 Commits

Author SHA1 Message Date
Dr Jonathan Richard Robert Kimmitt 6fd1d26311 virtex7: fix CLB OUTMUX segbits (duplicate O5 -> incomplete encoding)
The virtex7 CLB segbits had duplicate OUTMUX.O5 entries; fasm2frames
resolves duplicates last-wins and was selecting the INCOMPLETE variant,
which omits the shared O5/O6 xMUX-enable bit (e.g. SLICEL_X1.COUTMUX.O5
missing 31_43, SLICEL_X0.BOUTMUX.O5 missing 30_20, SLICEL_X0.DOUTMUX.O5
missing 30_56). LUT outputs routed out of a slice via the xMUX were
therefore under-encoded, corrupting any design that uses them (FSM/data
paths), while designs that don't (counters, shift regs) were unaffected.

Dedupe segbits_clbll_{l,r}.db and segbits_clblm_{l,r}.db keeping the
complete OUTMUX definition (the one including the shared xMUX-enable bit).
Hardware-confirmed on a VC707: the open-flow telegraph (bit-banged UART)
now transmits correctly end-to-end (nextpnr -> fasm2frames -> bitstream,
no Vivado, no frame patch); johnson and bincount are byte-identical
(config) and unaffected.

Force-added like segbits_liob18/riob18 (database/ is otherwise ignored).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 07:46:44 +01:00
Dr Jonathan Richard Robert Kimmitt 09588f3dff virtex7 segbits: drop !38_32 !38_34 from LIOB18/RIOB18 IOB_Y1 IN_ONLY
Companion to a4e6351 — the IN_ONLY segbit over-claim that has to
land in the on-disk DB for the open-source FASM path to work
end-to-end (a4e6351 documented the change but the .db files are
gitignore'd via the upstream `database/` rule; force-adding the
two patched rows here).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-02 09:37:11 +01:00