RapidIO II IP Core 4x变体可能会发出意外的数据包重试控制符号

RapidIO II IP核4x变体可能会在收到少量连续的小型RapidIO数据包后在RapidIO链路上发出packet-retry控制符号。出现此问题的原因是,即使数据包很小,IP内核也会为每个传入数据包保留256字节的空间,即最大数据包所需的空间。此外,IP内核需要更多时间从其RX缓冲区读取数据包,而不是将数据包写入RX缓冲区。当IP内核检测到RX缓冲区变满时,它会在RapidIO链路上发出packet-retry控制符号。

由于此问题,IP内核不会丢弃任何数据包。但是,该问题会影响吞吐量。

在连续的小数据包流到达RapidIO链路后,会出现此问题。如果IP内核收到256字节的数据包,则不会发生此问题。

解决/修复方法

要避免此问题,请确保IP核心链路伙伴不发送仅包含8个字节,16个字节或32个字节的有效负载的连续数据包序列。

更具体地说,Altera测试了以下数据模式:

  • 如果所有数据包的有效负载大小为256字节,后跟明确的数据包结束指示(即使在背对背数据包的情况下也提供EOP),则不会发生此问题。
  • 如果所有数据包的有效负载大小为64字节,128字节或256字节,并且它们不是SWRITE事务,则问题不太可能发生。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-08-04 14:23:23 +0800

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

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