LogiCORE Serial RapidIO v4.3 - 核心LCSBA实现消除了64 MB的可能寻址空间

问题描述

核的当前实现将输入地址的位[2:9]与LCSBA寄存器中指定的值进行比较。问题是在这种比较中忽略了位[0:1],这减少了可寻址存储器的数量。

内存分为16 MB块。由于[0:1]无关紧要,核心正在移除64 MB的可寻址内存。

测试用例运行:使用示例测试平台中提供的任务,LCSBA设置为00。

IREQ_DATA(`FT_2,4'b0100,34'h0_0000_0058,31);地址= 34'h0_0000_0058

注意:使用上述任务创建的数据包被重新布线到Maintanence端口,并且应该已经获得了地址。

IREQ_DATA(`FT_2,4'b0100,34'h0_2000_0058,31);地址= 34'h0_2000_0058

注意:由于位[2:9] = 8'h20,使用上述任务创建的数据包未重新布线到正确的Maintanence端口。

IREQ_DATA(`FT_2,4'b0100,34'h2_0000_0058,31);地址= 34'h2_0000_0058

注意:上面的数据包是有问题的。由于位[0:1] = 2'h2,因此不应将此数据包重新布线到Maintanence端口。但是,核心在比较中忽略了这些位,并将此数据包发送到错误的端口。因此,您会看到以下数据包进入维护端口:

IREQ_DATA(`FT_2,4'b0100,34'h0_0000_0058,31);地址= 34'h0_0000_0058

IREQ_DATA(`FT_2,4'b0100,34'h1_0000_0058,31);地址= 34'h1_0000_0058

IREQ_DATA(`FT_2,4'b0100,34'h2_0000_0058,31);地址= 34'h2_0000_0058

IREQ_DATA(`FT_2,4'b0100,34'h3_0000_0058,31);地址= 34'h3_0000_0058

不应重新布线较低的三个数据包。

解决/修复方法

此问题将在计划于2008年6月底发布的SRIO v4.4中修复。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-08-18 20:27:08 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它