Verilog數字系統(tǒng)基礎設計-LFSR
時間:2021-09-24 16:16:24
手機看文章
掃描二維碼
隨時隨地手機看文章
[導讀]引言LFSR(線性反饋移位寄存器)用于產生可重復的偽隨機序列PRBS,該電路由n級觸發(fā)器和一些異或門組成。在每個時鐘周期內,新的輸入值會被反饋到LFSR內部各個觸發(fā)器的輸入端,輸人值中的一部分來源于LFSR的輸出端,另一部分由LFSR各輸出端進行異或運算得到。該電路具有以下特點:...

引言
LFSR(線性反饋移位寄存器)用于產生可重復的偽隨機序列PRBS,該電路由n級觸發(fā)器和一些異或門組成。在每個時鐘周期內,新的輸入值會被反饋到LFSR內部各個觸發(fā)器的輸入端,輸人值中的一部分來源于LFSR的輸出端,另一部分由LFSR各輸出端進行異或運算得到。該電路具有以下特點:- 如果初始狀態(tài)相同,則最終會得到相同的輸出序列(即輸出序列是確定的);
- 輸出序列趨向于隨機序列(偽隨機);
- 經過一定次數的迭代后,你將得到與初始狀態(tài)相同的狀態(tài)值;(最大重復間隔可由(2^n- 1)計算,其中n為移位寄存器的數目)

斐波那契LFSR與伽羅瓦LFSR
斐波那契LFSR也可稱為多到一型LFSR,即多個觸發(fā)器的輸出通過異或邏輯來驅動一個觸發(fā)器的輸入。與此相反,伽羅瓦LFSR為一到多型LFSR,即一個觸發(fā)器的輸出通過異或邏輯驅動多個觸發(fā)器的輸入。這兩種電路都產生(2^n-1)序列,但是一到多型LFSR具有更高的速度,因為它的兩個觸發(fā)器之間僅使用一個異或門。圖6.1至圖6.3是3比特和4比特LFSR的具體電路。


伽羅瓦LFSR(反饋多項式為x^3 x^2 1):
- 觸發(fā)器xl的輸入通常來自于觸發(fā)器x2的輸出;
- x3(最高項)的輸入通常來自于xl的輸出;
- 此多項式中剩余觸發(fā)器的輸入是xl的輸出與其前級輸出異或的結果;
- x2的輸人由x1的輸出與x3的輸出通過異或運算得到。
LFSR反饋多項式
本電路中每次迭代的狀態(tài)轉換如下表所示,在這個表中,你會發(fā)現到上面列出的所有屬性。


LFSR的用法
LFSR具有廣泛的應用, 下面對其中的一些典型應用進行介紹。LFSR計數器
LFSR可用于構建通過隨機序列狀態(tài)進行計數的計數器。與常見的計數器相比, LFSR計數器具有速度快 、 消耗邏輯門少的特點。擾碼器/解擾器
LFSR可用作擾碼器來產生重復的比特圖案。當重復間隔較大時, 該比特圖案看上去就像一個隨機的比特序列。用戶數據發(fā)送前和擾碼器生成的序列進行異或, 然后發(fā)出, 此時發(fā)送的數據就是經過擾碼的數據。接收電路與發(fā)送電路采用相同的多項式, 這樣, 解擾器就可以將發(fā)送端原始的用戶數據恢復出來。LFSR還可應用于其他領域, 如密碼系統(tǒng) 、 BIST ( 內建自測試 )、 快速以太網及吉比特以太網等。擴展:m序列
m Sequence (MLS : Maximum Length Sequence)m序列是一類特殊的LFSR序列,為了更好的理解m序列,首先你需要理解LFSR序列的概念。與典型的LFSR相比,m序列有什么特別之處?如果使用LFSR生成一個序列,輸出最終會重復它自己,但是在大多數應用程序中,其目的是使用給定數目的移位寄存器(后續(xù)用taps表示這些寄存器)生成盡可能長的非重復序列。m-Squence 是一種特殊類型的LFSR,它為每個給定的taps提供了最長的非重復序列。下表顯示了各種taps的已知m序列:






