在使用Qsys生成并以Cyclone IV GX器件以外的器件为目标的RapidIO变体中,器件和汇编寄存器(能力寄存器在偏移量0x00至0x0C)非零字段值,其十进制(基数10)表示具有四个或更少截断十进制数字,使两个最高有效十进制数字归零。出于此计数的目的,将忽略最左边的零位数。没有生成警告消息。
在器件版本ID字段的情况下,如果十进制表示具有八个或更少的十进制数字,而不是四个或更少的十进制数字,则截断最左边的两个十进制数字。
例如,如果器件版本ID为0x5F54433,则十进制表示为99,959,859。此表示有八位数,因此两个最高有效位被截断,产生十进制值959859。
在受影响的配置中,如果器件或汇编寄存器值具有四个或更少的有效十进制数字(最左边的零不计数),则实际配置的寄存器值缺少两个最高有效十进制数字。在器件版本ID的情况下,如果该值具有八个或更少的有效十进制数字,则实际配置的寄存器值缺少两个最高有效十进制数字。在这些情况下,器件和汇编寄存器值不正确。
解决/修复方法
要在RapidIO MegaCore函数中更正此问题,在生成Qsys系统之后和编译之前,请按照下列步骤操作:
- 在文本编辑器中打开文件< sysdir > / synthesis / submodules / altera_rapidio_ < variation_string > .v 。 < sysdir >是您在Qsys中指定的输出目录路径,< variation_string >是由Qsys生成的任意字母数字字符串,用于指定RapidIO变体。
- 根据下表中显示的寄存器字段信号名称对应,更正与各个寄存器字段对应的信号的值。为每个参数指定正确的十六进制值。
与器件和汇编寄存器字段对应的信号
器件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版中得到修复。
没有回复内容