Commit Graph

32 Commits

Author SHA1 Message Date
Dr Jonathan Richard Robert Kimmitt a8de0afdb3 virtex7: HP-bank glue codified end-to-end + open-flow validation
The open-flow (Yosys → nextpnr-xilinx → FASM → bitstream) now produces
silicon-functional bits on VC707 xc7vx485tffg1761-2 for:
  - rst_to_led (IBUF↔OBUF passthrough)
  - counter_skewfree (button-clocked 8b counter, general routing)
  - counter_sw_bufr (button → BUFR → 8b counter)
  - counter_bufr  (200 MHz LVDS sysclk → IBUFDS → BUFR → 8b counter)
  - counter_2bufg (2× BUFGCTRL on the same source)
  - vc707_telegraph (125 MHz crystal → IBUFDS_GTE2 → BUFG → UART smoke test)
  - vc707_picosoc  (picorv32 + simpleuart + BRAM @ 125 MHz; UART prints
                    'PicoSoC alive on VC707 @ 125 MHz' on /dev/ttyUSB0)

Highlights of this drop:

utils/fasm2frames.py (+223 net):
  - Bank-glue auto-injection for HP-bank IOB18 — IBUF/OBUF (Y0+Y1) +
    IBUFDS differential pair. Fires off the FASM-level direction
    heuristic (.IN/.IN_ONLY/IBUFDISABLE for IBUF, .DRIVE. for OBUF,
    .IN_DIFF for IBUFDS; .SLEW. is unreliable as a marker — gets emitted
    on default-state IOBs too).
  - INT_L_X32Y49 DCI cascade / bank-active markers when any LIOB18_X81
    Y1 OBUF is present.
  - PUDC_B emission rewritten for HP-bank IOSTANDARDs (10 features
    cover Y0 + Y1 default-state; all 9 historic 'PUDC_B glue' bits
    flow naturally from the existing IOSTANDARD segbits).
  - HCLK_L per-BUFRCLK-channel 'active' marker — currently codified
    for BUFRCLK3 (the channel exercised by counter_sw_bufr).
  - GFAN T-tie root glue — INT_L_X62Y(N+10).GFAN_TIE_ROOT_GLUE when
    INT_L_X62Y(N).GFAN0.GND_WIRE appears (OBUF.T → GND routing).
  - PUDC_B tile excluded from the bank-glue walk (its IN features are
    virtual; injecting OBUF_HP_BANK_GLUE on it produces spurious bits).

utils/utils.tcl (+47):
  - write_pip_txtdata bulk-fetch — replaces per-net foreach pip with
    bulk get_pips + bulk get_property IS_DIRECTIONAL + cached
    dst_wire_to_num_pips. ~4× speed-up on xc7vx485t (per-spec time on
    041-clk-hrow-pips / 045-hclk-cmt-pips drops from ~1.5 h to ~25 min).

utils/mergedb.sh (+15):
  - LIOI / LIOI_TBYTESRC / LIOI_TBYTETERM / LIOB18 / mask_liob18 sed
    rewrites for the L-side IOI/IOB18 tiles on HP-only parts (xc7vx485t
    uses left-side IOB18 too; upstream kintex7 mergedb only knew the
    right side).

11 fuzzers patched for virtex7 readiness:
  - 030-iob18 Makefile: split DB target for virtex7 (HP-only); the BUFR
    HP-bank results come from the actual fuzzer rather than HR-side sed.
  - 037-iob18-pips: L-side mirror tiles (LIOI / LIOI_TBYTESRC /
    LIOI_TBYTETERM) added to segdata glob; *_SING tiles excluded;
    EXCLUDE_RE updated for L-side prefixes.
  - 039-hclk-config: split virtex7 vs kintex7 (HCLK_IOI vs HCLK_IOI3);
    XRAY_IOSTANDARD env var; IOB18M/IOB33M alternation.
  - 047a-hclk-idelayctrl-pips: accepts both HCLK_IOI and HCLK_IOI3.
  - 041, 045, 034, 034b, 043, 044, 046: removed local
    write_pip_txtdata override that shadowed the patched utils.tcl
    bulk-fetch (was re-introducing the slow per-net Tcl path).

