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

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

3天内不再提示

Versal ACAP PS GEM - GEM 控制器可能在大型发送卸载配置中触发错误的 Amba_Error

任凭风吹 来源:任凭风吹 作者:任凭风吹 2022-08-05 17:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

除了误报此错误外,并未观测到任何功能性问题,且仍可继续使用 LSO 卸载功能。

这被分类为次要硬件问题,因为可轻松屏蔽并忽略误报事件。

详细描述

LSO 提供 TCP 分段 (TSO) 和 UDP 分片 (UFO) 硬件功能,广泛用于提升 TCP/IP 或 UDP/IP 性能。

当软件通过缓冲区描述符 (BD) 查询大型帧时,DMA 引擎将基于软件编程的最大分段大小 (MSS) 值(对应 TSO)或最大以太网帧大小(对应 UFO)来生成其自己的 BD。

启用并激活 LSO 后,中断状态寄存器的位 6 会检查这些生成的 BD 的有效性,如果不正确则会发出报告。

经观测发现,当 DMA 进入休眠状态(由于没有帧在排队)时,中断状态寄存器的位 6 可能误报错误。

敬请放心忽略此误报。

解决方案

影响:

很小。可采用软件变通方法。

GEM IP 可能错误触发“amba error”中断。

变通方法:

根据 LSO 帧正在其中排队的队列,将每个 BD 中发送的缓冲区最大长度限制为比分配给该队列的 TX SRAM 空间少 56 个字节。

例如,如果 LSO 帧正在 Q0 中排队,并且已向 Q0 分配 16KB(作为硬件配置的一部分),那么请将每个排队的 BD 中的长度字段限制为最大 16327 个字节(即,如果设置的长度字段在 16328 到 16383 范围内,就可能发生此问题)。

赛灵思驱动程序将每个排队的 BD 中的长度字段限制为 16327 个字节。

1. 通过设置中断掩码寄存器的位 6 从而屏蔽中断状态寄存器的位 6,这样即可屏蔽“amba_error”中断。
2. 当软件内核中已启用 TSO 或 UFO 时,忽略中断例程内的“amba_error”中断。
对于上述第 2 和第 3 项:虽然当 LSO 处于活动状态时此事件不出现,但是用户在任何正常操作环境内都不应目击此错误,其主要目的是在帧排队等待发射时检查全部软件错误。

因此,建议用户首先在完全禁用 LSO 的情况下启用此中断并运行测试,以确保不会通过位 6 报告全部软件错误,然后再将其屏蔽以配合 LSO 来使用。

位 6 所报告的此错误描述如下:

"Transmit frame corruption due to AMBA (AHB/AXI) error.Set if an error occurs whilst midway through reading transmit frame from external system memory, including HRESP errors(AHB), RRESP or BRESP(AXI) errors and buffers exhausted mid frame (if the buffers run out during transmission of a frame then transmission stops, FCS shall be bad and tx_er asserted).Also set in DMA packet buffer mode if single frame is too large for configured packet buffer memory size."

此错误表明发生了 AXI 响应错误、检测到未使用的位中间帧 (used-bit-mid-frame) 或者软件排队的帧对于已配置的数据包缓冲区而言过大。

在中断状态寄存器的位 11 中同样会指出上述第 1 项错误,因此即使位 6 已屏蔽,错误事件仍可见。

第 2 和第 3 项错误与 LSO 帧不相关,因为 DMA 内部生成的 BD 的 MSS 更小。

这表明内部(而非软件提供的)BD 存在错误,因此当非 LSO 帧排队时,将不会出现错误事件。

受影响的配置:

在硬件配置中包含“大型发送卸载”(通过 gem_pbuf_lso 配置选项),且在缓冲区描述符中启用 LSO 功能。

解决方案:

这是第三方勘误表。不对该问题进行修复。

