文章目录
前言
本章主要总结axi协议知识
一、AXI 双向握手机制简介
AXI标准协议有五路独立的数据通道(分别为读数据通道,写数据通道,读地址通道,写地址通道,写回复通道),每一路数据通道都遵循双向握手机制,即使用VALID和READY信号作为控制信号来传输数据,只有VALID与READY同时为高的时候,才可以正常的发送数据,而通常情况下,VALID信号用来表示什么时候“地址、数据、和控制信号”是有效的,而READY信号则用来表示什么时候从设备准备好采集数据了。
1.信号列表
AXI标准协议中,双向握手信号合计十个,无论是主设备还是从设备,这十个信号都对应于五个输入信号,五个输出信号
数据通路 | 握手信号对 |
---|---|
写地址通路 | AWVALID,AWREADY |
写数据通路 | WVALID,WREADY |
写回复通路 | BVALID,BREADY |
读地址通路 | ARVALID,ARREADY |
读数据通路 | RVALID,RREADY |
2.双向握手目的
握手:目的是控制数据在总线上的流动和采样
双向:目的是主设备和从设备都可以控制总线数据流动
3.握手过程
顺着双向握手的目的,我们可以引申出三种情况,READY信号先于VALID信号改变,READY信号与VALID信号同时改变,READY信号晚于VALID信号改变。分别进行讨论
case1 (READY信号先于VALID信号改变)
READY信号的拉高,代表从设备准备好采样了,但T2时刻,VALID未拉高,因此未进行采样,而T3时刻,VALID拉高了,完成握手,数据传输。
这种情况下,如果我们将目光对向主设备,会发现,从设备在主设备发送数据前就做好了接受的准备,当主设备VALID后,时钟上升沿就完成了接受。(即数据传输发生在一个时钟周期内)
case2(READY信号与VALID信号同时改变)
VALID信号与READY信号同时拉高,表明数据有效的同时也可以进行采样,在T2时刻的上升沿,采样到正确数据,握手正确,再往后二者都拉低,数据进行了正确传输。
case3(READY信号晚于VALID信号改变)
VALID信号先拉高,表明数据正确,再往后READY拉高,表明可以进行采样,T3时刻进行了采样,采样后,完成握手,再往后二者信号都拉低,这种条件下,数据也进行了正确的传输。
总结
对于上面的讨论,我们可以发现这三种情况,都可以顺利完成握手,同时,协议同样规定,“VALID信号一旦拉高,除非READY信号拉高接收