AXI Stream Interface
1、数据流应用
2、最基本的一个写通道
主机向从机写数据,从机先发送READY信号,表示已经准备好接收数据,主机向从机发送VALID信号,表示有效发送
AXI Memory Mapped Interface(Channels)
AXI 存储映射接口(通道)
读操作:
主机对从机进行读操作,需要让主机知道读数据的地址 read address
写操作:
主机对从机进行写操作,需要知道写的地址以及写入的数据,写完之后从机要给主机一个回应,表示数据已经写成功或者失败。
在写地址所涉及到的信号:
Write Address; AWVALID; AWADDR; AWREADY ; AWLEN; AWSIZE; AWID; AWCACHE;
主机在给从机写写地址的时候,用于数据写入的地址,接着主机会向从机发送AWVALID; AWADDR来表示地址有效,准备开始发送;接着从机发出AWREADY信号表示已经准备好接收信号,当 AWVALID,AWREADY这两个信号同时拉高时,就可以开始写地址;AWLEN表示传输的突发数量;AWSIZE表示每次传输的大小(多少bit); AWID由主机发送给从机,表示传输主机的ID,用于从机区分不同的主机,可以让从机知道数据是由哪个主机传输过来的; AWCACHE
在写数据所涉及到的信号:
Write Data、WVALID、WDATA、WREADY、WLAST、WSTRB
主机在给从机写数据的时候,首先也是要先进行一个握手协议,主机向从机发送WVALID、WDATA,表示已经准备好可以开始写数据,然后从机发出WREADY信号表示已经准备好接收发来的数据,从而两个达成握手协议,在发送最后一个数据时,主机向从机发送WLAST信号告诉从机这是最后一个数据,而最后的WSTRB表示当WSTRB的高/低位为1表示相应数据的高/低位有效,相反如果高/低位为0表示数据的高/低位数据无效。
写回应所涉及的信号:
BVALID、BREADY、BRESP、BID
当写操作完成时,从机会给主机发送信号,同样的也会进行一个握手协议,但是这次是从机先发送一个BVALID信号表示已经可以开始发送了,而主机会发送一个BREADY信号表示已经准备好接收了,从而达成握手协议,此时从机发送BRESP信号给主机,如果是00则表示写成功,而如果是01则表示低位写错误,最后的BID信号表示从机要将回复信号发送给哪个主机,给出精确的主机ID避免回复错误。
读地址时所涉及的信号:
ARVALID、ARADDR、ARREADY、ARLEN、ARSIZE、ARID、ARCACHE
和写操作前面都类似,同样先经过一个握手协议,主机给出ARADDR的读地址,并且ARVALID告诉从机地址有效可以要开始读了,从机给出ARREADY信号表示ok已经准备好了,可以来读取了。ARLEN表示传输的突发数量;ARSIZE表示每次传输的大小(多少bit),ARID同写的一样表示是哪个主机ID来对从机进行读操作、ARCACHE由主机给出表明缓存的类型。
读回应所涉及的信号:
RVALID、RREADY、RDATA、RRESP、RLAST、RID
同样的先进行握手协议,从机发送RVALID表明准备要发信号了,此时主机给出RREADY,表明主机已经准备好了,可以接收信号了,RDATA表示从机向主机发送数据,RRESP表示从机发出这段信号表明传输数据的状态(成功或者失败),RLAST信号表示在传输书籍的最后一个,以提醒主机,RID表示传输的数据是给哪个主机ID,避免传输错误。
还有一些其他的信号:
1、低功耗接口:
外设可以改变不同的功耗状态。
2、保护类型:
传输的安全等级。
3、为传输的效率做服务:
指定传输的优先级。
4、区域标识符
多种的存储区域为一个单独的从机设备
5、用户自定义的信号
从图中可以看出,在进行写操作的时候有三个通道分别是:写地址通道、写数据通道、写响应通道;而读操作的时候只有两个通道:读地址通道、读数据通道。这五个通道在执行前都需要进行握手协议。
握手协议的三种形式
1、VAILD信号先拉高,READY信号随后拉高。
2、 READY信号先拉高, VALID信号随后拉高。
3、VAILD信号和READY信号同时拉高
本文章为视频笔记,视频来源:AXI Memory Mapped Interfaces & Hardware Debugging in Vivado (Lesson 5)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV13W411H7Mw?share_source=copy_web