笔记:
高速收发器的数据位宽通常有:2,4,8字节等;
PCIE喜欢的位宽是1DW = 4 Byte;
这里对高速收发器的设计为4 Byte也就是32位宽;
GT中PHY层的字对齐和掩码处理
高速收发器的数据流以SOT开始(和MIPI一样),GT的SOT一般就是K码,标志了开始,其也具有EOT,标志了结束;
但与MIPI有很大的不同,GT的K码可能会出现在数据端口的某一个字节上,接收端接收的顺序次序是随机的;
以32位宽违例:
{D0,D1,D2,D3} , SOT可能会出现在任何一个D的位置上;(EOT也需要处理这种情况)
我设置的是32/40的any边界,所以在四个字节的位置上出现都是有可能的。
这就意味着类似于MIPI的字对齐操作需要时刻进行;
//Search_Byte_Offset reg [3:0] i; always @(posedge I_CLK or negedge I_Rst_n) begin if(I_Rst_n == 1'b0) begin Byte_Offset <= 4'b0; Search_Locking <= 1'b0; end else if(!ReSearch_delay && I_ReSearch_Offset) begin Byte_Offset <= 4'b0; Search_Locking <= 1'b0; end else if(Search_Locking == 1'b0) begin for(i=8'h0;i<8;i=i+1) begin if(Concat_Byte_data[(i+1'b1)+:8] == SoT) begin Byte_Offset <= i[2:0] + 1'b1; Search_Locking <= 1'b1; end end end end
同时这还涉及掩码信号,其实就是AXI协议中的字节有效(PCIE中也有这种操作);
1.字对齐;
2.掩码处理;
GT PHY到万兆网:万兆网MAC层的CRC处理
千兆网的CRC是8d32的:http://outputlogic.com/?page_id=321
但是如果选取了万兆网的32用户位宽,需要使用32d32,并且带掩码的CRC运算;
例如:
1.传输五个字节D0-D4;
2.D0-D3输入CRC模块进行校验;
3.D4就不能直接输入计算了,需要结合掩码完成;
标签:GT,字节,PHY,笔记,CRC,收发器,掩码,Byte From: https://www.cnblogs.com/VerweileDoch/p/18316836