README.md (+86):
  - 'Virtex-7 Port Status (virtex7-support branch)' section —
    achievements, goals, work-in-progress, constraints.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 10:13:53 +01:00
Alessandro Comodi 1bd8142625 scripts: use open safe file class
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2022-03-17 10:04:19 +01:00
litghost 764ec71eb2 Revert "Move fasm2frames to prjxray"
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-06-15 17:32:11 -07:00
Alessandro Comodi 8e4e400b17 move fasm2frames to prjxray to avoid including utils in python package
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-06-09 13:47:58 +02:00
Tomasz Michalak e8311caea2 Add licensing header to python scripts
Signed-off-by: Tomasz Michalak <tmichalak@antmicro.com>
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
2020-05-26 07:33:12 -07:00
Maciej Kurc 9582526071 Corrected feature name in fasm2frames.py
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2020-05-07 15:51:55 +02:00
Alessandro Comodi c4faa02c51 fasm2frames: imported correctly util
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-01-24 10:13:33 +01:00
Alessandro Comodi 93d448e135 fixing tests
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-01-24 10:13:33 +01:00
Alessandro Comodi e44027bcaf Move all part-specific files to dedicated directory
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-01-24 10:13:33 +01:00
Maciej Kurc 2172b0f797 Added emission of STEPDOWN features for HCLK_IOI3 tile too.
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-12-17 10:15:35 +01:00
Maciej Kurc 781dc05479 Fixed another bug in fasm2frames.
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-12-16 13:07:48 +01:00
Maciej Kurc f35a52715f Fixed a bug in fasm2frames.py
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-12-16 10:53:17 +01:00
Maciej Kurc d8e0bb7b31 Fixed bug with fasm feature splitting.
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-12-11 17:12:22 +01:00
Maciej Kurc 2c391890e3 Ran make format
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-12-11 17:12:22 +01:00
Maciej Kurc 15032c9943 Added emission of STEPDOWN feature for unused IOBs of a bank in which at least one site has it set.
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-12-11 17:11:50 +01:00
Maciej Kurc 4502fc14e6 fasm2frames parameter "--part" made mandatory if XRAY_PART is not set, removed emitting common features for all parts if the part is not given.
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-12-10 17:54:54 +01:00
Maciej Kurc 634593ee06 Changed the way that required features are to be stored in the db.
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-12-10 13:49:51 +01:00
Maciej Kurc 726d744fca Changed JSON format for required features.
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-12-10 13:20:44 +01:00
Maciej Kurc 6b234bf484 Added support for having a set of required features in the prjxray db.
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-12-09 13:40:05 +01:00
Keith Rothman 9ff2ed732c Handle case when PUDC_B pin function is not found.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-10-15 13:45:48 -07:00
Keith Rothman c0b8aef3a9 Add pin functions to tilegrid.
- Add support to emit PUDC_B pullup if unused (for A7 and Z7 fabrics).

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-10-14 16:38:02 -07:00
Keith Rothman 2a114a9726 Output required_features as a list rather than a string with newlines.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-02-21 15:40:07 -08:00
Keith Rothman b1c822cb98 Fix review comments.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-02-14 08:27:43 -08:00
Keith Rothman 8387eb8c32 Update FASM tools to use new required_features.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-02-12 17:58:42 -08:00
Tim 'mithro' Ansell 22fe886d44 Make Python code testable.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2019-01-10 19:54:59 -08:00
John McMaster 4516a00665 --db_root => --db-root
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-11-12 14:37:01 -08:00
Keith Rothman e7370d6fdc Run make format.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2018-10-19 16:19:22 -07:00
Keith Rothman 41d9ede26a Working bits2fasm using prjxray and fasm library.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2018-10-19 13:54:18 -07:00
Keith Rothman 6dd9626cfc Move all use of getenv into prjxray.util and behind a function.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2018-10-18 21:13:14 -07:00
John McMaster 50c295efb5 misc utils: process_db() w/ load file on or exists, not and
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-10-17 17:49:01 -07:00
John McMaster d5fd573d30 python3, formatting
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-10-17 14:31:59 -07:00
John McMaster 3588f278c1 fasm2bits -> fasm2frames
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-10-17 14:31:59 -07:00