Commit Graph

44 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
Hans Baier 59551505e3 utils/mergedb.sh: add GTX support
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier c7cc58362c add support for the kintex high performance banks
Signed-off-by: Hans Baier <hansfbaier@gmail.com>
2022-11-24 01:37:46 +07:00
Alessandro Comodi 711895765f 062-pcie-int-pips: add fuzzer to document PCIE_INT_INTERFACE DELAY PIPs
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-02-05 19:18:35 +01:00
Alessandro Comodi 5137498bcb 066-gtp-int-pips: add fuzzer for GTP_INT_INTERFACE DELAY PIPs
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-02-04 12:35:00 +01:00
Alessandro Comodi 6e95748068 065-gtp-common-pips: add fuzzer to document GTP_COMMON_MID pips
Problems found:

- for some PIPs configurations, no bit is generated. For instance if
there are only connections with RX/TX from the GTP channel
- some missing PIPs with one bit only
- re-routing now correctly runs for every PIP

Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-02-02 19:35:23 +01:00
Jan Kowalewski 1d7c55e034 mergedb: add gtp_channel_mid
Signed-off-by: Jan Kowalewski <jkowalewski@antmicro.com>
2021-01-22 10:40:04 +01:00
Jan Kowalewski 4620af4639 064-gtp-channel: enable gtp_channel in mergedb
Signed-off-by: Jan Kowalewski <jkowalewski@antmicro.com>
2021-01-22 10:40:04 +01:00
Alessandro Comodi 47baef5aea mergedb: add gtp_common_mid
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-01-20 18:23:24 +01:00
Alessandro Comodi 5c892e4f44 063-gtp-common: enable gtp_common in mergedb
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-01-20 18:23:24 +01:00
Alessandro Comodi ea772f01b6 mergedb: add pcie_bot tile
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-01-14 17:17:13 +01:00
Keith Rothman 90d420eef3 Add initial MMCM feature and PIP support.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-10-08 17:44:42 -07:00
Keith Rothman b741467366 Increase 044 filters and reverse order of mergedb for better errors.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-10-08 11:18:27 -07:00
Tomasz Michalak 300bc62227 Add licensing header to bash 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 ba486f8c71 Added pushing xIOI3 bits to the database also for [LR]IOI3_TBYTESRC and [LR]IOI3_TBYTETERM
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-07-23 13:35:21 +02:00
litghost ae526981a2
Merge pull request #946 from antmicro/idelay-fuzzer
Fuzzer for IDELAY
2019-07-22 10:04:36 -07:00
Tomasz Michalak 727d5ca377 fuzzers: Add fuzzer for HCLK_IOI3 PIPs
Signed-off-by: Tomasz Michalak <tmichalak@antmicro.com>
2019-07-19 08:19:00 +02:00
Maciej Kurc c9ce06f688 Fixed mergedb.sh to support IOI3 tiles
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-07-18 09:17:24 +02:00
Tomasz Michalak f5ba30a81c 038-cfg: Add fuzzer for the CFG tile
Signed-off-by: Tomasz Michalak <tmichalak@antmicro.com>
2019-07-13 07:10:18 +02:00
Keith Rothman 68ad409d23 Refactor PLL segbits to leverage known register file.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-07-03 13:18:53 -07:00
Tomasz Michalak 22cdae1536 Generate db files with fuzzer name of origin
Signed-off-by: Tomasz Michalak <tmichalak@antmicro.com>
2019-05-27 08:46:44 +02:00
Keith Rothman 66c7c4c3ab Add fuzzers for HCLK_CMT tiles.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-03-15 18:43:21 -07:00
Karol Gugala 8db90e9a76 utils: mergedb: lock database accesses
Signed-off-by: Karol Gugala <kgugala@antmicro.com>
2019-03-05 20:21:56 +01:00
Keith Rothman 816bf44156 Rework IOB fuzzers.
- Add most single ended IOSTANDARD's.
- Add bits for input, output and input/output buffers for single ended
  IOBs.
- Add initial ILOGIC fuzzer.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-02-28 16:36:02 -08:00
Keith Rothman 88b2fc6d35 Fix 043 to document remaining bits.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-02-12 15:15:46 -08:00
Keith Rothman 2311f25149 Add initial BUFG config bits.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-02-12 15:15:46 -08:00
Keith Rothman 00d9e1f314 Add CLK_HROW config fuzzer, and adjust tilegrid definition.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-02-08 14:23:39 -08:00
John McMaster d0d6778826 mergedb: proper merge script
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2019-01-08 15:49:35 +01:00
John McMaster bce9837aee mergedb: liob33 support
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-12-17 17:54:30 -08:00
John McMaster 04053f4d31 mergedb.sh: verify consistency earlier
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-12-10 14:56:23 -08:00
John McMaster 8753ac3b67 mergedb: more aggressively delete temp files
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-11-14 17:37:50 -08:00
John McMaster 59603f069b mergedb: use parsedb to validate merges
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-11-12 15:44:13 -08:00
John McMaster 57b000529c utils: consistently mark +x
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-10-24 17:15:17 -07:00
John McMaster 38c4d3c9ab bram: write to database/*/segbits_bram_*.block_ram.db
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-10-23 13:23:50 -07:00
Clifford Wolf 09e6426533 Fix dsp and bram mask generation
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-02-06 17:57:52 +01:00
Clifford Wolf c04f33ff3a Hotfix in mergedb.sh for "grep" vs "set -e"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2017-12-22 16:19:41 +01:00
Clifford Wolf b4aa4e3fe0 Add hclk db entries
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00
Clifford Wolf b569760629 Major refactoring of database organisation
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00
Rick Altherr 6d2de4dc68 utils/mergedb: fix tools paths
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00
Rick Altherr c815d4b1a5 Set tool and script paths project-wide
utils/environment.sh determines its absolute path and then creates
environment variables to each of the prjxray tools.  This allows moving
the tools around in the code base without touching every script.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00
Clifford Wolf d7b03d7ef4 Add mask databases
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00
Clifford Wolf 9b61d5bd85 Large refactoring (mostly for separate left/right DBs)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00
Clifford Wolf fea6a9efb0 Add seg_int database
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00
Clifford Wolf 85f366bac9 Some refactoring
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00