基于bch碼的快閃存儲器控制器設(shè)計bch(含外文翻譯)_第1頁
已閱讀1頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  畢 業(yè) 論 文(設(shè) 計)</p><p><b>  論文(設(shè)計)題目:</b></p><p>  快閃存儲器控制器設(shè)計</p><p>  姓 名 </p><p>  學 號 </p><p>  學 院

2、 </p><p><b>  專 業(yè) </b></p><p>  年 級 </p><p>  指導老師 </p><p>  2012年 5 月 4 日</p><p><b>  目錄</b&

3、gt;</p><p><b>  目錄1</b></p><p><b>  摘要3</b></p><p>  Abstract4</p><p><b>  第1章 引言5</b></p><p>  1.1 快閃存儲器簡介5<

4、/p><p>  1.2 閃存中的糾錯碼(ECC)技術(shù)5</p><p>  1.3 論文的研究內(nèi)容與組織結(jié)構(gòu)6</p><p>  第2章 ECC整體設(shè)計8</p><p>  2.1 ECC簡介8</p><p>  2.2 功能要求8</p><p>  2.3 本章總結(jié)

5、10</p><p>  第3章 BCH碼11</p><p>  3.1 伽羅華域11</p><p>  3.2 BCH碼的編碼13</p><p>  3.3 BCH碼的解碼16</p><p>  3.3.1 伴隨式的求解方法16</p><p>  3.3.2

6、錯誤位置多項式的高速求解法18</p><p>  3.3.3 全并行錢氏搜索機20</p><p>  3.4 本章總結(jié)21</p><p>  第4章 BCH編解碼器的設(shè)計23</p><p>  4.1 BCH編碼器23</p><p>  4.2 BCH解碼器25</p>&

7、lt;p>  4.2.1 伴隨式計算模塊26</p><p>  4.2.2 錯誤位置多項式計算模塊28</p><p>  4.2.3 錢氏搜索機31</p><p>  4.3 ECC模塊的驗證32</p><p>  4.4 本章總結(jié)33</p><p>  第5章 總結(jié)35<

8、/p><p><b>  謝辭36</b></p><p><b>  參考文獻37</b></p><p>  附錄A 英文翻譯原文39</p><p>  附錄 B 譯文48</p><p><b>  摘要</b></p>&

9、lt;p>  論文對于 flash存儲器控制器的設(shè)計,主要是針對于其中的錯誤檢查與糾錯(ECC)模塊.ECC模塊是存儲器控制器的核心模塊,主要對輸入和輸出數(shù)據(jù)進行編解碼并糾正其中的錯誤。</p><p>  本論文中的ECC模塊主要采用了BCH(15,7,2)碼。對于編碼采用了線性反饋電路移位寄存器的方法,對于解碼采用了三個模塊:伴隨式計算模塊、錯誤位置多項式模塊和錢氏搜索機。BCH碼以其較強的糾錯能力和構(gòu)

10、造方便的優(yōu)點,在無線尋呼和無線數(shù)據(jù)通信中被廣泛應(yīng)用。利用單片機用軟件的方法實現(xiàn)BCH(15,7,2)碼的ECC模塊很多資料都已經(jīng)介紹。但由于采用單片機以軟件的方法實現(xiàn),其譯碼器具有速度慢、系統(tǒng)穩(wěn)定性差等缺點,本論文介紹了采用FPGA設(shè)計的采用BCH(15,7,2)碼的ECC模塊。先對ECC模塊進行VHDL代碼的編寫,然后利用ALTERA的QUARTUS II集成開發(fā)環(huán)境進行了綜合、仿真。采用硬件的方法實現(xiàn)的ECC模塊具有速度快、性能穩(wěn)定

11、以及易于大規(guī)模集成等優(yōu)點。</p><p>  關(guān)鍵詞:快閃存儲器控制器;ECC模塊;BCH碼;FPGA;</p><p><b>  Abstract</b></p><p>  This thesis mainly introduced the module of the error correction code(ECC), which

12、is the most important module in the flash controller. The module of ECC can accomplish the event that encode the data-in and decode the data-out and correct the error data. </p><p>  The module of ECC use th

13、e BCH(15,7,2) code in this thesis. For the encode, the module of linear feedback shift register can make it work. For the decode, it has three modules: finding polynomials, finding the coefficient of the error  loc

14、ator polynomial and chien. Because of its strong ability of correcting errors and convenient construction ,the BCH code is widely used in the radio paging and Wireless data communication. Much material has introduced t

15、he way of accomplishing the BCH(15,7,2) </p><p>  Keywords: flash controller ; ECC ; BCH code ; FPGA</p><p><b>  第1章 引言</b></p><p>  1.1 快閃存儲器簡介</p><p> 

16、 在當今數(shù)字技術(shù)飛速發(fā)展的時代,flash因其非易失性和可擦除性,以及具有更小的體積、更快的寫入和擦除速度、更多的可擦除次數(shù)以及更低廉的每比特價格等特點得到了迅速發(fā)展,在數(shù)碼相機、手機、移動存儲卡、掌上電腦和MP3播放器等設(shè)備中得到廣泛的使用。</p><p>  隨著flash單片存儲容量的不斷提升和當前flash擦寫速度的不斷提高,數(shù)據(jù)存儲與讀取的可靠性變得越來越低,迫切需要一種實時、高速的技術(shù)對flash中

17、存儲和讀取的數(shù)據(jù)進行糾錯以保證數(shù)據(jù)的可靠性。</p><p>  在flash的差錯類型設(shè)計中錯誤是以位的形式分散在整個數(shù)據(jù)塊中的,所以具有可控、隨機錯誤糾錯能力的BCH碼適用于flash的糾錯。</p><p>  目前大部分flash的PER為,為使PER低于這個行業(yè)安全標準,需要的糾錯能力為15 bit左右。因此必須提高編碼譯碼器的糾錯能力。</p><p>

18、  1.2 閃存中的糾錯碼(ECC)技術(shù)</p><p>  ECC校驗是一種內(nèi)存糾錯技術(shù),它是現(xiàn)在比較先進的內(nèi)存錯誤檢查和更正手段。ECC是“Error Checking and Correcting”的簡寫,中文名稱是“錯誤檢查和糾正”。ECC是一種能夠?qū)崿F(xiàn)“錯誤檢查和糾正”的技術(shù),ECC內(nèi)存就是應(yīng)用了這種技術(shù)的內(nèi)存,一般多應(yīng)用在服務(wù)器及圖形工作站上,這將使整個電腦系統(tǒng)在工作時更加趨于安全穩(wěn)定。</p

