在本文中将展示描述了AXI从设备(slave)AXI BRAM Controller IP核与Xilinx AXI Interconnect之间的读时序关系。
1 Single Read
图1展示了一个从32位BRAM(Block RAM)进行AXI单次读取操作的时序示例。
图1 AXI 单次读时序图
在该时序中,需要注意的信号有:
(1)ARREADY信号
AXI读地址通道(AR Channel)上的ARREADY信号是一个注册输出信号,它默认是高电平断言(即置高)。AXI BRAM Controller可以在ARVALID信号首次有效的同一时钟周期内接受读取地址。当ARVALID和ARREADY信号都被断言时,AXI BRAM Controller将读取地址寄存器化(即存储)。
(2)读取地址流水线
AXI BRAM Controller内部有一个读取地址流水线(通常有两级深度)。当流水线满时(即已经有两个地址等待处理),AXI BRAM Controller会清除ARREADY信号,直到流水线中的地址数量减少,再次回到非满状态。
(3)RREADY信号
如果主设备可以立即接受数据,它可以在同一时钟周期内断言RREADY信号。当主设备在AXI总线上断言RREADY信号时,AXI BRAM Controller会否定(即置低)RVALID信号。这表示主设备已经准备好接收数据,并且BRAM Controller会在下一个时钟周期提供数据。
(4)RVAL