关键问题
PCIe* 配置空间 MSI 功能结构中的所有消息数据字段都应始终可被软件读取并且可代号。从 CRA 接口写入消息数据字段的价值应与 CRA 接口稍后读出的值相同。
启用多个消息后,会使用用户中断分配的矢量位形成 MSI 数据包,而数据字段的 MSB 来自配置空间 MSI 功能结构中的消息数据字段。
由于 英特尔® Arria® 10 PCIe* 出现问题,如果设置多个消息启用位,消息数据分配的矢量位不可写。
例如,当多个消息启用设置为 010 时,32'hFFFFFF 被写入配置空间消息数据字段,用户中断输入均为 0,则软件只能读取 32'hFFFFFC。
这是一个小错误,因为 英特尔® Arria® 10 PCIe* IP 生成的 MSI 数据包仍然正确无误。
不存在这一问题的变通办法。用户应用程序和软件应该意识到这一限制,并注意,当设置多个消息时,消息数据分配的矢量位不能被软件代号。
英特尔® Quartus® Prime 软件的未来版本中不会解决此问题。