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.
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.
To define and register a board, you must have a board definition, a board plugin, and a board registration file.
A board definition is a file that defines the characteristics of a board. You can define more than one custom board.
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.
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 dropdown list.
To define and register a reference design, you must have a reference design definition, a reference design plugin, and a reference design registration file.
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.
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.
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 dropdown
list.
For examples of working board and reference design definitions, refer to the predefined Altera® SoC and Xilinx® Zynq® board plugins that include predefined reference design plugins:
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/alterasoc/+AlteraCycloneV/
support_package_installation_folder
/toolbox/hdlcoder/supportpackages/alterasoc/+ArrowSoCKit/
hdlcoder.Board
| hdlcoder.ReferenceDesign