組成原理課設-循環冗余校驗碼生成與實現_第1頁
組成原理課設-循環冗余校驗碼生成與實現_第2頁
組成原理課設-循環冗余校驗碼生成與實現_第3頁
組成原理課設-循環冗余校驗碼生成與實現_第4頁
組成原理課設-循環冗余校驗碼生成與實現_第5頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、沈陽航空航天大學課課 程程 設設 計計 報報 告告課程設計名稱:組成原理課程設計組成原理課程設計課程設計題目:循環冗余校驗碼生成電路循環冗余校驗碼生成電路 的設計與實現的設計與實現 院(系):計算機學院專 業:計算機科學與技術 班 級:學 號:姓 名: 指導教師: 說明:結論(優秀、良好、中等、及格、不及格)作為相關教環節考核必要依據;格式不符合要說明:結論(優秀、良好、中等、及格、不及格)作為相關教環節考核必要依據;格式不符合要求;數據不實求;數據不實,不予通過。報告和電子數據必須作為實驗現象重復的關鍵依據。不予通過。報告和電子數據必須作為實驗現象重復的關鍵依據。指導教師評語:簽名:審查結論

2、: 年 月 日沈陽航空航天大學課程設計報告 學術誠信聲明 本人聲明本人聲明:所呈交的報告(含電子版及數據文件)是我個人在導師指導下獨立進行設計工作及取得的研究結果。盡我所知,除了文中特別加以標注或致謝中所羅列的內容以外,報告中不包含其他人己經發表或撰寫過的研究結果,也不包含其它教育機構使用過的材料。與我一同工作的同學對本研究所做的任何貢獻均己在報告中做了明確的說明并表示了謝意。報告資料及實驗數據若有不實之處,本人愿意接受本教學環節“不及格”和“重修或重做”的評分結論并承擔相關一切后果。 本人簽名: 日期: 年 月 日沈陽航空航天大學課程設計報告 I 沈陽航空航天大學沈陽航空航天大學課課程程設設

3、計計任任務務書書課程名稱計計算算機機組組成成原原理理課課程程設設計計專業計算機科學與技術計算機科學與技術學生姓名班級計算機計算機學號題目名稱循環冗余校驗碼生成電路的設計與實現循環冗余校驗碼生成電路的設計與實現起止日期2016年12月19日起至2016年12月30日止課設內容和要求:一、課程設計內容采用 Xilinx Foundation F3.1 可編程器件開發工具軟件、偉福 COP2000 實驗箱設計并實現循環冗余校驗碼生成電路。二、課程設計要求1采用自上而下的設計方法,頂層設計使用原理圖設計輸入方式(電路圖方式實現) ;底層設計輸入方式自行選定(可用電路圖實現、也可通過 VHDL 語言編程

4、實現);2課程設計的電路主要應包括:模 2 除電路、余數產生電路、校驗碼拼接電路、移位電路等;3必須用基本邏輯門實現。輸入數據為 4 位,選定 4 位生成多項式,輸出 7 位的校驗碼;4對設計電路進行仿真并驗證其正確性,仿真數據由指導教師給出; 5實現編程下載和硬件測試;6獨立設計、調試、仿真、下載和硬件測試并通過指導教師現場驗收;7撰寫課程設計報告。參考資料:1 唐碩飛.計算機組成原理(第 2 版) M.北京:高等教育出版社,20082 曹昕燕. EDA 技術實驗與課程設計M.北京:清華大學出版社,20063 范延濱.微型計算機系統原理、接口與 EDA 設計技術M.北京:北京郵電大學出版社,

5、20064 王愛英.計算機組成與結構(第 4 版)M.北京:清華大學出版社,2006教教研研室室審審核核意意見見:同同意意( ) 不不同同意意( ) 教教研研室室主主任任簽簽字字:指導教師(簽名)指導教師(簽名)2016年12月19日學生簽名學生簽名2016年12月19日沈陽航空航天大學課程設計報告 II 課程設計總結:課程設計總結:剛進入實驗室時對微機中的 Xilinx Foundation F3.1軟件環境掌握不夠熟悉,不能熟練的應用 Xilinx Foundation F3.1軟件進行電路的連接,后經過老師的細心講解,終于對 Xilinx Foundation F3.1軟件有了很好的掌握

