Files
libbsdl/data
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
..

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 — 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.