hdlcoder.ReferenceDesign - Reference design registration object that describes SoC reference
design - MATLAB ([original](https://www.mathworks.com/help/hdlcoder/ref/hdlcoder.referencedesign-class.html)) ([raw](?raw))
Namespace: hdlcoder
Reference design registration object that describes SoC reference design
Description
`refdesign` = hdlcoder.ReferenceDesign('SynthesisTool', `toolname`)
creates a reference design object that you use to register a custom reference design for an SoC platform.
To specify the characteristics of your reference design, set the properties of the reference design object.
Use a reference design tool version that is compatible with the supported tool version. If you choose a different tool version, it is possible that HDL Coder™ is unable to create the reference design project for IP core integration.
Creation
`refdesign` = hdlcoder.ReferenceDesign('SynthesisTool',[toolname](#buqpitp-1-toolname))
creates a reference design object that you use to register a custom reference design for an SoC platform.
Input Arguments
Properties
Reference design name, specified as a character vector. In the HDL Workflow Advisor, this name appears in the Reference design drop-down list.
Example: 'Default system (Vivado 2015.4)'
Board associated with this reference design, specified as a character vector.
Example: 'Enclustra Mars ZX3 with PM3 base board'
One or more design constraint files, specified as a cell array of character vectors. This property is optional. You must place the custom constraint file inside a reference design package folder which is at the same folder level as the reference design plugin file,plugin_rd.m
. When you run the IP Core Generation Workflow, HDL Coder copies these files to the synthesis tool's project folder.
Example: {'MarsZX3_PM3.xdc'}
Example: {'MyDesign.qsf'}
One or more relative paths to files or folders that the reference design requires, specified as a cell array of character vectors. This property is optional.
Examples of required files or folders:
- Existing IP core used in the reference design.
For example, if the IP core,myipcore
, is in the reference design folder, setCustomFiles
to{'_`myipcore`_'}
- PS7 definition XML file.
For example, to include a PS7 definition XML file,ps7systemprj.xml
, in a folder,data
, setCustomFiles
to{fullfile('_`data`_', '_`ps7systemprj.xml`_')}
- Folder containing existing IP cores used in the reference design. HDL Coder supports only a specific IP core folder name for each synthesis tool:
- For Altera® Qsys, IP core files must be in a folder named
ip
. SetCustomFiles
to{'ip'}
. - For Xilinx® Vivado®, IP core files, or a zip file containing the IP core files, must be in a folder named
ipcore
. SetCustomFiles
to{'ipcore'}
. - For Xilinx EDK, IP core files must be in a folder named
pcores
. SetCustomFiles
to{'pcores'}
.
- For Altera® Qsys, IP core files must be in a folder named
Note
To add IP modules to the reference design, it is recommended to create an IP repository folder that contains these IP modules, and then use the addIPRepository method.
You must place the custom constraint file inside a reference design package folder which is at the same folder level as the reference design plugin file, plugin_rd.m
. When you run the IP Core Generation Workflow, HDL Coder copies these files to the synthesis tool's project folder.
Example: {'my_ip_core'}
Example: {fullfile('data', 'ps7_system_prj.xml')}
Example: {'ip'}
Example: {'ipcore'}
Example: {'pcores'}
Specify the device tree file name. For an example that shows how to use different device tree file names when mapping the DUT ports to different AXI4-Stream channels, see Use Callback Functions in Custom Reference Design.
Example: 'devicetree_axistream_iio.dtb'
Control visibility of the Insert AXI Manager (HDL Verifier required) parameter in the Set Target Reference Design task of the HDL Workflow Advisor. By default, the property value is 'true'
, which means that the parameter is visible in the Set Target Reference Design task. To disable the parameter, set the property value to'false'
.
After you enable this property, to specify whether you want the code generator to insert the AXI manager IP, use theMATLABAXIManagerDefaultValue
property.
This property is optional.
Example: 'false'
Specify whether you want the code generator to insert the AXI manager IP. The values that you specify are the choices for the Insert AXI Manager (HDL Verifier required) drop-down in theSet Target Reference Design task of the HDL Workflow Advisor. To specify insertion of the AXI manager IP automatically, before you set this property, set theAddMATLABAXIManagerParameter
property to'true'
.
This property is optional. Set this property to one of these values.
'off'
— Disable insertion of the AXI manager IP.'JTAG'
— Enable AXI manager IP insertion for the JTAG connection. This value inserts the AXI Manager IP into your reference design.'PL Ethernet'
— Enable AXI manager IP insertion for the programmable logic (PL) Ethernet connection. This value inserts the UDP AXI Manager IP into your reference design.
Example: 'JTAG'
Specify the IP cache zip file to include in your project. When you run theIP Core Generation
workflow in the HDL Workflow Advisor, the code generator extracts this file in the Create Project task. The Build FPGA Bitstream task reuses the IP cache, which accelerates reference design synthesis.
This property is optional.
Example: 'ipcache.zip'
Specify whether you want the code generator to report timing failures in the Build FPGA Bitstream task as warnings or errors. When you run the IP Core Generation
workflow in the HDL Workflow Advisor, by default, the code generator reports any timing failures as error. If you have implemented the custom logic to resolve timing failures, you can specify these failures to be reported as warning instead of error. To learn more, see Resolve Timing Failures in IP Core Generation and Simulink Real-Time FPGA I/O Workflows.
This property is optional.
Example: 'hdlcoder.ReportTiming.Warning'
Specify if the reference design has an existing PS.
Example: 'false'
Enable generation of device tree nodes for an HDL Coder generated IP core, and then insert the nodes into the device tree. To enable the generation of device tree nodes for the IP core,HasProcessingSystem
must be set totrue
.
Do not enable this property if you do not need any additional device tree nodes to be inserted into the registered device tree for the generated IP core.
Example: 'true'
Board resources used by reference design, returned as a structure with the fields:
Reference design resources utilized by FPGA lookup tables (LUTs), specified as a number.
Example: hRD.ResourcesUsed.LogicElements = 100
Reference design resources utilized by FPGA DSP slices, specified as a number.
Example: hRD.ResourcesUsed.DSP = 3
Reference design resources utilized by FPGA board RAM resources, specified as a number.
Example: hRD.ResourcesUsed.RAM = 32000
Methods
Version History
Introduced in R2015a
See Also
Topics
- Define Custom Board and Reference Design for AMD Workflow
- Define Custom Board and Reference Design for Intel Workflow
- Define Custom Board and Reference Design for Microchip Workflow
- Register a Custom Board
- Register a Custom Reference Design
- Define Custom Parameters and Callback Functions for Custom Reference Design
- Board and Reference Design Registration System