




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)名稱:計(jì)算機(jī)組成原理課程設(shè)計(jì)課程設(shè)計(jì)題目:CRC&成與校驗(yàn)的設(shè)計(jì)實(shí)現(xiàn)院(系):計(jì)算機(jī)學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級:學(xué)號:姓名:指導(dǎo)教師:說明:結(jié)論(優(yōu)秀、良好、中等、及格、不及格)作為相關(guān)教環(huán)節(jié)考核必要依據(jù);格式不符合要求;數(shù)據(jù)不實(shí),不予通過。報(bào)告和電子數(shù)據(jù)必須作為實(shí)驗(yàn)現(xiàn)象重復(fù)的關(guān)鍵依據(jù)。指導(dǎo)教師評語:審查結(jié)論簽名;學(xué)術(shù)誠信聲明本人聲明:所呈交的報(bào)告(含電子版及數(shù)據(jù)文件)是我個人在導(dǎo)師指導(dǎo)下獨(dú)立進(jìn)行設(shè)計(jì)工作及取得的研究結(jié)果。盡我所知,除了文中特別加以標(biāo)注或致謝中所羅列的內(nèi)容以外,報(bào)告中不包含其他人己經(jīng)發(fā)表或撰寫過的研究結(jié)果,也不包含其它教育機(jī)構(gòu)使用
2、過的材料。與我一同工作的同學(xué)對本研究所做的任何貢獻(xiàn)均己在報(bào)告中做了明確的說明并表示了謝意。報(bào)告資料及實(shí)驗(yàn)數(shù)據(jù)若有不實(shí)之處,本人愿意接受本教學(xué)環(huán)節(jié)“不及格”和“重修或重做”的評分結(jié)論并承擔(dān)相關(guān)一切后果。日期:本人簽名:課程設(shè)計(jì)總結(jié):一開始老師的要求要用modelsim進(jìn)行仿真,不得不安裝新的軟件,各種嘗試進(jìn)行破解終于是能使用了。然后借VerilogHDL設(shè)計(jì)與實(shí)戰(zhàn)學(xué)習(xí)verilog,發(fā)現(xiàn)和c語言很類似,從初步構(gòu)思到一步步完善直到最后完成整個課程設(shè)計(jì),讓我更好的鞏固了自己所學(xué)的知識。翻閱圖書去學(xué)習(xí)一些沒有接觸過的知識讓我更好的了解了這門課程,增強(qiáng)的實(shí)踐動手能力。在老師和同學(xué)的幫助下,從編程到仿真一
3、步一步的去實(shí)現(xiàn)課設(shè)任務(wù)。本學(xué)期開設(shè)的計(jì)算機(jī)組成原理課程,讓我不但從概念上掌握了計(jì)算機(jī)內(nèi)部的工作機(jī)制,并且能夠?qū)W以致用,自主完成這次課程設(shè)計(jì)。雖然過程中有迷茫,但是作為一名合格的學(xué)生,我堅(jiān)信我可以做到。在老師和同學(xué)的幫助下,我沒有膽怯,一步步踏踏實(shí)實(shí)的完成老師分配的工作。不拋棄不放棄,堅(jiān)持不懈,只有這樣的態(tài)度,在面對無論是來自學(xué)習(xí)還是生活的困難,我們才能克服它們,完成自我的升華。指導(dǎo)教師評語:指導(dǎo)教師(簽字):年月日課程設(shè)計(jì)成績第1章總體設(shè)計(jì)方案-1-1.1 設(shè)計(jì)原理:.1.-1.2 設(shè)計(jì)思路:.1.-1.3 設(shè)計(jì)環(huán)境.2-第2章詳細(xì)設(shè)計(jì)方案-4-2.1 CRCH的生成-.4-2.2 CRCH的
4、檢測-.4-第3章調(diào)試與仿真-6-3.1 程序調(diào)試-.6-3.2 程序測試及結(jié)果分析.6-參考文獻(xiàn)-9-附錄(源代碼)-10-第1章總體設(shè)計(jì)方案1.1 設(shè)計(jì)原理CRC碼即循環(huán)冗余碼,可以發(fā)現(xiàn)信息在存儲或傳送過程中連續(xù)出現(xiàn)的多為錯誤代碼,在磁介質(zhì)存儲器和計(jì)算機(jī)之間的通信方面得到廣泛應(yīng)用。CRM由k位數(shù)據(jù)D和r位校驗(yàn)碼P組成,設(shè)被校驗(yàn)的數(shù)據(jù)D=Dk/d2.DiD。是一個k位的二進(jìn)制代碼,將它表示為一個(k-1)階的多項(xiàng)式:k1_k2_1_M(x)=Dk/xDyx.D1X1D0(1-1)將D左移r位的目的是給D右邊添加r個0,形成(k+r)位長度二進(jìn)制代碼,.一,r,一.其多項(xiàng)式形式為M(x)XX。
5、求校驗(yàn)碼P的多項(xiàng)式R(X)的萬法如下:M(x)xrG(x)=Q(x)R(x)G(x)(1-2)Q(x)是商,R(x)是余數(shù),R(x)所對應(yīng)的二進(jìn)制彳t碼是校驗(yàn)碼P??梢宰C明存在一個最高次幕為n-k=r的多項(xiàng)式G(x),稱G(x)為生成多項(xiàng)式。由式(1-2)可以推導(dǎo)出M(x)xrR(x)G(x)=M(x)(1-3)由式(1-3)可知,CRCH可被G(x)整除,余數(shù)必然為0。接收方將收到的CRC碼被G(x:除,若余數(shù)為0,則表明傳送過程中沒有錯誤發(fā)生;若余數(shù)不為0,則表明傳送過程中有錯誤發(fā)生。1.2 設(shè)計(jì)思路課程設(shè)計(jì)的要求是數(shù)據(jù)位數(shù)為4位的二進(jìn)制數(shù),生成多項(xiàng)式G(x)也是4位的二進(jìn)制數(shù),故CRM由
6、4位信息碼和3位校驗(yàn)碼組成。輸入的4位信息碼和4位生成多項(xiàng)式分別保存在inf和gx里,通過verilog編程進(jìn)行模2除,可計(jì)算出最終的余數(shù)即為3位檢驗(yàn)碼,然后將信息碼和檢驗(yàn)碼合在一起保存在outcrc中輸出,得到的就是要求的CRM。將outcrc中的數(shù)據(jù)與先前的gx進(jìn)行模2除,最終得到的余數(shù)temp。在gx=1011時余數(shù)與發(fā)生錯誤的位數(shù)的關(guān)系如表1所示。表1gx=1011時的出錯模式Q6Q5Q4Q3Q2Q1Q0余數(shù)出錯位止確1100010000無誤錯1100011001Q01100000010Q11100110100Q21101010011Q31110010110Q41000010111Q5
7、0100010101Q61.3設(shè)計(jì)環(huán)境在QuartusII中用verilog編寫程序得到電路圖,再在modelsim中進(jìn)行仿真。QuartusII界面如圖1所示。匕F|i#FMHVifn*扁EfC>FKMPk.|QTgkyFHli-*HpklTslM口0i9ll«TiX/0。A#f飛mft;占件QuEWU“口他/5«4#輛Chr-df室一心HFii*廿*F|60*守j*i7yQda-ExfC-wiJ.Bhi-wn1=FZZTB:aj;JF丁巾*應(yīng)BBreg4iCl)0d七01:0一F口=1.匕二;h-uJk1n4«rErgJLw&ux4£o
8、|4*m£1|ifinixoiofi)-inflifduaKK-n=r3"1e;f31rh.sti2-iiifSErc.«izp;1infj|1=七咽,”*|景禹r?*is-|1"Jjl<5ji.-l*-l)JLINUM|_C|f,j|口lHe幅p*釗!.IS2.Si圖1QuartusII界面ModelSim仿真軟件界面如圖2所示。圖2ModelSim界面第2章詳細(xì)設(shè)計(jì)方案在quartusII中用verilog編程,用四位的對象inf保存輸入的信息數(shù)據(jù),四位的對象gx保存輸入的生成多項(xiàng)式,七位的reg類型的對象outcrc保存要輸出的crc碼,四位
9、的reg類型的對象temp保存再次模二除的被除數(shù)。2.1 CRCK的生成在always進(jìn)程中,生成crc碼時首先將4位的信息數(shù)據(jù)inf直接賦值給crc碼的4位高位;之后將inf值賦給temp作為第一次模二運(yùn)算的被除數(shù);如果被除數(shù)的最高位為1時,就將temp2與gx2做異或運(yùn)算結(jié)果賦值給temp3,temp1與gx1異或賦給temp2,temp0與gx0異或賦給temp1,temp0直接賦值為0;如果被除數(shù)最高位為0時,就將temp2的值賦給temp3,temp1的值賦給temp2,temp的值賦給temp1,temp0直接賦值為0;做四次這樣的運(yùn)算,結(jié)束循環(huán);將最后一次的temp的高三位賦值給
10、outcrc的低三位。此時的outcrc里的值就是要的crc碼。具體的流程圖如圖3所示。CRC碼生成ouLuiu6='inf3,outcrc5=inf2;outcrc4=inf1;outcrc3=inf0;i=i+1i<4Ytemp3=1Ntemp3=temp2;temp2=temp1;temp1=temp0;temp0=1'b0;temp=inf;i=0outcrc2=temp3;outcrc1=temp2;outcrc0=temp1;temp3=temp2Agx2;temp2=temp1Agx1;temp1=temp0Agx0;temp0=1'b0;CRC碼生
11、成圖3CRC碼生成2.2 CRM的檢測檢測crc碼時,將outcrc的高四位值賦給temp作為第一次模二運(yùn)算的被除數(shù);之后的運(yùn)算同crc碼生成時計(jì)算最終的余數(shù)方法類似,只需要將temp的值做一下改變,若是最后一次循環(huán)就將temp0直接賦值為0,若不是最后一次循環(huán),就將outcrci-4的值賦給temp0;循環(huán)四次后得到的temp的高三位就是最終的余數(shù)。因?yàn)樽畛S玫纳啥囗?xiàng)式G(X)勺值是1011,因此只對gx=1011這一種情況做糾錯。用case語句根據(jù)表1的內(nèi)容將對應(yīng)出錯位數(shù)值取反就可的到正確的信息,resultchack的值為1表示一開始的crc碼是正確的,為0表示一開始時不正確的。具體的
12、流程圖如圖4所示CRC碼檢測temp3:1ICRC檢測圖4CRC碼檢測第3章調(diào)試與仿真3.1程序調(diào)試1、編寫的verilog程序在quartusII中編譯時出錯。解決:根據(jù)錯誤提示發(fā)現(xiàn)在case語句中不應(yīng)該是beginend而應(yīng)該直接在case語句結(jié)束后力口endcase。2、在modelsim中仿真時,仿真圖的outcrc及inf的值一直是不變的。解決:在crc的testbench文件里將開頭的'timescale1ps/1ps改為'timescale1 ns/1ps。3、生成的crc碼與手工計(jì)算所得的值不一樣。解決:將最終的余數(shù)也輸出,與手工計(jì)算過程比較,發(fā)現(xiàn)輸出的余數(shù)是手
13、工計(jì)算的倒數(shù)第二個余數(shù),再檢查發(fā)現(xiàn)是循環(huán)計(jì)算余數(shù)時循環(huán)次數(shù)少了一次。3.2程序測試及結(jié)果分析如圖5所示在檢測信號為低電平時,只生成crc碼outcrc,不檢驗(yàn),故resultcheck沒有值。."jvlgJst/diedc/crc_vlg_tst/infQ-/crclg_tst/gx,/crc_vlg_tst/resultL.Q-J/crjvigjst/wtox圖5檢測信號低電平仿真圖在inf為0001之前檢測信號check為高電平時,生成的crc碼outcrc是經(jīng)過檢測后的矯正后得到的值,故在inf為0001之前check會由原來的低電平變成成高電平。仿真圖如圖6所示。icnbnm
14、m帆I(xiàn)to加也加明二日皮心加帕mInmiflo圖6檢測信號高電平仿真圖輸入的inf信息的值從01101111仿真圖如圖7所示。B-Jl叮匚丸一點(diǎn)nfnil加口粗】i:xo:iw;10U加11:1IllOltiicluuJ燈口IgJSL,)!血】1011加_虬中S蛇.StlrB-J就M倒七11口uulu通幽廂修削別郴I!曲為相旭他闌用麗剛則1岬口圖7檢測信號高電平仿真圖在quartusII中運(yùn)行編寫的verilog程序,在task框中選擇NetlistViewer文件火雙擊RTLViewer得到如圖8的電路圖圖8CRC電路圖參考文獻(xiàn)1劉福奇.VerilogHDL設(shè)計(jì)與實(shí)戰(zhàn)M.北京:北京航空航天大
15、學(xué)出版社,2012.092范延濱.微型計(jì)算機(jī)系統(tǒng)原理、接口與EDAS計(jì)技術(shù)M.北京:北京郵電大學(xué)出版社,20063唐朔飛.計(jì)算機(jī)組成原理(第二版)M.北京:高等教育出版社,20084白中英.計(jì)算機(jī)組成原理(第四版)M.北京:科學(xué)出版社,20095胡越明.計(jì)算機(jī)組成與設(shè)計(jì)M.北京:科學(xué)出版社,20066江國強(qiáng).EAD技術(shù)習(xí)題與實(shí)驗(yàn)M.北京:電子工業(yè)出版社,2005附錄(源代碼)CRO代碼(7,4)碼生成modulecrc(inf,gx,check,outcrc,resultcheck);/input3:0inf;/4位信息位input3:0gx;/4位生成多項(xiàng)式inputcheck;output
16、6:0outcrc;/7位生成碼outputresultcheck;reg6:0outcrc;reg3:0temp;regresultcheck;integeri;always(inf)beginoutcrc6=inf3;outcrc5=inf2;outcrc4=inf1;outcrc3=inf0;/*temp3=inf3;temp2=inf2;temp1=inf1;temp0=inf0;/temp計(jì)算最終的余數(shù)*/for(i=0;i<4;i=i+1)beginif(temp3=1)/中間余數(shù)最高位為1時與gx異或begintemp3=temp2Agx2;temp2=temp1Agx1;
17、temp1=temp0Agx0;temp0=1'b0;endelse/中間余數(shù)最高位為0時直接賦值begintemp3=temp2;temp2=temp1;temp1=temp0;temp0=1'b0;endendoutcrc2=temp3;outcrc1=temp2;outcrc0=temp1;if(check=1'b1)/檢測crcbegintemp3=outcrc6;temp2=outcrc5;temp1=outcrc4;temp0=outcrc3;/temp賦初值/*計(jì)算最終的余數(shù)*/for(i=6;i>2;i=i-1)begin中間余數(shù)最高位為1時與gx
18、異或if(temp3=1)/begintemp3=temp2Agx2;temp2=temp1Agx1;temp1=temp0Agx0;if(i=3)temp0=1'b0;elsetemp0=outcrci-4;endelse/中間余數(shù)最高位為0時直接賦值begintemp3=temp2;temp2=temp1;temp1=temp0;if(i=3)begintemp0=1'b0;endelsebegintemp0=outcrci-4;endendendif(gx=4'b1011)begincase(temp3:1)3'b000:;3'b001:outcr
19、c0=outcrc03'b010:outcrc1=outcrc13'b011:outcrc3=outcrc33'b100:outcrc2=outcrc23'b101:outcrc6=outcrc63'b110:outcrc4=outcrc43'b111:outcrc5=outcrc5endcaseendif(temp=4'b0000)beginresultcheck=1'b1;endelsebeginresultcheck=1'b0;endendendendmoduleCROJ試代碼'timescale1ns/1p
20、smodulecrc_vlg_tst();/constants/generalpurposeregistersregeachvec;/testvectorinputregistersreg3:0gx;reg3:0inf;regcheck;/wireswire6:0outcrc;wireresultcheck;/assignstatements(ifany)crci1(/portmap-connectionbetweenmasterportsandsignals/registers.gx(gx),.inf(inf),.check(check),.outcrc(outcrc),.resultcheck(resultcheck);init
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 各行業(yè)收入占比情況表
- 2024年軟泡聚醚項(xiàng)目投資申請報(bào)告代可行性研究報(bào)告
- 2025年上半年宜賓江安縣招考高層次和緊缺專業(yè)高校畢業(yè)生易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽馬鞍山市博望區(qū)政府部門招聘派遣制人員12人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽阜陽阜南縣公橋鄉(xiāng)招考村級后備干部10人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽蚌埠機(jī)電技師學(xué)院招考兼職教師易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽省宿州市直事業(yè)單位考試筆試易考易錯模擬試題(共500題)試卷后附參考答案
- 2024年片式半導(dǎo)體器件項(xiàng)目資金籌措計(jì)劃書
- 2025年上半年寧波溫嶺市地方稅務(wù)局派遣人員招考易考易錯模擬試題(共500題)試卷后附參考答案
- 2025四川旻清環(huán)保科技有限公司急招9人筆試參考題庫附帶答案詳解
- 2025年電力人工智能多模態(tài)大模型創(chuàng)新技術(shù)及應(yīng)用報(bào)告-西安交通大學(xué)
- 學(xué)習(xí)雷鋒主題班會雷鋒日學(xué)習(xí)雷鋒精神-
- 事故隱患內(nèi)部舉報(bào)獎勵制度
- 2020-2024年安徽省初中學(xué)業(yè)水平考試中考?xì)v史試卷(5年真題+答案解析)
- 家畜傳染病與寄生蟲病
- 部編人教版五年級下冊小學(xué)語文第二單元全套教學(xué)課件 (含口語、習(xí)作及園地課件)
- 第5章 海洋資源開發(fā)與管理
- 工業(yè)氣體企業(yè)公司組織架構(gòu)圖職能部門及工作職責(zé)
- 全員安全風(fēng)險(xiǎn)辨識評估活動實(shí)施方案(8頁)
- 小升初個人簡歷表
- 電工每日巡查簽到表
評論
0/150
提交評論