文章 ID: 000083954 内容类型: 故障排除 上次审核日期: 2021 年 08 月 28 日

为什么在使用面向 PCI Express Gen 2 内核的Stratix V 或Arria V GZ 硬核 IP 时会遇到间歇性链接问题?

环境

  • 英特尔® Quartus® II 订阅版
  • PCI Express*
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    说明

    在为 PCI Express® IP 内核使用 Stratix® V 或 Arria V GZ 硬核 IP 时出现问题,因为该链接不一致地出现。 如果内核被配置为本机第二代内核,则会出现此问题。 此问题与 PCIe® 硬重置控制器 (HRC) 相关联。

    表明 PERST 或本地重置有助于启动链接。 重新编程FPGA可能会允许打开该链接,但这也不一致。

    解决方法

    要在 Quartus® II 软件版本 12.1 SP1 中解决此问题,请通过以下程序更改为软重置控制器 (SRC):

    对于 MegaWi™ 流程:
    1) 编辑/>版本>/合成/.v 文件
    2) 搜索字符串,"hip_hard_reset_hwtcl"
    3) 设置参数 hip_hard_reset_hwtcl = 0
    4) 保存变体.v
    5) 转到第 7 步

    对于 Qsys 流程:
    1) 使用文本编辑器编辑 .qsys 文件
    2) 搜索字符串"force_src"
    3) 确保以下参数如下所示:


    4) 将更改保存到 .qsys 文件
    5) 重新生成 Qsys 系统,将所做的更改应用于底层设计文件
    6) 转到第 7 步

    通用步骤:
    7) Open //submodules/sv_xcvr_pipe_native.sv 文件
    8) 搜索"cal_offset_mode"
    9) 如果以下行与sv_xcvr_pipe_native.sv 文件中的行匹配,执行步骤 10 中所示的更改,否则继续执行步骤 11

    .cal_offset_mode(protocol_version== "第二代") ?"MODE_ACCUMULATION_MIDSWEEP":"MODE_INDEPENDENT"),
    .cal_oneshot(protocol_version== "第二代") ?"ONESHOT_ON" :" ONESHOT_OFF"),
    .rx_dprio_sel(protocol_version== "第二代") ?"RX_CALIBRATION_SEL" :" RX_DPRIO_SEL"),

    10)
    .cal_offset_mode (" MODE_INDEPENDENT"),
    .cal_oneshot (" ONESHOT_OFF"),
    .rx_dprio_sel (" RX_DPRIO_SEL"),

    11) 重新编译设计
    12) 搜索地图报告文件 (eg.top.map.rpt) 以获取hip_hard_reset_hwtcl,并确保值设置为 0

    请注意,对 Qsys 系统或 PCIe 内核进行更改以及重新生成可能会消除某些或所有更改。

    Quartus® II 软件的 v13.1 解决了此问题。

    相关产品

    本文适用于 5 产品

    Arria® V GZ FPGA
    Stratix® V E FPGA
    Stratix® V GS FPGA
    Stratix® V GT FPGA
    Stratix® V GX FPGA

    本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。