该模块用于处理AXI-LITE总线协议,将总线转为寄存器读写。
目录
2024.2.29
1.接口改动
接口部分去掉了AXI4-FULL才有的一些信号,如AWLEN,AWID,LAST等,变为标准的AXI-LITE:
虽然尝试将libero的axi_interconnect的接口从AXI4改为AXI4-LITE,但接口并没有减少,只能将不用的悬空。
2.写信号改动
旧版中写信号在地址阶段产生:
新版改为了在数据阶段产生。
3.rvaild
旧版的tm,要先等rready来,这不符合协议(协议应该保证先来rvalid,见参考资料1 39页)
截图自参考资料1:
而旧版的tc虽然先出了rvalid,但如果rready晚来,rvalid则会保持两拍有效,这不符合预期。
2024.3.2
1.AXI to AXI-LITE
由于PCIE master AXI是64位,转到slave的32位AXI-LITE就会变成两拍:
master
slave
此处bursttype使用的是fixed,也就是地址不自增。
如果AXI master限制AWSIZE,也就是控制wstrb,可以实现slave只有一拍。
参考Master的逻辑(来自libero自动生成的interconnect的testbench):
根据上图可知,当AWSIZE=2时,数据位宽=64时,wstrb=F即有效32位。
*(这里建议仿照XDMA,在驱动层封装类似user的接口,将AWSIZE设为2,bursttype设为fixed。)
将AWSIZE(testbench中叫TxSize)修改为2:
结果,master:
interconnect:
s_axi_lite_interface:
可以看到axi-lite侧只过来了一拍。
参考资料:
1.AMBA AXI and ACE Protocol Specification AXI3, AXI4, and AXI4-Lite ACE and ACE-Lite (ufl.edu)