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

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

3天内不再提示

ATS失效请求报文问题的故障排除步骤

XILINX开发者社区 来源:XILINX开发者社区 2025-06-09 15:17 次阅读

作者:AMD 工程师 Iris Yang & Deepesh Man Shakya

本篇文章提供了解决 ATS 失效请求报文问题的故障排除步骤,主要聚焦在 CQ 接口上未显示主机发送的报文的情况。

ATS 失效使用

对于在支持地址转换服务 (ATS) 的 PCIe 系统中保持地址转换表的准确性而言,ATS 失效请求报文至关重要。

只要系统中包含执行地址转换的器件(如使用 I/O 存储器管理单元 (IOMMU) 的器件),那么这类系统就与 ATS 失效请求报文密不可分。AT 失效请求报文旨在通知 PCIe 器件,其地址转换高速缓存(包含器件地址与系统地址之间的映射)中的特定条目已过时,应使其失效。如果您遇到主机发送 ATS 失效请求报文但 CQ 侧未接收到该报文的情况,请按照以下步骤对问题进行调试。

确保 CQ 接口接收到 ATS 失效请求报文

检查 CQ 接口,验证是否存在 ATS 失效请求报文。

使用 CQ_tvalid 作为 ILA (Integrated Logic Analyzer) 捕获的触发器,在传输事务中仅有 ATS 失效报文或 TLP(传输事务层包)数量有限的情况下尤其如此。

c7c9cec4-41fc-11f0-b715-92fbcf53809c.png

ATS 报文格式如下:

c7f6c21c-41fc-11f0-b715-92fbcf53809c.png

以上截图来自《Versal Adaptive SoC CPM Mode for PCI Express 产品指南》(PG346) 中的“完成器请求描述符格式”:

https://docs.amd.com/r/3.1-English/pg346-cpm-pcie/Completer-Request-Descriptor-Formats

验证是否已从主机发送该报文

使用协议分析器检查是否已从主机发射了含“ATS_Invalidation_request”代码的报文。

协议分析器应明确显示正在发送此报文。建议您在观察到此报文缺失时对其进行验证。

如果您没有协议分析器,请跳过这一部分。以下截图显示的是出现 ATS 失效请求报文时,在协议分析器中应显示的内容。

c81e951c-41fc-11f0-b715-92fbcf53809c.png

确保已启用 ATS 功能

在 AMD Vivado Design Suite 中,导航至 IP 核配置 GUI。在“Advanced”选项下,验证 ATS 功能是否已启用。

c85185c6-41fc-11f0-b715-92fbcf53809c.png

确认 ATS 已启用

确保在 lspci 中已经显示 ATS 功能被启用并且在控制寄存器中 Host 已经将 ATS 使能位置位。

您可使用 lspci 命令完成此项检查,该命令会列出 PCI 器件及其配置。

c86f3f8a-41fc-11f0-b715-92fbcf53809c.png

验证 CPM 中的 ATS 支持寄存器

验证 ATS_cap_glbl_inv_ support_x 寄存器是否已启用。您可在 .cdo 文件中或通过 XSDB 进行此项检查,如下所示:

基于寄存器对 Versal Adaptive SoC CPM Mode for PCI Express 设计进行调试:

https://adaptivesupport.amd.com/s/article/1221922?language=zh_CN

c890dc30-41fc-11f0-b715-92fbcf53809c.png

在以下 CDO 截图中,对地址 0xfce89bcc 写入 1。此设置用于启用 ATS 全局失效。

c8b90bd8-41fc-11f0-b715-92fbcf53809c.png

确保报文路由寄存器配置正确

确保已正确设置报文路由寄存器,以便路由 ATS 报文。

通过设置 AXISTEN_IF_ENABLE_MSG_ROUTE 寄存器来启用 MSG_ROUTE。

为便于调试,请将 0xFFFFFFFF 写入该寄存器。如需了解每个位的定义,请参阅相关寄存器文档:

https://docs.amd.com/r/en-US/am012-versal-register-reference

c8e788fa-41fc-11f0-b715-92fbcf53809c.png

在以下截图中,对地址 0xfce88060 写入 0x0020000,这样仅启用 MSG_ROUTE 寄存器的第 17 位(失效请求)。

c918359a-41fc-11f0-b715-92fbcf53809c.png

总结

本文演示了验证 ATS 报文是否正确传播的调试步骤。以下是上述步骤的摘要。

确认 CQ 接口:使用 CQ_tvalid 确认正在接收 ATS 报文。

