組成原理課設(shè)-循環(huán)冗余校驗碼生成與實現(xiàn)_第1頁
組成原理課設(shè)-循環(huán)冗余校驗碼生成與實現(xiàn)_第2頁
組成原理課設(shè)-循環(huán)冗余校驗碼生成與實現(xiàn)_第3頁
組成原理課設(shè)-循環(huán)冗余校驗碼生成與實現(xiàn)_第4頁
組成原理課設(shè)-循環(huán)冗余校驗碼生成與實現(xiàn)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課 程 設(shè) 計 報 告課程設(shè)計名稱:組成原理課程設(shè)計課程設(shè)計題目:循環(huán)冗余校驗碼生成電路的設(shè)計與實現(xiàn)院(系):計算機學(xué)院專班學(xué)姓業(yè):計算機科學(xué)與技術(shù)級:號:名:指導(dǎo)教師:指導(dǎo)教師評語:審查結(jié)論:年月日本人聲明:所呈交的報告(含電子版及數(shù)據(jù)文件)是我個人在導(dǎo)師指導(dǎo)下獨立進行設(shè)計工作及取得的研究結(jié)果。盡我所知,除了文中特別加以標注或致謝中所羅列的內(nèi)容以外,報告中不包含其他人己經(jīng)發(fā)表或撰寫過的研究結(jié)果,也不包含其它教育機構(gòu)使用過的材料。與我一同工作的同學(xué)對本研究所做的任何貢獻均己在報告中做了明確的說明并表示了謝意。報告資料及實驗數(shù)據(jù)若有不實之處,本人愿意接受本教學(xué)環(huán)節(jié)“不及格”和“重修或重做”的評分

2、結(jié)論并承擔相關(guān)一切后果。本人簽名:日期:年月日I沈陽航空航天大學(xué)日止 ; 2 447 2 . 第4教研室審核意見:同意() 不同意( ) 教研室主任簽字:II課程設(shè)計總結(jié):軟件環(huán)境掌握不夠熟悉,軟件進行電路的接。在連接電路過程中出現(xiàn)很多問題,如成了電路的連接。該電路能夠?qū)崿F(xiàn)所需功能。這次課程設(shè)計的任務(wù)是做 CRC 碼生成電路的設(shè)計與實現(xiàn)。一開始是對CRC 碼的認識存在誤區(qū),沒有真正認識CRC 碼的生成過程,通過查教材和輔裝。封裝是老師要求的重點,開始我并不在意,后來電路圖的連線越來越多,的實踐動手能力。雖然過程中有迷茫,但是我堅信我可以做到。大的提高。為將來參加實際工作奠定了良好的基礎(chǔ)。老師接

3、受我最真摯的誠意,讓我成長讓我掌握的更多!III目錄第章 總體設(shè)計方案 .11.1 設(shè)計原理.11.2 設(shè)計思路.21.3 設(shè)計環(huán)境.3第章 詳細設(shè)計方案 .42.1 頂層方案圖的設(shè)計與實現(xiàn).42.1.1創(chuàng)建頂層圖形設(shè)計文件 .42.2 功能模塊的設(shè)計.42.2.1移位寄存器的設(shè)計 .52.2.2模2除法器的設(shè)計 .62.3 CRC碼生成電路整體仿真.9第章 編程下載與硬件測試 .123.1 器件的選擇與引腳鎖定.123.2 編程下載.133.3 硬件測試及結(jié)果分析.13參考文獻 .16附 錄(電路原理圖) .17IV第 1章 1.1 循環(huán)冗余校驗碼(Cyclic Redundancy Che

4、ck,CRC)簡稱為循環(huán)碼或 CRC 碼。此碼可以發(fā)現(xiàn)并糾正信息在存儲或傳送過程中連續(xù)出現(xiàn)的多位錯誤代碼。計算機常用的二進制信息沿一條信號線逐位在設(shè)備之間傳送稱為串行傳送,CRC 碼常用于串行傳送過程中的檢錯與糾錯。CRC 碼一般是指 n 位信息碼之后拼接k 位校驗碼。CRC 碼是一種從n 位信息碼能簡便的得到 k 位校驗碼,并且能從n+k位信息碼中判斷是否出錯。首先輸入信息碼,根據(jù)信息碼由多項式因子的計算公式得到相應(yīng)的校驗碼,然后將進行移位的信息碼與得到的校驗碼進行拼接,即可得到正確的 CRC 碼。CRC 碼是基于模 2 運算而建立編碼規(guī)律的校驗碼。在進行 CRC 計算時,采用二進制(模 2

5、)運算法,即加法不進位,減法不借位,其本質(zhì)就是兩個操作數(shù)進行邏輯異或運算。設(shè)待發(fā)送數(shù)據(jù)為 D(x),生成多項式為 G(x)。信息碼長 k 位,校驗碼長 n-k位,則編碼后的碼長為 n 位。如表 1.1:表 123knD DD. D D設(shè)被校驗的數(shù)據(jù)表示為一個階的多項式M ( x ) D是一個 k k 1k 2101 Dxk 2 . . D x1 D(1-1)xk k 1k 210多項式中的系數(shù) D 的取值為 0 或 1 M ix的 x 是一個偽變量,用 指明各位的位置。設(shè)校驗碼 P 長度為 ,將被校驗數(shù)據(jù) D左移 r 位后的結(jié)果為 r位DD. D D 00 . 00k 1k 2101將 D左移

