此示例显示如何使用基于以太网的MATLAB作为AXI主机,以通过以太网上的XilinxZynq®-7000 ZC706板上访问外部存储器和FPGA IP。在基于Xilinx Zynq的设计中,Matlab®充当AXI主机,通过在处理系统(PS)中使用用户数据报协议(UDP)服务器,与外部存储器控制器和FPGA IP通信。以下框图显示了以太网上的主机和XilinxZynq®-7000板之间的通信。
该示例演示了以下步骤中概述的操作:
写一个尺寸的尺寸24-64的ASCII图像区域1。
配置图像旋转IP.阅读图像区域1,旋转图像,并将旋转图像写入地区2。
阅读图像地区2。
要运行此示例,您必须安装并设置以下软件和硬件:
Xilinx®Vivado®设计套件,其中包含支持的版本金宝appHDL编码器文档
XilinxZynq®ZC706评估套件
以太网电缆连接ZC706 FPGA
HDL Coder™支金宝app持包用于Xilinx®Zynq®-7000平台
用于Xilinx®FPGA板金宝app的HDL Verifier™支持包
SD卡
第1步:设置FPGA板。验证Xilinx Zynq-7000 ZC706板通过以太网电缆连接到主机。以太网电缆用于编程和与电路板通信。
第2步:设置SD卡。有关详细信息,请参阅步骤1到4以太网MATLAB作为Zynq SoC设备的Axi Master。
第3步:设置XilinxVivado®工具路径。在Matlab中执行命令时使用Xilinx Vivado安装路径。例如,在MATLAB命令提示符下输入此命令。
>> HDLSetuptoolPath('toolname'那'Xilinx Vivado'那'工具路径'那'C:\ Xilinx \ Vivado \ 2019.2-MW-0 \ WIN \ Vivado \ 2019.2 \ Bin');
在可以复制示例文件的MATLAB安装文件夹的范围之外创建一个文件夹。文件夹必须可写。此示例假定该文件夹位于C:\ mytests
。
将MATLAB中的当前目录设置为您创建的文件夹。例如,在matlab命令提示符下输入此命令。
>> CD C:\ mytests
通过在MATLAB命令提示符下执行此命令将示例文件复制到当前目录中。
>> CopyXilinxfpgaExamplefiles('ethernetaximasterzynq');
解压缩imageerotation_ip.zip.
文件将图像旋转IP添加到用户存储库在您的Vivado项目中。
>>解压缩(FullFile('ipcore'那'imageerotation_ip_v1_0.zip'),fullfile('ipcore'那'imageerotation_ip_v1_0'));
使用此命令创建Vivado项目。该项目包含IP Integrator块图和约束文件。
>>系统('Vivado -Mode Batch -source createProject.TCL')
此过程在大约一分钟内完成。在当前目录中创建名为“Ethernetaximasterzynq.xpr”的Vivado项目。
通过在文件浏览器中双击项目或在MATLAB命令提示符下执行此命令,在GUI模式下打开生成的Vivado项目。
>>系统('Vivado Ethernetaximasterzynq.xpr&')
第4步:在Vivado GUI中,打开块图设计文件设计_1.BD.
。您可以在源文件子窗口中找到此文件。
打开地址编辑器窗口以查看地址映射mig_7series_0.(内存控制器)和imageerotation_ip.。
这些是imageerotation_ip.寄存器及其相应的物理位置。
IPCORE RESET寄存器['40000000'] - 写入1重置图像旋转IP。
IPCORE启用寄存器['40000004'] - 写入1以启用图像旋转IP。
读取基础地址寄存器['40000008'] - 包含启动地址区域1(例如,0x60000000)。
写基础地址寄存器['4000000C'] - 包含启动地址地区2(例如,0x62000000)。
开始寄存器['40000100'] - 写入1启动图像旋转操作。
笔记:跳过步骤5和6,使用普瑞格的比特流和复制到当前工作目录的DTB文件。
步骤5:生成FPGA编程文件。
点击生成比特流在Vivado窗口的左侧生成FPGA编程文件。Vivado可能会提示您在前进之前保存项目。Vivado在5到10分钟内生成比特流文件。
步骤6:生成设备树Blob(DTB)文件。
要编译DTB文件,需要在Linux计算机上使用设备树编译器(DTC)。如果未安装DTC,请在Linux控制台窗口中执行这些命令。
%sudo apt-get更新-y
%sudo apt-get安装-y device-tree-compiler
在成功安装DTC后,要生成DTB文件,请打开特定于电路板的DTS文件以提供如下所示的FPGA存储器信息。
或者,您可以使用为此示例提供的DTS文件:C:\ mytests \ devicetree_zc706_image_rotation.dts
。
通过执行此命令从DTS文件生成DTB文件。
%dtc -i dts -o dtb devicetree_zc706_image_rotation.dts -o devicetree_zc706_image_rotation.dtb
步骤7:通过在Matlab命令Prommpt中输入此命令来对MATLAB中的FPGA进行编程。
>> LoadBitStream('zc706'那'ethernetaximaster_zynq_zc706.bit'那'deviceTree_zc706_image_rotation.dtb');
要运行设计,运行ethernetaximasterzynq_tb.m.
从当前工作文件夹中的Matlab命令Prommpt文件。
>> ethernetaximasterzynq_tb.
该脚本通过创建Axi-Master对象来从MATLAB运行设计,并按照所示绘制输入和输出图像。