这个例子展示了如何为Simscape™两级转换器工厂模型生成Simulin金宝appk®Real-Time Interface子系统。然后可以在Speedgoat FPGA I/O模块上部署接口模型。这个例子使用了Speedgoat的IO334-325k模块。
在FPGA上模拟工厂模型可提供:
实时仿真:回路中的硬件在目标硬件上提供Simscape工厂模型的实时模拟。
硬件加速:在硬件上加速复杂物理系统的模拟,同时可重构FPGA提供快速原型。
要使用工作流,请执行以下操作:
使用Simscape HDL Workflow Advisor开发Simscape模型并将其转换为实现模型。
使用HDL Workflow Advisor生成HDL代码并将代码部署到Speedgoat I/O模块中。
在Speedgoat I/O模块上部署算法之前:
1.安装Xilinx®Vivado®的最新版本HDL语言支持和受支持的第金宝app三方工具和硬件.
然后,将工具路径设置为已安装的Xilinx Vivado可执行文件刀具轨迹
函数。
刀具轨迹(“工具名”,“Xilinx Vivado”,“刀具路径”,“C: \ Xilinx \ Vivado \ 2019.2 \ bin \ vivado.bat ')
2.对于实时仿真,设置开发环境和目标计算机设置。看到开始使用Simulink实时金宝app(金宝app实时仿真软件).
3.安装Speedgoat I/O块集和Speedgoat HDL编码器集成包。请参阅安装Speedgoat HDL编码器集成包.
要打开这个模型,输入:
开放式系统(“SSCHDlextowlevelConverterIdealExample”)
在本地保存此模型为TwoLevelConverter_HDL.slx
运行此工作流。
开放式系统(“两级转换器\u HDL”) set_param (“两级转换器\u HDL”,“SimulationCommand”,“更新”)
开放式系统(“TwoLevelConverter_HDL / Simscape_system”)
Simscape子系统接收六个开关控制脉冲作为输入。Simscape子系统充当发电机,使用两级、基于载波的PWM方法来:
对参考波进行采样。
将样本与三角形载波进行比较。
如果一个样本高于载波信号,则产生一个开关脉冲;如果一个样本低于载波信号,则产生一个开关脉冲。
模拟模型。
sim卡(“两级转换器\u HDL”)开放式系统(“两级转换器\u HDL/负载范围”)
要生成实现模型,请使用Simscape HDL工作流顾问sschdladvisor
适用于您的型号的功能:
sschdladvisor (“两级转换器\u HDL”)
###运行Simscape HDL Workflow Advisor for 生成实现模型的任务。该型号与原型号名称相同,以gmStateSpaceHDL
.要打开实施模型,请输入:
load_system (“GMStateSpace HDL\u两级转换器\u HDL”)开放式系统(“GMStateSpace HDL\u两级转换器\u HDL/Simscape\u系统”) set_param (“GMStateSpace HDL\u两级转换器\u HDL”,“SimulationCommand”,“更新”)实现模型用执行状态空间计算的HDL算法替换Simscape子系统。当您在这个子系统中导航时,您会看到几个建模状态空间方程的延迟、加法器和Matrix Multiply块。这个子系统中的From和Goto块提供了与原始模型相同的输入
高密度脂蛋白子系统
.开放式系统(“GMStateSpace HDL\u两级转换器\u HDL/Simscape\u系统/HDL子系统/HDL算法”)
HDL工作流顾问
HDL Workflow Advisor指导您完成HDL代码生成和FPGA设计过程。使用顾问:
检查模型的HDL代码生成兼容性,并修复不兼容的设置。
生成HDL代码、测试平台和脚本,以构建和运行代码和测试平台。
进行综合和时序分析。
在SOC、FPGA和Speedgoat I/O模块上部署生成的代码。
要为模型中的一个子系统打开HDL Workflow Advisor,请使用
hdladvisor
函数。load_system (“sschdlexTwoLevelConverterIgbtExample”) hdladvisor (“sschdlexTwoLevelConverterIgbtExample / Simscape_system”)左窗格包含表示一组相关任务的文件夹。展开文件夹并选择任务将在右窗格中显示有关该任务的信息。右窗格包含用于将任务运行到高级参数和选项设置的简单控件,这些参数和选项设置控制代码和测试台生成。若要了解有关每个任务的详细信息,请执行以下操作:,右键单击该任务,然后选择这是什么?看见HDL工作流顾问入门.
将两级理想转换器模型部署到Speedgoat IO334-325K模块
1.打开实现模型的HDL工作流顾问。
HDL遮阳板(“GMStateSpace HDL\u两级转换器\u HDL/Simscape\u系统/HDL子系统”)
2.在设置目标设备和合成工具任务,指定目标工作流作为
金宝appSimulink实时FPGA I/O
和目标平台作为Speedgoat io334 - 325 k
3.运行设定目标参考设计任务中,选择的值
x4
对于参数作为PCIe车道
,并选择运行这个任务.4.在设置目标接口任务,映射输入和输出
单
要连接的数据类型端口作为PCIe接口
并选择运行这个任务.5.右键单击生成RTL代码和IP核任务和选择运行到所选任务.由于模型使用向量数据类型,因此生成RTL代码和IP核失败是因为
标量化报告
属性必须设置为dutlevel
. 单击链接更改此设置并重新运行任务。6.将工作流运行到生成Simulin金宝appk实时接口的任务。在创建项目任务,您可以打开Vivado项目并查看实现的设计生成Simulin金宝appk实时接口任务通过后,单击链接打开Simulink实时界面模型。金宝app
导出HDL工作流到脚本
对于快速原型,您可以将HDL Workflow Advisor设置导出到脚本。该脚本是一个MATLAB®文件,可以从命令行运行。然后,您可以修改并运行该脚本,或将设置导入HDL Workflow Advisor用户界面。
要导出HDL Workflow脚本,在Advisor中运行任务之后,选择文件>导出到脚本.对于本例,当您导出到脚本时,该文件显示您保存的设置。
编辑(“HDL工作流\u slrt.m”)
要导入HDL工作流脚本,请在HDL工作流顾问中选择文件>从脚本导入。选择脚本文件并单击开放.HDL Workflow Advisor使用导入的脚本设置更新任务。
有关如何通过部署FPGA位流来运行实时应用程序的示例,请参阅Simscape模型在Speedgoat FPGA I/O模块上的硬件在环实现.