FPGA Debug:PCIE XDMA没有Link up(驱动检测不到xilinx PCIE设备)使用LTSSM定位问题

FPGA Debug:PCIE XDMA没有Link up(驱动检测不到xilinx PCIE设备)使用LTSSM定位问题

问题现象:

与驱动联调:驱动无法扫描到Xilinx的PCIE设备

通过ila抓取pcie_link_up信号:发现link up一直为低

问题分析:

        出现这种情况,在FPGA中搭建测试环境,使用XDMA+BRAM的形式,减少其它模块的影响,框架如下:

1 检查PCIE的时钟

时钟,必须使用原理图上的GT Ref 差分时钟,通过IBUFDSGTE转为单端时钟

2 检查PCIE 复位

复位:PCIE复位信号有要求--上电后,PCIE_RESTN信号需在电源稳定后延迟一段时间再释放,通常是100ms以上

而这100ms的时间,系统主要做以下的事情:

  • 电源稳定时间
  • 参考时钟稳定时间
  • PCIe IP核的复位和初始化时间
  • 链路训练时间

// 典型的100ms时间分配:
0-10ms   : 电源稳定 (Power Stable)
10-20ms  : 参考时钟稳定 (Refclk Stable)  
20-30ms  : 复位释放和PLL锁定 (Reset Release & PLL Lock)
30-50ms  : 物理层初始化 (PHY Initialization)
50-70ms  : 链路训练 (Link Training)
70-100ms : 设备配置 (Device Configuration)

        所以为了避免这个问题,建议在程序中添加这么一段复位控制,但是有的时候你不添加也没有关系,因为有的时候硬件的复位时序可以满足这个100ms的要求,但是保险起见还是加上

3 LANE检查

      检查你的LANE约束,一般XDMA IP核生成的时候会自带一个约束文件,约束每个LANE的对外接口,但我们也可以自己约束,保证端口与原理图匹配即可。

这些确认无误,还是无法link up的,先将PCIE降速为1.0 X1,看看情况

4 PCIE降速

如果还是不行,那我们需要检测pcie的相关的几个状态。

5 具体问题定位(PCIE LTSSM状态)

这里我们需要查看PCIE的LTSSM状态机,那什么是LTSSM状态机呢?

      是一种常用于PCI Express(PCIe)接口的状态机,它可以控制PCIe总线的传输流程。LTSSM由多个状态组成,每个状态都代表了不同的总线传输阶段。

一般大家会找不到,按照如下的方式

5.1 给LTSSM信号添加debug

首先:勾选配置界面的Use Class Code Lookup Assistant这个选项

此时还是无法在端口显示出LTSSM信号,不要着急,按照你的流程生成IP核,执行完Run Syn操作,然后点击Set up debug

在这里搜索LTSSM的“小写”,就能找到ltssm_state的信号,将其添加到debug里面正常的综合实现就可以了。

5.2 LTSSM状态说明

       LTSSM状态机根据厂商不同会有微小的差异,我们使用的是瑞芯微的,我的状态卡在了08即Lane顺序检测。意味着是lane的问题。


那我们通过这个方式监控的除了LTSSM信号以外,还有几个关键信号

5.3 其余关键信号说明

phy_rdy_n:物理层就绪,一种存在性检查,0:表示物理层就绪  1:表示异常

                     时钟是否存在?

                     复位序列是否正常?

                     PLL是否正常锁定?

                     电源是否power good

cfg_cuurent_speed_o:协商的速率,PCIE1.0/2.0/3.0 分别对应1/2/3 

link_width:协商的宽度

6 故障点说明及解决

我的故障就是:

phy_rdy_n为0,说明物理层就绪,时钟和复位是正常的

LTSSM卡在了0x08,且Link_width为0,说明是LANE的异常导致的。

        重新检查电路,发现主机的TX端,没有放置电容,而使用的是电阻,导致的AC耦合问题,将电阻更换为电容,链路问题解决

可以看到Link up拉起,驱动可以正常检测到PCIE设备。

Read more

AI+AR智能眼镜年终盘点:巨头入场驱动产业提速,规模化拐点加速来临!

