-
Notifications
You must be signed in to change notification settings - Fork 301
Board File Structure
ADubeyAMD edited this page Apr 20, 2026
·
2 revisions
This page defines the required structure and contents for platform board files contributed to the XilinxBoardStore repository.
This guide applies to:
- Platform board files hosted in public GitHub repositories
- Contributors adding new boards or updating existing ones
- Pull requests that introduce or modify board file content
A valid platform board directory must contain the following three files, all located in the same folder:
| File | Purpose |
|---|---|
board.xml |
Primary board definition |
part0_pins.xml |
Logical‑to‑physical pin mapping |
preset.xml |
Predefined IP configuration values |
All three files are required. If any file is missing or placed in a subdirectory, the board may not be recognized correctly.
Board files must follow this directory structure:
boards/<vendor>/<board_name>/
├── board.xml
├── part0_pins.xml
└── preset.xml
All three files must reside in the same directory. Placing files in subdirectories is not supported.
- Declares board‑level components
- Describes supported interfaces
- Specifies preferred IP for implementing those interfaces
- Maps logical interface ports to physical pins
- Includes board identification metadata
The root <board> element must define:
- Vendor
- Board name
- Display name
- File / schema version
- Compatible board revisions
- Maps logical pin names referenced by the board definition
- Resolves them to physical device package pins
- Every pin referenced in
board.xmlmust exist in this file
- Defines default IP configuration values
- Applied automatically when IP is instantiated from the catalog
- Presets must correspond to interfaces declared in
board.xml
- All declared interfaces must define logical ports
- Every logical port must be mapped to a physical pin in
part0_pins.xml - No unused or orphaned interfaces should remain
Before opening a pull request, verify the following:
-
board.xmlis present -
part0_pins.xmlis present -
preset.xmlis present - All three files are in the same directory
- Root
<board>element is present - Vendor, board name, display name, and file version are defined
- Compatible board revisions are explicitly listed
- All declared interfaces define logical ports
- Every logical port is mapped to a physical pin
- No orphaned or unused interfaces remain
- Every pin referenced by
board.xmlexists in this file - Pin names resolve to valid physical package pins
- All presets correspond to interfaces declared in
board.xml - No stale or unused preset entries remain
- Run linter checks on all three XML files
- Create a correct
xitem.jsonusing the provided Python utility script - Validate file structure before submission
- Review port and pin mappings carefully after interface changes
- Keep commits minimal and focused on board‑relevant content
- Re‑check directory layout before pushing
By submitting a pull request, contributors are expected to:
- Ensure all required board files are complete and consistent
- Validate basic structure and mappings locally before submission
- Submit only board‑relevant content
- Repository: Xilinx/XilinxBoardStore
- Full validation guide: Board File Validation and Debugging Guide