触发条件 |
Framing Error行为 |
处理Symbol时 |
期望是一个Faming Token,但实际上跟Framing Token定义不一致为Framing Error – 推荐记录到lane error status寄存器中 |
收到STP Token后 |
- 接收机根据收到的TLP计算Frame CRC和Frame Parity,如果计算出来的和接收到的Frame CRC或者Frame Parity不一致,则是
Framing Error ,STP Token出现错误不会认为是TLP的一部分,不应该报告给数据链路层
- 接收机可以检查TLP Length字段是否为0,如果检查且为0,则是
Framing Error
- 收到STP Token之后,接收机可以检查TLP Length字段是否为2,3,4,如果检查且为2,3,4,则是Framing Error (TLP最短为5个DW)
- 收到STP Token子后,接受可以检查TLP Length字段是否在1152到1535(包括1535)之间,如果检查且TLP Length字段在1152到1535之间,则是
Framing Error
- 收到STP Token之后,不支持协议服用的port可以检查TLP Length字段是否大于1535,如果检查且TLP Length字段大于1535,则是
Framing Error
- 收到STP Token之后,接收机可以检查一个Symbol Time内是否收到了超过1个STP Token,如果检查且一个Symbol Time收到不止1个STP Token,则是
Framing Error
|
收到EDB Token之后 |
- 接收机检查EDB Token中的所有Symbol,如果某个Symbol不符合EDB Token的定义,则是
Framing Error
- 后面紧着跟TLP是
Framing Error
|
收到EDS Token之后 |
在链路上,数据块的最后四个symbol收到EDS Token之后,在下一个Block开始时,如果不是SKPOS,EIOS或者EIEOS,则是Framing Error – EDS Token出现在最后,其它lane没有发送idle data的机会。 |
收到SDP Token之后 |
接收机可以检查一个symbol time之内是否收到了超过1个SDP Token,如果检查且一个Symbol Time之内收到的SDP Token大于1,则是Framing Error |
收到IDL Token之后,强烈推荐记录到Lane Error Status寄存器中 |
- 对于X2的链路,接收机允许检查lane 1上的Symbol,如果lane 0上收到了IDL Token(或者IDL),lane 1上收到的不是IDL,则是
Framing Error – IDL Token为8’h00,跟IDL是一样的
- 对于x4的链路,接收机允许检查lane1-3上的Symbol,如果lane 0上收到了IDL Token(也是IDL),lane 1-3上收到的不是IDL,则是
Framing Error
- 对于x8或者x16的链路,下一个要处理的symbol要跟收到IDL Token后的下一个DW(4个symbol对齐),比如,x16的链路,lane 4收到了IDL Token,下一个Token的起始位置为这个Symbol Time的lane 8,如果IDL Token出现在x8链路的lane 4,则下一个Token的起点在下一个Symbol Time的lane 0。强烈推荐接收机检查收到IDL Token后到下一个Token之间的数据。如果检查且IDL Token和下一个Token之间的Symbol不是IDL,则是
Framing Error
|
在处于数据流时,接收机必须检查数据块类型 |
- 任意一条lane上接收到有序集块后跟着SDSOS是
Framing Error – 强烈推荐记录到Lane Error Status寄存器中
- 接收到未定义的数据块类型(如sync header为11b或者00b)是
Framing Error
- 任意一条lane上接受到有序集块,但是前一个Block没有收到EDS Token是
Framing Error
比如收到了SKPOS但是前面没有EDS Token是Framing Error – 所以需要发送完TLP后才可以插入SKPOS
- 在数据流中,SKPOS后面跟着跟着其它有序集块(包括SKPOS)是
Framing Error
- 任意一条lane上收到Data Block,但是前面一个Block包含EDS Token是
Framing Error – 发生时推荐将错误记录到Lane Error Status寄存器中
- 接收机允许检查不用lane是否有不同的Ordered Sets,如果检查且不同lane上的Ordered Sets不一样,为
Framing Error – 如lane 0收到SKPOS,lane 1收到EIOS,是一个Framing Error
|
求receiver error总结
@znn 了解,周末加急处理