Board and Reference Design Registration System
You can define custom boards and custom reference designs so that they are available as target hardware options in the SoC workflow. Custom boards and custom reference designs use the same system that HDL Coder™ uses for predefined board and reference design targets.
Board, IP Core, and Reference Design Definitions
A reference design is the embedded system design that your generated IP core integrates with. The board is the SoC platform.
For a custom board or custom reference design, you can define different kinds of interfaces:
AXI interface: an interface between your generated IP core and an AXI4 or AXI4-Lite interface.
External IO interface: an interface between your generated IP core and an external interface.
Internal IO interface: an interface between your generated IP core and another IP core in the reference design.
After you integrate your reference design and IP core in an embedded system design project, you can program the board with the embedded system design.
Board Registration Files
To define and register a board, you must have a board definition, a board plugin, and a board registration file.
Board Definition
A board definition is a file that defines the characteristics of a board. You can define more than one custom board.
Board Plugin
A board plugin is a package folder that contains:
The board definition.
All reference design plugins that are associated with the board.
A board plugin has one board definition, but can have multiple reference designs.
Board Registration File
A board registration file is always named
hdlcoder_board_customization.m
, and contains a list of
board plugins. There can be multiple board registration files on your
MATLAB® path, but a board plugin cannot be listed in more than one board
registration file.
When the HDL Workflow Advisor opens, it searches the MATLAB path for files named
hdlcoder_board_customization.m
, and uses the information
to populate the target board options. Interfaces you add and define for the
board appear as options in the Target Platform Interface
drop-down list.
Reference Design Registration Files
To define and register a reference design, you must have a reference design definition, a reference design plugin, and a reference design registration file.
Reference Design Definition
A reference design definition is a file that defines the characteristics of a reference design, including its associated board and interfaces. You can define multiple custom reference designs per board.
Reference Design Plugin
A reference design plugin is a package folder that contains:
The reference design definition.
Files that are part of the embedded system design project, and are specific to your third-party synthesis tool, including Tcl, project, and design files.
A reference design plugin has one reference design definition and is associated with one board.
Reference Design Registration File
A reference design registration file is always
named hdlcoder_ref_design_customization.m
, and contains a
list of reference design plugins for a specific board. There can be multiple
reference design registration files for a specific board on your MATLAB path, but a reference design plugin cannot be listed in more than
one reference design plugin registration file.
When the HDL Workflow Advisor opens, it searches the MATLAB path for files named
hdlcoder_ref_design_customization.m
, and uses the
information to populate the reference design options for each board. Interfaces
you add and define for the reference design appear as options in the
Target Platform Interface drop-down list.
Predefined Board and Reference Design Examples
For examples of working board and reference design definitions, refer to the predefined Xilinx®, Intel® and Microchip SoC board plug-ins that include predefined reference design plug-ins:
Board Vendor | Board | Folder Path | |
---|---|---|---|
Before R2024a | R2024a Onwards | ||
Xilinx | Xilinx Versal® AI Core Series VCK190 evaluation kit |
|
|
Xilinx Zynq® UltraScale+™ MPSoC ZCU102 evaluation kit |
|
| |
ZedBoard™ |
|
| |
Xilinx Zynq ZC702 evaluation kit |
|
| |
Xilinx Zynq ZC706 evaluation kit |
|
| |
Xilinx Zynq UltraScale+ RFSoC ZCU111 evaluation kit |
|
| |
Xilinx Zynq UltraScale+ RFSoC ZCU216 evaluation kit |
|
| |
Intel | Cyclone V SoC development kit |
|
|
Arrow SoCKit development board |
|
| |
Intel Arria 10 SoC development kit |
|
| |
Microchip | Microchip Polarfire® SoC Icicle Kit |
| No change.
|
To get to the root folder of support packages, use the matlabshared.supportpkg.getSupportPackageRoot
function.
See Also
hdlcoder.Board
| hdlcoder.ReferenceDesign