Advertisement

ZYNQ7000 AXI 总线相关介绍(待补充)

阅读量:

1、AXI 总线通道,总线和引脚的介绍

AXI接口具有五个独立的通道:

(1)写地址通道(AW ):write address channel

(2)写数据通道(W ): write data channel

(3)写响应通道( B ) : write response channel

(4)读地址通道(AR ):read address channel

(5)读数据通道( R ): read data channel

五个通道图为:

读地址通道和读数据通道

**写地址通道,写数据通道和写响应通道
**


读地址通道的信号:S_AXI_ARADDR,S_AXI_ARPROT,S_AXI_ARVALID,S_AXI_ARREADY;

读数据通道的信号:S_AXI_RDATA,S_AXI_RRESP,S_AXI_RVALID,S_AXI_RREADY;

写地址通道的信号:S_AXI_AWADDR,S_AXI_AWPROT,S_AXI_AWVALID,S_AXI_AWREADY;

写数据通道的信号:S_AXI_WDATA,S_AXI_WSTRB,S_AXI_WVALID,S_AXI_WREADY;

写响应通道的信号:S_AXI_BRESP,S_AXI_BVALID,S_AXI_BREADY。

AXI接口的总线宽度:

**C_S_AXI_ADDR_WIDTH **: S_AXI数据总线的宽度

**C_S_AXI_ADDR_WIDTH **: S_AXI 地址总线的宽度

AXI接口的信号详细说明:

S_AXI_ACLK : in std_logic;

总线的输入时钟信号

S_AXI_ARESETN : in std_logic;

全局性的复位信号,这个信号低电平有效

S_AXI_AWADDR : in std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);

写地址通道(由主设备设置发送到从设备)

S_AXI_AWPROT : in std_logic_vector(2 downto 0);

指定通道保护类型,请问您是否了解?该信号表明事务的优先级和安全性等级,并指示该事务是基于数据操作还是指令操作。

S_AXI_AWVALID : in std_logic;

写地址有效,此信号表示主设备正在发送有效的写入地址和控制信息。

S_AXI_AWREADY : out std_logic;

写地址就绪。这个信号表明,从设备将接受地址和相关的控制信号。

S_AXI_WDATA : in std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);

写数据(由主设备设置传送到从设备**)**

S_AXI_WSTRB : in std_logic_vector((C_S_AXI_DATA_WIDTH/8)-1 downto 0);

该信号指示... write data bus线上哪个字节通道存储有效数据。此线上的... 8个bit相当于每个8bit配置一个write enable。

S_AXI_WVALID : in std_logic;

写有效,这个信号表明有效的写数据和写选通可用

S_AXI_WREADY : out std_logic;

写准备,这个信号表明从设备可以获取写数据

S_AXI_BRESP : out std_logic_vector(1 downto 0);

写响应,这个信号表明写事务的完成状态

S_AXI_BVALID : out std_logic;

写响应有效。此信号表示信道正在发出有效的写响应。

S_AXI_BREADY : in std_logic;

响应准备,这个信号表明主设备可以接受写响应

S_AXI_ARADDR : in std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);

读地址(由主设备设置传送到从设备)

S_AXI_ARPROT : in std_logic_vector(2 downto 0);

请阅读通道的权限类型。该信号表明事务拥有 elevated 权利级别的安全等级,并确定事务是否属于数据操作还是指令操作。

S_AXI_ARVALID : in std_logic;

读地址有效,此信号表明读地址通道正在发送有效的读地址和控制信息

S_AXI_ARREADY : out std_logic;

读地址准备,这个信号表明从设备已经准备接受地址和相关的控制信号

S_AXI_RDATA : out std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);

读数据(由从设备设置)

S_AXI_RRESP : out std_logic_vector(1 downto 0);

读响应,此信号表明读数据传输的完成状态

S_AXI_RVALID : out std_logic;

读有效,此信号表明读数据通道正在传输需要的读数据

S_AXI_RREADY : in std_logic

读准备,此信号表明主设备可以接受读数据和响应信息

2、AXI 总线通道握手信号之间的依赖性

AXI系统包含五个通道(五个互连组件),每个通道均配备一对valid和ready信号用于同步数据传输与控制操作。发送端设备利用valid信号表明其准备接收有效的数据与控制指令;接收端设备则借助ready信号确认其已准备好接收相应的指令与数据。当valid与ready均为高电平状态时,则表示存在有效的传输信息。各通道之间能够实现独立的通信握手机制,在此过程中彼此间的关系较为灵活多变。对于读取操作而言,则必须紧跟与其相关联的数据地址的操作;而对于写入操作而言,则必须在其相关的write操作完成后才能执行相应的响应处理

读事务握手依赖关系如图:

**

**

(1)设备可以在 ARVALID 出现的时候发送 ARREADY 信号;同样也可以先发送 ARREADY 信号后等待 ARVALID 的到来。
(2)仅当所有相关信号均有效时才可触发 RVALID 并开始数据传输;仅在读地址发送完成之后才可以执行读数据操作**(箭头形状不同)**

**
**

写事务握手依赖关系如图:

(1)主机无法处于设备先提供AWREADY或WREADY状态并随后提供AWVALID或WVLAID的状态。
(2)设备可以在 waiting for either of the signals AWVALID or W VALID to become valid, or both, before emitting an AW READY signal.
(3)设备可以在 waiting for either of the signals AW VALID or W VALID to become valid, or any one of them being invalid, before emitting a W READY signal.

全部评论 (0)

还没有任何评论哟~