主要内容

为自定义参考设计定义自定义参数和回调函数

定义自定义参考设计时,可以选择使用hdlcoder。ReferenceDesign对象来定义自定义参数和回调函数。

定义自定义参数和注册回调函数句柄

这个MATLAB®代码展示了如何在参考设计定义函数中定义自定义参数和注册自定义回调函数的函数句柄。

函数hRD = plugin_rd ()参考设计定义%构造参考设计对象hRD = hdlcoder。ReferenceDesign(“SynthesisTool”“Xilinx Vivado”);hRD。ReferenceDesignName =“我的参考设计”;hRD。BoardName =“ZedBoard”%的工具信息hRD。金宝appSupportedToolVersion = {“2018.3”};%%添加自定义设计文件%……%……通过addParameter属性添加可选的自定义参数。%指定自定义的“DUT路径”和“通道映射”参数。%在“设置目标参考设计”中填充参数%任务的HDL工作流顾问。hRD.addParameter (...“ParameterID”“DutPath”...“DisplayName的”“Dut路径”...“DefaultValue”“处方”...“ParameterType”hdlcoder.ParameterType.Dropdown,...“选择”, {“处方”“Tx”});hRD.addParameter (...“ParameterID”“ChannelMapping”...“DisplayName的”“通道映射”...“DefaultValue”' 1 ');%%启用JTAG MATLAB作为AXI主IP插入。IP%插入设置在“设置目标参考设计”中可见%任务的HDL工作流顾问。默认情况下,AddJTAGMATLABasAXIMasterParameter属性设置为“true”。hRD。AddJTAGMATLABasAXIMasterParameter =“真正的”;hRD。JTAGMATLABasAXIMasterDefaultValue =“上”%%添加自定义回调函数。这些是可选的。%使用回调函数,您可以启用自定义%验证,自定义项目创建,软件%接口模型的生成,以及双流构建。%注册这些回调函数的句柄。为“设置目标参考设计”指定一个可选的回调函数%任务在工作流顾问。使用属性名%的“PostTargetReferenceDesignFcn”。hRD。PostTargetReferenceDesignFcn =...@my_reference_design.callback_PostTargetReferenceDesign;在Workflow Advisor中为“Set Target Interface”任务指定一个可选的回调函数。%使用属性名“PostTargetInterfaceFcn”。hRD。PostTargetInterfaceFcn =...@my_reference_design.callback_PostTargetInterface;为Create Project任务指定一个可选的回调函数%使用属性名'PostCreateProjectFcn'作为ref设计对象。hRD。PostCreateProjectFcn =...@my_reference_design.callback_PostCreateProject;为“生成软件接口模型”任务指定一个可选的回调函数%使用属性名'PostSWInterfaceFcn'作为ref设计对象。hRD。PostSWInterfaceFcn =...@my_reference_design.callback_PostSWInterface;%为“构建FPGA Bitstream”任务指定一个可选的回调函数%使用属性名'PostBuildBitstreamFcn'作为ref设计对象。hRD。PostBuildBitstreamFcn =...@my_reference_design.callback_PostBuildBitstream;为“程序目标设备”指定一个可选的回调函数任务使用自定义编程方法。hRD。CallbackCustomProgrammingMethod =...@my_reference_design.callback_CustomProgrammingMethod;% %添加接口%……%……

自定义参数

addParameter的方法hdlcoder。ReferenceDesign类中,可以定义自定义参数。在前面的示例代码中,参考设计定义了两个自定义参数,DUT的路径通道映射.了解更多关于addParameter方法,请参阅addParameter

指定插入JTAG MATLAB作为AXI主IP

默认情况下,HDL Coder™添加一个参数插入JTAG MATLAB作为AXI Master(需要HDL验证器)所有参考设计。当设置为时,代码生成器自动插入JTAG MATLAB AXI主IP到您的参考设计。通过使用JTAG MATLAB AXI Master IP,您可以轻松地访问从MATLAB通过JTAG连接在FPGA板上生成的DUT IP核中的AXI寄存器。另请参阅建立MATLAB AXI Master(高密度脂蛋白校验)

要使用此功能,您必须安装并下载HDL Verifier™硬件支持包。金宝app看到下载FPGA单板支持包金宝app(高密度脂蛋白校验)

代码生成器调整AXI4 Slave ID宽度以适应MATLAB作为AXI主IP连接。在生成HDL IP核并创建参考设计项目之后,可以打开Vivado®块设计,看JTAG MATLAB AXI主IP插入参考设计。

