日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pcie spec中scramble的算法研究

發布時間:2023/12/8 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pcie spec中scramble的算法研究 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

scramble在pcie中的目的:減少多個0或者多個1 一直出現的情況。使得傳輸過程中0和1相對均勻分布的出現。

總言之,就是加擾,增強接收方收到數據變化的概率,方便采樣,另外使得頻譜圖中波峰的高度變得平緩。

spec中對于scramble的描述分為8b/10b encode 和128b/130b encode兩種方式。

先說一下8b/10b encode下的scramble。按LFSR polynomial: x16+x5+x4+x3+1.以及spec中對應的器件原理圖來看。是先對datain進行8位的移出(低8位變高八位),后經過lfsr的邏輯運算得到相應的dataout。 其本質是對于LFSR的算法的理解。相應的偽代碼可以由spec的附錄得出。注意,附錄后面的兩張表格的意思。

先說第一張.

the initial 16-bit values of the LFSR for the first 128 LFSR advances following a reset are listed below.這句話下面的表格橫向是LFSR在不斷變化的順序,設置的第一個LFSR是初始值,后面的值就會跟隨poly來變化。

表格縱向是指的多種LFSR初始值不同的變化情況。縱向的00,08,10,.......個人理解為序號。對應著后面一張表格中的縱向00,10,20,......。

后面一張表格。an 8-bit value of 0 repeatedly encoded with the LFSR after reset produces the following consecutive 8-bit values. 上面提到縱向是對應了LFSR的序號。橫向的00,01,。。。。。。。。.對了8bit初始值為8'h00的datain基于相應序號的LFSR疊加之后的16拍的每拍變化。

再說一下128b/130b encode下的scramble。按LFSR polynomial:x22+x21+x16+x8+x5+x2+1.(關于這個spec中有些地方給的是x23,經過實驗得出此地應為x22)。后面的邏輯思路與8b/10b是相同的,只是沒有對數據的移位操作。后面的附錄表格的理解也是跟8b/10b相同的。

下面說一下對于LFSR算法的理解誒。經常用于產生隨機序列。CRC也是用這個。

理解LFSR算法的關鍵是確定有幾個異或的位置,以及一個拍過來之后,每個移位寄存器都是怎么變化的。(這個部分的變化可以由器件原理圖和poly來得出。)有external feedback LFSR和internal feedback LFSR兩種。scramble這里用的是internal feedback LFSR。

舉個簡單的polynomial的例子。(這種可以包含所有狀態變化的多項式叫non-primitive polynomial) x3+x+1<=>1x3+0x2+1x1+1x0

前面的系數0表示沒有連接,1表示有連接。x0=1意味著放到移位寄存器中。

LFSR的狀態為多項式最大degree-1個,即此例子中移位寄存器的個數是4-1=3個

LFSR共有2^3-1=7個狀態變化。LFSR要求必須從非全0狀態開始。

接下來就可以畫原理圖數狀態了。

總結

以上是生活随笔為你收集整理的pcie spec中scramble的算法研究的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。