AR# 33710

面向 PCI Express 的 Endpoint Block Plus Wrapper v1.12 设计咨询- trn_rnp_ok_n 的解除断言时间延长会导致完成数据包被堵在内核中

描述

已知问题的版本:1.12, v1.11, v1.10.1, v1.10, v1.9.4, v1.9.3, v1.9.2, v1.9.1, v1.9, v1.8, v1.7.1. v1.6, v1.5, v1.4, v1.3, v1.2, v1.1

通过对 trn_rnp_ok_n 设置无效,用户应用会命令封装程序不要向用户发送 Non-Posted 的数据包。Posted 和完成的数据包会绕开停滞的 Non-Posted 数据包,并发送到用户应用。这里存在一个问题。如果 trn_rnp_ok_n 被设置无效的时间过长,以至于封装程序旁路数据包队列填充有 Non-Posted 数据包,那么当有另一个 non-posted 数据包先于完成数据包在集成模块接收缓冲器中等候时,封装程序就无法从模块中排出完成数据包。

解决方案

这个问题比较少见,只有当 trn_rnp_ok_n 被设置长时间无效以至于模块收到大量 Non-Posted 数据包时才会出现该问题。当 trn_rnp_ok_n 被设无效,必须收到至少 8 个 Non-Posted 数据包后,该问题才会出现。

该问题已在 v1.13 以上版本的内核中修复。

修订历史记录
07/13/2011 - 对 v1.13 版本内核进行修复
07/05/2011 - 更新标题
10/26/2009 - 初始版本

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
33580 Design Advisory for the Virtex-5 FPGA Endpoint Block Plus Wrapper for PCI Express Master Answer Record N/A N/A

相关答复记录

Answer Number 问答标题 问题版本 已解决问题的版本
33580 Design Advisory for the Virtex-5 FPGA Endpoint Block Plus Wrapper for PCI Express Master Answer Record N/A N/A
AR# 33710
日期 09/29/2013
状态 Active
Type 设计咨询
IP