19、><p>  在ECC技術(shù)出現(xiàn)以前,內(nèi)存中應(yīng)用最多的是奇偶校驗(Parity)。但Parity有個缺點,當內(nèi)存查到某個數(shù)據(jù)有錯誤時,并不一定能確定在哪一個位,也就不一定能修正錯誤,所以帶有奇偶校驗的內(nèi)存的主要功能僅僅是“發(fā)現(xiàn)錯誤”,并能糾正部分簡單的錯誤。</p><p>  Parity內(nèi)存是通過在原來數(shù)據(jù)位的基礎(chǔ)上增加一個數(shù)據(jù)位來檢查當前8位數(shù)據(jù)的正確性,但隨著數(shù)據(jù)位的增加Parity用來

20、檢驗的數(shù)據(jù)位也成倍增加,就是說當數(shù)據(jù)位為16位時它需要增加2位用于檢驗,當數(shù)據(jù)位為32位時則需增加4位,依此類推。特別是當數(shù)據(jù)量非常大時,數(shù)據(jù)出錯的幾率也就越大,對于只能糾正簡單錯誤的奇偶檢驗的方法就顯得力不從心了,因此出現(xiàn)了一種新的錯誤檢查與糾正(ECC)技術(shù),這種技術(shù)也是在原來的數(shù)據(jù)位上外加校驗位來實現(xiàn)的。不同的是兩者增加的方法不一樣,這也就導致了兩者的主要功能不一樣。它與Parity不同的是如果數(shù)據(jù)位是8位,則需要增加5位來進行E

21、CC錯誤檢查和糾正,數(shù)據(jù)位每增加一倍,ECC只增加一位檢驗位,也就是說當數(shù)據(jù)位為16位時ECC位為6位,32位時ECC位為7位,數(shù)據(jù)位為64位時ECC位為8位,依此類推,數(shù)據(jù)位每增加一倍,ECC位只增加一位??傊?,在內(nèi)存中ECC能夠容許錯誤,并可以將錯誤更正,使系統(tǒng)得以持續(xù)正常的操作,不致因錯誤而中斷,且ECC具有自動更正的能力。 </p><p>  1.3 論文的研究內(nèi)容與組織結(jié)構(gòu)</p>&

22、lt;p>  隨著快閃存儲器工藝技術(shù)的不斷進步,快閃存儲器單元的可靠性嚴重下降,因此通過設(shè)計方法提高系統(tǒng)的可靠性變得愈加嚴重。糾錯碼作為一種能夠有效提高系統(tǒng)可靠性的技術(shù),雖然廣發(fā)應(yīng)用于通信系統(tǒng)中,但快閃存儲器在數(shù)據(jù)存儲過程中產(chǎn)生錯誤的機制與通信系統(tǒng)在數(shù)據(jù)傳輸過程中產(chǎn)生錯誤的機制并不同,因而兩者的錯誤率特點有著明顯的差別。隨著快閃存儲器的不斷使用,錯誤比特率呈現(xiàn)出單調(diào)遞增的趨勢??扉W存儲器中的糾錯系統(tǒng)必須采用硬件實現(xiàn)。快閃存儲器的隨

23、機訪問時間短,對解碼器的解碼延遲,數(shù)據(jù)吞吐量等指標有著非??量痰囊?,ECC有更強的糾錯性能和動態(tài)可調(diào)節(jié)的能力。</p><p>  論文的后續(xù)章節(jié)就應(yīng)用于快閃存儲器控制器中的ECC模塊進行了深入的分析和研究。采用了BCH(15,7,2)碼,可對7位的信息碼糾正2比特的錯誤,生成15位的碼字。</p><p><b>  第1章是引言。</b></p>

24、<p>  第2章主要介紹整個ECC模塊的頂層原理圖設(shè)計,介紹頂層模塊的組成以及各個底層模塊在頂層模塊中的位置和作用。</p><p>  第3章主要介紹ECC模塊中BCH編解碼器的原理和相應(yīng)的運算。</p><p>  第4章主要介紹ECC模塊中BCH編解碼器的電路結(jié)構(gòu)設(shè)計,對于編碼器采用了線性反饋移位寄存器的方法,避免了復雜的除法運算。對于解碼器采用了三級流水線的方法,先對解

25、碼器的三個模塊:伴隨式計算模塊、錯誤位置多項式計算模塊和錢氏搜索機進行設(shè)計,再將三個模塊與編碼器進行連接,并進行了仿真驗證。其中,伴隨式計算模塊采用了線性反饋移位寄存器的方法;錯誤位置多項式計算模塊采用了基于PETERSON矩陣的直接求解法,整個電路有AND和XOR邏輯實現(xiàn),設(shè)計簡單,速度高;錢氏搜索機采用了全并行的方法,由XOR樹實現(xiàn),提高了速度。</p><p>  第5章為本論文的總結(jié)。</p>

26、<p>  第2章 ECC整體設(shè)計</p><p>  2.1 ECC簡介 </p><p>  ECC第一次提出是在1948年Claude Shannon的論文“A Mathematical Theory of Communication ” 中,經(jīng)過幾十年的發(fā)展,ECC技術(shù)目前已廣發(fā)應(yīng)用于通信系統(tǒng)、無線應(yīng)用、光盤存儲等領(lǐng)域。ECC技術(shù)的原理是:向原始的

27、信息數(shù)據(jù)中添加冗余位,進行編碼;對接收到的信息,利用冗余位能夠找出接收信息中的錯誤位置,并進行糾正,從而恢復原始的存儲數(shù)據(jù),這個過程也稱為解碼。糾錯碼通常分為兩大類:線性碼和卷積碼。線性碼的特點是進行數(shù)據(jù)處理的單位是碼字(codeword),碼字是具有固定長度的信息塊。一個n位線性碼的碼字是由原始的k位信息加上相應(yīng)的冗余位組成,如圖2.1所示。另外,對于線性碼,碼字中每位信息受到的噪聲相互獨立,因此碼字中的錯誤具有隨機性的特點。相反,卷

28、積碼是將信息數(shù)據(jù)看成連續(xù)的比特流,因而卷積進行數(shù)據(jù)處理的單位是比特。在存儲系統(tǒng)中,存儲器以碼字為單位進行數(shù)據(jù)的寫入和讀取操作的,因而采用線性碼實現(xiàn)存儲系統(tǒng)的糾錯。本論文所關(guān)注的是線性碼在快閃存儲器控制器中的應(yīng)用。本論文所采用的BCH碼就是線性碼的一種。 </p><p>  圖2.1 ECC碼字的組成</p><p><b>  2.2 功能要求</b>

29、</p><p>  應(yīng)用于快閃存儲器中的ECC模塊主要由編碼器和解碼器兩部分組成。本論文中的ECC技術(shù)采用了BCH(15,7,2)碼。</p><p>  BCH(15,7,2)碼實現(xiàn)對7位的信息碼字進行2位的糾錯,生成8位的校驗碼。將7位的數(shù)據(jù)寫入到閃存時,首先編碼器產(chǎn)生相應(yīng)的冗余位,形成一個15位的碼字。讀取時,解碼器搜索碼字中的錯誤,并在其糾錯能力范圍內(nèi)糾正相應(yīng)的錯誤,從而恢復正確

