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

为什么适用于 PCI Express* 事务层的英特尔® Arria® 10 和 英特尔® Cyclone® 10 Avalon®-ST 接口配置空间访问不稳定?

环境

  • 英特尔® Quartus® Prime Pro Edition
  • 英特尔® Quartus® Prime 标准版
  • 面向 PCI Express* 的英特尔® Arria® 10 Cyclone® 10 硬核 IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    说明

    由于配置空间寄存器访问时间的 UG-01145_avst 2017.05.15 - 6.12.1 错误的参考代码,英特尔® Arria® 10 和 英特尔® Cyclone® 10 PCIe* 事务层配置空间访问将不稳定。这是因为 tl_cfg_* 接口受多周期限制,但代码与它不匹配。

    代码如下:

    始终 @(coreclkout_hip)

    开始

    检测地址更改

    cfg_addr_reg[3:0]

    cfgctl_addr_change

    ...

    结束

    解决方法

    要解决此问题,请将参考代码升级为 UG-01145_avst |2019.05.22 - 5.12.1,用于配置空间寄存器访问时序。

    添加了一条管道,以避免多周期时序风险。

    代码如下:

    始终 @(coreclkout_hip)

    开始

    tl_cfg_add_reg

    tl_cfg_add_reg2

    结束

    检测地址更改以生成一个选择以采样输入 32 位数据

    始终 @(coreclkout_hip)

    开始

    cfgctl_addr_change

    cfgctl_addr_change2

    cfgctl_addr_strobe

    结束

    相关产品

    本文适用于 2 产品

    英特尔® Cyclone® 10 GX FPGA
    英特尔® Arria® 10 FPGA 和 SoC FPGA

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