You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FPGA实现PCIe端点导致Linux主机重启异常、网卡失效问题求助

FPGA PCIe端点开发枚举故障求助

开发背景

  • 正在为项目开发FPGA PCIe端点,用于开展接口原型验证工作
  • 所用FPGA平台为搭载Xilinx Virtex-7 980T器件的Synopsys HAPS DX7 S6,通过Xilinx下载线经JTAG接口完成FPGA烧写
  • 因处于远程实习阶段,通过远程登录连接至直连下载线、FPGA的Linux主机开展编程与实验
  • 当前基于Xilinx DMA subsystem for PCIe(简称XDMA)IP开发,编译示例设计、下载比特流后原计划重启Linux主机完成设备枚举

已完成的开发操作

  1. 例化PCIe DMA子系统(因账号声望不足无法嵌入图片,配置可点击对应链接查看):
  2. 修改顶层设计与约束文件:
    • 因需远程访问板卡、无法手动控制板上开关/按键,使用Debug_clk_p/n作为VIO核的时钟,由VIO核提供复位信号,原设计中sys_rst_n已被注释
    • Debug_clk_p/n被约束至板载时钟源,sys_clk_p与sys_clk_n差分对被约束至PCIe bank的封装引脚D7、D8
    • 相关文件参考:
  3. 通过JTAG将比特流下载至FPGA,可通过VIO核控制操作确认比特流加载成功

故障表现

下载完成后执行枚举操作未达预期:

  • 执行命令lspci | grep Xilinx,未查询到目标设备
  • 执行命令echo 1 > /sys/bus/pci/rescan尝试重新枚举PCI总线,未生效
  • 原计划通过重启主机完成端点枚举与内存分配,但重启过程中出现故障,具体现象:
    1. Linux主机无法正常启动,无法使用账号凭据正常登录。已确认故障与FPGA PCIe端点比特流直接相关:烧写无PCIe逻辑的比特流时,主机可正常完成重启
    2. 同事现场排查确认,主机可走完启动流程但以太网功能受影响:正常场景(FPGA为空或烧写非PCIe设计)下eth0可正常启动,烧写PCIe设计后eth0无法工作,这是无法远程登录的直接原因
    3. 同事手动断开FPGA与主机的连接后重启主机,可正常登录,但主机IP地址发生变化,需通过新地址ssh远程连接主机
  • 启动日志参考:

补充说明

  • 已确认FPGA PCIe与主机硬件连接正常:最初使用Synopsys Protocompiler编译的Synopsys示例工程比特流时,FPGA PCIe端点可被正常检测,但目前该原始比特流已遗失,也因工具版本问题无法重新编译该示例工程
  • 已尝试其他IP核的示例设计,包括AXI for PCIe、PCIe端点IP,采用相近配置(大多为默认配置、基于示例设计修改)与约束,均出现相似故障,导致无法正常登录主机
  • 由于主机易出现重启故障、同事目前大多居家办公,故障排查效率较低。目前已将JTAG连接至另一台个人笔记本开展调试,避免原Linux主机意外启动失败影响工作
  • 以太网异常的现象存在疑点:按照常规认知,PCIe端点属于类似USB鼠标、键盘的外设,即使自身存在故障也不应影响其他设备正常工作。查阅资料有帖子提到BAR配置问题,但设计中配置的1MB BAR0理论上不会引发此类问题

在此提前感谢大家提供的实现、调试相关建议或故障原因分析,如需补充其他细节可随时更新内容。

Tao

内容的提问来源于stack exchange,提问作者GeekTao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 05:33:18