Simscape模型在快速山羊FPGA I/O模块上的硬件在环实现
这个例子展示了如何从Simscape™半波整流器模型合成和生成FPGA位流,并下载位流到Speedgoat®FPGA I/O 334-325K目标,用于硬件在环(HIL)实现。
半工作流
使用Simscape HDL Workflow Advisor从Simscape模型生成一个HDL实现模型。HDL实现模型是一个Simulink®模型,它用HDL兼容的块替换了Simscape算法
使用HDL工作流顾问为HDL实现模型生成FPGA位流
使用Simulink实时资源管理器进行硬件在环仿真,将比特流下载到Speedgoat FPGA I/O模块。
半波整流器模型
打开Simscape半波整流器模型。在MATLAB®命令提示符中,输入:
ModelName =“sschdlexHalfWaveRectifierExample”;open_system ModelName set_param (ModelName,“SimulationCommand”,“更新”);
open_system ([ModelName,' / Simscape_system '])
半波整流器由一个电阻(一个线性块)和一个二极管(一个开关线性块)组成。在输入和输出端口接口,模型有Simulink-PS Converter和PS-Simulink Converter模块。解算器设置被配置为与Simscape HDL Workflow Advisor兼容。如果打开求解器配置块的块参数对话框,使用本地解算器选择和向后欧拉
指定为解算器类型.看到开始使用Simscape硬件在环工作流.
要查看算法功能,请模拟模型。
sim (ModelName) open_system ([ModelName,/范围的])
2.为HDL兼容性配置Simscape模型hdlsetup
功能:
hdlsetup (“sschdlexHalfWaveRectifierExample”)
生成HDL实现模型
生成HDL实现模型:
1.打开Simscape HDL工作流顾问:
sschdladvisor (“sschdlexHalfWaveRectifierExample”)
2.要比较HDL实现模型与原始Simscape算法的功能,请选择生成实现模型步骤,然后选择为实现模型生成验证逻辑复选框。使用一个验证逻辑宽容的0.001
.右键单击生成实现模型步骤和选择运行到所选任务.
Advisor生成一个HDL实现模型和一个状态空间验证模型。为了比较HDL实现模型与原始Simscape算法的功能,打开并模拟状态空间验证模型。该模型的输出与原始Simscape模型匹配。有关更系统的验证,请参见验证HDL实现模型对Simscape算法的有效性.
另请参阅Simscape HDL工作流顾问任务.
设置和配置
Speedgoat IO334-325K FPGA模块采用Xilinx®Vivado®和IP核心代工作流的基础设施。在将HDL实现模型部署到Speedgoat I/O模块上之前:
1.安装Xilinx Vivado和安装工具路径
安装Xilinx®Vivado®的最新版本HDL语言支持和支持的第三方工具和硬件.然后,将工具路径设置为已安装的Xilinx Vivado可执行文件hdlsetuptoolpath
函数。
hdlsetuptoolpath (“ToolName”,“Xilinx Vivado”,“路径”,“C: \ Xilinx \ Vivado \ 2020.1 \ bin \ vivado.bat ')
2.安装Speedgoat I/O块集和Speedgoat - HDL编码器集成包
安装Speedgoat I/O块集和Speedgoat - HDL Coder集成包。看到安装Speedgoat HCIP.
3.设置I / O模块
当需要实时仿真时,需要设置I/O模块。看到Xilinx HDL软件for Speedgoat I/O模块.
高密度脂蛋白工作流顾问
HDL工作流顾问指导您通过HDL代码生成和FPGA设计过程。使用Advisor来:
检查模型的HDL代码生成兼容性,并修复不兼容的设置。
生成HDL代码、测试台架和脚本来构建和运行代码和测试台架。
执行合成和时序分析。
将生成的代码部署到soc、fpga和Speedgoat I/O模块上。
要打开HDL工作流顾问,请使用hdladvisor
函数。
hdladvisor (gmStateSpaceHDL_sschdlexHalfWaveRectifierEx / Simscape_system / HDL子系统)
左侧窗格包含表示一组相关任务的文件夹。展开文件夹并选择一个任务,将在右侧窗格中显示有关该任务的信息。右边窗格可以包含简单的控件,用于运行任务的高级参数和选项设置,控制代码和测试工作台的生成。要了解关于每个任务的更多信息,请右键单击该任务并选择这是什么?.看到开始使用HDL工作流顾问.
为快速山羊目标计算机生成FPGA比特流
1.打开HDL实现模型,然后打开实现模型的HDL Workflow Advisor。
open_system (gmStateSpaceHDL_sschdlexHalfWaveRectifierEx) hdladvisor (gmStateSpaceHDL_sschdlexHalfWaveRectifierEx / HDL子系统)
2.在设置目标装置和合成工具任务,指定目标工作流程作为Simulink实时FPGA I/O
而且目标平台作为Speedgoat io334 - 325 k
.
3.在设定目标参考设计任务时,选择的值x4
为参数作为PCIe车道
,并选择运行这个任务.
4.在设置目标接口任务,映射输入和输出单
数据类型端口到作为PCIe接口
并选择运行这个任务.
5.在设置目标频率任务,设置目标频率(MHz)作为One hundred.
.
6.右键单击生成Simulink实时界面任务和选择运行到所选任务生成HDL IP核、FPGA位流,并将该位流下载到快速山羊目标计算机的IO334 I/O模块。
生成一个Simulink实时接口模型,命名为gm_gmStateSpaceHDL_sschdlexHalfWaveRectifierEx_slrt.
为了快速创建原型,您可以将Workflow Advisor设置导出到脚本中。该脚本是一个MATLAB文件,您可以从命令行运行它。您可以修改并运行脚本,或者将设置导入到HDL Workflow Advisor用户界面中。要保存工作流,请在HDL工作流顾问用户界面中选择>文件导出到脚本.将文件保存为hdlworkflow_slrt_IO334.m
.
要导入此文件,请在HDL工作流顾问用户界面中选择文件>从脚本导入.在“导入工作流配置”对话框中,选择hdlworkflow_slrt_IO334.m
文件。HDL工作流顾问根据导入的脚本更新任务。看到使用脚本运行HDL工作流.
向高速山羊IO334-325k目标部署比特流
1.连接开发计算机到目标
使用交叉网线将开发计算机连接到目标。Speedgoat目标计算机的默认IP地址为192.168.7.5
.设置开发计算机与目标计算机通信链路的IP地址192.168.7.2
因为通信链路必须在同一网络中。
2.安装和配置Simulink实时资源管理器
您可以使用Simulink实时资源管理器下载比特流。要打开Simulink实时资源管理器,输入命令slrtExplorer
.或者,您可以从实时选项卡。
slrtExplorer
的Simulink编辑器显示实时选项卡中配置的模型slrealtime.tlc
目标代码生成。
a.在“Simulink Real-Time Explorer”中,在“Target Configuration”页签中,配置开发计算机的设置。
集IP地址作为
192.168.7.5
,或根据需要设置自定义目标计算机IP地址。集的名字作为
TargetPC1
,或根据需要设置自定义目标计算机名称。
b.如果需要更改开发计算机上的设置,请单击改变IP地址
按钮在目标计算机上应用相应的更改。
3.创建实时应用程序
打开Simulink实时接口模型。向模型添加Scope块,并将其连接到输出。记录输出信号,在仿真数据检查器上查看仿真结果。
4.构建并运行实时应用程序
单击运行在目标按钮实时选项卡,编译并下载模型到Speedgoat IO334-325k目标。
在仿真数据检查器上观察输出仿真结果。下载模型的仿真结果与原始Simscape模型的仿真结果相匹配。