Commit Graph

45 Commits

Author SHA1 Message Date
Dr Jonathan Richard Robert Kimmitt 889941bce1 README: pin Virtex-7 port to Vivado 2020.1 (2017.2 is too old)
Add a callout block under the four-repo branch table noting that the
Virtex-7 work was developed and validated against Vivado 2020.1, that
other 2018+ releases may work, and that the upstream-recommended 2017.2
is too old for this device (predates xc7vx485tffg1761-2 HP-bank IOB18
support, several HCLK_IOI/CMT properties the fuzzers query, and the
write_pip_txtdata bulk paths the utils.tcl patch exercises).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 11:06:47 +01:00
Dr Jonathan Richard Robert Kimmitt 34426486e5 README: bring Virtex-7 port status current
- Add the four-repo upstream branch map (prjxray / nextpnr-xilinx-meta /
  nextpnr-xilinx / demo-projects), pointing at the openXC7 mirrors.
- Replace the smoke-test-passes Achievements with the current end-to-end
  state: rst_to_led / counter / counter_bufr / telegraph at 0/0 vs Vivado
  with zero .frm patches, and the PicoSoC UART demo running on real VC707
  silicon at 125 MHz.
- List the 7 codified HP-bank glue segbits (LIOB18 IBUF/OBUF Y0+Y1, RIOB18
  IBUFDS, INT_L IOB_COL_OBUF_CASCADE_Y1 / IOB_COL_BANK_ACTIVE /
  GFAN_TIE_ROOT_GLUE, HCLK_L BUFRCLK3_ACTIVE) plus the 14 IOB18 silicon
  defaults.
- New 'Virtex-7 architecture discoveries' section describing the things
  that turned out to differ from Kintex-7 and weren't inherited by
  transplant: HP vs HR silicon, HCLK_IOI vs HCLK_IOI3, L/R-side mirror,
  the bank-glue category itself (tile-in-use markers / Y0+Y1 OBUF
  cascade / PUDC_B / IBUFDS pair root), the .DRIVE. vs .SLEW. classifier
  gotcha, HCLK_L BUFRCLK3 leaf, GFAN T-tie INT_L+10 row glue, fasm2bels
  NOCLKINV block, nextpnr-xilinx OBUF T-tie convergence + Y137/Y138 wire
  mapping, and the PicoSoC RAM128/256X1S packing requirement.
- Goals now reflect what's still open: the 228-bit PicoSoC CLB-glue
  family, the 236 missing IOI features, fasm2bels past NOCLKINV, and the
  Y137/Y138 nextpnr-xilinx wire mapping.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 10:54:59 +01:00
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
Dr Jonathan Richard Robert Kimmitt 39f5de415d Add Virtex-7 (xc7vx485t) family support
Port prjxray to the Virtex-7 family, modelled on Kintex-7, targeting
xc7vx485tffg1761-2 (vc707). Non-breaking for the existing families.

Family registration:
- settings/virtex7.sh, settings/virtex7/devices.yaml
- Makefile: virtex7 in DATABASES/XRAY_PARTS + db-extras-virtex7 targets
- utils/update_parts.py, update_resources.py: virtex7 choice
- CI matrix (Pipeline.yml), Vivado edition (xilinx.sh), README

Architecture adaptations for the HP-bank-only VX part (verified non-breaking):
- update_resources.tcl: fall back to HP banks when no HR banks exist
- XRAY_IOSTANDARD env (default LVCMOS33; LVCMOS18 for virtex7), parameterised
  across the fuzzer generate.tcl files
- fuzzers: enable HP-bank (iob18/ioi18) + IOI/HCLK handling for virtex7;
  GTX skipped (ffg1761 bonds only ~7 of 14 GTX quads)
- 005-tilegrid: HP/HR bank tile handling; iob18_int INT offset 3->2;
  ioi18 AUTO_FRAME; cfg PDRC-2 DRC disable; add_tdb skips unsolved edge tiles;
  per-specimen retry for transient FlexLM SIGSEGV under concurrency
- per-family Vivado version gate (virtex7 -> v2020.1.1)
- XRAY_ROI and XRAY_ROI_GRID tuned to a compact CLBLL+CLBLM region

General fixes:
- tools/bitread.cc: fix use-after-free of the mmap'd bitstream (exposed by the
  larger Virtex-7 bitstream)