6、能力,能夠熟練的應用 Xilinx Foundation F3.1軟件進行電路的接。在連接電路過程中出現很多問題,如器件的選擇,管腳的鎖定等都出現很多錯誤,在老師和同學的指導下,順利的解決了這些問題,并且在老師的指導下對未封裝的電路進行了封裝,順利的完成了電路的連接。該電路能夠實現所需功能。這次課程設計的任務是做 CRC 碼生成電路的設計與實現。一開始是對CRC 碼的認識存在誤區,沒有真正認識 CRC 碼的生成過程,通過查教材和輔導書我明白了它是可以由信息碼和余數多項式合成的。還有對芯片的制作與封裝。封裝是老師要求的重點,開始我并不在意,后來電路圖的連線越來越多,才認識封裝的重要性。由于設計的

7、電路在仿真方面總是出問題,后來通過對每一個部分做仿真,才找出錯誤,我想今后我不會再犯這樣的錯誤了。從初步構思到一步步完善直到最后完成整個課程設計,讓我更好的鞏固了自己所學的知識。翻閱圖書去學習一些沒有接觸過的知識讓我更好的了解了這門課程,增強的實踐動手能力。雖然過程中有迷茫,但是我堅信我可以做到。兩周的課程設計結束了,在這兩周中收獲非常多。雖然課程設計題目只有一個,但在這一個題目中學到了很多課堂上學不到的專業知識。經過這次課設,我對書本的知識有了更進一步的理解,鍛煉了我的動手能力,使我的能力有很大的提高。為將來參加實際工作奠定了良好的基礎。總的來說,雖然完成了老師安排的任務,但是還沒有達到盡善

8、盡美的地步,還有很多要學習,要實踐。雖然課程設計結束了,但是我們才剛剛踏入計算機硬件領域,還有太多太多的知識有待我們去摸索。在實踐中學習,在學習中實踐,是這次課程設計讓我領悟到的,更是以后學習生活中我該做到的。在此請老師接受我最真摯的誠意,讓我成長讓我掌握的更多!沈陽航空航天大學課程設計報告 III 沈陽航空航天大學課程設計報告 IV 目目 錄錄第第 1 章章 總體設計方案總體設計方案.11.1 設計原理.11.2 設計思路.21.3 設計環境.3第第 2 章章 詳細設計方案詳細設計方案.42.1 頂層方案圖的設計與實現.42.1.1 創建頂層圖形設計文件.42.2 功能模塊的設計.42.2.

9、1 移位寄存器的設計.52.2.2 模 2 除法器的設計.62.3 CRC 碼生成電路整體仿真.9第第 3 章章 編程下載與硬件測試編程下載與硬件測試.113.1 器件的選擇與引腳鎖定.113.2 編程下載.123.3 硬件測試及結果分析.12參考文獻參考文獻.15附附 錄(電路原理圖)錄(電路原理圖).16沈陽航空航天大學課程設計報告 0 第 1 章 總體設計方案1.1 設計原理設計原理循環冗余校驗碼(Cyclic Redundancy Check,CRC)簡稱為循環碼或 CRC 碼。此碼可以發現并糾正信息在存儲或傳送過程中連續出現的多位錯誤代碼。計算機常用的二進制信息沿一條信號線逐位在設備

10、之間傳送稱為串行傳送,CRC 碼常用于串行傳送過程中的檢錯與糾錯。CRC 碼一般是指 n 位信息碼之后拼接 k 位校驗碼。CRC 碼是一種從 n 位信息碼能簡便的得到 k 位校驗碼,并且能從 n+k 位信息碼中判斷是否出錯。首先輸入信息碼,根據信息碼由多項式因子的計算公式得到相應的校驗碼,然后將進行移位的信息碼與得到的校驗碼進行拼接,即可得到正確的 CRC 碼。CRC 碼是基于模 2 運算而建立編碼規律的校驗碼。在進行 CRC 計算時,采用二進制(模 2)運算法,即加法不進位,減法不借位,其本質就是兩個操作數進行邏輯異或運算。設待發送數據為 D(x),生成多項式為 G(x)。信息碼長 k 位,

