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>
This commit is contained in:
18
data/README.md
Normal file
18
data/README.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user