AI+AR智能眼镜年终盘点:巨头入场驱动产业提速,规模化拐点加速来临!

2025年即将收官,“新一代智能终端”“智能眼镜”正不断突破大众的想象,创造越来越多的可能。尤其第四季度以来,AI+AR智能眼镜赛道成为资本市场关注的焦点,多家产业链相关公司迎来密集布局热潮。 事实上,从2024年起,AI+AR眼镜逐渐受到主流科技企业关注,其被看作是AI大模型的重要应用落地。进入2025年,该观点一跃成为行业共识,业内更是迎来“百镜大战”,并带动产业链打开新增量。 赛道资本化提速 截止当前,AI+AR眼镜产业正处于快速发展阶段,随着技术进步和成本降低,AI+AR眼镜产业链涵盖了光学、显示、芯片、传感器、代工等多个环节,终端市场的走热,也有望进一步拉动产业链打开新增量市场。 AI+AR眼镜有望成为日常生活和工作中的重要工具,特别是在教育、医疗和娱乐等领域的应用前景广阔。基于此,围绕AI入口的争夺升温,大量厂商都加速在端侧交汇,把智能眼镜装进更贴身的设备。 此外,供应端上,科技巨头加速卡位下一代计算入口,推动产品技术快速迭代,同时加速供应链订单释放,让产业链公司的业绩增长具备了明确支撑。需求端则呈现爆发式增长态势,京东“双11”期间,

用OpenClaw做qq ai办公机器人(支持群聊关键词触发+自定义域名发送任意邮件)

用OpenClaw做qq ai办公机器人(支持群聊关键词触发+自定义域名发送任意邮件)

1.OpenClaw对接QQ(qq账号当机器人使用) 在任意文件夹创建项目文件夹napcat及需要的文件夹,并创建docker-compose.yml mkdir -p napcat && cd napcat mkdir -p config .config logs docker-compose.yml内容参考 services: napcat: image: mlikiowa/napcat-docker:latest container_name: napcat restart: unless-stopped environment: - NAPCAT_UID=${NAPCAT_UID:-1000} - NAPCAT_GID=${NAPCAT_GID:-1000} - MESSAGE_POST_FORMAT=string # 网络服务(

带可二次开发的管理配置端 + 非低代码 + 原生支持标准化 Skill框架选择

「带可二次开发的管理配置端 + 非低代码 + 原生支持标准化 Skill」的开源 Agent 框架,筛选 3款完全匹配的框架(均为代码级可扩展、自带 Skill 管理后台、支持 SKILL.md/MCP 标准),附核心特性、二次开发要点和部署步骤,都是企业级/开发者友好的选型: 一、首选:LangGraph + LangServe(LangChain 官方生态,Python 栈,极致可扩展) 核心定位 LangChain 官方推出的「Agent 编排 + 服务化」框架,自带可二次开发的 Skill/Tool 管理后台(LangServe Dashboard),纯代码开发、无低代码封装,是 Python 生态的最佳选择。 关键特性

FPGA 工程最常见的 10 个玄学 BUG 与排查思路(实战踩坑总结)

本人多年 FPGA 研发、团队管理与高校教学经验,今天专门跟大家聊一个痛点——新手最容易遇到、查半天查不出来、俗称 “玄学故障” 的问题。所有内容均来自真实项目与学生毕设踩坑,不搞理论堆料,全是能直接救命的排查方法,不管是自学、毕设、竞赛还是企业工程,遇到玄学BUG,照着查就能快速定位! 1. 前言:FPGA 没有玄学,只有你没查到的点 很多人做FPGA项目,上板后总会遇到各种“离谱”现象,越查越懵,总以为是芯片坏了、是玄学,其实都是有迹可循的: * 有时正常、有时不正常,没有固定规律; * 仿真全对、波形完美,一上板就报错、跑飞; * 拍一下板子就好,动一下接线、碰一下芯片就挂; * 低频运行一切正常,频率一拉高就乱码、死机。 划重点:99% 的这类问题,都不是FPGA芯片本身的问题,而是代码、约束、