主要内容

基于Simscap金宝appe两级转换器模型的Simulink实时接口子系统生成

这个例子展示了如何为Simscape™两级转换器工厂模型生成Simulin金宝appk®实时接口子系统。然后,可以在Speedgoat FPGA I/O模块上部署接口模型。本例使用Speedgoat IO334-325k模块。

实时仿真

在FPGA上模拟植物模型提供:

  • 实时仿真:硬件在环提供了目标硬件上Simscape工厂模型的实时仿真。

  • 硬件加速:加速在硬件上模拟复杂物理系统,而可重构fpga提供快速原型。

要使用工作流:

  1. 开发Simscape模型,并使用Simscape HDL Workflow Advisor将其转换为实现模型。

  2. 生成HDL代码并使用HDL Workflow Advisor将代码部署到Speedgoat I/O模块。

设置和配置

在Speedgoat I/O模块上部署算法之前:

1.安装Xilinx®Vivado®的最新版本HDL语言支持和支持的第三金宝app方工具和硬件

文件将工具路径设置为已安装的Xilinx Vivado可执行文件hdlsetuptoolpath函数。

hdlsetuptoolpath (“ToolName”“Xilinx Vivado”“路径”“C: \ Xilinx \ Vivado \ 2019.2 \ bin \ vivado.bat '

2.进行实时仿真,设置开发环境和目标计算机设置。看到开始使用Simulink实时金宝app(金宝app实时仿真软件)

3.安装Speedgoat I/O Blockset和Speedgoat HDL Coder Integration包。看到安装Speedgoat HDL Coder集成包

两级变换器理想模型

要打开这个模型,输入:

open_system (“sschdlexTwoLevelConverterIdealExample”

在本地保存此模型为TwoLevelConverter_HDL.slx运行此工作流。

open_system (“TwoLevelConverter_HDL”) set_param (“TwoLevelConverter_HDL”“SimulationCommand”“更新”

open_system (“TwoLevelConverter_HDL / Simscape_system”

Simscape子系统接收六开关控制脉冲作为输入。Simscape子系统作为一个发生器,使用两级基于载波的PWM方法:

  1. 采样一个参考波。

  2. 将样本与三角形载波进行比较。

  3. 如果一个样本高于载波信号,则产生一个开启脉冲;如果一个样本低于载波信号,则产生一个关闭脉冲。

模拟模型。

sim卡(“TwoLevelConverter_HDL”) open_system (“TwoLevelConverter_HDL /负载范围”

生成HDL实现模型

要生成实现模型,请使用Simscape HDL Workflow Advisor。运行sschdladvisor为你的模型函数:

sschdladvisor (“TwoLevelConverter_HDL”

要生成实现模型,在Simscape HDL Workflow Advisor中,保持任务的默认设置,然后运行任务。中可以看到到模型的链接生成实现模型的任务。此模型具有与原始模型相同的名称gmStateSpaceHDL

要打开实现模型,输入:

load_system (“gmStateSpaceHDL_TwoLevelConverter_HDL”) open_system (“gmStateSpaceHDL_TwoLevelConverter_HDL / Simscape_system”) set_param (“gmStateSpaceHDL_TwoLevelConverter_HDL”“SimulationCommand”“更新”

实现模型用HDL算法代替Simscape子系统,HDL算法执行状态空间计算。当您在这个子系统中导航时,您会看到几个用于对状态空间方程建模的延迟、加法器和Matrix Multiply块。子系统中的From和Goto块提供了与原始模型相同的输入高密度脂蛋白子系统

open_system ('gmStateSpaceHDL_TwoLevelConverter_HDL/Simscape_system/HDL子系统/HDL算法'

HDL工作流顾问

HDL工作流顾问指导您完成HDL代码生成和FPGA设计过程。使用Advisor来:

  • 检查模型的HDL代码生成兼容性,并修复不兼容的设置。

  • 生成HDL代码、测试平台和脚本,以构建和运行代码和测试平台。

  • 进行综合和时序分析。

  • 将生成的代码部署在soc、fpga和Speedgoat I/O模块上。

要打开模型内子系统的HDL Workflow Advisor,请使用hdladvisor函数。

load_system (“sschdlexTwoLevelConverterIgbtExample”) hdladvisor (“sschdlexTwoLevelConverterIgbtExample / Simscape_system”

左侧窗格包含表示一组相关任务的文件夹。展开文件夹并选择一个任务,将在右窗格中显示有关该任务的信息。右侧窗格包含简单的控件,用于运行任务到高级参数和选项设置,以控制代码和测试台架的生成。要了解关于每个任务的更多信息,请右键单击该任务并选择这是什么?.看到开始使用HDL工作流顾问

在高速山羊IO334-325K模块上部署两级理想转换器模型

1.打开实现模型的HDL Workflow Advisor。

hdladvisor (“gmStateSpaceHDL_TwoLevelConverter_HDL / Simscape_system / HDL子系统”

2.在设置目标设备和合成工具任务,指定目标工作流程作为金宝appSimulink实时FPGA I/O而且目标平台作为Speedgoat io334 - 325 k

3.运行设定目标参考设计任务时,选择的值x4对于参数作为PCIe车道,并选择运行此任务

4.在设置目标接口任务,映射输入和输出数据类型端口作为PCIe接口并选择运行此任务

5.右键单击生成RTL代码和IP核任务和选择运行到选定任务.由于模型使用向量数据类型,因此生成RTL代码和IP核失败是因为ScalarizePorts属性必须设置为dutlevel.单击链接以更改此设置并重新运行任务。

6.将工作流运行到生成Simulin金宝appk实时界面的任务。在创建项目任务,你可以打开Vivado项目,并看到实现的设计。后生成Simulin金宝appk实时界面任务完成后,单击链接打开Simulink实时接口模型。金宝app

导出HDL工作流到脚本

为了快速创建原型,您可以将HDL Workflow Advisor设置导出到脚本。该脚本是一个MATLAB®文件,可以从命令行运行。然后,您可以修改并运行脚本,或者将设置导入HDL Workflow Advisor用户界面。

要导出HDL Workflow脚本,在Advisor中运行任务后,选择文件>导出到脚本.对于本例,当导出到脚本时,该文件将显示您保存的设置。

编辑(“hdlworkflow_slrt.m”

要导入HDL Workflow脚本,请在HDL Workflow Advisor中选择文件>从脚本导入.选择脚本文件,单击开放.HDL Workflow Advisor使用导入的脚本设置更新任务。

有关显示如何通过部署FPGA比特流运行实时应用程序的示例,请参见基于Speedgoat FPGA I/O模块的Simscape模型的硬件在环实现

另请参阅

功能

相关的话题