此示例演示如何在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板上运行,您就可以从连接到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)