AXI4协议详解(二)

写在前面:上一篇文章我们介绍了AXI4协议各通道的信号构成与握手机制,之后我们将在解析读写过程的同时,手把手教你实现一个从机的读写过程。由于今天的篇幅所限,本篇文章将实现一个从机的写过程,作为协议解析与实现系列的一个开始。回复AXI4可以得到本系列的RTL设计以及仿真环境,链接有实时更新

文章链接:https://mp.weixin.qq.com/s/b87ZkPyX68vYoiMXLjjB9g
在这里插入图片描述

先说下读完这篇文章的预期结果,也算是一个小作业——完成一个AXI4从机写过程的rtl设计,并使用VIP验证设计。

整体分为声明端口RTL设计以及仿真验证三部分,废话不多说,我们直接搞:

一、声明端口

首先,我们要进行输入输出端口的声明,由于我们今天设计的是一个AXI4从机,因此对照着上篇文章里的信号列表,标记S2M的设置为output,标记为M2S的设置为input。

当然,在写的时候不可避免要遇到一些位宽问题,在这里就一并再详细介绍下各信号的位宽是怎么选定的:

  • ID类信号(AWID、BID、ARID、RID)

    ID信号指示的是传输任务序号,主机可以设置传输任务的序号指示执行的顺序。其中,来自同一个主机,同一个序号的指令只能顺序执行;来自同一主机不同序号的或来自不同主机的传输任务没有执行顺序的要求。因此传输任务ID的作用是指定某些特殊传输任务的顺序,当存在明确的先后顺序时,可以用相同的任务ID标识。

    同时在这里还要特别指出,上篇文章当中有一些小错误,写通道的ID在AXI4协议中被取消了,这也就意味着写通道的写顺序必须与写地址通道保持一致。spec中讲取消这一信号的原因是AXI4取消了AXI3协议中对交织写数据的支持,AXI4只能进行连续写数据,因此WID信号变得冗余,为了节省端口数将WID取消掉了。

    四个ID信号的位宽可以使用一致的宽度,建议作为模块参数进行自定义,笔者定义位宽为4。

  • 地址类信号(AWADDR、ARADDR)

    地址类信号的位宽代表了本个从机的地址映射区的大小。这里再废话几句,主机对从机的控制其实是通过访问从机的寄存器实现的。如下图所示,两个从机的寄存器(寄存器大小均为32位)被映射在一个主机的访问地址中,其中0x44A0_0000是第一个从机的偏置地址,占用空间1KB,0x44A0_1000是第二个从机的偏置地址,占用空间4KB。如果想要访问第一个从机的第二个寄存器,只需要访问0x44A0_0004地址的寄存器即可。

在这里插入图片描述

AXI4协议规定主机上寄存器块的最小分块单元为4K Byte,每个从机的开始映射地址都是4KB的边界。这也影响了AXI4的一个读写规则,那就是一个burst传输不能跨越4KB的界限,否则就会引入将数据错误写入其他从机的风险。注意这个4KB的界限指的是MASTER的地址界限,例如一个burst中不能越过0xXXXX_X000的地址位。

