AXI interconnect IP核的说明及用法

AXI interconnect介绍

        AXI interconnect可以对AXI总线进行管理,支持多个主机采用AXI总线访问从机,或者一个主机访问多个从机。真正实现了总线通信,N Master模块与M Slave模块的通信,减少了相互间通信的复杂度,内部实现时钟域转换,不需要外部的过度干预,内部可实现FIFO等,免去了很多场景下需要FIFO,Register,位宽转换,协议转换的需求。

        该IP核最多可以支持16个主设备、16个从设备,如果需要更多的接口,可以多加入几个IP核,通常该IP核在Block Design中用的比较多,下面介绍一下在Block Design中的用法。在Block Design中通常会简化IP核的用法,但是可以自动布线。对于AXI这种信号比较多的信号,在Block Design中也更方便一些。

1、单个主机访问多个从机

        单个主机访问多个从机的原理是采用为从机的AXI总线分配不同的地址,这样主机通过访问不同的地址分区来访问不同的从机。

        如下所示:采用AXI interconnect连接两个BRAM控制器,为连接BRAM控制器的AXI总线分配地址空间,分配了两个4K的地址空间,连接主机的AXI总线就可以访问不同的地址空间来访问不同的BRAM进行读写数据。

        对其进行仿真,对两个BRAM所占的地址空间进行连续写,写完之后进行连续读。可以看到实现了一个主机控制两个从机。

2、多个主机访问多个从机

        多个主机读写一个从机是通过主机的ID号不同来实现的,每个主机具有不同的ID号,内部通过读写的时候地址会把这个主机号加上,代表哪个主机进行访问,传回的数据就传到相应的主机。

        如下所示:两个主机采用AXI interconnect连接两个BRAM控制器,两个从机具有不同的地址空间,两个主机具有不同的ID号,这样就实现了不同的主机对不同从机的访问。

        当主机同时访问从机时,还可以设置主机的优先级进行判别哪一个主机进项访问,


         如果相对该IP核进行更深入的了解,可以参考XILNX官方给的product Guide。AXI interconnect 官方product Guidehttps://docs.xilinx.com/r/en-US/pg059-axi-interconnect/AXI-Interconnect-v2.1-LogiCORE-IP-Product-Guide

猜你喜欢

转载自blog.csdn.net/QUACK_G/article/details/125921835