验证主机发射:使用协议分析器确保主机已发送“ATS_Invalidation_request”报文。

启用 ATS 功能:通过检查 lspci 日志,确认 ATS 已启用。

检查 ATS 寄存器:确保已通过 .cdo 或 XSDB 激活 ATS_cap_glbl_inv 寄存器。

配置报文路由:为调试目的,将 AXISTEN_IF_ENABLE_MSG_ROUTE 寄存器设置为 0xFFFFFFFF。

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

    关注

    25

    文章

    5570

    浏览量

    135971
  • 存储器
    +关注

    关注

    38

    文章

    7637

    浏览量

    166513
  • 接口
    +关注

    关注

    33

    文章

    8961

    浏览量

    153261
  • soc
    soc
    +关注

    关注

    38

    文章

    4354

    浏览量

    221815
  • ATS
    ATS
    +关注

    关注

    0

    文章

    34

    浏览量

    27146

原文标题:开发者分享|AMD Versal™ 自适应 SoC 的 CPM PCIE 模式下,跟踪 ATS 失效请求报文

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐
    热点推荐

    排除电脑主板故障一般步骤

    排除电脑主板故障一般步骤 主板故障往往表现为系统启动失败、屏幕无显示等难以直观判断的故障现象。下面列举 的维修方法各有优势和局限性,往往结合
    发表于 05-22 08:51

    芯片失效分析方法及步骤

    标题:芯片失效分析方法及步骤目录:失效分析方法失效分析步骤失效分析案例
    发表于 04-14 15:08

    Fiddler抓取手机app请求报文的实现步骤

    Fiddler抓取手机app请求报文
    发表于 11-04 09:46

    电脑硬件故障的检修方法及排除步骤

    电脑硬件故障的检修方法及排除步骤  一、首先确定你的电源已经打开、所有
    发表于 03-10 11:51 3018次阅读

    HPLC故障排除方法

     HPLC故障排除方法
    发表于 12-25 16:36 1269次阅读

    电工的故障排除1

    电工的故障排除
    发表于 09-27 08:55 5次下载

    ABB机器人IRC5-故障排除手册

    本手册包含用于对基于IRC5的机器人系统进行故障排除的信息、步骤和描述 .
    发表于 05-07 11:39 35次下载

    电机控制器故障排除步骤

    电机控制器故障排除步骤有哪些?
    的头像 发表于 08-05 14:21 1.4w次阅读

    对变电运行故障排除的几点论述

    对变电运行故障排除的几点论述(通信电源技术手册)-对变电运行故障排除的几点论述              
    发表于 09-23 09:51 1次下载
    对变电运行<b class='flag-5'>故障</b>及<b class='flag-5'>排除</b>的几点论述

    电子故障排除指南

    故障排除可以采用多种形式来满足许多不同方案的需求。虽然各个步骤可能有所不同,但电子故障排除中最重要的步骤
    的头像 发表于 06-18 10:08 1396次阅读

    电气故障排除技巧?

    电气故障排除是电气工程师和技术人员在日常工作中经常面临的任务。正确而快速地排除电气故障对于保证电力系统的正常运行至关重要。下面介绍一些常见的电气故障
    的头像 发表于 11-27 10:18 1664次阅读

    使用万用表进行电路故障排除步骤和方法

    电路故障排除是指通过一系列步骤和技术,确定和修复电路中存在的问题或故障的过程。
    的头像 发表于 12-14 10:56 3356次阅读

    PLC如何快速排除故障

    PLC(可编程逻辑控制器)在工业自动化领域中扮演着至关重要的角色,然而,如同所有复杂系统一样,PLC也可能会出现故障。为了快速排除这些故障并恢复生产,以下是一系列步骤和策略,可供工程师
    的头像 发表于 06-07 12:41 988次阅读

    VLAN 故障排除方法

    VLAN(虚拟局域网)故障排除是确保网络稳定性和性能的关键任务。以下是一些常见的VLAN故障排除方法: 一、基本步骤
    的头像 发表于 11-19 09:38 1843次阅读

    网络故障排除基本指南

    本文提供了一份关于网络故障排除的全面指南,涵盖了故障排除的基本步骤和技巧,强调了获得全面可见性的重要性。通过详细的分析和实际案例,您将学习如
    的头像 发表于 01-14 17:49 652次阅读
    网络<b class='flag-5'>故障</b><b class='flag-5'>排除</b>基本指南