Files
libbsdl/data/README.md
François 6b56ab5c42 libbsdl: scaffold + working BSDL parser (struct + JSON, C ABI)
Standalone LGPL-2.1 parser for BSDL (IEEE 1149.1), shared by essim and
bs_explorer. The parser is ported from the Viveris JTAG Core loader,
decoupled from jtag_core, and extended with two extractions the original
lacks:
  - PIN_MAP_STRING -> per-port physical package pin, scalar and vector;
  - TAP_SCAN_*     -> TAP signal roles (TDI/TDO/TMS/TCK/TRST).

Exposes a stable C ABI (bsdl_parse_file/buffer -> bsdl_t, bsdl_to_json)
with a dependency-free JSON serializer and a bsdl2json CLI. CMake builds a
versioned shared library with install/export rules for find_package(bsdl).

Verified against m2gl010t, xcku040 and xcku15p (100% pin mapping, correct
IDCODEs and TAP roles); api and parse regression tests pass, clean build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 10:27:13 +02:00

19 lines
776 B
Markdown

# Sample BSDL files
This directory is intentionally **not** populated with a BSDL database.
BSDL files are mandated to be freely available by IEEE 1149.1, but their
redistribution terms vary per vendor, so they are not vendored here. Point the
tests and tools at a local directory instead.
Sources:
- Vendor sites (authoritative): TI, AMD/Xilinx, Intel/Altera, Lattice, NXP, ST…
- [bsdl.info](https://bsdl.info/) — community aggregate (~14k files).
- Quartus / Vivado installs bundle BSDL for their FPGAs.
- For quick local testing, the sibling `bs_explorer` repo ships a few under
`bs_explorer/data/bsdl_files/` (xcku15p, xcku040, m2gl010t).
> Note: a *configured* FPGA's BSDL differs from the blank device — use the
> blank-device BSDL for connectivity checks.