标签:advance SKP pcie LFSR symbol 16 scramber PCIE scramble
scramble通过LFSR(Linear Feedback Shift Register)来实现。
在发送端,数据先scramble,然后在进行8b/10b编码;在接收端,数据先进行8b/10b解码,然后再de-scramble。
对于2.5gbps/5.0gbps,scramble LFSR的多项式是:G(X)=X^16 + X^5 + X4 + X^3 + 1
scramble规则:
1. COM symbol初始化LFSR
2. LFSR value is advanced eight serial shifts for each symbol except SKP
3. 除OS外的所有数据symbol(D码),Compliance Pattern, Modified Compliance Pattern都要scamble。
4. 所有的K码不需要scramble。
5. LFSR的初始seed是FFFF。当COM字节从Transmit LFSR发出后,LFSR立即被初始化;每当COM进入Receive LFSR,接收端的LFSR立即初始化。
6.Scramble只能在Configuration状态结束时disable。
7.Scramble不应用在loopback slave。
8.scramble在Detect状态时总是默认enabled.
对于8Gbps
LFSR多项式:G(X) = X^23 + X^21 + X^16 + X^8 + X^5 + X^2 + 1
Scramble规则:
1. 2bit的sync header不用scramble,也不advance LFSR。
2.EIEOS的所有16symbol都跳过scramble,在发送完EIEOS的最后一个symbol后,将scramble LFSR初始化,在收到EIEOS最后一个symbol后,将descramble LFSR初始化。
3. TS1/TS2的symbol 0跳过scramble, symbol 1-13需要scramble,symbol 14/15在需要DC Balance时跳过scramble,否则进行scramble。
4. FTS的所有16个symbol都不用scramble
5. SDS的所有16个symbol都不用scramble
6. EIOS的所有16个symbol不用scramble
7.SKP的所有symbol都不用scramble
8. 发送所有的OS(SKP除外)symbol时都会advance LFSR,对于SKP的所有symbol,LFSR都不会advance。
9. 接收端通过OS的symbol 0来决定是否要advance LFSR,如果symbol 0时SKP,LFSR在这个block都不用advance,否则LFSR在这个block都需要advance
10. Data block的所有16 symbol都会scramble,并advance LFSR。
11. symbol scramble的顺序是,从低位到高位。
12. LFSR seed与在进入Configuration.Idle后分配的Lane number有关,各条Lane不一样。
13. 使用128b/130b时,不能再Configuration.Complete状态中disable Scramble。
14. Loop back slave不要descramble或scramble loop-back bit stream。
标签: pcie
标签:advance,SKP,pcie,LFSR,symbol,16,scramber,PCIE,scramble 来源: https://blog.csdn.net/qq_16423857/article/details/122394676
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。