主要内容

在PCI Express上使用MATLAB AXI Master访问FPGA外部存储器

此示例演示如何在PCI Express(PCIe)上使用MATLAB®AXI master访问连接到FPGA的外部内存。FPGA包括一个用于访问DDR内存的Xilinx®DDR内存控制器。该内存控制器提供一个AXI4从接口,用于FPGA中其他组件的写入和读取操作。PCIe MATLAB AXI master功能提供一个AXI主对象,可用于访问任何FPGA中的内存映射位置。此示例显示如何将PCIe MATLAB AXI master集成到Xilinx Vivado®项目中,并使用MATLAB从DDR内存中写入和读取数据。

需求

  • Xilinx Vivado设计套件,支持的版本列在金宝app金宝app支持EDA工具和硬件

  • Xilinx Kintex®UltraScale+ FPGA KCU116评估试剂盒

  • HDL验证器™ Xilinx金宝app FPGA板支持包

  • 带有PCIe插槽的主机(PC)

  • USB-JTAG电缆

设置

1.设置FPGA板。通过PCIe和JTAG电缆将Xilinx KCU116板连接到主机。JTAG电缆用于对设备进行编程。

2.在MATLAB中准备示例。设置Xilinx Vivado工具路径。在执行该命令时,请使用您自己的Xilinx Vivado安装路径。

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

为这个示例创建一个Vivado项目。下面的MATLAB命令创建一个名为Vivado的项目pcieaximaster.xpr并包含IP Integrator框图和约束文件。

系统('vivado -mode batch -source pcieAXIMcreateproject.tcl'

3.使用Vivado IP配置Vivado项目。要在Vivado IP Integrator中使用PCIe MATLAB作为axis Master IP,请将包含IP的文件夹添加到Vivado项目的IP存储库路径设置中。通过在MATLAB中执行此命令来添加项目路径。

维瓦多大师pcieaximaster.xpr

通过在文件浏览器中双击项目或在MATLAB中执行此命令,以GUI模式打开生成的Vivado项目。

系统(“vivado pcieaximaster。xpr &’

4.将PCIe MATLAB作为AXI主IP添加到FPGA设计中。在Vivado GUI中,打开框图设计文件pcieAXIMdesign_1.bd.您可以在源文件子窗口中找到设计。

设置的地址xdma_0(PCI Express的AXI桥接子系统)和ddr4\u 0(内存控制器)如图所示。

或者,您可以通过在Vivado中执行Tcl命令来完成上述设置步骤。

。/ pcieAXIMmodifydesign.tcl

5.生成FPGA编程文件并对FPGA进行编程。点击生成比特流在Vivado窗口中生成FPGA编程文件。Vivado可能会提示您在进行下一步之前保存项目。Vivado生成bitstream文件大约需要5 ~ 10分钟。

Vivado生成比特流后,在MATLAB中执行此命令对FPGA进行编程。

filProgramFPGA (“Xilinx Vivado”“pcieaximaster.runs \ impl_1 \ design_1.bit”, 1)

6.FPGA编程后重启主机。

FPGA读写操作

一旦设计在FPGA板上运行,您就可以从连接到PCIe MATLAB的AXI从机作为AXI主IP进行写入和读取。本例将数据写入连接到FPGA的DDR内存,然后将数据检索到MATLAB中。

在MATLAB中创建AXI主对象。

h = aximaster (“Xilinx”“界面”“作为pcie”);

从FPGA上的内存位置进行写入和读取。以下两行使用AXI主对象h将100写入地址0,然后从DDR内存的地址0读取。

writememory (h, 0100) readmemory (h, 0,1)

另请参阅

||

相关话题