主要内容

程序目标FPGA板或SoC设备

若要配置或编程所连接的目标SoC设备或FPGA板,请使用IP核生成在HDL工作流顾问中的工作流。

如何对目标设备进行编程

使用工作流顾问UI

  1. 打开HDL工作流顾问。右键单击包含要部署到目标FPGA上的算法的DUT子系统,并选择HDL代码>HDL工作流顾问

  2. 设置目标装置和合成工具任务,指定IP核生成随着目标工作流程,并指定目标平台除了通用Xilinx平台通用Altera平台

  3. 右键单击程序目标设备任务和选择运行到所选任务

  4. 程序目标设备任务,指定编程方法,并运行此任务。

要了解关于HDL工作流顾问的更多信息,请参见开始使用HDL工作流顾问

使用工作流顾问脚本

中指定目标工作流和目标平台之后,在命令行上对目标设备进行编程设置目标装置和合成工具任务,导出HDL工作流顾问设置到一个脚本。在HDL Workflow Advisor窗口中,选择文件>导出到脚本.该脚本创建和配置一个hdlcoder。WorkflowConfig对象表示的中国

方法指定如何对目标硬件进行编程,然后再运行脚本ProgrammingMethod的属性WorkflowConfig对象。此代码片段显示了从HDL Workflow Advisor导出的示例脚本,当您使用默认值时下载编程方法.运行程序目标设备任务,通过设置RunTaskProgramTargetDevice属性WorkflowConfig对象真正的

%该脚本使用以下参数值生成:%……设置与“RunTaskProgramTargetDevice”任务相关的属性中国。RunTaskProgramTargetDevice = true;中国。ProgrammingMethod = hdlcode .ProgrammingMethod. download;验证工作流配置对象hWC.validate;%%运行工作流hdlcoder.runWorkflow (“hdlcoder_led_blinking / led_counter”、中国);

运行构建FPGA位流任务时,Workflow Advisor为您提供了一个链接,用于生成为目标设备编程的Workflow脚本,而无需在Workflow Advisor中重新运行前面的任务。

点击链接在MATLAB中打开脚本®编辑器。此代码片段显示了由HDL Workflow Advisor生成的示例脚本。如果关闭HDL工作流顾问,您可以运行脚本来编程目标硬件,而不运行其他工作流任务。

%加载模型%……设置工作流任务运行中国。RunTaskGenerateRTLCodeAndIPCore = false;中国。RunTaskCreateProject = false;中国。RunTaskGenerateSoftwareInterface = false;中国。RunTaskBuildFPGABitstream = false;中国。RunTaskProgramTargetDevice = true;设置与“RunTaskProgramTargetDevice”任务相关的属性中国。ProgrammingMethod = hdlcode .ProgrammingMethod. download;验证工作流配置对象hWC.validate;
要了解更多关于基于脚本的工作流的信息,请参见使用脚本运行HDL工作流

编程方法

下载

如果你使用的是Zynq的参考设计®和英特尔®SoC硬件平台,代码生成器采用下载作为默认值编程方法

当你使用下载随着编程方法然后运行程序目标设备任务时,HDL Coder™将生成的FPGA位流、Linux设备树和系统初始化脚本复制到目标板上的SD卡上,然后将位流持久地保存在SD卡上。要使用这种编程方法,您不需要嵌入式Coder®许可证。属性可以创建SSH对象IP地址SSH的用户名,SSH密码.HDL Coder使用SSH对象将比特流复制到SD卡并对板进行重编程。

建议您使用下载方法,因为该方法在引导Linux系统之前对FPGA位流进行编程并加载相应的Linux设备树。因此,下载方法更加健壮,不会导致内核panic或启动时内核挂起。在Linux重启过程中,FPGA位流从SD卡自动重新编程。指定下载随着编程方法当您使用工作流顾问脚本运行工作流时,在运行脚本之前,请确保ProgrammingMethodWorkflowConfig对象的属性,中国,设置为下载

中国。ProgrammingMethod = hdlcode .ProgrammingMethod. download;

JTAG

当你指定JTAG随着编程方法然后运行程序目标设备任务,HDL Coder使用JTAG电缆来编程目标SoC设备。使用这种方法来编程Intel和Xilinx®SoC设备和独立的FPGA板。

对于SoC设备的编程,建议使用下载方法。的JTAG模式不涉及ARM处理器,直接对板载FPGA进行编程。这种模式不会更新Linux设备树,当比特流与设备树不匹配时,会导致Linux系统崩溃或导致内核崩溃。要避免这种情况,请使用下载方法对SoC器件进行编程。

独立的Intel和Xilinx FPGA板没有嵌入式ARM处理器。JTAG是用于对FPGA板进行编程的默认方法。

指定JTAG随着编程方法当您使用工作流顾问脚本运行工作流时,在运行脚本之前,请更改ProgrammingMethodWorkflowConfig对象的属性,中国,JTAG

中国。ProgrammingMethod = hdlcode .ProgrammingMethod. jtag;

自定义

要对目标设备进行编程,可以在创建自己的自定义参考设计时指定自定义编程方法。使用CallbackCustomProgrammingMethodhdlcoder。ReferenceDesign类来为在运行时执行的回调函数注册函数句柄程序目标设备的任务。要定义回调函数,请创建一个定义MATLAB函数的文件,并将该文件添加到MATLAB路径中。

此示例代码片段显示了使用自定义编程方法的参考设计定义文件。要了解更多,请参见CallbackCustomProgrammingMethod

涂油礼hRDplugin_rd ()%参考设计定义%……构造参考设计对象hRD = hdlcoder。ReferenceDesign(“SynthesisTool”“Xilinx Vivado”);hRD。ReferenceDesignName =“参数回调自定义”;hRD。BoardName =“ZedBoard”%工具信息hRD。SupportedToolVersion = {“2020.2”};%……hRD。CallbackCustomProgrammingMethod = @my_reference_design.callback_CustomProgrammingMethod;

相关的例子

更多关于

Baidu
map