RapidIO IP核器件和汇编寄存器值可能会丢失MSB-Altera-Intel社区-FPGA CPLD-ChipDebug

RapidIO IP核器件和汇编寄存器值可能会丢失MSB

在使用Qsys生成并以Cyclone IV GX器件以外的器件为目标的RapidIO变体中,器件和汇编寄存器(能力寄存器在偏移量0x00至0x0C)非零字段值,其十进制(基数10)表示具有四个或更少截断十进制数字,使两个最高有效十进制数字归零。出于此计数的目的,将忽略最左边的零位数。没有生成警告消息。

在器件版本ID字段的情况下,如果十进制表示具有八个或更少的十进制数字,而不是四个或更少的十进制数字,则截断最左边的两个十进制数字。

例如,如果器件版本ID为0x5F54433,则十进制表示为99,959,859。此表示有八位数,因此两个最高有效位被截断,产生十进制值959859。

在受影响的配置中,如果器件或汇编寄存器值具有四个或更少的有效十进制数字(最左边的零不计数),则实际配置的寄存器值缺少两个最高有效十进制数字。在器件版本ID的情况下,如果该值具有八个或更少的有效十进制数字,则实际配置的寄存器值缺少两个最高有效十进制数字。在这些情况下,器件和汇编寄存器值不正确。

解决/修复方法

要在RapidIO MegaCore函数中更正此问题,在生成Qsys系统之后和编译之前,请按照下列步骤操作:

  1. 在文本编辑器中打开文件< sysdir > / synthesis / submodules / altera_rapidio_ < variation_string > .v 。 < sysdir >是您在Qsys中指定的输出目录路径,< variation_string >是由Qsys生成的任意字母数字字符串,用于指定RapidIO变体。
  2. 根据下表中显示的寄存器字段信号名称对应,更正与各个寄存器字段对应的信号的值。为每个参数指定正确的十六进制值。

与器件和汇编寄存器字段对应的信号

器件ID

signal_wire10

16'hXXXX

供应商ID

signal_wire11

16'hXXXX

修订版ID

signal_wire12

32'hXXXXXXXX

装配ID

signal_wire13

16'hXXXX

装配供应商ID

signal_wire14

16'hXXXX

装配版本ID

signal_wire15

16'hXXXX

扩展功能指针

signal_wire16

16'hXXXX

注册字段 信号名称 更正值的格式

此问题已在RapidIO MegaCore功能的11.0版中得到修复。

请登录后发表评论

    没有回复内容