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

为什么在设置多个消息启用的情况下,消息数据分配英特尔® Arria® 10 PCIe* MSI 功能结构中的矢量 (0x05c) 无法改写?

环境

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

    关键问题

    说明

    PCIe* 配置空间 MSI 功能结构中的所有消息数据字段都应始终可被软件读取并且可代号。从 CRA 接口写入消息数据字段的价值应与 CRA 接口稍后读出的值相同。

    启用多个消息后,会使用用户中断分配的矢量位形成 MSI 数据包,而数据字段的 MSB 来自配置空间 MSI 功能结构中的消息数据字段。

    由于 英特尔® Arria® 10 PCIe* 出现问题,如果设置多个消息启用位,消息数据分配的矢量位不可写。

    例如,当多个消息启用设置为 010 时,32'hFFFFFF 被写入配置空间消息数据字段,用户中断输入均为 0,则软件只能读取 32'hFFFFFC。

    这是一个小错误,因为 英特尔® Arria® 10 PCIe* IP 生成的 MSI 数据包仍然正确无误。

    解决方法

    不存在这一问题的变通办法。用户应用程序和软件应该意识到这一限制,并注意,当设置多个消息时,消息数据分配的矢量位不能被软件代号。

    英特尔® Quartus® Prime 软件的未来版本中不会解决此问题。

    相关产品

    本文适用于 4 产品

    英特尔® Arria® 10 FPGA 和 SoC FPGA
    英特尔® Arria® 10 GX FPGA
    英特尔® Arria® 10 GT FPGA
    英特尔® Arria® 10 SX SoC FPGA

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