这个例子展示了如何部署上的Speedgoat FPGA I / O模块使用HDL流程顾问的的Simscape工厂模型。此工作流是一个两步骤的过程。
开发的Simscape模型,并将其转换为实现模型使用的Simscape HDL流程顾问。HDL代码从这个实现模型生成。欲了解更多信息,请参阅为Simscape模型生成HDL代码。
使用HDL Workflow Advisor将HDL代码部署到Speedgoat I/O模块。
您可以使用HDL Workflow Advisor将Simulink™模型部署到Speedgoat F万博1manbetxPGA I/O模块。在FPGA上模拟工厂模型提供:
实时仿真:硬件在环提供实时仿真您的模拟植物模型。
硬件加速:通过在硬件上实现物理系统的可重构fpga提供了快速的硬件原型,从而提高了模拟物理系统的速度。您可以使用此功能对复杂的物理系统建模。
要部署的Simscape工厂模型上的Speedgoat FPGA模块:
1.安装赛灵思Vivado®
Speedgoat FPGA IO333-325K使用Xilinx Vivado。如果还没有,安装Xilinx Vivado v2018.2。然后,将工具路径设置为已安装的Xilinx Vivado 2018.2可执行文件。若要设置工具路径,请使用hdlsetuptoolpath
函数。
hdlsetuptoolpath(“工具名称”,“赛灵思Vivado”,“刀具路径”,“C: \ Xilinx \ Vivado \ 2018.2 \ bin \ vivado.bat ')
2.设置I/O模块
要在硬件上实时运行模拟Simscape植物模型,必须设置I/O模块。有关设置I/O模块的信息,请参阅赛灵思HDL软件的Speedgoat I / O硬件。
该HDL工作流程顾问将指导您完成生成HDL代码Simulink的子系统和FPGA设计流程,如阶段:万博1manbetx
检查HDL代码生成兼容性的模型,并自动固定不兼容的设置。
生成HDL代码,测试台,和脚本来构建和运行代码和测试平台。
通过与第三方综合工具的集成合成和时序分析。
完成在系统芯片(SoC)、fpga和Speedgoat I/O模块等硬件平台上部署的自动化工作流。
这个例子说明了如何使用HDL流程顾问使用赛灵思Vivado的Speedgoat IO333-325K模块上部署HDL代码。例如,打开HDL流程顾问模型内的一个子系统,输入:
load_system ('sschdlexTwoLevelConverterIgbtExample')hdladvisor (“sschdlexTwoLevelConverterIgbtExample / Simscape_system”)
欲了解更多信息,请参阅hdladvisor
。
在HDL Workflow Advisor中,左侧窗格列出层次结构中的文件夹。每个文件夹表示相关任务的组或类别。展开文件夹将显示每个文件夹中可用的任务。在左侧窗格中,可以选择文件夹或单个任务。HDL Workflow Advisor在右侧窗格中显示有关所选文件夹或任务的信息。右窗格的内容取决于所选的文件夹或任务。对于某些任务,右窗格包含用于运行任务的简单控件,以及用于显示状态消息和其他任务结果的显示区域。对于涉及设置代码或测试工作台生成参数的其他任务,右窗格显示几个参数和选项设置。
要详细了解每个人的任务,右键单击任务,然后选择这是什么?。
欲了解更多信息,请参阅入门HDL工作流顾问。
这个例子使用了一个两级的理想转换器Simscape植物模型。要打开这个模型,输入:
open_system('sschdlexTwoLevelConverterIdealExample')
将此模型保存为TwoLevelConverter_HDL.slx
运行此工作流。
open_system('TwoLevelConverter_HDL')set_param ('TwoLevelConverter_HDL','SimulationCommand',“更新”)
open_system(“TwoLevelConverter_HDL / Simscape_system”)
所述的Simscape子系统接收六开关控制脉冲作为输入。所述的Simscape子系统充当使用一个两电平,基于载波的PWM方法的发电机:
样品参考波。
比较样品的载波三角波。
如果样本高于载波信号,则产生一个开关脉冲;如果样本低于载波信号,则产生一个开关脉冲。
要生成一个实现模型,使用的Simscape HDL流程顾问。跑过sschdladvisor
为你的模型功能:
sschdladvisor ('TwoLevelConverter_HDL')
为了生成实现模型,在Simscape HDL Workflow Advisor中,为所有任务保留默认设置,然后运行任务。的链接到该模型生成实现模型的任务。
要打开了实现模型,输入:
open_system('gmStateSpaceHDL_TwoLevelConverter_HDL')
该模型包含两个子系统。该HDL子系统模型,您从的Simscape模型生成的状态空间。该子系统的端口使用相同的名称作为Simulink的PS转换器和PS-Simulink的转换器模块,你在你原万博1manbetx来的Simscape模型中使用。如果你浏览这个子系统里面,你看到一些延迟,加法器和矩阵乘法块该模型的状态空间方程。从和Goto这个子系统内部块提供相同的输入与原始模型到的高密度脂蛋白子系统
。
本例展示了如何使用HDL工作流Advisor将两级IGBT转换器的实现模型部署到Speedgoat IO333-325K FPGA模块中。Speedgoat IO333 FPGA模块使用Xilinx Vivado和IP核生成基础设施。在运行Workflow Advisor之前,请确保指定了已安装的Xilinx Vivado可执行文件的路径。
1.打开HDL流程顾问
要打开HDL流程顾问的实施模式,输入:
hdladvisor('gmStateSpaceHDL_TwoLevelConverter_HDL / HDL子系统')
2.在设定目标设备和综合工具任务,设置这些参数并选择运行这个任务:
目标工作流程作为万博1manbetxSimulink实时FPGA I/O
目标平台作为的Speedgoat IO333-325K
合成工具作为赛灵思Vivado
3.在设置目标参考设计任务,选择的值为x4
该参数作为PCIe车道
,并选择运行这个任务。
4.在设置目标接口任务,地图的输入和输出单
数据类型端口作为PCIe接口
并选择运行这个任务。
5.在设置目标频率任务,选择范围内的目标频率。如果将目标频率设置为更高的值,则在运行任务时将导致无法生成位流构建FPGA比特流。这个例子有目标频率设置50兆赫
。
6.右键单击生成RTL代码和IP核任务并选择运行到选定的任务。此步骤生成如果模型使用矢量数据类型的警告。点击警告中的链接,选择Scalarize矢量端口,并重新运行任务。
7.运行流程到生成Simulin万博1manbetxk实时接口的任务。在创建项目任务,你可以打开Vivado项目,看到了实现的设计。
8.当生成Simulin万博1manbetxk实时接口任务通行证,你看到一个链接,打开Simulink的实时接口模型。万博1manbetx选择此链接。
或者,您可以:
保存HDL流程顾问设置脚本,并使用命令行运行该脚本。
导入设置进行修改,并使用HDL流程Advisor用户界面重新运行它。
导出的HDL工作流脚本
在HDL流程顾问,配置和运行的所有任务。
选择文件>导出脚本。
在导出工作流配置对话框,输入一个文件名和保存脚本。
该脚本是,你可以在命令行中运行MATLAB®文件。
导入HDL工作流脚本
在HDL工作流顾问中,选择从脚本导入文件>。
在导入工作流配置对话框中,选择脚本文件,然后单击开放。
该HDL工作流程顾问更新与进口脚本设置的任务。
万博1manbetxSimulink实时FPGA I/O工作流程示例
这个例子显示了如何配置和运行导出的HDL工作流程脚本。
要生成HDL工作流程脚本,配置和使用您的Simulink设计运行HDL流程顾问,然后导出脚本。万博1manbetx
这个脚本是一个万博1manbetxSimulink实时FPGA I/O
工作流程脚本目标的Speedgoat IO333-325K
模块,其使用赛灵思Vivado综合工具。
编辑在MATLAB命令窗口中导出脚本,请输入:
编辑('hdlworkflow_slrt.m')