30、的數(shù)據(jù)信息,輸出7位的信息碼。論文中的ECC整體設(shè)計如圖2.2所示。</p><p>  圖2.2 快閃存儲器控制器的ECC系統(tǒng)</p><p>  編碼器主要對輸入信息進行編碼,對輸入的7比特信息位按照BCH碼的標準增加8比特的校驗位組成一個15比特的碼字,含有2比特的糾錯能力。編碼器采用線性反饋移位寄存器的方法實現(xiàn),實現(xiàn)數(shù)據(jù)的串行輸入和串行輸出。</p><p

31、>  對數(shù)據(jù)進行編碼之后,當輸出數(shù)據(jù)時,需要先進行解碼和糾錯。BCH解碼器能夠?qū)崿F(xiàn)解碼和糾錯的功能。本論文中的BCH解碼器包括三個模塊:伴隨式計算模塊,錯誤位置多項式系數(shù)計算模塊和錢氏搜索機模塊。</p><p>  伴隨式模塊的作用是通過接收碼字和校驗矩陣來計算伴隨式S,伴隨式也是采用線性反饋移位寄存器的方法實現(xiàn),實現(xiàn)對數(shù)據(jù)的串行輸入和串行輸出。由于錯誤位置多項式系數(shù)采用的是并行輸入,而它的輸入是伴隨式模

32、塊的輸出,所以在伴隨式模塊和錯誤位置多項式模塊之間加了一個串并轉(zhuǎn)換電路。實現(xiàn)了端口的匹配。</p><p>  錯誤位置多項式系數(shù)采用了直接求解法,整個電路有AND和XOR邏輯組成,編碼簡單,易于實現(xiàn)。錯誤位置多項式系數(shù)模塊的輸入是伴隨式模塊的輸出經(jīng)串并轉(zhuǎn)換電路后的輸出,使用的是并行輸入和并行輸出。</p><p>  解碼部分的最后一個模塊式錢氏搜索機。本論文采用了全并行的方法實現(xiàn)錢氏搜

33、索。錢氏搜索機的作用是尋找錯誤位置多項式的根,便于確定錯誤的位置并糾正碼字中的錯誤。錢氏搜索模塊是由XOR邏輯實現(xiàn)的。</p><p><b>  2.3 本章總結(jié)</b></p><p>  本章介紹了快閃存儲器控制器的ECC模塊的頂層電路設(shè)計。介紹了ECC的組成和ECC的各模塊的功能和在ECC中的位置。介紹了各個模塊的實現(xiàn)方法和中間轉(zhuǎn)換電路。</p>

34、<p><b>  第3章 BCH碼</b></p><p>  二進制BCH碼是建立在伽羅華域(Galois field, GF)的基礎(chǔ)上的,本章將詳細闡述BCH碼編解碼的原理。</p><p><b>  3.1 伽羅華域</b></p><p>  閃存中存儲的數(shù)據(jù)信息均為二進制數(shù),因而應(yīng)用在閃存中

35、的BCH碼為二進制BCH碼。二進制BCH碼建立在伽羅華域(GF)的基礎(chǔ)上。伽羅華域是有限域,因Evariste Galois 首先發(fā)明而得名,其數(shù)學理論廣泛的應(yīng)用在糾錯碼系統(tǒng)、密碼系統(tǒng)中。下面首先介紹伽羅華域的相關(guān)理論。</p><p>  伽羅華域是有限域,其數(shù)學理論屬于群論范疇。伽羅華域有以下性質(zhì):</p><p>  伽羅華域具有有限性。伽羅華域中有有限個元素。</p>

36、<p>  伽羅華域具有封閉性。伽羅華域定義了“加”和“乘”兩種操作。將域中任意兩個元素進行相加或相乘的結(jié)果仍然是這個域中的元素,其中,域中有一個零元素“0”,對域中的任意元素,有;域中有一個單位元素 “1”,對域中任意元素,有。</p><p>  伽羅華域具有可逆性。對于域中的任意元素,存在可逆的逆加元素,使得;存在可逆的逆乘元素,使得。</p><p>  伽羅華域滿足

37、結(jié)合律,交換律和分配律。</p><p><b>  結(jié)合律:;;</b></p><p><b>  交換律: ;;</b></p><p><b>  分配律:;</b></p><p>  閃存中存儲的數(shù)據(jù)為二進制數(shù),因此應(yīng)用于閃存中的糾錯碼技術(shù)均基于階伽羅華域,其中為伽

38、羅華域的度(degree),這時伽羅華域可以表示為。</p><p>  是的擴域,是最簡單的有限域,只有兩個元素,其上的加法和乘法就是布爾加法和布爾乘法。即</p><p>  表3.1 中的加法和乘法運算 </p><p>  共有個元素。中存在一個稱為本原域元素的,使得構(gòu)成伽羅華域中的全部個非零個元素。其中</p><p>  

39、定義3.1:對于,如果滿足,則稱為伽羅華域的本原元。</p><p>  定義3.2:表示一組多項式的集合,其中多項式的系數(shù)為中的元素。結(jié)果多項式除了常數(shù)和本身外,不能再被其他多項式除盡,則稱多項式為不可約多項式。</p><p>  定義3.3: 對于最高次冪為的不可約多項式,若是的因子,并且的最小值為,則稱為上的本原多項式。</p><p>  定義3.4:中任

40、一元素的最小多項式定義為以該元素為根的具有最小階數(shù)的多項式。的本原多項式是本原域元素的最小多項式。</p><p>  通過上述的定義可以看出,為的根,即。令 </p><p>  ,由于上的減法操作等同于加法操作,可以得到:,該式表明,對于伽羅華域中的任何一個元素(),可以轉(zhuǎn)換為一個最高次冪不超過的多項式。因此伽羅華域中的元素可以有三種表示形式:指數(shù)形式,多項式形式,以及由多項式各項系數(shù)

41、組成的二進制矢量表達式。作為例子,表3.2中給出上一些元素的三種表達方式。對于,本原多項式為。</p><p>  表3.2 上元素不同的表達方式</p><p>  3.2 BCH碼的編碼</p><p>  BCH碼是循環(huán)碼的一個重要子類,它具有糾多個錯誤的能力,BCH碼有嚴密的代數(shù)理論,是目前研究的最透徹的一類碼。BCH 碼是1959 年由Hocquen

42、ghem、1960 年由Bose和Chandhari 分別獨立提出的。BCH碼是糾正多個隨機錯誤的循環(huán)碼,可以用生成多項式的根來描述。 </p><p>  給定任一有限域及其擴域, 其中是素數(shù)或素數(shù)的冪, 為某一正整數(shù)。 若碼元取自上的一循環(huán)碼,它的生成多項式的根集合中含有以下個連續(xù)根:1、、…… 時, 則由生成的循環(huán)碼稱為進制BCH碼。 </p><p>  設(shè)和分別是()元素的最小多

