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

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

3天内不再提示

AXI通道读写DDR的阻塞问题?

OpenFPGA 来源:XILINX开发者社区 2023-12-01 09:04 次阅读

Q1

基于vivado2020.1和zcu102开发板(rev1.1)开发项目,工程涉及DDR4(MIG)和PL端多个读写接口交互的问题,通过AXI interconnect进行互联和仲裁(采用默认配置)。一个完整控制周期内(约100ms),各端口读写情况如下(AWSIZE均为4):

AXI1:只写入,AWLEN=119,每次写请求共计4320次突发写,完整控制周期内1次读请求

AXI2:读写,ARLEN=35,AWLEN=3,每次读请求共计56-232次突发读,写请求共计192-384次突发写,完整控制周期内读写请求各176次

AXI3:读写,ARLEN=5-6,AWLEN=3,每次读请求共计56-232次突发读,写请求共计192-384次突发写,完整控制周期内读写请求各60次

AXI4:读写,ARLEN=7,AWLEN=127,每次读请求共计320-1152次突发读,写请求共计62-128次突发写,完整控制周期内1次写请求,48次读请求

AXI5:只读,ARLEN=127,每次读请求共计3240次突发读,该模块是HDMI显示模块(1920*1080*3)的输入,频率为60Hz,它的读操作是独立于控制周期的

AXI3与AXI4的读会同时请求相同内存区域的数据,AXI4的写与AXI5的读会访问相同内存区域的数据。

AXI2-AXI4是计算模块的输入输出接口,设计之初默认DDR读写速度远高于计算速度,DDR读写会先于计算完成。因此在设计计算模块控制逻辑的时候,没有考虑ddr读写相关的握手信号。但在实际验证过程中,各通道会随机出现阻塞,因此会导致DDR读写地址乃至控制逻辑的错乱。

经过估算DDR带宽是远高于读写数据带宽的,为了解决这一问题,包括但不限于改变突发长度、调整AXI interconnect仲裁优先级等操作中的哪些会起到作用?

以及,一般涉及DDR读写仲裁的控制逻辑需要注意哪些方面?

注:控制逻辑产生的问题是,以AXI2为例,它的176次读写是分为176个子阶段完成的,阶段1首先读取第1批读数据后,开始对第1批数据进行计算,同时开始读取第2批数据。之前默认读一定快于计算,所以以计算完成作为状态转移的标志,在计算完成后发出第1批数据的写请求后,进入第2阶段的逻辑。在该阶段计算第2批数据的同时,读入第3批数据,并完成第1批数据的写入。同样默认读写一定快于计算,在计算完成后,发出第2批数据的写请求,并进入第3阶段。阻塞会导致读数据晚于计算完成,在此情况下,所有的控制逻辑都会发生错乱,DDR的读写地址将不受预期的控制。

A:

通常如果你多个端口同时访问DDR,就会发生阻塞,你可以通过设置priority的方式(如下图),设置优先的通道。

并且建议你的optimization strategic设置成 Maximum Performance,提高interconnect本身的时钟频率。

关于 DDR(MIG),如果你都是地址随机读写的话,并且长度一致的话,DDR效率可以变得很低,这是你的系统设计需要注意的。

有关DDR的效率问题,可以到IP应用的板块进一步咨询。

b8a549e2-8fe1-11ee-939d-92fbcf53809c.png







审核编辑:刘清

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

    关注

    32

    文章

    1636

    浏览量

    151497
  • DDR
    DDR
    +关注

    关注

    11

    文章

    702

    浏览量

    65133
  • AXI总线
    +关注

    关注

    0

    文章

    66

    浏览量

    14241

