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