43、項式和級, 則BCH碼的生成多項式和碼長分別是: </p><p><b>  (3.1) </b></p><p><b>  (3.2)</b></p><p>  其中為的最小多項式,LCM表示最小公倍數(shù) (least common multiple)。 </p><

44、p>  如果生成多項式的根中,有一個中的本原域元素, 則, 稱這種碼長的BCH碼為本原BCH碼;否則,稱為非本原BCH碼。 中元素的級一定是的因子,所以非本原BCH碼的碼長也一定是的因子。</p><p>  二進制BCH碼是建立在域上的,加法可以用異或表示,除法可以用移位表示。BCH(n,k, t)碼的定義如下:</p><p>  碼字長度: </p>&l

45、t;p><b>  數(shù)據(jù)的長度: </b></p><p>  校驗信息的長度: </p><p>  糾錯能力: 所有小于或等于位錯誤的情況。</p><p>  有些情況下實際應(yīng)用中的信息數(shù)據(jù)長度并不恰好等于BCH(n, k,t)碼定義中的信息數(shù)據(jù)長度。例如,在快閃存儲器中通常信息個數(shù)為而根據(jù)上述BCH碼的定義所計算

46、出的,在這種情況下,可以使用縮短的BCH碼。</p><p>  所謂縮短的BCH碼,是指在BCH(n, k, t)碼的碼字中使最高位的個信息位均置為0,這樣傳輸時就可以不用送它們,只要傳遞后面的位碼字即可,這樣構(gòu)成了一個(,)的碼,稱為BCH的縮短碼。需要指出的是BCH縮短碼有著與BCH碼同樣的糾錯能力,均為,即BCH(n-p, k-p, t)。</p><p>  此外,BCH碼屬于循

47、環(huán)碼。循環(huán)碼是線性碼的一個重要子類,顧名思義,循環(huán)碼的碼字具有循環(huán)的特性。其循環(huán)特性使它的編碼算法變得比較簡單,編碼電路也易于實現(xiàn)。</p><p>  對于二進制BCH碼,和的最小多項式相同,所以式(3.1)可以寫成如式(3.3)的形式:</p><p><b>  (3.3)</b></p><p>  由于最小多項式的最高次冪為,所以生成

48、多項式的最高次冪為.同時BCH碼為循環(huán)碼,因此對于任何BCH碼的碼字,都是的倍式,即。</p><p>  假設(shè)BCH的信息數(shù)據(jù)為,其對應(yīng)的多項式為;</p><p>  相應(yīng)的生成多項式為:;</p><p>  碼字為,則碼字多項式可以表示為 </p><p>  (3.4)

49、 </p><p>  式中。顯然的最高次冪小于,通過移項上式可以變?yōu)椋?。其實就是BCH碼中的冗余位多項式。另外,在伽羅華域中,減法操作等同于加法操作,將等式兩邊同除以,可以得到計算的表達式: </p><p><b>  (3.5)</b></p><p>  所以BCH(15,7,2)碼的編碼的產(chǎn)生步

50、驟為:</p><p><b>  將信息多項式預乘;</b></p><p>  將除以,得余式,此余式就是編碼需要得到的校驗位多項式;</p><p>  得到循環(huán)碼的碼字多項式為的形式。</p><p>  由上述BCH(15,7,2)碼編碼的產(chǎn)生過程可以看出:構(gòu)造一個BCH(15,7,2)碼的關(guān)鍵是要找出該碼的生

51、成多項式。當碼長及糾錯能力給定后可以用MATLAB求出生成多項式。下面是求解生成多項式的MATLAB代碼:</p><p>  Gen_gf=bchgenpoly(15,7).</p><p>  3.3 BCH碼的解碼</p><p>  3.3.1 伴隨式的求解方法</p><p>  如前所述,BCH碼的生成多項式是個最小多項式的乘

52、積,因而含有個連續(xù)冪次的根:。而BCH碼的碼字又是生成多項式的倍式,因此碼字也是這些連續(xù)冪次的根,即: </p><p>  for (3.6)</p><p><b>  寫成矩陣的形式為:</b></p><p><b>  (3.7) </b></p><p>  其

53、中H定義為BCH碼的檢驗矩陣,為碼字矢量。</p><p>  設(shè)接收到的碼字多項式為:,則BCH碼伴隨式S的定義如下: </p><p><b>  (3.8)</b></p><p>  如果個伴隨式均為零,則說明接收到的碼字沒有錯誤,反之,則說明接收到的碼字中有錯誤。</p>

54、<p>  此外,伴隨式S還可以通過另外一種方法獲得:先用對應(yīng)的最小多項式除接收到的碼字多項式:</p><p>  for (3.9)</p><p>  再根據(jù)最小多項式的定義,可以得到,將上式移項帶入后得:</p><p>  for (3.10)</p><p>  可以看出,對于伴隨式的每一個分量,式(

55、3.8)和(3.10)的表達式一致,因此兩種方法均可以用來計算伴隨式。另外,對于式(3.9)求解伴隨式的運算與BCH編碼的表達式(3.5) 有著相似的數(shù)學表達式,都需要多項式的除法運算。因此硬件實現(xiàn)也有著相似的電路結(jié)構(gòu),在電路中均采用線性反饋移位寄存器結(jié)構(gòu)實現(xiàn)。</p><p>  本論文中求解BCH(15,7,2)碼的伴隨式,采用的是式(3.9),即通過線性反饋移位寄存器的方法來求得伴隨式S。但是硬件實現(xiàn)與式(

56、3.5)不同。BCH編碼是先將輸入量乘以因子進行除法取余操作,而伴隨式的產(chǎn)生是直接將接收量進行除法取余操作。這在電路實現(xiàn)上反映出的差別是前者電路的輸入端與最高位的寄存器進行相加后形成反饋信號,并連接到最低位的寄存器上,而后者電路的輸入端則是與最低位的寄存器相加后形成反饋信號。最終寄存器中的內(nèi)容就是伴隨式的值。由于BCH碼是二進制BCH碼,因而偶數(shù)項的伴隨式等于前項伴隨式的平方,即。所以可以減少計算量和復雜度。</p>&l

57、t;p>  上述BCH(15,7,2)是建立在伽羅華域上的,最小多項式可以用 MATLAB生成,其中產(chǎn)生最小多項式的代碼為:</p><p><b>  m=4,t=2;</b></p><p>  x=gf(2,m);</p><p>  for i=1:2 :(2*t-1)</p><p>  min

58、pol_gf=minpol(x^i);</p><p><b>  end;</b></p><p><b>  得到,。</b></p><p>  3.3.2 錯誤位置多項式的高速求解法</p><p>  BCH解碼中的錯誤位置多項式為:</p><p><b&

