Board and Reference Design Registration System - MATLAB & Simulink (original) (raw)

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:

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.

Integration of reference design into the SoC board

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:

A board plugin has one board definition, but can have multiple reference designs.

Board Registration File

A board registration file is always namedhdlcoder_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 namedhdlcoder_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:

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 namedhdlcoder_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 theTarget 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 support_package_installation_folder/toolbox/hdlcoder/supportpackages/zynq7000/+VCK190/ matlabroot/toolbox/hdlcoder/boards/amd/+VCK190/
Xilinx Zynq® UltraScale+™ MPSoC ZCU102 evaluation kit support_package_installation_folder/toolbox/hdlcoder/supportpackages/zynq7000/+ZCU102/ matlabroot/toolbox/hdlcoder/boards/amd/+ZCU102/
ZedBoard™ support_package_installation_folder/toolbox/hdlcoder/supportpackages/zynq7000/+ZedBoard/ matlabroot/toolbox/hdlcoder/boards/amd/+ZedBoard/
Xilinx Zynq ZC702 evaluation kit support_package_installation_folder/toolbox/hdlcoder/supportpackages/zynq7000/+ZynqZC702/ matlabroot/toolbox/hdlcoder/boards/amd/+ZynqZC702/
Xilinx Zynq ZC706 evaluation kit support_package_installation_folder/toolbox/hdlcoder/supportpackages/zynq7000/+ZynqZC706/ matlabroot/toolbox/hdlcoder/boards/amd/+ZynqZC706/
Xilinx Zynq UltraScale+ RFSoC ZCU111 evaluation kit support_package_installation_folder/toolbox/shared/supportpackages/rfsoc_shared/boards/+ZynqRFSoC/+ZCU111/ matlabroot/toolbox/hdlcoder/boards/amd/+Zynqrf/+ZCU111/
Xilinx Zynq UltraScale+ RFSoC ZCU216 evaluation kit support_package_installation_folder/toolbox/shared/supportpackages/rfsoc_shared/boards/+ZynqRFSoC/+ZCU216/ matlabroot/toolbox/hdlcoder/boards/amd/+Zynqrf/+ZCU216/
Intel Cyclone V SoC development kit support_package_installation_folder/toolbox/hdlcoder/supportpackages/alterasoc/+AlteraCycloneV/ matlabroot/toolbox/hdlcoder/boards/intel/+AlteraCycloneV/
Arrow SoCKit development board support_package_installation_folder/toolbox/hdlcoder/supportpackages/alterasoc/+ArrowSoCKit/ matlabroot/toolbox/hdlcoder/boards/intel/+ArrowSoCKit/
Intel Arria 10 SoC development kit support_package_installation_folder/toolbox/hdlcoder/supportpackages/alterasoc/+IntelArria10SoC/ matlabroot/toolbox/hdlcoder/boards/intel/+IntelArria10SoC/
Microchip Microchip Polarfire® SoC Icicle Kit support_package_installation_folder/toolbox/hdlcoder/supportpackages/microchip/+PolarFireSoC/ No change.support_package_installation_folder/toolbox/hdlcoder/supportpackages/microchip/+PolarFireSoC/

To get to the root folder of support packages, use the matlabshared.supportpkg.getSupportPackageRoot function.

See Also

hdlcoder.Board | hdlcoder.ReferenceDesign

Topics