在前面的示例代码中,参考设计定义了AddJTAGMATLABasAXIMasterParameterJTAGMATLABasAXIMasterDefaultValue的属性hdlcoder。ReferenceDesign类。属性的默认行为插入JTAG MATLAB作为AXI Master(需要HDL验证器)设置在设定目标参考设计HDL工作流顾问的任务。属性中没有指定任何这些属性hdlcoder。ReferenceDesign类,插入JTAG MATLAB作为AXI Master(需要HDL验证器)参数显示设定目标参考设计任务,值设置为.这个示例代码演示了默认行为。

%%插入JTAG作为AXI主选项的默认行为%该参数控制选项的可见性HDL工作流顾问的“设置目标参考设计任务”%默认情况下,参数值为“true”,%表示该选项显示在UI中。如果%您不希望显示该参数,请设置此参数%值为“false”。hRD。AddJTAGMATLABasAXIMasterParameter =“真正的”控件中选项的值“设置目标参考设计任务”任务。默认情况下,%该值为'off',表示该参数为%,该值为off。要启用%自动插入JTAG的AXI主IP参考% design,将此值设置为on。在这种情况下% AddJTAGMATLABasAXIMasterParameter必须设置为true。hRD。JTAGMATLABasAXIMasterDefaultValue =“关闭”

有关示例,请参见:

运行IP核生成工作流

当您打开HDL Workflow Advisor时,HDL编码器将填充设定目标参考设计任务使用参考设计名称、工具版本、指定的自定义参数和插入JTAG MATLAB作为AXI Master(需要HDL验证器)选项设置为

然后,HDL Coder将这些参数值传递给输入结构中的回调函数。

如果您的合成工具是Xilinx®Vivado, HDL编码器设置参考设计参数值为变量。然后将这些变量输入到块设计Tcl文件中。此代码片段是来自参考设计项目创建Tcl文件的示例。

update_ip_catalog set DutPath {Rx} set ChannelMapping {1} source vivado_custom_block_design.tcl

该代码显示了HDL Coder如何在获取自定义块设计Tcl文件之前设置参考设计参数。

注册回调函数句柄

在引用设计定义中,可以注册函数句柄来引用自定义回调函数。然后您可以:

  • 启用自定义验证。

  • 动态定制参考设计。

  • 自定义参考设计项目创建设置。

  • 更改生成的软件界面模型。

  • 自定义FPGA位流构建过程。

  • 指定自定义FPGA编程方法。

hdlcoder。ReferenceDesign类中,可以定义回调属性名。回调属性有一个命名约定。回调函数可以有任何名称。在HDL Workflow Advisor中,您可以定义回调函数来定制这些任务。

工作流顾问任务 回调属性名 功能

设定目标参考设计

  • CustomizeReferenceDesignFcn

  • PostTargetReferenceDesignFcn

  • CustomizeReferenceDesignFcn支持动态定制参考设计。通过使用此回调函数,您可以在参考设计中定制块设计Tcl文件、引用设计接口、引用设计接口属性和IP存储库。看到基于参考设计参数动态定制参考设计

  • PostTargetReferenceDesignFcn支持自定义验证。下面的示例演示了如何验证重置类型同步,请参阅PostTargetReferenceDesignFcn

设置目标接口

PostTargetInterfaceFcn

启用自定义验证。有关如何验证不为某个自定义参数设置选择某个接口的示例,请参见PostTargetInterfaceFcn

创建项目

PostCreateProjectFcn

当HDL Coder创建项目时指定自定义设置。例如,请参见PostCreateProjectFcn

生成软件界面

PostSWInterfaceFcn

更改生成的软件界面模型。例如,请参见PostSWInterfaceFcn

构建FPGA比特流

PostBuildBitstreamFcn

在构建FPGA位流时指定自定义设置。当您使用此函数时,构建过程不能在外部运行。您必须在HDL Workflow Advisor中通过清除在外部运行构建流程复选框中的构建FPGA比特流的任务。例如,请参见PostBuildBitstreamFcn

项目目标设备

CallbackCustomProgrammingMethod

指定自定义FPGA编程方法。例如,请参见CallbackCustomProgrammingMethod

定义自定义回调函数

  1. 对于您希望HDL Coder在运行任务后执行的每个回调函数,创建一个文件,该文件定义具有任意名称的MATLAB函数。

  2. 确保回调函数具有文档化的输入和输出参数。

  3. 验证函数可以从MATLAB路径访问。

  4. 在参考设计定义函数中注册回调函数的函数句柄。

  5. 遵循回调属性名称的命名约定。

要了解有关这些回调函数的更多信息,请参见hdlcoder。ReferenceDesign

另请参阅

|

相关的例子

更多关于