地址位的位宽也可以自定义设置,建议定义为模块参数,笔者设置为了8位,也就是说设计的从机共有64个寄存器,每个寄存器含有一个32位数据。

  • 数据类信号(WDATA、RDATA、WSTRB、WLAST、RLAST)

    其中WDATA与RDATA为总线的数据位宽,也是每个地址下的寄存器大小。位宽可以根据总线需要设定,本设计中使用较为常用的32位。

    WSTRB为写选通信号,指示当前传输的有效数据段。有效数据段单位是8bit,也就是32bit数据位宽的总线的WSTRB信号会有4位,WSTRB[3]指示WDATA[31:24]的有效性。

    1. WSTRB可以用在AXI4总线的“Narrow Transfer”特性中:当burst传输的数据位(burst size)小于总线位宽时,可以通过选通信号进行部分写入。如图所示,当burst size表示传输数据位为8且传输类型为递增(INCR)时,32位数据总线位宽的写入情况(此时的写入选通信号依次为:4’b0001,4’b0010,4’b0100,4’b1000,4’b0001):

    1. WSTRB信号也可以用在AXI4总线的“Unaligned Transfer”中:当传输的目标地址与寄存器的边界未对齐时,可以使用非对齐传输,如下图所示,在寄存器位宽32位时,起始传输地址0x07时的传输情况:

    WLAST信号指示最后一个写数据,与最后一个写数据的WV

  • 16
    点赞
  • 130
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: AXI4 协议是一种用于片上总线通信的协议,它定义了数据传输格式和时序规则,能够实现高效、可靠的通信。AXI4 协议中文版 PDF 是指 AXI4 协议的中文版官方文档的 PDF 格式。 AXI4 协议中文版 PDF包含了完整的 AXI4 协议的介绍和详细说明,包括协议的各种特性、信号的定义和使用方法等。它可以作为学习和开发 AXI4 协议相关硬件设计的重要参考资料。 在 AXI4 协议中文版 PDF 中,可以找到以下内容: 1. AXI4 协议的基本原理和概念:介绍了 AXI4 协议的基本思想和设计原则,包括数据传输、信号控制、地址映射等方面的内容。 2. AXI4 接口信号的定义和功能:详细介绍了 AXI4 协议中各个接口信号的定义和功能,包括主设备接口(Master)和从设备接口(Slave)的信号。 3. AXI4 数据传输模式:说明了 AXI4 协议中支持的不同数据传输模式,如单一读传输、单一写传输、连续读传输、连续写传输等。 4. AXI4 时序要求和时序图:描述了 AXI4 协议中各个信号之间的时序关系和时序要求,并给出了示意图和时序图来帮助理解。 通过学习 AXI4 协议中文版 PDF,可以深入了解 AXI4 协议的工作原理和使用方法,帮助我们进行 AXI4 协议相关的系统设计和芯片开发。它是学习和使用 AXI4 协议必备的参考文献,对于提高硬件设计的效率和质量非常有帮助。 ### 回答2: AXI4(Advanced eXtensible Interface 4)是一种用于片上总线通信的协议。此协议定义了用于高性能、低功耗和可扩展性的互连架构。AXI4协议中文版的PDF是一份介绍AXI4协议的文档,它用中文描述了AXI4协议的各个方面。 在这份PDF中,会详细介绍AXI4协议的主要特点和功能。它会解释AXI4总线的各个信号线及其作用,如地址线、数据线、控制线等。此外,还会介绍AXI4协议的传输模式,包括读取和写入操作的时序和信号流程。 同时,这份PDF还会解释AXI4协议的一些高级特性,如乱序传输、突发传输和AXI4-Lite等。这些特性可以提高片上系统的性能和效率,使处理器和外设之间的通信更加灵活和可靠。 此外,这份PDF也会提供一些AXI4协议的实际应用示例,以帮助读者更好地理解和使用该协议。它会介绍如何在FPGA或芯片设计中使用AXI4协议进行有效的通信和数据传输。 总而言之,AXI4协议中文版的PDF是一份详细介绍AXI4协议的文档,它用中文简明扼要地解释了该协议的原理、特性和应用。对于从事片上系统设计和开发的工程师和学者来说,这份PDF是一份重要的参考资料。 ### 回答3: 《AXI4协议中文版PDF》是指AXI4协议的中文版本的电子文档,可供用户阅读和参考。AXI4(Advanced eXtensible Interface 4)是一种高性能、高带宽的片上总线协议,用于在系统芯片内的不同模块之间进行通信和数据传输。AXI4协议的中文版PDF为用户提供了关于AXI4协议的详细说明和文档,使用户能够更好地理解和应用该协议。 《AXI4协议中文版PDF》中可能包含的内容包括协议结构、信号描述、传输模型、传输方向、读写交互过程、数据通道和地址通道等内容。该文档通常还会提供一些使用示例和常见问题解答,以帮助用户更好地理解和实施AXI4协议。 用户可以通过阅读《AXI4协议中文版PDF》,深入了解AXI4协议的运作原理、特性和设计实践。该文档通常由协议标准制定组织或相关技术公司编写,具有权威性和可靠性。 最常见的获取《AXI4协议中文版PDF》的方式是通过互联网进行下载。用户可以在搜索引擎或相关技术论坛上搜索相关资源,并从可信的网站上下载该文档。同时,一些ASIC设计书籍或在线教程也可能提供AXI4协议的中文版本的PDF。 总之,《AXI4协议中文版PDF》是一份关于AXI4协议的中文电子文档,可供用户阅读和参考,帮助用户更好地理解和应用AXI4协议。用户可以通过互联网搜索和下载该文档,或通过相关书籍和教程获取。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值