审核编辑 黄昊宇

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

    关注

    114

    文章

    17646

    浏览量

    190266
  • GEM
    GEM
    +关注

    关注

    0

    文章

    9

    浏览量

    6861
  • Versal
    +关注

    关注

    1

    文章

    172

    浏览量

    8385
  • ACAP
    +关注

    关注

    1

    文章

    54

    浏览量

    8666
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AMD 7nm Versal系列器件NoC的使用及注意事项

    AMD 7nm Versal系列器件引入了可编程片上网络(NoC, Network on Chip),这是一个硬化的、高带宽、低延迟互连结构,旨在实现可编程逻辑(PL)、处理系统(PS)、AI引擎(AIE)、DDR控制器(DDR
    的头像 发表于 09-19 15:15 2166次阅读
    AMD 7nm <b class='flag-5'>Versal</b>系列器件NoC的使用及注意事项

    LM3423-Q1 汽车 N 沟道恒流 LED 控制器技术手册

    LM3421-Q1 和 LM3423-Q1 系列器件是用于 LED 驱动的多功能高压 N 沟道 MOSFET 控制器。它们可以轻松配置为降压、升压、降压-升压和 SEPIC 拓扑。这种灵活性以及 75 V 的额定输入电压使这些
    的头像 发表于 09-03 17:53 856次阅读
    LM3423-Q1 汽车 N 沟道恒流 LED <b class='flag-5'>控制器</b>技术手册

    LM3423 用于恒流 LED 驱动的 N 通道控制器技术手册

    LM3421 和 LM3423 系列器件是用于 LED 驱动的多功能高压 N 沟道 MOSFET 控制器。它们可以轻松配置为降压、升压、降压-升压和 SEPIC 拓扑。这种灵活性以及 75 V 的额定输入电压使这些
    的头像 发表于 09-03 16:14 638次阅读
    LM3423 用于恒流 LED 驱动<b class='flag-5'>器</b>的 N 通道<b class='flag-5'>控制器</b>技术手册

    一文读懂 | SECS/GEM 通信基础及 GEM 控制状态模型

    现代化制造工厂要求设备与工厂主机系统之间实现流程同步与无缝通信。SEMI标准(尤其是SECS/GEM(半导体设备通信标准/通用设备模型)系列标准)通过规范这些实体间的通信协议,已成为半导体制造自动化
    的头像 发表于 08-19 13:46 3595次阅读
    一文读懂  |  SECS/<b class='flag-5'>GEM</b> 通信基础及 <b class='flag-5'>GEM</b> <b class='flag-5'>控制</b>状态模型

    是否有可能在 FX10 嵌入一个电源传输堆栈并使用这两个引脚进行通信?

    电阻接地。这应该允许 FX10 知道电缆连接方向并相应地控制内部 USB 多路复用器。 将来是否有可能在 FX10 嵌入一个电源传输堆栈并使用这两个引脚进行通信?
    发表于 07-21 07:59

    基于AMD Versal器件实现PCIe5 DMA功能

    Versal是AMD 7nm的SoC高端器件,不仅拥有比16nm性能更强的逻辑性能,并且其PS系统的CPM PCIe也较上一代MPSoC PS硬核PCIe单元强大得多。本节将基于A
    的头像 发表于 06-19 09:44 1452次阅读
    基于AMD <b class='flag-5'>Versal</b>器件实现PCIe5 DMA功能

    CAN总线采样点不一致的危害

    。其中一个ECU的采样点配置为50%,而其他ECU配置为87.5%。在高噪声环境下,采样点为50%的ECU可能在信号未稳定时采样,导致位错误。该ECU会
    发表于 06-07 08:55

    可能在 FX3 GPIF2 创建两个独立的状态机吗?

    我想,如果我想通过 FX3 GPIF2 创建两个独立的传输流接口,我需要在 GPIF2 设计创建两个独立的状态机,我是否有可能在 GPIF2 设计
    发表于 05-20 06:14

    如何验证CAN控制器错误响应机制?

    CAN节点的稳定性、可靠性和安全性得益于其强大的错误管理机制。上一篇文章我们介绍了CAN控制器错误管理机制的工作原理。本文将基于其工作原理及ISO16845-1:2016标准,为大家介绍
    的头像 发表于 04-30 18:24 650次阅读
    如何验证CAN<b class='flag-5'>控制器</b>的<b class='flag-5'>错误</b>响应机制?

    Design Studio 3.6.0配置错误怎么解决?

    在尝试配置其他 SPI 接口时,我不断遇到 RTD 5.0.0 的 DS 3.6.0 上的错误。 任何想法可能导致这种情况的原因吗?我尝试卸载并重新安装 DS 和 RTD,但遇到了相同
    发表于 03-28 07:53

    L9663如何使用上行缓冲区发送同步脉冲?

    我根据L9663 Datasheet这个手册,想使用这个配置“通过带有上行数据缓冲区的SPI触发。微控制器发送相应的SPI命令以发送同步脉冲
    发表于 03-13 08:15

    ads8568采集基本正常,但可能在某一次上电后,出现不工作的状态,为什么?

    现在遇到这样问题:ads8568采集基本正常,但可能在某一次上电后,出现不工作的状态(busy为高),必须重新上电才能正常,CONVST、RD、CS等输入正常 说明:此AD芯片挂在fpga上,供电电压HVDD和HVSS连接+5v,-5v,与模拟电压共用 DVDD:+3.3v 数字
    发表于 02-06 08:00

    串口中断是内部中断还是外部中断,串口中断是怎么触发

    串口中断通常被视为外部中断。虽然串口控制器(如USART、UART等)可能集成在微控制器或处理的内部,但从中断的角度来看,串口中断是由处理
    的头像 发表于 01-29 15:03 2626次阅读

    GPIO错误排查与解决

    在嵌入式系统和微控制器编程,通用输入输出(GPIO)是最常见的接口之一。然而,在使用GPIO时,我们可能会遇到各种错误。 1. 理解GPIO GPIO是微
    的头像 发表于 01-09 09:46 3718次阅读

    易灵思FPGA PS配置模式--v7

    准备工作 PS模式首先要把Bitstream Generation的 (1)JTAG模式选择为Passive (2)根据PS的位宽选择相应的Programming Mode. (3)生成相应的下载
    的头像 发表于 12-24 14:37 2123次阅读
    易灵思FPGA <b class='flag-5'>PS</b><b class='flag-5'>配置</b>模式--v7