11、校驗碼長 n-k 位,則編碼后的碼長為 n 位。如表 1.1:表表 1.1 CRC 碼編碼格式碼編碼格式123kK+1n信息碼CRC 校驗碼設被校驗的數據是一個 k 位的二進制代碼,將0121.DDDDDkk它表示為一個(k-1)階的多項式 (1-1)0112211.)(DxDxDxDxMkkkk多項式(1-1)中的系數 D 的取值為 0 或 1,與被校驗的數據 M 一一對應;式中的 x 是一個偽變量,用指明各位的位置。ix設校驗碼 P 長度為 r,將被校驗數據 D 左移 r 位后的結果為位rkkDDDD00.00.0121沈陽航空航天大學課程設計報告 1 將 D 左移 r 位的目的是給 D

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

13、的 CRC 碼被 G(x)除,若余數為 0,則表明傳送過程中沒有錯誤發生,若出現一位錯,根據余數與出錯位一一對應的關系,可利用余數對錯誤碼進行定位。1.2 設計思路設計思路根據課設題目要求,可知本次實驗主要是完成(7,4)碼生成電路的設計與實現。CRC 碼生成電路的核心主要由移位寄存器和模 2 除法器構成,信息位以串行的方式輸入。模塊劃分如圖 1.1:圖圖 1.1 模塊圖模塊圖依據 CRC 碼生成原理可知,生成電路中由輸入端串行輸入的 4 位二進制數據 D 左移 3 位后,與生成多項式 G(x)做模 2 除法,并將得到的 3 位余數與 4 位信息碼拼接成 7 位 CRC 碼。本設計方案采用的元

14、件有模 2 除法器模塊,移位寄存器模塊,與門,異或門等電子元件。移位寄存器由 7 個 D 觸發器構成。模 2 除法器由若干兩輸入與門,若干兩輸入異或門和 D 觸發器構成。循環冗余校驗碼生成電路模 2 除法器移位寄存器沈陽航空航天大學課程設計報告 2 1.3 設計環境設計環境(1)硬件環境:)硬件環境:偉福 COP2000 型計算機組成原理實驗儀、XCV200 實驗板、計算機。 COP2000 集成開發環境是為 COP2000 實驗儀與 PC 機相連進行高層次實驗的配套軟件,它通過實驗儀的串行接口和 PC 機的串行接口相連,提供匯編、反匯編、編輯、修改指令、文件傳送、調試 FPGA 實驗等功能,

15、該軟件在Windows 下運行。COP2000 運行界面如圖 1.2 所示。圖圖 1.2 COP2000 界面界面(2)EDA 環境:環境: Xilinx foundation f3.1 是 Xilinx 公司的可編程期間開發工具,該平臺(如圖1.3 所示)功能強大,主要用于百萬邏輯門設計。該系統由設計入口工具、設計實現工具、設計驗證工具三大部分組成。圖圖 1.3 Xilinx foundation f3.1 界面界面沈陽航空航天大學課程設計報告 3 第 2 章 詳細設計方案2.1 頂層方案圖的設計與實現頂層方案圖的設計與實現 頂層方案圖實現 CRC 碼的生成的邏輯功能,采用原理圖設計輸入方式

16、完成,電路實現基于 XCV200 可編程邏輯芯片。在完成原理圖的功能設計后,把輸入/輸出信號安排到 XCV200 指定的引腳上去,實現芯片的引腳鎖定。2.1.1 創建頂層圖形設計文件創建頂層圖形設計文件頂層圖形文件的設計實體主要由 CRC 碼生成電路各主要模塊組成。生成電路主要由移位寄存器元件-YW、模 2 除法器元件-M2C 構成。如圖 2.1 所示。圖圖 2.1 CRC 碼生成電路原理圖碼生成電路原理圖利用 Xilinx foundation f3.1 的原理圖編輯器對頂層圖形文件進行編譯,并最終生成網絡表文件,利用設計實現工具經綜合、優化、適配,生成可供時序仿真的文件和器件下載編程文件。

17、2.2 功能模塊的設計功能模塊的設計CRC 碼的生成與校驗是基于移位寄存器和模 2 除法器及異或門實現的。具體設計如下。2.2.1 移位寄存器的設計移位寄存器的設計該模塊由 7 個 D 觸發器相連接構成,數據通過 D 端串行輸入到 D 觸發器中。沈陽航空航天大學課程設計報告 4 每過一個時鐘脈沖,輸入的數據左移一位,經過 7 個脈沖后,由 7 個 D 觸發器的Q 端并行輸出所輸入的數據。(1)創建元件圖形符號)創建元件圖形符號為能在圖形編輯器(原理圖設計輸入方式)中調用 MOV 芯片,需要為 MOV模塊創建一個元件圖形符號,可利用 Xilinx foundation f3.1 編譯器中的如下步