原文标题:《Vivado那些事儿》多AXI通道读写DDR的阻塞问题?

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用AXI-Full接口的IP进行DDR读写测试

    首先对本次工程进行简要说明:本次工程使用AXI-Full接口的IP进行DDR读写测试。在我们的DDR读写IP中,我们把
    的头像 发表于 07-18 09:53 4957次阅读
    使用<b class='flag-5'>AXI</b>-Full接口的IP进行<b class='flag-5'>DDR</b>的<b class='flag-5'>读写</b>测试

    有关PL端利用AXI总线控制PS端DDR进行读写(从机wready信号一直不拉高)

    一直拉高的。这与写数据通道好像有点区别。 我不清楚PS 端的DDR到底发生了什么,但是和MIG核就是有点不一样,通过仿真MIG核可以发现,PL端的DDR是会先一直发出wready信号的。这个问题就是我
    发表于 05-31 12:04

    基于FPGA的DDR3六通道读写防冲突设计

    设计的基于AXI4的DDR3多端口方案虽然传输速率有所提高,但由于AXI4协议本身的复杂性增加了开发使用的难度。本文实现并验证了期货行情数据加速处理中基于FPGA的DDR3六
    发表于 08-02 09:32

    玩转Zynq连载37——[ex56] 基于Zynq的AXI HP总线读写实例

    HP总线。PL作为AXI HP主机,可以通过这4条总线实现对内存(DDR3)的读写访问,这4条总线加总的极限带宽,通常能够超过DDR3的最大有效带宽,因此,对于处理器与PL之间的数据
    发表于 11-26 09:47

    【正点原子FPGA连载】第九章AXI4接口之DDR读写实验--摘自【正点原子】达芬奇之Microblaze 开发指南

    DDR读写实验Xilinx从Spartan-6和Virtex-6系列开始使用AXI协议来连接IP核。在7系列器件中,Xilinx在IP核中继续使用AXI协议。本章我们对
    发表于 10-22 15:16

    DMA内部寄存器的读写方式和应用场合

    访问DMA内部寄存器,向其写入配置信息,然后根据配置信息,高效的进行数据传输;DMA也可以启动S/G传输模式,通过独立的AXI S/G通道DDR中获取描述符信息,然后协调以太网和DDR
    发表于 12-23 17:48

    AXI4协议的读写通道结构

      AXI4协议基于猝发式传输机制。在地址通道上,每个交易有地址和控制信息,这些信息描述了需要传输的数据性质。主从设备间的数据传输有两种情况,一种是主设备经过写通道向从设备写数据(简称写交易
    发表于 01-08 16:58

    关于期货行情数据加速处理中基于FPGA的DDR3六通道读写防冲突设计详解

    期货行情数据加速处理中基于FPGA的DDR3六通道UI接口读写防冲突设计,简化了DDR3多通道读写
    发表于 08-01 15:25 3383次阅读
    关于期货行情数据加速处理中基于FPGA的<b class='flag-5'>DDR</b>3六<b class='flag-5'>通道</b><b class='flag-5'>读写</b>防冲突设计详解

    使用AXI performance monitors(APM)测试MPSoC DDR访问带宽

    MPSoC的DDR控制器的数据通道上集成了 AXI performance monitors (APM)。具体情况,可以参考Xilinx UG1085 (v2.2)中Chapter 15的“Figure 15‐1: PS Int
    的头像 发表于 08-02 14:20 2365次阅读
    使用<b class='flag-5'>AXI</b> performance monitors(APM)测试MPSoC <b class='flag-5'>DDR</b>访问带宽

    AXI通道定义及AXI总线信号描述

    本文主要介绍了AXI通道以及在每个通道下信号的概述。
    的头像 发表于 08-04 10:49 1.1w次阅读

    握手机制、通道依赖性及AXI-Lite握手实例

    AXI4:高性能内存映射需求(如读写DDR、使用BRAM控制器读写BRAM等),为了区别,有时候也叫这个为 AXI4-Full;
    的头像 发表于 06-25 16:23 1318次阅读
    握手机制、<b class='flag-5'>通道</b>依赖性及<b class='flag-5'>AXI</b>-Lite握手实例

    基于AXI总线的DDR3读写测试

    本文开源一个FPGA项目:基于AXI总线的DDR3读写。之前的一篇文章介绍了DDR3简单用户接口的读写方式:《
    的头像 发表于 09-01 16:20 4154次阅读
    基于<b class='flag-5'>AXI</b>总线的<b class='flag-5'>DDR</b>3<b class='flag-5'>读写</b>测试

    基于FPGA的DDR3读写测试

    本文介绍一个FPGA开源项目:DDR3读写。该工程基于MIG控制器IP核对FPGA DDR3实现读写操作。
    的头像 发表于 09-01 16:23 1501次阅读
    基于FPGA的<b class='flag-5'>DDR</b>3<b class='flag-5'>读写</b>测试

    什么是阻塞和非阻塞

    什么是阻塞和非阻塞?我们就用管道的读写来举例子。
    的头像 发表于 03-25 10:04 436次阅读

    FPGA通过AXI总线读写DDR3实现方式

    AXI总线由一些核心组成,包括AXI主处理器接口(AXI4)、AXI处理器到协处理器接口(AXI4-Lite)、
    发表于 04-18 11:41 1179次阅读