0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是AXI outstanding

麦辣鸡腿堡 来源:TrustZone 作者:TrustZone 2023-10-31 16:24 次阅读

什么是outstanding?

从字面理解,outstanding表示正在进行中的,未完成的意思,形象地说就是“在路上”。

比如现在需要传输一段数据,假设没有outstanding,必须等到地址握手成功才能传输数据,而每一次握手过程中都不能保证主从机此刻都准备好,那这样在数据传输过程中就难免会有气泡,难以实现真正的全流水和满性能。

所以从设计的角度,我们就有多发几个地址的需求,比如我们可以发出去10个地址,尽管我们还没给数据,但是可以让从机知道,我们接下来要向这些地址写数据,这样就可以不用刻板地遵循,每次都要写地址握手成功再写数据。

所以在这个例子中,outstanding就是发出去的地址数量,未处理的地址可以先存放在AXI总线的缓存里,等完成一次传输事物之后,无需再握手传输地址,即可立即进行下一次的数据传输,所以outstanding本质上是为了实现数据传输的pipeline。

简单讲,如果没有outstanding,或者说outstanding能力为1,则总线Master的行为如下(AHB总线就没有outstanding能力):

•1)读操作:读地址命令 -》 等待读数据返回 -》 读地址命令 -》 等待读数据返回

•2)写操作:写地址命令-》写数据-》等待写响应返回-》写地址命令-》写数据-》等待写响应返回

而如果outstanding能力为N》1的话,则:

•1)读操作:可以连续发N个读地址命令,这期间如果读数据没有返回,则需要等待读数据返回,如果有读数据返回,则返回了几个,那么仍然可以接着发几个。也就是说,“在路上”的读命令(或者读数据)最多可以是N。多说一点,可以看出,如果数据返回得比较慢,那么IP需要等待,效率就会比较低,因此,为了提高效率,有必要提高outstanding能力,以弥补”路上“(总线)引入的延时。但是也不能无限制地发,否则有可能会引起总线拥塞,把其他IP给堵住。

如何计算outstanding?

首先,对于AXI而言,outstanding能力分为读outstanding能力和写outstanding能力。

如何计算outstanding能力呢?

首先对一些概念进行类比:

•burst传输的长度为一列高铁的节数,8节高铁对应的burst length=8。

•一节高铁载的乘客数就是AXI的数据位宽,常见的AXI的数据位宽有64bit,128bit等等。

•高铁的速度就是AXI总线的时钟频率,好比AXI的频率有的是200MHz,有的是300MHz。

•从高铁站触发,到终点的线路长度就是AXI的总线延迟,即AXI的Master 到Slave的延迟拍数(Clock
Cycle)固定了,一节高铁可以等效为AXI的一个Cycle。

类比之后,以一段高铁线路为例,起点为A,终点为B,从A到B的高铁线路如果要达到最高效率,需要在线路上排满高铁,首尾相接。那么需要多少列高铁才能达到最大效率呢?

假设需要X列高铁,(1列有N节)

X=(高铁线路总长度2)/(N节高铁的长度),N节高铁的长度=1节高铁的长度N,

所以X可变换为((高铁线路总长度/1节高铁长度)*2)/N,其中(高铁线路总长度/1节高铁长度)为高铁总节数,因为一节高铁对应一个AXI的cycle,所以高铁总节数对应该线路的延迟Cycle总数。

X=线路延迟Cycle数目*2/N,

X即为AXI outstanding,其中线路延迟Cycle数目*2为Round Trip Latency(cycle)(往返总延迟),N为burst length。

(补充:最大传输带宽=AXI Clock Frequency x AXI Data Width)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6899

    浏览量

    88842
  • 总线
    +关注

    关注

    10

    文章

    2868

    浏览量

    87995
  • AXI
    AXI
    +关注

    关注

    1

    文章

    127

    浏览量

    16598
