在上图中,我们描述了典型的AXI总线互联方式,经过AXI-interconnect 可以完成多个MASTER和多个SLAVE之间的互联。比如对于XILINX的SOC来说,内存有PS的DDR也有PL的DDR,还有基于AXI4总线的其他IP,比如PCIE的XDMA IP等,都可以通过AXI-interconnect实现高效的互联,这样各个外设之间的数据就能非常方便的基于AXI4总线实现共享访问。
2:掌握通过VIVADO工具产生AXI-full-master代码 3:理解AXI-full-master中自定义寄存器的地址分配 4:掌握通过VIVADO封装AXI-full-slave图形化IP 5:通过仿真验证AXI-full-master IP的工作是否正常。 2创建axi4-full-master总线接口IP 新建fpga工程,过程省略 新建完成工程后,单击菜单栏Tools->Create and Package New IP...
整个工程由两部分构成:1、我们打包的IP,该IP的接口是AIX4-Full-master;2、AXI Verification IP,这是一个AXI的验证IP,提供多种验证方式,功能很强大,双击这个IP,看看它的内置定制信息: 可以看到,它可选择接口模式来实现主机或从机或直通功能;可选协议类型,地址位宽,数据位宽等。我们这里不动它,直接cancel。 2、...
“A burst must not cross a 4KB address boundary.” 21. 关闭仿真,双击定制 IP axi_master_0 以打开其配置界面。 可以看到,自定义 IP 配置为发送突发 (burst),其中含 16 个 32 位的数据,从地址 0x44A00FC8 开始。这意味着写突发将从地址 0x44A00FC8 开始并于地址 0x44A01004 结束。这是一个错误,...
本文首先进行自定义IP的AXI总线IP的设计,然后在SDK下编写代码进行DDR的读写数据的测试。 开发环境 vivado 18.3&SDKPYNQ-Z2开发板 系统框图 首先对本次工程进行简要说明:本次工程使用AXI-Full接口的IP进行DDR的读写测试。在我们的DDR读写IP中,我们把读写完成和读写错误信号关联到PL端的LED上,用于指示DDR读写IP的...
在此AXI 基础系列的第 4 篇博文中,我们将为大家展示一个赛灵思 AXI Verification IP (AXI VIP) 的 AXI 协议检查工具功能使用方式的示例。 引言 在AXI 基础第 2 讲一文中,我曾提到赛灵思 Verification IP (AXI VIP) 可用作为 AXI 协议检查工具。在本文中,我们将来了解下如何使用它在 AXI4 (Full) 主接口中执...
然后是多个Master访问多个Slave,这种情况就需要引入仲裁逻辑了,相对的设计也会更加复杂,此时多个Master共享Interconnect,相应的会影响到带宽。 上面的例子一次只能建立1对1的访问,我们看下面的复杂例子,左边是完全映射(Full Mapping),即Master可以访问所有的Slave。右图则是部分映射(Sparse Mapping),可以看到一个Master只能...
验证例程为pl_write_ddr_lite,其中MCU_2_FPGA的IP为修改的axi-lite的slave的IP,用于PS向PL部分发送数据。 axi_lite_wrddr模块是修改的AXI-Lite的Master的IP,用于实现想DDR的某一地址写入数据。 在使用时,由于对该IP进行了修改,若设置多次传输数据,将会对同一地址写入相同的数据,该模块主要是为了对一个地址写一...
自定义IP核是Zynq学习与开发中的难点,AXI IP核又是十分常用的自定义IP核,因此掌握AXI IP核的创建流程及通信机制显得尤为重要。要搞懂AXI IP核,就必须先了解AXI接口。先介绍如下: 1) AXI(Advanced eXtensible Interface)协议主要描述了主设备(Master)和从设备(Slave)之间的数据传输方式,主设备和从设备之间通过握手信...
本文首先进行自定义IP的AXI总线IP的设计,然后在SDK下编写代码进行DDR的读写数据的测试。 开发环境 vivado18.3&SDK PYNQ-Z2开发板 系统框图 首先对本次工程进行简要说明:本次工程使用AXI-Full接口的IP进行DDR的读写测试。在我们的DDR读写IP中,我们把读写完成和读写错误信号关联到PL端的LED上,用于指示DDR读写IP的...