59、gt;  (3.11)</b></p><p>  錯誤位置多項式的個根就是碼字中錯誤位置的倒數(shù)。錯誤位置多項式的系數(shù)與伴隨式分量之間的關(guān)系有下列牛頓恒等式給出:</p><p>  (3.12) </p><p>  該步的任務(wù)就是通過上述牛頓恒等式,計算出的各項系數(shù)。1960年P(guān)eterson首次提出了通過矩陣運算求解多項式系數(shù)的方

60、法,然而由于需要計算矩陣的逆運算,實現(xiàn)較為復雜。1966年Berlekamp提出了采用迭代運算求解多項式系數(shù)的方法,1969年Massey將此算法進行了簡化,使其實現(xiàn)比較簡單,成為了著名的B-M(Berlekamp-Massey)算法。該算法的核心思想是:先給出最低次多項式,讓其系數(shù)滿足第一個牛頓恒等式;在檢驗是否滿足第二個牛頓恒等式,若不滿足,則向中添加一個修正項構(gòu)成,以滿足第二個牛頓恒等式;反之則使,迭代過程一直進行下去,直到得到為

61、止。B-M算法中需要求逆運算,而求逆運算的硬件實現(xiàn)較為復雜,為了便于硬件實現(xiàn),后來者對Berlekamp迭代算法進行了相應(yīng)的改進,并提出了免求逆的運算,目前較為廣泛的是RiBM(Reformulated Inversionless B-M)算法,RiBM算法具有硬件實現(xiàn)時單元結(jié)構(gòu)有很好的規(guī)則性的優(yōu)點。</p><p>  本論文中的BCH(15,7,2)碼的錯誤位置多項式的表達式,如下:</p>&

62、lt;p><b> ?。?.13)</b></p><p>  通常求解錯誤位置多項式的系數(shù)的方法是采用RiBM算法。RiBM算法的核心思想是將本次時鐘周期計算出的值與上一個時鐘周期的值進行比較,根據(jù)比較的結(jié)果決定下一個時鐘周期表達式系數(shù)的值,這樣經(jīng)過2t個時鐘周期的迭代,最后計算出關(guān)鍵方程系數(shù)的值。顯然,這種RiBM算法,不適于閃存高速解碼的要求,因此,我們提出了一種直接求解法來計算

63、錯誤位置多項式的系數(shù)。</p><p>  直接求解法的數(shù)學理論源于Peterson矩陣。Peterson矩陣是Peterson于1960年提出的矩陣求解錯誤位置多項式系數(shù)的方法,Peterson矩陣的表達式為式(3.14),可以看出,求解σ需要用到矩陣的逆運算,并且隨著糾錯位數(shù)t的增加,矩陣運算復雜度急劇增加,因此實際應(yīng)用中的BCH碼譯碼時沒有采用Peterson矩陣的方法。</p><p&

64、gt;<b>  (3.14)</b></p><p>  然而,對于t=2的BCH(15,7,2)碼,Peterson矩陣的變量很少,因此一個可行的方法是根據(jù)矩陣方程直接求解出系數(shù)、的值。采用這種直接求解法時,求解出的關(guān)鍵系數(shù)和的表達式為</p><p><b>  (3.15)</b></p><p>  因此,錯誤位

65、置多項式的表達式為</p><p><b>  (3.16)</b></p><p>  可見,通過采用直接求解法,避免了傳統(tǒng)RiBM算法的迭代過程,然而上述表達式中仍然存在著伽羅華域的除法運算,除法運算的硬件復雜度高、延遲大。為了進一步減少解碼的延遲,需要通過正確的且適當?shù)淖儞Q消除伽羅華域的除法運算。</p><p>  有文獻證明,對于任意

66、的BCH碼,如果碼字中存在錯誤,則有,因此可以將上述等式的兩邊同時乘以系數(shù),從而消除了伽羅華域的除法運算,生成的新表達式為 :</p><p><b>  (3.17) </b></p><p>  BCH解碼的最后一步錢氏搜索是在伽羅華域中尋找錯誤位置多項式的根,也就是滿足的。顯然,當, 同樣也有,因此錯誤位置多項式經(jīng)過消除除法的變換后與變換前有著相同的根,也就是仍

67、搜索到相同的錯誤位置,從而保證了消除除法變換的正確性。在伽羅華域上,每個伴隨式矢量都可以表示成相對應(yīng)的多項式的形式:</p><p>  根據(jù)伽羅華域的封閉性,可以求出系數(shù),如下:</p><p><b>  (3.18)</b></p><p><b>  (3.19)</b></p><p>&

68、lt;b> ?。?.20)</b></p><p>  可以看出,上述的系數(shù)計算表達式中只包含了模2的加法運算和模2的乘法運算,而模2的加法運算和乘法運算可以分別用XOR邏輯和AND邏輯實現(xiàn)。因此,對于應(yīng)用于t=2的BCH(15,7,2)碼,采用直接求解法計算錯誤位置多項式的系數(shù)時,消除了傳統(tǒng)RiBM算法的迭代運算及伽羅華域復雜的除法運算,使最終可以用組合邏輯電路中的XOR和AND邏輯就能夠?qū)崿F(xiàn)

69、多項式系數(shù)的求解,最終實現(xiàn)了高速的系數(shù)求解。</p><p>  3.3.3 全并行錢氏搜索機</p><p>  BCH解碼的最后一步就是尋找錯誤位置。錯誤位置多項式的根就是錯誤位置的倒數(shù)。然而,工程上實現(xiàn)的求解伽羅華域的多項式的根非常困難。1964年華裔科學家錢聞天了易于工程實現(xiàn)的求解根的方法。其思想是將求解錯誤位置多項式的根轉(zhuǎn)化為檢驗錯誤位置多項式的根。將伽羅華域的元素()依次帶入

70、到錯誤位置多項式中,如果該元素是的根,即存在,那么就可以找到碼字中的一個錯誤,錯誤位置為,這種方法稱為錢氏搜索(Chien search),已成為BCH解碼過程中尋找錯誤位置多項式的最常用的方法。錢氏搜索機的運行過程如下:對接收到的碼字多項式,先檢驗第一位比特是不是有錯誤,也就是檢查是否為的根,即 </p><p>  如果,則比特為錯誤的比特,否則該比特正確。由于錢氏搜索的方法是從第一位比特開始檢

71、測,一直遍歷到整個碼字空間,因此具有逐位譯出,先譯先出的特點。這一特點也使得BCH譯碼的過程可以采用三級流水線的方法實現(xiàn),從而顯著的提高了譯碼器的吞吐率,通過錢氏搜索機尋找出碼字中的所有錯誤用矢量表示,將與接收到的矢量相加,便完成了BCH的譯碼。</p><p>  下面針對于BCH(15,7,2)碼,對錢氏搜索機做一介紹。</p><p>  對于BCH(15,7,2)碼,計算出錯誤位置

72、多項式的系數(shù)之后,就進入錢氏搜索。錢氏搜索通過在伽羅華域中搜尋多項式的根來確定錯誤位置,表達式如下:</p><p>  for (3.21)</p><p>  假設(shè)通過搜索發(fā)現(xiàn),那么就是錯誤的位置。</p><p><b>  3.4 本章總結(jié)</b></p><p>  本章首先介紹了伽羅華域的基本

