線性反饋移位寄存器(LFSR):通常由移位寄存器和異或門邏輯組成。其主要應用在:偽隨機數,偽噪聲序列,計數器,BIST,數據的加密和CRC校驗等。
Part.1
線性反饋移位寄存器(LFSR)主要包括兩大類:斐波那契(外部LFSR),又稱many-to-one;伽羅瓦(內部LFSR),又稱one-to-many。
如下圖(模2的多項式:x^8+x^6+x^4+1):

Part.2
抽頭(tap):影響線性反饋寄存器下一個狀態(tài)的比特位叫做抽頭,抽頭的設定會決定線性反饋寄存器最大的輸出序列長度,抽頭通常用有限域算數中模2的多項式來表示(例如模2的多項式為:x^8+x^6+x^4+1)。
通常N bits的線性反饋寄存器能產生最長的不重復序列為2^N-1。因為當所有寄存器的輸出為全零狀態(tài)時,線性反饋寄存器陷入死循環(huán),故Nbit的線性反饋寄存器的輸出狀態(tài)有2^N-1。
抽頭的位置會影響LSFR的最大輸出狀態(tài)的個數,例如:3bit的抽頭為【3,2】會產生7個狀態(tài)(多項式對應為:x^3+x^2+1),若抽頭為【3,1】會產生2個狀態(tài)(多項式對應為:x^3+x+1)。
當N bits下,抽頭的設定產生的最大輸出序列長度為2^N-1時,此時對應的模2多項式為本原多項式。下表為不同的bits下,抽頭的設定(對應不同的本原多項式)和最大的輸出狀態(tài)個數關系表。

Part.3
上面提到N bits的LFSR能產生最大輸出狀態(tài)的個數為2^N-1,如果輸出狀態(tài)包括全零的狀態(tài),最大輸出狀態(tài)的個數可達到2^N,那么通過對LFSR做如下圖的修改,即如果檢測到Q[7]-Q[0]輸出狀態(tài)為全零時,經過~|Q[6:0]^Q[7]邏輯運算后輸出的結果為1,進而保證線性反饋寄存器不會陷入死循環(huán)中。

Part.4
在實際的應用中,例如crc的校驗,會用到模2的多項式的運算,遵循如下的計算原則:

寫在最后
這里只是介紹了線性反饋移位寄存器的原理,后面會寫到RTL的具體實現。
參考資料: 1.https://en.wikipedia.org/wiki/Linear-feedback_shift_register 2.HDL Chip Design. A Practical Guide for Designing, Synthesizing and Simulating ASICs and FPGAs Using VHDL or Verilog
審核編輯 :李倩
-
寄存器
+關注
關注
31文章
5608瀏覽量
129968 -
線性
+關注
關注
0文章
219瀏覽量
26265
原文標題:線性反饋移位寄存器原理
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
深入解析STPIC6D595:8位移位寄存器的卓越性能與應用
STP08CP05:低電壓、低電流8位移位寄存器的性能與設計解析
?SN74LVC595A 8位移位寄存器技術文檔總結
SN74HCT165 8位并行輸入移位寄存器技術解析
?SN74HCT595 8位移位寄存器技術解析與應用指南
TPIC6595 8位功率移位寄存器技術文檔摘要
?TPIC6B595 8位功率移位寄存器技術文檔總結
?TLC6C5912 12通道移位寄存器LED驅動器技術文檔總結
SN74LV595B-EP低噪聲8位移位寄存器技術解析與應用指南
Texas Instruments SN74AHC165/SN74AHC165-Q1 SIPO移位寄存器數據手冊
Texas Instruments SN74AHCT165/SN74AHCT165-Q1 SIPO移位寄存器數據手冊
Texas Instruments SN74LV8T594/SN74LV8T594-Q1移位寄存器特性/應用/框圖
Texas Instruments SN74AHCT594/SN74AHCT594-Q1 8位移位寄存器數據手冊
Texas Instruments SN74LVC166A 8位并聯負載移位寄存器數據手冊
Texas Instruments SN74AC596/SN74AC596-Q1 SIPO移位寄存器特性/應用/框圖
線性反饋移位寄存器(LFSR)
評論