AXI4的收发机制
1、AXI4的译码器
对于多个主机和从机的AXI4总线的互联架构,译码器都是重要的。主机的端口一般有三个译码器,分别是读地址通道、写地址通道和写数据通道的译码器。主要作用是将通道的信息和内部寄存器的信息相互转化。从机的端口就是写响应和读数据通道会有译码器。译码器就是保证一方可以向其他几个方向传递。这个根据设计需要自行决定。如果有确切的指向关系就可以不使用译码器。
2、AXI4的仲裁器
仲裁器,就是决定优先级的逻辑。多个主机可能同时向一个从机发起访问,这时就需要考虑那个主机先执行。这就是潜在执行顺序。可以看出,一个仲裁器的作用相当于交警在堵车时的作用。一个好的仲裁器可以快速地解决通道拥堵的问题。反之,总线的传输效率就会降低。有以下几个标准的解决方法:
1)时间切换时分复用
就是将总线的使用权按时间划分,依次分给总机使用。这和交通灯的交通秩序是一样的道理。优点是可以保证总体功能执行且结构简单,缺点是容易浪费。
2)事务时分复用
就是轮流使用,每个主机使用完成后向下一个主机传递。缺点也是对于重点的主机无法占用更多的作用。
3)固定优先级
这个方法就是事先就确定顺序,显然,这种方法需要事先对每个主机对于总线的使用效率做一个统计。这个对于设计这来说是比较大的挑战。
3、AXI4互联架构
互联结构,就是多个主机和多个从机如何组成一个网络。实际的设计中,主机与从机之间的通道有许多的通道是可以复用的。
1)M-1型互联
就是多个主机向一个从机进行数据传输时,所需要的仲裁器需要使用主机优先级判断和从机数据发送的功能。
2)1-N型互联
这个就是一个主机和N个从机,需要的互联的架构也是需要仲裁器支持。在zynq中使用的AXI4应该采用的就是这种架构。
3)M-N型互联
这种互联方式是有两种大的方向的,就是数据共享和地址共享。依旧需要靠仲裁器的工作原理来实现。具体的结构就不过多的了解了。
4、小结
通过对这个部分的AXI4总线协议的基本内容的了解,大致地知道了AXI总线的组成和工作结构。接下来的学习会基于具体的AXI4总线的从机的原理构建,从机的接受与发送来实现对该协议的具体认识。使用的架构应该是1-N互联。至于总机和仲裁器则是由IP核的设计确认。这里的目标只是通过了解AXI4协议得到zynq基于AXI4总线的挂载自定义IP的设计。
======== ======\\ ======= -
|| || \\ // \\ /-\
|| || || // // \\
|| || // || // \\
====== ======= || === ========
|| || || \\ // \\
|| || \\ || // \\
|| || \\ // // \\
|| || ======= // \\
作者:绿叶落秋风,专注FPGA技术分析和分享,转载请注明原文链接:https://www.cnblogs.com/electricdream/p/13068781.html,文中资源链接如下:
1. GITHUB开源仓库