18、驟實現:Tools=Symbol Wizard=下一步。CP、D 是輸入信號,Q6、Q5、Q4、Q3、Q2、Q1、Q0 是輸出信號。其元件圖形符號如 2.2 所示:圖圖 2.2 移位寄存器器元件圖形符號移位寄存器器元件圖形符號(2)創建控制器設計原理圖創建控制器設計原理圖移位寄存器的原理框圖如圖 2.3 所示。圖圖 2.3 移位寄存器的原理圖移位寄存器的原理圖沈陽航空航天大學課程設計報告 5 (3)移位寄存器功能仿真)移位寄存器功能仿真對創建的控制器模塊進行功能仿真,驗證其功能的正確性,可用 Xilinx Foundation f3.1 編譯器 Simulator 模塊實現。D 串行輸入數據

19、1100,得到結果1100000。仿真結果如圖 2.4 所示:圖圖 2.4 移位寄存器仿真結果移位寄存器仿真結果 如上圖所示,串行輸入數據 1100,經過 7 個時鐘周期后,得到 Q6-Q0 的結果為 1100000。第二組測試數據 D 端輸入 1110,得到結果 1110000。仿真結果如圖 2.5 所示:圖圖 2.5 移位寄存器仿真結果移位寄存器仿真結果第二組仿真結果如圖所示,串行輸入數據 1110,經過 7 個時鐘周期后輸出Q6-Q0 的結果為 1110000。2.2.2 模模 2 除法器的設計除法器的設計模 2 運算的特點是不考慮進位和錯位的運算,期規律如下: 模 2 加和模 2 減的

20、結果是相等的,即 01=1,00=0,10=1,11=0。可沈陽航空航天大學課程設計報告 6 見,兩個相同數的模 2 和恒為 0。 模 2 乘是按模 2 和求部分積之和。 模 2 除是按模 2 減求部分余數。每求一位商應使部分余數減少一位。上商的原則是:當部分余數的首位為 1 時,上商 1;當部分余數的首位為 0 時,上商 0。當部分余數的位數小于除數的位數時,該余數即為最后余數。該模塊由 D 觸發器、與門和異或門構成。對(7,4)校驗碼,可采用圖 6 所示電路,產生 3 位的余數 Q2、Q1、Q0。圖中的模 2 減用異或門實現,左移一位由移位寄存器實現;用異或門的輸出控制左邊一位寄存器的 D

21、 輸入端,可同時實現模2 減和左移。用最左一位 D 觸發器的取值控制是否做模 2 減,當其為 1 時,減去的數就是生成多項式 G(x),為 0 時減去的就是 0000。這里,被除數 D 是逐位串行送到移位寄存器的,且由 CP 脈沖同步。其設計過程如下:(1)創建元件圖形符號)創建元件圖形符號為能在圖形編輯器(原理圖設計輸入方式)中調用 MOD2 芯片,需要為 MOD2模塊創建一個元件圖形符號,可利用 Xilinx foundation f3.1 編譯器中的如下步驟實現:Tools=Symbol Wizard=下一步。CP、D、A3、A2、A1、A0 是輸入信號,Q2、Q1、Q0 是輸出信號。其

22、元件圖形符號如圖 2.6 所示:圖圖 2.6 除法器元件圖形符號除法器元件圖形符號(2)創建控制器設計原理圖)創建控制器設計原理圖用各種門電路連接實現具體實驗原理電路圖,如圖 2.7 所示。沈陽航空航天大學課程設計報告 7 圖圖 2.7 模模 2 除法器的原理圖除法器的原理圖(3)模)模 2 除法器功能仿真除法器功能仿真 對創建的控制器模塊進行功能仿真,驗證其功能的正確性,可用 Xilinx Foundation f3.1 編譯器 Simulator 模塊實現。D 端串行輸入數據 1100,得到余數 Q2、Q1、Q0 為 010。仿真結果如圖 2.8 所示:圖圖 2.8 模模 2 除法器仿真結

23、果除法器仿真結果如仿真圖所示,通過串行輸入方式,將第一組數據 1100 輸入到 D 端,經過7 個時鐘周期的模 2 除法器運算后,得到三位余數 Q2-Q0 為 010。第二組測試數據 D 端串行輸入 1110,得到余數 Q2、Q1、Q0 為 100。仿真結果如圖 2.9 所示:圖圖 2.9 模模 2 除法器仿真結果除法器仿真結果沈陽航空航天大學課程設計報告 8 如仿真圖所示,通過串行輸入方式,將第一組數據 1110 輸入到 D 端,經過7 個時鐘周期的模 2 除法器運算后,得到三位余數 Q2-Q0 為 100。2.3 CRC 碼生成電路整體仿真碼生成電路整體仿真仿真調試主要驗證設計電路邏輯功能