6、 r位的目的是給 D右邊添加 r個 0,形成位長度二進制代碼,rx其多項式形式為 M(x) 1.1 所示,CRC 碼由 k 位數(shù)據(jù) D和 r 位校驗碼 P組成,求校驗碼 P 的多項式 R(X)的方法如下:M (x) xrG(x)R(x)G(x)(1-2) Q(x) Q(x)是商,R(x)R(x)所對應(yīng)的二進制代碼是校驗碼P。可以證明存在一個最高次冪為 n- k=r 的多項式 G(x) ,即式中 G(x),稱為生成多項式。由式可以推導(dǎo)出M (x) xr R(x)G(x)(1-3) M (x)由式可知,CRC 碼可被 G(x)整除,余數(shù)必然為 0。根據(jù)這一特性,接收方將收到的 CRC 碼被G(x)

7、除,若余數(shù)為 0,則表明傳送過程中沒有錯誤發(fā)生,若出現(xiàn)一位錯,根據(jù)余數(shù)與出錯位一一對應(yīng)的關(guān)系,可利用余數(shù)對錯誤碼進行定位。1.2 根據(jù)課設(shè)題目要求,可知本次實驗主要是完成(7,4)碼生成電路的設(shè)計與實現(xiàn)。CRC 碼生成電路的核心主要由移位寄存器和模2 除法器構(gòu)成,信息位以串行的方式輸入。模塊劃分如圖 1.1:圖 依據(jù) CRC 4 位二進制數(shù)據(jù)D左移 3 位后,與生成多項式G(x)做模 2 除法,并將得到的3 位余數(shù)與 4 位信息碼拼接成 7 位 CRC 2 塊,與門,異或門等電子元件。移位寄存器由7 個 D觸發(fā)器構(gòu)成。模2 除法器由若干兩輸入與門,若干兩輸入異或門和 D觸發(fā)器構(gòu)成。21.3 (

8、)硬件環(huán)境:偉福 COP2000 型計算機組成原理實驗儀、XCV200實驗板、計算機。COP2000 集成開發(fā)環(huán)境是為 COP2000 實驗儀與 PC 機相連進行高層次實驗的配套軟件,它通過實驗儀的串行接口和 PC 機的串行接口相連,提供匯編、 FPGA Windows下運行。COP2000 運行界面如圖 1.2 所示。圖 ()EDA環(huán)境:Xilinx foundation f3.1 是 Xilinx 公司的可編程期間開發(fā)工具,該平臺(如圖1.3 現(xiàn)工具、設(shè)計驗證工具三大部分組成。Xilinx foundation f3.1 界面圖3第 2章 2.1 頂層方案圖實現(xiàn) CRC 碼的生成的邏輯功能

9、,采用原理圖設(shè)計輸入方式完成,電路實現(xiàn)基于 XCV200 可編程邏輯芯片。在完成原理圖的功能設(shè)計后,把輸入/輸出信號安排到 XCV200 指定的引腳上去,實現(xiàn)芯片的引腳鎖定。2.1.1創(chuàng)建頂層圖形設(shè)計文件頂層圖形文件的設(shè)計實體主要由 CRC 主要由移位寄存器元件-YW、模 2 除法器元件-M2C 構(gòu)成。如圖 2.1 所示。圖 利用 Xilinx foundation f3.1 生成網(wǎng)絡(luò)表文件,利用設(shè)計實現(xiàn)工具經(jīng)綜合、優(yōu)化、適配,生成可供時序仿真的文件和器件下載編程文件。2.2 CRC 碼的生成與校驗是基于移位寄存器和模2 設(shè)計如下。42.2.1移位寄存器的設(shè)計該模塊由 7 個 D 觸發(fā)器相連接

10、構(gòu)成,數(shù)據(jù)通過 D端串行輸入到 D 觸發(fā)器中。每過一個時鐘脈沖,輸入的數(shù)據(jù)左移一位,經(jīng)過7 個脈沖后,由7 個 D觸發(fā)器的Q端并行輸出所輸入的數(shù)據(jù)。()創(chuàng)建元件圖形符號 MOV MOV Xilinx foundation f3.1 編譯器中的如下步驟實現(xiàn):Tools=Symbol 下一步。CP、D 是輸入信號,Q6、Q5、Q4、Q3、Q2、Q1、Q0是輸出信號。其元件圖形符號如 2.2 所示:圖 ()創(chuàng)建控制器設(shè)計原理圖移位寄存器的原理框圖如圖 2.3 所示。圖 5()移位寄存器功能仿真對創(chuàng)建的控制器模塊進行功能仿真,驗證其功能的正確性,可用XilinxFoundation f3.1 編譯器

11、Simulator D 串行輸入數(shù)據(jù) ,得到結(jié)果。仿真結(jié)果如圖 2.4 所示:圖 7 Q6-Q0的結(jié)果為 。第二組測試數(shù)據(jù) D端輸入 1110 2.5 所示:圖第二組仿真結(jié)果如圖所示,串行輸入數(shù)據(jù) 1110,經(jīng)過 7 個時鐘周期后輸出Q6-Q0的結(jié)果為 。2.2.2模 2除法器的設(shè)計模 2 運算的特點是不考慮進位和錯位的運算,期規(guī)律如下: 模 2 加和模 2 減的結(jié)果是相等的,即。可見,兩個相同數(shù)的模 2 和恒為 0。6 模 2 乘是按模 2 和求部分積之和。 模 2 除是按模 2 1 1 0 0。當部分余數(shù)的位數(shù)小于除數(shù)的位數(shù)時,該余數(shù)即為最后余數(shù)。該模塊由 D(7,4)校驗碼,可采用圖6

12、所示電路,產(chǎn)生 3 位的余數(shù) Q2、Q1、Q0。圖中的模 2 減用異或門實現(xiàn),左移一位由移位寄存器實現(xiàn);用異或門的輸出控制左邊一位寄存器的D輸入端,可同時實現(xiàn)模2 減和左移。用最左一位 D觸發(fā)器的取值控制是否做模 2 減,當其為1 時,減去的數(shù)就是生成多項式 G(x),為 0 時減去的就是 0000。這里,被除數(shù) D 是逐位串行送到移位寄存器的,且由 CP 脈沖同步。其設(shè)計過程如下:()創(chuàng)建元件圖形符號為能在圖形編輯器原理圖設(shè)計輸入方式中調(diào)用 MOD2 MOD2 Xilinx foundation f3.1 編譯器中的如下步驟實現(xiàn):Tools=Symbol 下一步。、D、A2、A0是輸入信號,

13、Q2、Q0 是輸出信號。其元件圖形符號如圖2.6 所示:圖 ()創(chuàng)建控制器設(shè)計原理圖用各種門電路連接實現(xiàn)具體實驗原理電路圖,如圖 2.7 所示。7圖 模2()模 2除法器功能仿真對創(chuàng)建的控制器模塊進行功能仿真,驗證其功能的正確性,可用 XilinxFoundation f3.1 編譯器 Simulator D 端串行輸入數(shù)據(jù) ,得到余數(shù) Q2、Q1、Q0為 010。仿真結(jié)果如圖 2.8 所示:圖 模2 1100輸入到 D 7個時鐘周期的模 2 除法器運算后,得到三位余數(shù) Q2-Q0為 010。第二組測試數(shù)據(jù) D端串行輸入 1110,得到余數(shù)Q2Q1Q0為 100。仿真結(jié)果如圖 2.9 所示:8

14、圖 模2 1110輸入到 D 7個時鐘周期的模 2 除法器運算后,得到三位余數(shù) Q2-Q0為 100。2.3 仿真調(diào)試主要驗證設(shè)計電路邏輯功能、時序的正確性,本設(shè)計中主要采用功能仿真方法對設(shè)計的電路進行仿真。()建立仿真波形文件及仿真信號選擇功能仿真時,首先建立仿真波形文件,添加仿真信號,對選定的輸入信號設(shè) 2.1 D輸入信息碼 ,A輸入循環(huán)校驗碼 ,G0、G1、G2、G3 輸入生成多項式 。表 DQ60Q50Q40Q20Q10Q0111000001111111000001100001100001111001110101100011100010()功能仿真結(jié)果與分析功能仿真波形結(jié)果如圖 2.1

15、0 所示,仿真數(shù)據(jù)結(jié)果如表 2 所示。對表 2 與表 19圖 輸入信息碼為:1100,生成多項式為:1011,應(yīng)用模 2 除法器可以求出三位余數(shù)為 010 ,然后把余數(shù)和信息碼拼接可以得到 CRC 編碼為:1100010。第二組測試數(shù)據(jù) D端串行輸入 1110 和設(shè)置的參數(shù)如表 2.2 所示。表 DCLOCKQ60Q50Q40Q30Q20Q10Q01000001100001110001101001100101110101110100仿真結(jié)果如圖 2.11所示:10圖 輸入信息碼為 1110,經(jīng)過移位寄存器 7 個 D 觸發(fā)器變換后為 1110000;模 2除法器輸入的也是 1110四位二進制數(shù)

16、,經(jīng)運算得余數(shù)100。最終將余數(shù)與信息碼拼接可得到 CRC 1110100。11第 3章 3.1 ()器件的選擇由于硬件設(shè)計環(huán)境是基于偉福COP2000型計算機組成原理實驗儀和XCV200實驗板,故采用的目標芯片為 Xlinx XCV200 軟件中可用芯片。()引腳鎖定把頂層圖形文件中的輸入/輸出信號安排到 Xlinx XCV200 芯片指定的引腳上去,實現(xiàn)芯片的引腳鎖定,各信號及 Xlinx XCV200 芯片引腳對應(yīng)關(guān)系如表 3.1所示。表 圖形文件中的輸入輸出信號D123.2 利用 COP2000 .bit 文件下載到 XCV200 實驗板的 XCV200 可編程邏輯芯片中。3.3 利用

17、 XCV200 實驗板進行硬件功能測試。CRC碼生成和校驗的輸入數(shù)據(jù)通過XCV200 XCV200實驗板的 LED指示燈實現(xiàn),其對應(yīng)關(guān)系如表 3.2 所示。表 XCV200 芯片引腳信號XCV200 實驗板K1:0XCV200 芯片引腳信號XCV200 實驗板DQ6Q5Q4Q3Q2Q1Q0A6A5A4A3A2A1A0CLOCKK0:3利用表 2.1 中的輸入?yún)?shù)作為輸入數(shù)據(jù),逐個測試輸出結(jié)果,即用 XCV200實驗板的開關(guān)組 K0 中的 1,2,3,4 輸入多項式數(shù)據(jù) ,用開關(guān)組 K1 中的 1號開關(guān)串行輸入信息碼 ,同時觀察發(fā)光二極管組 A0-A6 的輸出,得到如表3.3 所示的硬件測試結(jié)果

18、。表 D11000001111111000110000001100011000011100110101100111001013由表 2.1 和表 3.3 正確。其硬件測試最后結(jié)果如圖 3.1 所示:圖 由開關(guān)組 K1的 1 號開關(guān)串行輸入信息碼 7 個周期的 CLK 時鐘信號后,發(fā)光二極管 A6-A0 顯示為 ,產(chǎn)生的 CRC 校驗碼完全正確。利用表 2.2 中的輸入?yún)?shù)作為輸入數(shù)據(jù),逐個測試輸出結(jié)果,即用 XCV200實驗板的開關(guān)組 K0 中的 1,2,3,4 輸入多項式數(shù)據(jù) ,用開關(guān)組 K1 中的 1號開關(guān)串行輸入信息碼 1110,同時觀察發(fā)光二極管組 A0-A6 的輸出,得到如表3.4 所示的硬件測試結(jié)果。表 輸入CLOCK輸出Q3DQ60Q50Q40Q20Q10Q01000000111401110由表 2.2 和表 3.4 確。其硬件測試最后結(jié)果如圖 3.2 所示:圖 由開關(guān)組 K1的 1 號開關(guān)串行輸入信息碼 1110 7

溫馨提示

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

評論

0/150

提交評論