Speedgoat simulink可编程I/O模块的FPGA编程与配置
本示例展示了如何使用HDL Workflow Advisor在Speedgoat®Simulink可编程I/O模块上实现Simulink®算法。你运行Simulink实时FPGA IO
工作流程:
指定FPGA I/O模块及其接口。
综合Simulink算法进行FPGA编程。
生成一个Simulink®Real-Time接口子系统模型。
接口子系统模型包含对FPGA编程的模块,并在实时应用程序执行时通过PCIe总线与FPGA模块通信。将生成的子系统添加到Simulink Real-Time域模型中。
本例使用Speedgoat IO397-50k模块。看到Speedgoat FPGA支持HDL工作流顾问.
设置和配置
在Speedgoat IO模块上部署算法之前:
1.安装Xilinx®Vivado®的最新版本HDL语言支持和支持的第三方工具和硬件.
文件将工具路径设置为已安装的Xilinx Vivado可执行文件hdlsetuptoolpath
函数。
hdlsetuptoolpath (“ToolName”,“Xilinx Vivado”,“路径”,“C: \ Xilinx \ Vivado \ 2019.2 \ bin \ vivado.bat ')
2.进行实时仿真,设置开发环境和目标计算机设置。看到开始使用Simulink实时(实时仿真软件).
3.安装Speedgoat库和Speedgoat HDL Coder集成包。看到安装Speedgoat HDL Coder集成包.
HDL工作流顾问
HDL工作流顾问指导您完成HDL代码生成和FPGA设计过程。使用Advisor来:
检查模型的HDL代码生成兼容性,并修复不兼容的设置。
生成HDL代码、测试平台和脚本,以构建和运行代码和测试平台。
进行综合和时序分析。
将生成的代码部署在soc、fpga和Speedgoat I/O模块上。
要打开模型内子系统的HDL Workflow Advisor,请使用hdladvisor
函数。
load_system (“sschdlexTwoLevelConverterIgbtExample”) hdladvisor (“sschdlexTwoLevelConverterIgbtExample / Simscape_system”)
Advisor的左窗格包含表示一组相关任务的文件夹。展开文件夹并选择一个任务,将在右窗格中显示有关该任务的信息。右侧窗格包含一些简单的控件,用于运行任务到高级参数和选项设置,这些参数和选项设置控制HDL代码和测试台生成。要了解关于每个任务的更多信息,请右键单击该任务并选择这是什么?.看到开始使用HDL工作流顾问.
Simulink环回域模型
该模型是您的FPGA域模型。它表示FPGA板上时钟的模拟采样率。的回送
子系统包含在FPGA上加载的算法。模型的数据类型和输入输出行数被配置为适合Speedgoat IO397-50k
平台。
open_system (“hdlcoder_slrt_loopback”) set_param (“hdlcoder_slrt_loopback”,“SimulationCommand”,“更新”)
Speedgoat IO397平台Simulink实时接口模型的生成
1.打开的HDL工作流顾问回送
子系统。该子系统加载在FPGA上。
hdladvisor (“hdlcoder_slrt_loopback /回环”)
2.扩大设定目标文件夹中。在设置目标设备和合成工具任务,指定目标工作流程作为Simulink实时FPGA I/O
而且目标平台作为Speedgoat IO397-50k
.右键单击设定目标参考设计任务和选择运行到选定任务.
3.在设置目标接口任务、映射端口针对
而且hwOut
来IO397_TTL [0:13]
而且pciRead C0-C4
而且pciWrite C0-C4
来作为PCIe接口
.点击运行此任务.
4.运行设定目标频率的默认值目标频率(MHz).目标频率必须在该范围内频率范围(MHz).
5.扩大下载至Target的任务。右键单击生成Simulink实时界面任务和选择运行到选定任务.
该任务生成RTL代码和IP核、FPGA位流和Simulink实时接口模型。在创建项目任务,打开Vivado项目来查看实现的块设计。
实时子系统集成与执行
后生成Simulink实时界面任务完成后,单击链接打开Simulink实时界面模型。
Simulink- real Time Interface模型包含一个被屏蔽的子系统,该子系统与Simulink FPGA域模型中的子系统具有相同的名称。该子系统是Simulink实时接口子系统,包含加载到FPGA上的算法。使用生成的Simulink实时接口模型或创建一个Simulink实时域模型,并将Simulink实时接口子系统复制到该模型中,以在Speedgoat目标机器上模拟FPGA算法。
在“Simulink Real-Time”接口子系统掩码中,需要设置三个参数:
设备指标
PCI插槽
样品时间
当目标器只有一个FPGA I/O板时,设备索引保持默认值即可。对于多个FPGA I/O板,请指定唯一的设备索引。如果有两块或两块以上相同类型的单板,请指定每块单板的PCI槽位。
对于实时测试,您可以记录信号并在仿真数据检查器上查看仿真结果。
在实时选项卡,打开Simulink实时资源管理器并指定目标接口连接设置。有关示例,请参见基于Speedgoat FPGA I/O模块的Simscape模型的硬件在环实现.
在实时选项卡上,单击运行在目标上以建立及下载Simulink实时应用程式。实时应用程序加载到Speedgoat目标机上,FPGA算法位流加载到FPGA上。
然后可以在“模拟数据检查器”上查看模拟结果。