73、概念和相應(yīng)的理論,接著介紹了BCH碼編碼的原理和編碼的實現(xiàn)步驟。對于BCH碼解碼,采用了三級流水線的形式,所以分別介紹了伴隨式計算的原理和方法、錯誤位置多項式的高速求解的方法和并行錢氏搜索機的方法。</p><p>  第4章 BCH編解碼器的設(shè)計</p><p>  本章將闡述BCH碼編碼器的設(shè)計,采用了線性反饋移位寄存器(linear feedback shift register)

74、的電路結(jié)構(gòu)來實現(xiàn)串行BCH(15,7,2)碼編碼器的設(shè)計。論文中ECC模塊的BCH(15,7,2)碼解碼器的設(shè)計采用了三級流水線的方法,解碼分三個模塊:伴隨式模塊、錯誤位置多項式模塊、錢氏搜索模塊。論文先對各個模塊進行設(shè)計和VHDL代碼的編寫,仿真通過后,將解碼器與編碼器連接起來,實現(xiàn)總的功能。利用這種方法實現(xiàn)編解碼,運算程序大為簡化,具有解碼速度快,硬件實現(xiàn)復雜度低等特點。</p><p>  4.1 BCH

75、編碼器</p><p>  BCH碼的編碼可以用硬件實現(xiàn)也可以用軟件實現(xiàn),硬件實現(xiàn)法速度快,適用于實時處理,但是需要反復實驗,制作周期長;用軟件實現(xiàn),可以利用計算機模擬,節(jié)省時間,提高效率,但是運行速度慢,需要尋找最佳算法進行最優(yōu)化。BCH碼是線性循環(huán)碼的一種,其編碼方式和一般的循環(huán)碼編碼方式相同,容易實現(xiàn)的方式是將信息碼多項式升次冪后除以生成多項式,然后將所得余式置于升冪后的信息多項式之后,即采用式(3.5)的

76、方法進行編碼。</p><p>  將生成多項式和信息碼字帶入式(3.5), 就可構(gòu)造BCH(15,7,2)循環(huán)碼的編碼方式。求解需要伽羅華域的除法運算,除法電路通常是使用線性反饋移位寄存器來實現(xiàn)的。BCH(15,7,2)循環(huán)碼編碼器的電路結(jié)構(gòu)如圖4.1所示。</p><p>  圖4.1 BCH(15,7,2)碼的編碼器的電路結(jié)構(gòu)圖</p><p>  圖中

77、代表模2的相加,可以用異或門實現(xiàn)。第一步:當rst=1時,信息數(shù)據(jù)移入線路中,同時送出。信息從線路的前段移入等價于用乘信息多項式。當k位信息數(shù)據(jù)全部移入線路,在寄存器中的個數(shù)據(jù)就夠成了余項,所以它們就是校驗碼。第二步:移出校驗碼,并把它們送出。這個校驗碼與k個信息一起構(gòu)成一個完整的數(shù)據(jù)碼字。</p><p>  BCH(15,7,2)碼編碼器電路模塊包括輸入數(shù)據(jù)data_in,輸出數(shù)據(jù)data_out,控制信號r

78、st,時鐘信號clk和除法電路五部分組成。當rst=1時,實現(xiàn)對數(shù)據(jù)的編碼,rst=0時實現(xiàn)復位。BCH(15,7,2)的電路框圖如圖4.2所示。</p><p>  圖4.2 BCH(15,7,2)碼的編碼器的電路框圖</p><p>  電路的工作方式如下:先使得控制信號rst=1,反饋回路開始工作,每個時鐘周期串行輸入1位的信息data_in,這樣經(jīng)過8個時鐘周期,各寄存器的值就是

79、BCH碼字的冗余位,此時改變控制信號,令rst=0,再經(jīng)過n-k個時鐘周期就可以輸出冗余位,這樣就生成BCH(15,7,2)碼的一個長度為15的碼字。</p><p>  對于BCH(15,7,2)碼,輸入0011001,經(jīng)過編碼后輸出001100111110110,利用ALTERA的QUARTUSII軟件對BCH(15,7,2)碼編碼器的進行時序仿真,結(jié)果如圖4.3所示。</p><p>

80、;  圖4.3 BCH(15,7,2)碼編碼器的時序仿真結(jié)果 </p><p>  對于BCH(15,7,2)碼,輸入信息位0011000,經(jīng)過編碼后輸出001100000100111,利用ALTERA的QUARTUSII軟件對BCH(15,7,2)碼編碼器的時序進行仿真,結(jié)果如圖4.4所示:</p><p>  圖4.4 BCH(15,7,2)碼編碼器的時序仿真結(jié)果</p&g

81、t;<p>  以上仿真結(jié)果看出,第2到8個時鐘周期輸出的是信息碼,第9到16個時鐘輸出的校驗碼,實現(xiàn)了串行輸入和串行輸出。</p><p>  4.2 BCH解碼器</p><p>  論文采用了三級流水線的方法進行BCH(15,7,2)碼的解碼碼,解碼分三個模塊:伴隨式模塊、錯誤位置多項式模塊、錢氏搜索模塊。</p><p>  4.2.1 伴

82、隨式計算模塊</p><p>  根據(jù)上一章的介紹,伴隨式的求解方法有兩種。一種是基于矩陣的運算,一種是除法運算。除法運算可以采用線性反饋移位寄存器的方法來實現(xiàn),簡單,復雜度低。所以本論文的伴隨式的求解是用線性反饋移位寄存器實現(xiàn)的。</p><p>  根據(jù)式(3.9),采用線性反饋移位寄存器的方法來構(gòu)建BCH(15,7,2)碼伴隨式產(chǎn)生器,電路結(jié)構(gòu)圖如圖4.5所示。</p>

83、<p>  伴隨式S1產(chǎn)生器的電路結(jié)構(gòu)圖</p><p>  b. 伴隨式S3產(chǎn)生器的電路結(jié)構(gòu)圖</p><p>  圖4.5 伴隨式產(chǎn)生器的電路結(jié)構(gòu)圖</p><p>  開始時4級移位寄存器中的寄存數(shù)據(jù)全部清零;接著輸入接收的碼字,同時輸出,經(jīng)過16個周期后,寄存器內(nèi)的數(shù)據(jù)就是錯誤位置多項式;最后通過移位,再經(jīng)過4個周期,伴隨式的值被移出。<

84、/p><p>  伴隨式產(chǎn)生器模塊包括輸入數(shù)據(jù)data_in,實際上是編碼器的輸出,時鐘信號clk, 控制信號rst, 輸出數(shù)據(jù)data_out和除法電路五部分,當rst=0時實現(xiàn)復位,當rst=1時,由輸入15位信息,求出伴隨式S,模塊結(jié)構(gòu)如圖4.6。</p><p>  圖4.6 伴隨式S1產(chǎn)生器的電路模塊圖</p><p>  圖4.7 伴隨式S3產(chǎn)生器的電路模塊

