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

为什么我的 Arria V 或 Cyclone V PCI Express 内核无法按 x2 或 x1 配置限制?

环境

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

    适用于 PCI Express® IP 内核的 Arria® V 和 Cyclone® V 硬核 IP 不会从 x4 或 x8 配置限制为 x1 或 x2。

    解决方法

    变通方法是更正altpcie_av_hip_128_bit_atom.v中设置通道数的 Verilog HDL 代码。应对位于 Quartus® II 安装目录>\ip\altera\altera_pcie\altera_pcie_av_hip_ast 中的文件进行更正。 确保由于 MegaWi™ 或 Qsys 工具而位于项目文件夹中的此文件夹的任何副本都已删除,并且 PCIe 变体已重新生成。

    更换此不正确的代码:

    电线rxstatus_err;

    分配rxstatus_err = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2]] | pld8grxstatus4[2] | pld8grxstatus5[2] | pld8grxstatus6[2] | pld8grxstatus7[2]);

    分配 rxstatus_err = pld8grxstatus0[2];

    使用此正确的版本:

    电线rxstatus_err rxstatus_err_x1、rxstatus_err_x4、rxstatus_err_x8;

    分配rxstatus_err_x8 = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2] | pld8grxstatus4[2] | pld8grxstatus5[2] | pld8grxstatus6[2] | pld8grxstatus7[2]);

    分配 rxstatus_err_x4 = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2] );

    分配 rxstatus_err_x1 = pld8grxstatus0[2] ;

    分配 rxstatus_err = (lane_act=4\'b1000)?rxstatus_err_x8:(lane_act==4\'b0100)?rxstatus_err_x4:rxstatus_err_x1;

    此问题将在 PCI Express IP 内核的 Arria V 和 Cyclone V 硬核 IP 版本中修复。

    相关产品

    本文适用于 2 产品

    Cyclone® V GX FPGA
    Arria® V GX FPGA

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