- utils/environment.python.sh: add repo root to PYTHONPATH (PEP 660 editable
  install doesn't expose the repo-root utils/ package)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 07:21:23 +01:00
Unai Martinez-Corral 9348a02755 readme: update shield syntax (badges/shields#8671)
Signed-off-by: Unai Martinez-Corral <umartinezcorral@antmicro.com>
2024-01-08 14:00:21 +07:00
Bastian Löher a0953bfa98 Update README.md link to f4pga readthedocs
Signed-off-by: Bastian Löher <me@l-dot.de>
2024-01-08 14:00:20 +07:00
Unai Martinez-Corral ce92a9c72b readme: update shields
Signed-off-by: Unai Martinez-Corral <umartinezcorral@antmicro.com>
2022-04-07 22:11:35 +02:00
Alessandro Comodi cf0b684a79 ci: separate test and database in different workflows
This also updates the README badges

Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2022-03-08 14:50:57 +01:00
Alessandro Comodi 6b3ff71a38 update README
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-05-25 12:17:28 +02:00
Daniel Schultz 7b16929e7d README: Add new step to prepare db
This step generates all static part information files.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2021-03-15 17:37:58 +01:00
Tomasz Michalak 5999e2ce6d Add directory to repository cloning step
Signed-off-by: Tomasz Michalak <tmichalak@antmicro.com>
2021-02-03 16:18:28 +01:00
Tim Callahan 7f77e9f2af rm NEWPART.md; update README pointer; small edits.
Signed-off-by: Tim Callahan <tcal@google.com>
2020-11-20 10:19:10 -08:00
Tim Callahan 94f14cec0a Doc for adding a new part to PrjXray.
Signed-off-by: Tim Callahan <tcal@google.com>
2020-11-20 10:18:33 -08:00
Tim 'mithro' Ansell e1e55c3d98 Adding build badges.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-15 18:38:16 -07:00
Dominik Wernberger 98d868fcd9 Fix some links
Signed-off-by: Dominik Wernberger <dominik2.wernberger@tum.de>
2020-05-31 10:26:57 -07:00
Dustin DeWeese de4158b64c add a link to README answering common question
Signed-off-by: Dustin DeWeese <dustin.deweese@gmail.com>
2020-01-21 19:13:05 -08:00
Jake Mercer ceddeaa48b README/Dependencies - Fixes Following Review
Changing "fasm" to "pyfasm" was incorrect; it is unrelated to this project.
Updated this line in ''requirements.txt'' to install "fasm" from the submodule
''third_party/fasm''.  Also, removed aliasing of "python" in README.

Signed-off-by: Jake Mercer <jmercer04@qub.ac.uk>
2019-09-27 22:00:15 +01:00
Jake Mercer 902354993f README/Dependencies - Updated "Quickstart Guide"
Updated the Quickstart Guide section of the README as some deviations were
required when following this with a fresh Ubuntu 16.04 install.  Fixes to
''requirements.txt'' were required to remove the "futures" dependency which is
in the python3 standard library and is only intended for use with python2;
"fasm" now goes by "pyfasm".

Signed-off-by: Jake Mercer <jmercer04@qub.ac.uk>
2019-09-27 20:29:29 +01:00
Felix Held b6c476167a README.md: clarify to not manually source the Vivado environment
Signed-off-by: Felix Held <felix-github@felixheld.de>
2019-04-05 21:05:27 +02:00
Tim 'mithro' Ansell dd368638bd Adding some build badges to README.md
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2019-03-20 16:59:27 -07:00
Tim 'mithro' Ansell ac8f228ac1 Small fix to README in license section.
Fixes #643.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2019-02-27 07:01:23 -08:00
Tim 'mithro' Ansell f98dad14ed Update README for settings move.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2018-12-31 10:30:36 +01:00
Oguz Meteer 832585bfea Remove unnecessary warning from README.md
Signed-off-by: Oguz Meteer <info@guztech.nl>
2018-12-31 10:19:33 +01:00
Oguz Meteer 019492c10d Update README.md
Rearrange steps to make sure the user always downloads a stable
pre-generated database or builds everything, before working on
fuzzers.

Signed-off-by: Oguz Meteer <info@guztech.nl>
2018-12-30 12:00:16 +01:00
Oguz Meteer 6d6da3b6d1 Update README.md with individual steps and how to fix pyjson5 on Arch
Signed-off-by: Oguz Meteer <info@guztech.nl>
2018-12-29 19:30:34 +01:00
John McMaster 26b799efc3 README: source after virtualenv
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-12-29 16:03:34 +01:00
John McMaster e449dc3e38 README: misc cleanup
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-12-29 15:14:23 +01:00
Felix Held 0d6e327229 introduce vivado wrapper
This fixes the problem that when sourcing the vivado settings file the
library search path is modified resulting in non-vivado binaries not working
due to being dynamically linked against the vivado libraries instead of the
system ones.

Signed-off-by: Felix Held <felix-github@felixheld.de>
2018-12-28 19:05:49 +01:00
rapha 34e741ec79 added sudo to readme
Signed-off-by: rapha <raphbeutel@gmail.com>
2018-12-27 17:35:40 +01:00
Tim 'mithro' Ansell c04ca0dc36 Adding better instructions for Python to README.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2018-12-17 18:54:17 -08:00
John McMaster 1023379f10 readme: add pip note
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-11-13 14:05:18 -08:00
Sarah Maddox 6dc15342df First commit of docs guide.
Signed-off-by: Sarah Maddox <sarahmaddox@google.com>
2018-05-07 10:49:46 +10:00
Sarah Maddox 3d5b3c5525 Added info on signoff via commit statement.
Signed-off-by: Sarah Maddox <sarahmaddox@google.com>
2018-04-23 11:03:22 +10:00
Davide cd1bbc75e7 Added Link to make readthedocs Documentation Webpage easier to find by putting it into the main README file
Signed-off-by: Davide <davide.toldo@stud.tu-darmstadt.de>
2018-02-20 00:46:07 +01:00
Rick Altherr 02d28f2920 Document how to enable test and build with debug info
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-12 11:48:11 -08:00
Clifford Wolf a80b80c63d Fixes in fuzzers top-level Makefile, Update README
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-01-05 22:16:12 +01:00
John McMaster bcba8197f2 Document MUXF8 Vivado compatibility issue
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2017-12-22 15:52:40 -08:00
Tim 'mithro' Ansell 29d343a293 Make download-latest-db use https by default.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2017-12-21 11:19:43 +01:00
Tim 'mithro' Ansell c237bcd412 Adding top level docs.
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 23:28:27 +01:00
Clifford Wolf a9f35e3e0c Fix formatting in README.md
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 16c61bb951 Fix typo in README.md
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 c734fff44b README: clarify cmake package requirements
CMake 3.5.0 or later is required.  For Ubuntu 14.04, that has a
different package name.

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 ef60d2d1f0 Update README
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 ef411c4eaf README: instructions for building C++ tools
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 b800d548eb Create README.md
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:30 +01:00