85、圖</p><p>  電路的工作方式如下:先使得控制信號rst=1,反饋回路開始工作,每個時鐘周期串行輸入1位的輸入信息data_in,這樣經(jīng)過16個時鐘周期,各寄存器的值就是伴隨式的值,此時改變控制信號,令rst=0,再經(jīng)過4個周期就可以輸出伴隨式。</p><p>  對于圖4.3中的輸出序列001100111110110,伴隨式為:0000,利用ALTERA的QUARTUSII軟件

86、對BCH(15,7,2)碼的伴隨式產(chǎn)生器的時序進行仿真,結(jié)果如圖4.8所示。</p><p><b>  (S1)</b></p><p><b>  ( S3)</b></p><p>  圖4.8 BCH(15,7,2)碼的伴隨式產(chǎn)生器的時序仿真結(jié)果</p><p>  從圖4.8看出,第2到

87、第16個周期輸出的是編碼器編碼后的碼字,即編碼器的輸出,第17到第20個周期輸出的是伴隨式。</p><p>  4.2.2 錯誤位置多項式計算模塊</p><p>  對于BCH(15,7,2)碼,m=4,在伽羅華域上,使用上一章介紹的直接求解法,根據(jù)式(3.18),(3.19),(3.20),可以得到系數(shù)的RTL級電路圖,如圖4.9所示,該電路基本上是用XOR和AND邏輯實現(xiàn)了求解錯

88、誤位置多項式的功能。</p><p>  圖4.9 BCH(15,7,2)碼中錯誤位置多項式系數(shù)的電路實現(xiàn)</p><p>  錯誤位置多項式模塊包括輸入數(shù)據(jù), 實際是伴隨式產(chǎn)生器模塊的輸出data_out1、data_out3,時鐘信號clk, 控制信號rst, 輸出數(shù)據(jù)data_out 。當rst=0時實現(xiàn)復位,當rst=1時,由輸入的4位信息,求出錯誤位置多項式的系數(shù)。內(nèi)部電路由X

89、OR和AND邏輯實現(xiàn)。BCH(15,7,2)碼中錯誤位置多項式系數(shù)的模塊圖如圖4.10所示。</p><p>  圖4.10 BCH(15,7,2)碼中錯誤位置多項式系數(shù)的模塊圖</p><p>  電路的工作方式如下:當rst=1時,并行輸入,在時鐘上升沿時輸出錯誤位置多項式的系數(shù)。</p><p>  設(shè)伴隨式=1010,=0110,輸出是1010,1000,

90、1001,則利用ALTERA的QUARTUSII軟件對BCH(15,7,2)碼錯誤位置多項式模塊的時序仿真結(jié)果如圖4.11所示</p><p>  圖4.11 BCH(15,7,2)碼錯誤位置多項式模塊的時序仿真結(jié)果</p><p>  從圖4.11可以看出,對于給定的經(jīng)過大約18ns后開始得到正確的。</p><p>  4.2.3 錢氏搜索機</p&

91、gt;<p>  通常采用反饋寄存器的電路實現(xiàn)方式實現(xiàn)錢氏搜索,這需要較多的時鐘周期才能完成,為了滿足閃存對高速解碼的要求,本論文中將錢氏搜索進行了并行化,采用了全并行的錢氏搜索的實現(xiàn)方法,其電路結(jié)構(gòu)為全并行的XOR-樹構(gòu)成的組合邏輯。先計算至這15個多項式中各項的結(jié)果,經(jīng)過求和計算后輸出,將求和結(jié)果與相應(yīng)的碼字進行異或,即在一個時鐘周期內(nèi)完成了碼字的糾錯。</p><p>  全并行錢氏搜索機的電

92、路模塊包括輸入data_in ,實際是編碼器輸出的數(shù)據(jù),復位rst,時鐘信號clk,錯誤位置多項式的系數(shù)d0、d1、d2和糾錯后的輸出data_out七部分,如圖4.12所示。</p><p>  圖4.12 全并行錢氏搜索機的電路模塊圖</p><p>  當rst=0時,實現(xiàn)復位,模塊的輸出為零;當rst=1時,實現(xiàn)對輸入數(shù)據(jù)進</p><p>  行XOR 和

93、AND邏輯運算后,輸出結(jié)果,及最后解碼并糾錯后的結(jié)果。</p><p>  利用ALTERA的QUARTUS軟件對BCH(15,7,2)碼錢氏搜索機模塊的時序仿真結(jié)果如圖4.12所示</p><p>  圖4.12 BCH(15,7,2)碼錢氏搜索機模塊的時序仿真結(jié)果</p><p>  4.3 ECC模塊的驗證</p><p>  第三

94、章和本章前幾個章節(jié)介紹了BCH(15,7,2)碼的編碼和解碼的方法和相應(yīng)的電路設(shè)計。本節(jié)主要完成這兩個模塊的總的設(shè)計,實現(xiàn)數(shù)據(jù)的編解碼。</p><p>  首先,將各個模塊進行連接,在時序上進行統(tǒng)一。由于錯誤位置多項式的系數(shù)模塊和錢氏搜索模塊的輸入是并行輸入,而與此對應(yīng)的相應(yīng)的伴隨式模塊和編碼模塊的輸出是串行輸出,所以首先通過移位寄存器進行了串并的轉(zhuǎn)換,再將相應(yīng)的端口進行相連。</p><p

95、>  快閃存儲器控制器中的ECC的各模塊設(shè)計完成后,將各模塊連接成一個頂層模塊,如圖 4.13所示。</p><p>  圖4.13 ECC頂層模塊原理圖</p><p>  對整個模塊進行驗證:</p><p>  輸入碼字:0011001</p><p>  經(jīng)過大約103.5ns后,輸出解碼后的碼字:001101</p

96、><p>  仿真結(jié)果如圖4.14所示:</p><p>  圖4.14 頂層模塊仿真結(jié)果</p><p>  從仿真結(jié)果可以看出:最后輸出了解碼后的碼字:0011001.</p><p><b>  4.4 本章總結(jié)</b></p><p>  論文介紹的BCH(15,7,2)碼編碼器是利用線性

97、反饋移位寄存器的方法實現(xiàn)的,采用了串行輸入和串行輸出的方式。然后寫出相應(yīng)的VHDL代碼,生成了相應(yīng)的模塊圖,并在FPGA上進行了仿真。</p><p>  論文中的解碼方法與原先的查找表方法不同,解碼器分為三個模塊:解伴隨計算式、解錯誤位置多項式計算模塊和錢氏搜索機。其中,伴隨式計算模塊采用了線性反饋移位寄存器電路實現(xiàn),解錯誤位置多項式計算模塊采用了基于Peterson矩陣的直接求解法實現(xiàn),錢氏搜索機采用了全并行