收藏 人收藏

    评论

    相关推荐

    AXI VIP设计示例 AXI接口传输分析

    赛灵思 AXI Verification IP (AXI VIP) 是支持用户对 AXI4 和 AXI4-Lite 进行仿真的 IP。它还可作为 A
    发表于 07-08 09:24 1752次阅读

    AXI VIP当作master时如何使用

      AXI接口虽然经常使用,很多同学可能并不清楚Vivado里面也集成了AXI的Verification IP,可以当做AXI的master、pass through和slave,本次内容我们看下
    的头像 发表于 07-27 09:19 1127次阅读
    <b class='flag-5'>AXI</b> VIP当作master时如何使用

    XILINX FPGA IP之AXI Traffic Generator

    AXI Traffic Generator IP 用于在AXI4和AXI4-Stream互连以及其他AXI4系统外设上生成特定序列(流量)。它根据IP的编程和选择的操作模式生成各种类型
    的头像 发表于 11-23 16:03 2377次阅读
    XILINX FPGA IP之<b class='flag-5'>AXI</b> Traffic Generator

    ARM系列 -- AXI协议资料汇总(二)

    1、AXI协议用AxCACHE来控制事务属性来看看事务属性(Transaction Attributes),主要是对cache,buffer和memory controller的规定。按照协议,从机
    发表于 04-08 09:49

    Arm AMBA协议集中AHB与AXI相比访问DDR效率带宽会差很大

    Arm AMBA协议集中,AHB没有outstanding, 只有burst。 与AXI 相比访问DDR 效率,带宽会差很大?
    发表于 09-14 11:44

    Arm中AHB与AXI相比访问DDR效率带宽会差很大

    Arm AMBA协议集中,AHB 没有outstanding, 只有burst。与AXI 相比 访问DDR 效率,带宽会差很大?
    发表于 09-27 11:59

    如何使用Xilinx AXI VIP对自己的设计搭建仿真验证环境的方法

    到。axi-vip和axi-stream-vip都有自带的仿真例程,常用的功能在仿真例程中都有涉及。2.1设置VIP支持的Outstanding读写深度例如,设置slave vip的outst
    发表于 10-09 16:08

    AXI参考指南(英文资料)

    AXI Reference Guide (AXI).pdf
    发表于 12-23 16:41 55次下载

    何谓 AXI?关于AXI3/AXI4的相关基础知识

    引言 近来,几乎每个赛灵思 IP 都使用 AXI 接口。Zynq、Zynq MP、MicroBlaze 和全新的 Versal 处理器都无一例外使用 AXI 接口。因此,AXI 接口已成为几乎所有
    的头像 发表于 09-27 11:06 6562次阅读
    何谓 <b class='flag-5'>AXI</b>?关于<b class='flag-5'>AXI</b>3/<b class='flag-5'>AXI</b>4的相关基础知识

    ZYNQ中DMA与AXI4总线

    ZYNQ中DMA与AXI4总线 为什么在ZYNQ中DMA和AXI联系这么密切?通过上面的介绍我们知道ZYNQ中基本是以AXI总线完成相关功能的: 图4‑34连接 PS 和 PL 的 AXI
    的头像 发表于 11-02 11:27 4292次阅读
    ZYNQ中DMA与<b class='flag-5'>AXI</b>4总线

    AXI4 、 AXI4-Lite 、AXI4-Stream接口

    AXI4 是一种高性能memory-mapped总线,AXI4-Lite是一只简单的、低通量的memory-mapped 总线,而 AXI4-Stream 可以传输高速数据流。从字面意思去理解
    的头像 发表于 07-04 09:40 8446次阅读

    AXI3与AXI4写响应的依赖区别​

    上面两图的区别是相比AXI3,AXI4协议需要确认AWVALID、AWREADY握手完成才能回复BVALID。为什么呢?
    的头像 发表于 03-30 09:59 1047次阅读

    AXI VIP当作master时如何使用?

    AXI接口虽然经常使用,很多同学可能并不清楚Vivado里面也集成了AXI的Verification IP,可以当做AXI的master、pass through和slave,本次内容我们看下
    的头像 发表于 07-27 09:16 1594次阅读
    <b class='flag-5'>AXI</b> VIP当作master时如何使用?

    什么是AXIAXI如何工作?

    Xilinx 从 Spartan-6 和 Virtex-6 器件开始采用高级可扩展接口 (AXI) 协议作为知识产权 (IP) 内核。Xilinx 继续将 AXI 协议用于针对 7 系列和 Zynq-7000 All Programmable SoC 器件的 IP。
    的头像 发表于 09-27 09:50 1702次阅读
    什么是<b class='flag-5'>AXI</b>?<b class='flag-5'>AXI</b>如何工作?

    AXI传输数据的过程

    AXI4为例,有AXI full/lite/stream之分。 在Xilinx系列FPGA及其有关IP核中,经常见到AXI总线接口,AXI总线又分为三种: •
    的头像 发表于 10-31 15:37 1097次阅读
    <b class='flag-5'>AXI</b>传输数据的过程