主要内容

基于Speedgoat simulink可编程I/O模块的FPGA编程与配置金宝app

这个例子展示了如何使用HDL Workflow Advisor在Speedg金宝appoat的Simulink可编程I/O模块上实现Simulink®算法。你跑的金宝appSimulink实时FPGA IO工作流程:

  1. 指定FPGA I/O模块及其接口。

  2. 合成Simulink算法用于F金宝appPGA编程。

  3. 生成Simulink®金宝appReal-Time™接口子系统模型。

接口子系统模型包含对FPGA进行编程的模块,并在实时应用程序执行期间通过PCIe总线与FPGA模块进行通信。将生成的子系统添加到Simulink Real-Time域模型中。金宝app

本例使用Speedgoat IO397-50k模块。看到Speedgoat FPGA支金宝app持与HDL工作流顾问

设置和配置

在将算法部署到Speedgoat IO模块之前:

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库和Speedgoat HDL编码器集成包。看到安装Speedgoat HDL编码器集成包

高密度脂蛋白工作流顾问

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

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

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

  • 进行综合和时序分析。

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

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

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

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

金宝appSimulink环回域模型

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”“更新”

生成Speedgo金宝appat IO397平台的Simulink实时接口模型

1.打开HDL工作流顾问回送子系统。该子系统加载在FPGA上。

hdladvisor (“hdlcoder_slrt_loopback /回环”

2.扩大设定目标文件夹中。在设置目标设备和合成工具任务,指定目标工作流程作为金宝appSimulink实时FPGA I/O目标平台作为Speedgoat IO397-50k.右键单击设定目标参考设计任务和选择运行到选定任务

3.在设置目标接口任务,端口映射针对hwOutIO397_TTL [0:13]pciRead C0-C4pciWrite C0-C4作为PCIe接口.点击运行这个任务

4.运行设置目标频率任务的默认值设置为目标频率(MHz).目标频率必须在范围内频率范围(MHz)

5.扩大下载到目标的任务。右键单击生成Simulin金宝appk实时接口任务和选择运行到选定任务

本任务生成RTL代码和IP核、FPGA位流和Simulink实时接口模型。金宝app在创建项目任务,打开Vivado项目查看实现的块设计。

实时子系统集成和执行

生成Simulin金宝appk实时接口任务通过时,单击链接打开Simulink Real-Time接口模型。金宝app

Simu金宝applink- real Time Interface模型包含一个与Simulink FPGA域模型中的子系统同名的掩码子系统。该子系统是Simulink Real-Tim金宝appe Interface子系统,其中包含加载到FPGA上的算法。使用生成的Simulink Real金宝app-Time Interface模型或创建一个Simulink Real-Time Domain模型,并将Simulink Real-Time Interface子系统复制到该模型中,以便在Speedgoat目标机器上模拟您的FPGA算法。

在Simuli金宝appnk Real-Time接口子系统掩码中,设置三个参数:

  • 设备指标

  • PCI插槽

  • 样品时间

当目标器只有一个FPGA I/O板时,设备索引保持默认值。对于多个FPGA I/O板,指定唯一的设备索引。如果两块或两块以上单板类型相同,请指定每个单板的PCI槽位。

对于实时测试,您可以在仿真数据检查器上记录信号并查看仿真结果。

  1. 实时选项卡,打开Simulink金宝app Real-Time Explorer并指定目标接口连接设置。例如,请参见Simscape模型在Speedgoat FPGA I/O模块上的硬件在环实现

  2. 实时选项卡上,单击运行在目标来构建和下载Simulink Real-Time应用金宝app程序。实时应用程序加载到Speedgoat目标机上,FPGA算法位流加载到FPGA上。

然后,您可以在仿真数据检查器上查看仿真结果。

相关的话题