98、的方法實現(xiàn)。</p><p>  求解伴隨式,首先要求解最小多項式,最小多項式可以由MATLAB自動求出;直接求法求解錯誤位置多項式的系數(shù)只用AND和XOR邏輯,避免了迭代運算,消除了伽羅華域的除法運算,最終實現(xiàn)了高速的系數(shù)求解;求解錯誤位置多項式的根,采用了全并行的方法,提高了解碼速度。</p><p>  本章先對BCH碼編解碼器的各個模塊進行設(shè)計,接著給出了相應(yīng)的電路模塊圖,并進行了

99、相應(yīng)的仿真結(jié)果。</p><p><b>  第5章 總結(jié)</b></p><p>  隨著快閃存儲器存儲單元尺寸不斷縮小、存儲容量不斷增加、以及多電平技術(shù)的廣發(fā)使用,快閃存儲器的存儲單元發(fā)生錯誤的概率越來越大,所以必須加強快閃存儲器控制器的糾錯能力和糾錯速度。</p><p>  本論文對于 flash存儲器控制器的設(shè)計,主要是針對于其中的

100、錯誤檢查與糾錯(ECC)模塊.ECC模塊是存儲器控制器的核心模塊,主要實現(xiàn)對輸入和輸出數(shù)據(jù)進行編解碼、糾正數(shù)據(jù)的錯誤。首先,論文的每一章節(jié),先對編解碼的基礎(chǔ)知識進行介紹,然后對相應(yīng)的模塊做出了設(shè)計,并進行了仿真和驗證。對于BCH(15,7,2)碼,編碼采用了線性反饋移位寄存器的方法,避免了傳統(tǒng)方法中的除法運算,簡單易實現(xiàn),實現(xiàn)了串行數(shù)據(jù)的輸入和串行數(shù)據(jù)的輸出;解碼采用了三級流水線操作,分三個模塊:伴隨式模塊,錯誤位置多項式模塊和錢氏搜索

101、模塊。其中伴隨式模塊也是采用了線性反饋移位寄存器的方法,錯誤位置多形式模塊沒有采用傳統(tǒng)的RIBM算法,而是采用了直接求解的算法,由XOR 和 AND邏輯實現(xiàn),設(shè)計簡單,提高了速度,錢氏搜索采用了全并行的方法,其電路結(jié)構(gòu)為全并行的XOR-樹構(gòu)成的組合邏輯,在一個時鐘周期內(nèi)完成了碼字的糾錯,大大提高了速度。</p><p>  論文中的設(shè)計,采用了模塊化的手法,先對各模塊進行設(shè)計,最后將各模塊連接起來,在時序上進行統(tǒng)

102、一,形成一個頂層模塊。并對每一個模塊和頂層模塊進行了仿真,得到了預期的仿真結(jié)果。</p><p><b>  謝辭</b></p><p>  本研究作為我的畢業(yè)論文是在教授精心指導和大力支持下完成的,他淵博的知識、開闊的視野和敏銳的思維給了我深深的啟迪,論文凝結(jié)著他的汗水。王教授以其嚴謹求實的治學態(tài)度、孜孜以求的敬業(yè)精神和大膽創(chuàng)新的進取精神深深感染了我,對我今后的工

103、作和學習也產(chǎn)生了深遠影響,在此,我要向他表示衷心的感謝。</p><p>  另外,本論文在選題及整個研究過程中還得到本專業(yè)研究生三年級學生秦盼學姐的悉心指導,她們多次詢問論文進程,幫我開拓思路,為我指點迷津,精心點撥,熱忱鼓勵,為我完成這篇論文提供了巨大的幫助。</p><p>  最后,要向我的父親、母親致謝!“父兮生我,母兮鞠我,拊我蓄我,長我育我,顧我復我,出入腹我,欲報之德,昊天

104、罔極”,十月懷胎生我,含辛茹苦養(yǎng)我,長大又教我勤奮盡責、正直做人,這生我、養(yǎng)我、教我之恩,縱有三生我也無以回報!畢業(yè)后還要讀研,又要遠離你們了,我在心中默默祈禱:希望你們能夠平安,健康。</p><p>  現(xiàn)在,經(jīng)過幾個月的努力,我終于完成了我的畢業(yè)設(shè)計,這篇論文就是我的成果。在這個過程中,我要特別感謝我的導師王祖強老師,感謝他的悉心指導,感謝他給我的幫助和支持,謝謝!</p><p>

105、<b>  參考文獻</b></p><p>  [1] Liu W, Rho J, Sung W. Low-power high-throughput BCH error correction VLSI design for multi-level cell NAND flash memories. Proc. IEEE workshop on Signal Processing Sys

106、tems Design and Implementation,2006:303-308.</p><p>  [2] Duann N. Error correcting techniques for future NAND flash memory in SSD applications Proceedings of Flash Memoty Summit,2009.</p><p>

107、  [3] Vigoda B. Lyric error correction for flash memory. Proceeding of Flash Memory Sunnit,2010.</p><p>  [4] Parhi K. K. Eliminating the Fan-out Bottleneck in Parallel long BCH Encoders, IEEE Trans. Circ

108、uits &Systems I,2004,51:512-516.</p><p>  [5] Choi H, Liu W, Sung W. et al, VLSI implementation of BCH error correction for multilevel cell NAND flash memory. IEEE Trans. Very Large Scale Integr . (VLSI

109、)Systems,2010,18(5):843-847.</p><p>  [5] 王雪強. 快閃存儲器的低壓高可靠性技術(shù)研究[博士學位論文]. 北京: 清華大學微電子與納電子研究所, 2011.</p><p>  [6] 許錦.NAND FLASH 快速BCH編解碼算法及硬件實現(xiàn)[碩士學位論文].上海:復旦大學電子與通信工程,2008.</p><p>  [

110、7] 王杰,沈海濱.NAND Flash 控制器的BCH編/譯碼器設(shè)計.杭州:浙江大學超大規(guī)模集成電路設(shè)計研究所,2010.</p><p>  [8] 汪建國.BCH編譯碼器的設(shè)計及驗證[碩士學位論文].上海:上海交通大學電子信息與電氣工程學院,2010.</p><p>  [9] 張軍,王志功,胡慶生,肖潔.高速并行BCH(2184,2040)編碼器的VLSI優(yōu)化設(shè)計.南京:東南大學

111、,2006.</p><p>  [10]胡江.基于FPGA的BCH(23,11)碼編譯碼器的實現(xiàn).寧波:浙江萬里學院,2006.</p><p>  [11]孫延鵬,李軒,王麗.基于FPGA的BCH(31,21)碼譯碼器的設(shè)計.沈陽:沈陽航空工業(yè)學院電子工程系,2003.</p><p>  [12] 陳志,黃世震,曾獻君.BCH解碼器面積優(yōu)化的VLSI設(shè)計.福州

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論