Main Content

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 Altera® SoC, Xilinx® Zynq® and Microchip SoC board plug-ins that include predefined reference design plug-ins:

  • support_package_installation_folder/toolbox/hdlcoder/supportpackages/zynq7000/+VCK190/

  • support_package_installation_folder/toolbox/hdlcoder/supportpackages/zynq7000/+ZCU102/

  • support_package_installation_folder/toolbox/hdlcoder/supportpackages/zynq7000/+ZedBoard/

  • support_package_installation_folder/toolbox/hdlcoder/supportpackages/zynq7000/+ZynqZC702/

  • support_package_installation_folder/toolbox/hdlcoder/supportpackages/zynq7000/+ZynqZC706/

  • support_package_installation_folder/toolbox/hdlcoder/supportpackages/alterasoc/+AlteraCycloneV/

  • support_package_installation_folder/toolbox/hdlcoder/supportpackages/alterasoc/+ArrowSoCKit/

  • support_package_installation_folder/toolbox/hdlcoder/supportpackages/alterasoc/+IntelArria10SoC/

  • 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

|

Related Topics