24、、時序的正確性,本設計中主要采用功能仿真方法對設計的電路進行仿真。(1)建立仿真波形文件及仿真信號選擇)建立仿真波形文件及仿真信號選擇功能仿真時,首先建立仿真波形文件,添加仿真信號,對選定的輸入信號設置參數,選定的仿真信號和設置的參數如表 2.1 所示。仿真時 D 輸入信息碼1100,A 輸入循環校驗碼 1100000,G0、G1、G2、G3 輸入生成多項式 1011。表表 2.1 仿真數據參數仿真數據參數DCLOCKQ6Q5Q4Q3Q2Q1Q0110000001110000011010000110010001111010011101010110001011100010(2)功能仿真結果與分析

25、)功能仿真結果與分析 功能仿真波形結果如圖 2.10 所示,仿真數據結果如表 2 所示。對表 2 與表 1的內容進行對比,可以看出功能仿真結果是正確的,進而說明電路設計的正確性。沈陽航空航天大學課程設計報告 9 圖圖 2.10 功能仿真波形結果功能仿真波形結果 輸入信息碼為:1100,生成多項式為:1011,應用模 2 除法器可以求出三位余數為 010 ,然后把余數和信息碼拼接可以得到 CRC 編碼為:1100010。 第二組測試數據 D 端串行輸入 1110,生成多項式仍為 1011。選定的仿真信號和設置的參數如表 2.2 所示。表表 2.2 仿真數據參數仿真數據參數DCLOCKQ6Q5Q4

26、Q3Q2Q1Q0110000001110000011110000111010001101010011001010111010011110100 仿真結果如圖 2.11 所示:沈陽航空航天大學課程設計報告 10 圖圖 2.11 CRC 碼生成結果仿真波形碼生成結果仿真波形 輸入信息碼為 1110,經過移位寄存器 7 個 D 觸發器變換后為 1110000;模 2除法器輸入的也是 1110 四位二進制數,經運算得余數 100。最終將余數與信息碼拼接可得到 CRC 編碼:1110100。沈陽航空航天大學課程設計報告 11 第 3 章 編程下載與硬件測試3.1 器件的選擇與引腳鎖定器件的選擇與引腳鎖定

27、(1)器件的選擇)器件的選擇由于硬件設計環境是基于偉福 COP2000 型計算機組成原理實驗儀和 XCV200實驗板,故采用的目標芯片為 Xlinx XCV200 軟件中可用芯片。(2)引腳鎖定)引腳鎖定把頂層圖形文件中的輸入/輸出信號安排到 Xlinx XCV200 芯片指定的引腳上去,實現芯片的引腳鎖定,各信號及 Xlinx XCV200 芯片引腳對應關系如表 3.1 所示。 表表 3.1 信號和芯片引腳對應關系信號和芯片引腳對應關系圖形文件中的輸入圖形文件中的輸入/輸出信號輸出信號XCV200 芯片引腳芯片引腳D87CLK213G3100G2101G1102G0103Q6152Q5178

28、Q4184Q3185Q2203Q1111Q0110沈陽航空航天大學課程設計報告 12 3.2 編程下載編程下載利用 COP2000 仿真軟件的編程下載功能,將得到.bit 文件下載到 XCV200 實驗板的 XCV200 可編程邏輯芯片中。3.3 硬件測試及結果分析硬件測試及結果分析利用 XCV200 實驗板進行硬件功能測試。CRC 碼生成和校驗的輸入數據通過XCV200 實驗板的輸入開關實現,輸出數據通過 XCV200 實驗板的 LED 指示燈實現,其對應關系如表 3.2 所示。表表 3.2 XCV200 實驗板信號對應關系實驗板信號對應關系利用表 2.1 中的輸入參數作為輸入數據,逐個測試

29、輸出結果,即用 XCV200實驗板的開關組 K0 中的 1,2,3,4 輸入多項式數據 1011,用開關組 K1 中的 1號開關串行輸入信息碼 1100,同時觀察發光二極管組 A0-A6 的輸出,得到如表 3.3所示的硬件測試結果。表表 3.3 硬件測試結果硬件測試結果輸入輸入輸出輸出DCLOCKA6A5A4A3A2A1A0110000001110000011010000110010001111010011101010110001011100010XCV200 芯片引腳信號芯片引腳信號XCV200 實驗板實驗板XCV200 芯片引腳信號芯片引腳信號XCV200 實驗板實驗板DK1:0Q6A6CLKCLOCKQ5A5A3K0:

溫馨提示

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

評論

0/150

提交評論