版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計</b></p><p><b> 目 錄</b></p><p><b> 一 概述2</b></p><p> 1.課程設(shè)計的目的2</p><p> 2.課程設(shè)計的要求2</p><p>
2、 二 總體方案設(shè)計3</p><p><b> 1.設(shè)計原理3</b></p><p> 2.整體設(shè)計思路4</p><p> 3. EDA技術(shù)及QUARTUS II軟件的簡介4</p><p><b> 4. 主要特點(diǎn)7</b></p><p> 5.
3、 具備的功能7</p><p><b> 6. 分工情況8</b></p><p><b> 7. 設(shè)計環(huán)境8</b></p><p><b> 三 詳細(xì)設(shè)計9</b></p><p> 1. 12位的寄存器設(shè)計9</p><p>
4、2. 奇偶校驗電路的設(shè)計10</p><p> 3. CRC碼生成電路的設(shè)計10</p><p> 4. 17位寄存器設(shè)計13</p><p> 5. 整體電路13</p><p> 四.程序的調(diào)試與運(yùn)行結(jié)果說明15</p><p> 1. 建立工作庫文件夾和編輯設(shè)計文件15</p>
5、<p> 2. 時序仿真16</p><p> 3. 設(shè)置開始時間和結(jié)束時間及時間段17</p><p> 4. 奇偶校驗碼波形圖17</p><p> 5. CRC碼校驗仿真波形圖18</p><p> 6. 整合電路校驗碼的波形圖18</p><p> 五 課程設(shè)計總結(jié)19<
6、;/p><p><b> 參考文獻(xiàn)20</b></p><p><b> 一 概述</b></p><p><b> 1.課程設(shè)計的目的</b></p><p> 1. 理解和掌握該課程中的有關(guān)基本概念,程序設(shè)計思想和方法。</p><p> 2
7、.培養(yǎng)綜合運(yùn)用所學(xué)知識獨(dú)立完成課題的能力。</p><p> 3.培養(yǎng)勇于探索、嚴(yán)謹(jǐn)推理、實(shí)事求是、有錯必改,用實(shí)踐來檢驗理論,全方位考慮問題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。</p><p> 4.掌握從資料文獻(xiàn)、科學(xué)實(shí)驗中獲得知識的能力,提高學(xué)生從別人經(jīng)驗中找到解決問題的新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力。</p><p><b> 2.課程設(shè)計
8、的要求</b></p><p> 1. 能夠熟練掌握計算機(jī)中校驗碼的工作原理及其多種實(shí)現(xiàn)方案;</p><p> 2. 掌握硬件描述語言VHDL及原理圖設(shè)計方法;</p><p> 3. 熟練掌握Quartus II軟件平臺;</p><p> 4. 各小組按模塊分工,每人獨(dú)立完成自己負(fù)責(zé)的模塊;</p>&
9、lt;p> 5. 合作完成最終的硬件下載及調(diào)試;</p><p> 6. 獨(dú)立撰寫符合要求的課程設(shè)計報告。</p><p><b> 二 總體方案設(shè)計</b></p><p><b> 1.設(shè)計原理</b></p><p> 二進(jìn)制信息位流沿一條線逐位在部件之間或計算機(jī)之間傳送稱為串
10、行傳送。</p><p> 奇偶校驗碼是一種通過增加冗余位使得碼字中"1"的個數(shù)恒為奇數(shù)或偶數(shù)的編碼方法,它是一種檢錯碼。在實(shí)際使用時又可分為垂直奇偶校驗、水平奇偶校驗和水平垂直奇偶校驗等幾種。它是由k位的信息碼加上一位偶檢驗碼(或奇校驗碼組成)。奇偶校驗碼常用于存儲器讀、寫檢查或ASCII碼傳送過程中的檢查。在實(shí)際應(yīng)用中,多采用奇校驗,因為奇校驗中不存在全“0”代碼,在某些場合下更便于判別
11、。</p><p> CRC碼一般是指k位信息碼之后拼接r位校驗碼。應(yīng)用CRC碼的關(guān)鍵是如何從k位信息位簡便地得到r位效驗位,以及如何從k+r位信息碼判斷是否出錯。</p><p><b> 奇偶校驗碼的生成:</b></p><p> 奇偶校驗碼的實(shí)現(xiàn)方法是在每個被傳送碼的左邊或右邊加上1位奇偶校驗位“0”或“1”,若采用奇校驗位,只需
12、把每個編碼中1的個數(shù)湊成奇數(shù);若采用偶校驗位,只要把每個編碼中1的個數(shù)湊成偶數(shù)。</p><p><b> CRC碼生成:</b></p><p> 多項式M(x)·x3除以生成多項式G(x)所得的r位余數(shù)為效驗位(為了得到</p><p> R位余數(shù),G(x)必須是r+1位)。然后將余數(shù)拼接在信息組左移r位空出的r位上,就構(gòu)成
13、了這個有效信息的CRC碼。(因為k=4,所以k-1=3位)</p><p><b> CRC碼效驗:</b></p><p> 將收到的循環(huán)效驗碼用約定的生成多項式G(x)去除,如果碼字無誤則余數(shù)應(yīng)為0,如果某一位出錯,則余數(shù)不為0,不同位數(shù)出錯余數(shù)不同。更換不同的待測碼字可以證明:余數(shù)與出錯位的對應(yīng)關(guān)系是不變的,只與碼制和生成多項式有關(guān),對于其他碼制或選用其他生
14、成多項式,出錯模式將發(fā)生變化。</p><p> 如果循環(huán)碼有一位出錯,用G(x)作模2除將得到一個不為0的余數(shù)??赏ㄟ^異或門將它糾正后在下一次移位時送回A16繼續(xù)移滿一個循環(huán),就得到一個糾正后的碼字。</p><p><b> 2.整體設(shè)計思路</b></p><p> 1.利用QUARTUS軟件設(shè)計校驗碼生成電路,能實(shí)現(xiàn)奇偶校驗碼和循
15、環(huán)冗余CRC碼的設(shè)計。</p><p> 2.用原理圖設(shè)計法設(shè)計奇偶校驗碼生成電路。</p><p> 3.用VHDL設(shè)計法設(shè)計循環(huán)冗余CRC碼生成電路。</p><p> 4.輸入12位二進(jìn)制數(shù)據(jù)存放在A寄存器中,加碼后的數(shù)據(jù)以二進(jìn)制顯示在發(fā)光二級管上。</p><p> 5.總電路的設(shè)計如下:</p><p&g
16、t; 圖 2-1 總電路示意圖</p><p> 3. EDA技術(shù)及QUARTUS II軟件的簡介</p><p> EDA是Electronic Design Automation(電子設(shè)計自動化)的縮寫 。</p><p> 由于它是一門剛剛發(fā)展起來的新技術(shù),涉及面廣,內(nèi)容豐富,理解各異,所以目前尚無一個確切的定義。但從EDA技術(shù)的幾個主要方面的內(nèi)容來看
17、,可以理解為:EDA技術(shù)是以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計算機(jī)、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實(shí)驗開發(fā)系統(tǒng)為設(shè)計工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計電子系統(tǒng)到硬件系統(tǒng)的一門新技術(shù)??梢詫?shí)現(xiàn)邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化,邏輯布局布線、邏輯仿真。完成對于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒?。EDA技術(shù)是伴隨著計算
18、機(jī)、集成電路、電子系統(tǒng)的設(shè)計發(fā)展起來的,至今已有30多年的歷程。大致可以分為三個發(fā)展階段。20世紀(jì)70年代的CAD(計算機(jī)輔助設(shè)計)階段:這一階段的主要特征是利用計算機(jī)輔助進(jìn)行電路原理圖編輯,PCB布同布線,使得設(shè)計師從傳統(tǒng)高度重復(fù)繁雜的繪圖勞動中解脫出來。20世紀(jì)80年代的QtE(計算機(jī)輔助工程設(shè)計)階段:這一階段的主要特征是以邏輯摸擬、定時分析、故障仿真、自動布局布線為核心,重點(diǎn)解決電路設(shè)計的功能檢測等問題,使設(shè)計而能在產(chǎn)</
19、p><p> EDA技術(shù)的基本特征:EDA代表了當(dāng)今電子設(shè)計技術(shù)的最新發(fā)展方向.將EDA技術(shù)與傳統(tǒng)電子設(shè)計方法進(jìn)行比較可以看出,傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計只能在電路板上進(jìn)行設(shè)計,是一種搭積木式的方式,使復(fù)雜電路的設(shè)計、調(diào)試十分困難;如果某一過程存在錯誤.查找和修改十分不便;對于集成電路設(shè)計而言,設(shè)計實(shí)現(xiàn)過程與具體生產(chǎn)工藝直接相關(guān),因此可移植性差;只有在設(shè)計出樣機(jī)或生產(chǎn)出芯片后才能進(jìn)行實(shí)泅,因而開發(fā)產(chǎn)品的周期長。而電子EDA
20、技術(shù)則有很大不同,采用可編程器件,通過設(shè)計芯片來實(shí)現(xiàn)系統(tǒng)功能。采用硬件描述語言作為設(shè)計輸入和庫(LibraIy)的引入,由設(shè)計者定義器件的內(nèi)部邏輯和管腳,將原來由電路板設(shè)計完成的大部分工作故在芯片的設(shè)計中進(jìn)行。由于管腳定義的靈活性,大大減輕了電路圖設(shè)計和電路板設(shè)計的工作量和難度,有效增強(qiáng)了設(shè)計的靈活性,提高了工作效率。并且可減少芯片的數(shù)量,縮小系統(tǒng)體積,降低能源消耗,提高了系統(tǒng)的性能和可靠性。能全方位地利用計算機(jī)自動設(shè)計、仿真和調(diào)試。&
21、lt;/p><p> 硬件描述語言:硬件描述語言(HDL)是一種用于進(jìn)行電子系統(tǒng)硬件設(shè)計的計算機(jī)高級語言,它采用軟件的設(shè)計方法來描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式。 硬件描述語言可以在三個層次上進(jìn)行電路描述,其層次由高到低分為行為級、R,幾級和門電路級。常用硬件描述語言有WDL、Velllq和AHDL語言。WDL語言是一種高級描述語言,適用于行為級和R,幾級的描述;Vedlq語言和ABEL語言屬于一種較低級
22、的描述語言,適用于R,幾級和門電路級的描述?,F(xiàn)在WDL和Velllq作為工業(yè)標(biāo)準(zhǔn)硬件描述語言,已得到眾多EDA公司的支持,在電子工程領(lǐng)域,它們已成為事實(shí)上的通用硬件描述語言,承擔(dān)幾乎全部的數(shù)字系統(tǒng)的設(shè)計任務(wù)。應(yīng)用Vf進(jìn)行電子系統(tǒng)設(shè)計有以下優(yōu)點(diǎn):(1)與其他硬件描述語言相比,WDL具有更強(qiáng)的行為描述能力,強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL具有豐富的仿真語句和庫函數(shù),使得在
23、任何大系統(tǒng)的設(shè)計早期就能檢查設(shè)計系統(tǒng)的功能可行性,并可以隨時對系統(tǒng)進(jìn)行仿真。(3)Vf語句的行為描述能力和程序結(jié)構(gòu),決定了它具有支持大規(guī)模設(shè)計的分解和對已有設(shè)計的再</p><p> EDA技術(shù)的應(yīng)用:電子EDA技術(shù)發(fā)展迅猛,逐漸在教學(xué)、科研、產(chǎn)品設(shè)計與制造等各方面都發(fā)揮著巨大的作用。在教學(xué)方面:幾乎所有理工科(特別是電子信息)類的高校都開設(shè)了EDA課程。主要是讓學(xué)生了解EDA的基本原理和基本概念、鱗握用佃L描
24、述系統(tǒng)邏輯的方法、使用扔A工具進(jìn)行電子電路課程的模擬仿真實(shí)驗并在作畢業(yè)設(shè)計時從事簡單電子系統(tǒng)的設(shè)計,為今后工作打下基礎(chǔ)。具有代表性的是全國每兩年舉辦一次大學(xué)生電子設(shè)計競賽活動。在科研方面:主要利用電路仿真工具(EwB或PSPICE、VLOL等)進(jìn)行電路設(shè)計與仿真;利用虛擬儀器進(jìn)行產(chǎn)品調(diào)試;將O)LI)/FPGA器件的開發(fā)應(yīng)用到儀器設(shè)備中。例如在CDMA無線通信系統(tǒng)中,所有移動手機(jī)和無線基站都工作在相同的頻譜,為區(qū)別不同的呼叫,每個手機(jī)有
25、一個唯一的碼序列,CDMA基站必須能判別這些不同觀點(diǎn)的碼序列才能分辨出不同的傳呼進(jìn)程;這一判別是通過匹配濾波器的輸出顯示在輸人數(shù)據(jù)流中探調(diào)到特定的碼序列;FPGA能提供良好的濾波器設(shè)計,而且能完成DSP高級數(shù)據(jù)處理功能,因而FPGA在現(xiàn)代通信領(lǐng)域方面獲得廣泛應(yīng)用。在產(chǎn)品設(shè)計與制造方面:從高性能的微處理器、數(shù)字信號處理器一直到彩電</p><p> QuartusⅡ是Altera公司推出的新一代開發(fā)軟件,適合于大
26、規(guī)模邏輯電路設(shè)計。QuartusⅡ軟件的前一代FPGA/CPLD集成開發(fā)環(huán)是MAX+PLUSⅡ。 </p><p> QuartusⅡ支持多種編輯輸入法,包括圖形編輯輸入法,VHDL、Verilog HDL和AHDL的文本編輯輸入法,圖形編輯輸入法,以及內(nèi)存編輯輸入法。</p><p> QuartusⅡ與MATLAB和DSP Builder結(jié)合可以進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā),是
27、DSP硬件系統(tǒng)實(shí)現(xiàn)的關(guān)鍵EDA工具,與SOPC Builder結(jié)合,可實(shí)現(xiàn)SOPC系統(tǒng)開發(fā)。 </p><p><b> 4. 主要特點(diǎn)</b></p><p> 奇偶檢驗電路只有找錯的功能,而沒有糾錯的功能</p><p> 根據(jù)代碼中全部位數(shù)相加的“和”來進(jìn)行奇校驗或偶校驗?!昂汀辈僮鞯奶攸c(diǎn):偶數(shù)個1,它的和總是0;奇數(shù)個1,它的和總
28、是1。</p><p> 奇偶校驗編碼方式和檢驗電路只能測出一位出錯或者奇數(shù)個位錯誤,而不能檢測偶數(shù)個位出錯,也無法對出錯定位,無法自動校正錯誤能力。但由于電路簡單,仍被廣泛用于誤碼率不高的信息傳輸和存儲器存儲檢錯的場合。</p><p> 循環(huán)冗余校驗碼的特點(diǎn):可檢查出所有奇數(shù)位數(shù);可檢查出所有雙比特的錯;可檢查出所有小于、等于檢驗位長度的突發(fā)錯。</p><p&
29、gt;<b> 5. 具備的功能</b></p><p> 循環(huán)冗余碼CRC在發(fā)送端編碼和接收端校驗時。都可以利用事先約定的生成多項式G(X)來得到K位要發(fā)送的信息位可對應(yīng)于一個(k-1)次多項式K(X),r位冗余位則對應(yīng)于一個(r-1)次多項式R(X)由r位冗余位組成的n=k+r位碼字則對應(yīng)于一個(n-1)次多項式T(X)=Xr*K(X)+R(X)。</p><p
30、> 循環(huán)冗余校驗碼可檢查出所有奇數(shù)位數(shù);可檢查出所有雙比特的錯;可檢查出所有小于、等于檢驗位長度的突發(fā)錯。奇偶校驗編碼方式和檢驗電路只能測出一位出錯或者奇數(shù)個位錯誤,而不能檢測偶數(shù)個位出錯,也無法對出錯定位,無法自動校正錯誤能力。</p><p><b> 6. 分工情況</b></p><p> 我們小組由四個人,每個人都分配了不同的任務(wù)。其中,我的任務(wù)
31、就是把小組中其他幾個人做好的電路模塊整合成完整的電路圖,然后正對總的電路圖做出仿真波形,檢驗電路圖是否正確。</p><p><b> 7. 設(shè)計環(huán)境</b></p><p> 1. 硬件環(huán)境:微機(jī); </p><p> 2. EDA環(huán)境: QuartusⅡ設(shè)計軟件。</p><p><b> 三 詳
32、細(xì)設(shè)計</b></p><p> 1. 12位的寄存器設(shè)計</p><p> 我們要設(shè)計12位信息碼的校驗碼生成電路,首先我們要設(shè)計12位的寄存器來存放這12位信息碼。</p><p><b> 設(shè)計步驟:</b></p><p> 首先創(chuàng)建一個文件夾,然后在QuartusⅡ軟件上新建一個工程并存放在
33、所創(chuàng)建那個文件夾中,再在剛所新建的工程中新建一個VHDL文件,然后寫上生成12位寄存器的VHDL代碼,再對生成的12位寄存器進(jìn)行打包,即可生成12位的寄存器芯片。</p><p> 12位寄存器的VHDL代碼:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p>&l
34、t;p> entity jicunqi_12 is </p><p> port(datain: in std_logic_vector( 11 downto 0);</p><p> load : in std_logic;</p><p> q11,q10,q9,q8,q7,q6,q5,q4,q3,q2,q1,q0: out std_logic;
35、</p><p> q: out std_logic_vector( 11 downto 0) ); </p><p><b> end;</b></p><p> architecture one of jicunqi_12 is </p><p><b> begin</b><
36、/p><p> process(datain,load)</p><p><b> begin</b></p><p> if load='1' then q<=datain;</p><p> q0<=datain(0);</p><p> q1<=d
37、atain(1);</p><p> q2<=datain(2);</p><p> q3<=datain(3);</p><p> q4<=datain(4);</p><p> q5<=datain(5);</p><p> q6<=datain(6);</p>
38、<p> q7<=datain(7);</p><p> q8<=datain(8);</p><p> q9<=datain(9);</p><p> q10<=datain(10);</p><p> q11<=datain(11); </p><p>
39、;<b> end if;</b></p><p> end process;</p><p><b> end one;</b></p><p> 2. 奇偶校驗電路的設(shè)計</p><p> 對于奇偶校驗電路的設(shè)計,我們可以直接根據(jù)其校驗碼的生成原理在QuartusⅡ軟件上設(shè)計出其電路圖
40、。奇偶校驗電路是由10個異或門組成。</p><p><b> 設(shè)計步驟:</b></p><p> 首先創(chuàng)建一個文件夾,然后在QuartusⅡ軟件上新建一個工程并存放在所創(chuàng)建那個文件夾中,再在剛所新建的工程中新建一個Block Digram File,然后根據(jù)其原理畫出生成奇偶校驗碼的電路圖,再對生成的奇偶校驗碼生成電路進(jìn)行打包,即可生成12位信息碼的奇偶校驗電
41、路芯片。</p><p> 奇偶校驗碼生成電路圖: </p><p> 3. CRC碼生成電路的設(shè)計</p><p> CRC碼生成電路所有模塊中最重要的一部分。我么事通過編寫VHDL代碼生成器電路圖的。</p><p><b> 設(shè)計步驟:</b></p><p> 首先創(chuàng)建一個文件
42、夾,然后在QuartusⅡ軟件上新建一個工程并存放在所創(chuàng)建那個文件夾中,再在剛所新建的工程中新建一個VHDL文件,然后寫上CRC碼生成電路的VHDL代碼,再對生成的CRC碼生成電路進(jìn)行打包,即可生成CRC碼生成電路的芯片。</p><p> CRC碼生成電路的VHDL代碼:</p><p> LIBRARY ieee;</p><p> USE ieee.s
43、td_logic_1164.ALL;</p><p> USE ieee.std_logic_unsigned.ALL;</p><p> USE ieee.std_logic_arith.ALL;</p><p> ENTITY crcm IS</p><p> PORT (clk, hrecv,datald : IN std_lo
44、gic;</p><p> sdata : IN std_logic_vector(11 DOWNTO 0);</p><p> datacrco : OUT std_logic_vector(16 DOWNTO 0);</p><p> datacrci : IN std_logic_vector(16 DOWNTO 0);</p>
45、<p> rdata : OUT std_logic_vector(11 DOWNTO 0);</p><p> datafini : OUT std_logic;</p><p> ERROR0, hsend : OUT std_logic);</p><p><b> END crcm;</b></p>
46、;<p> ARCHITECTURE comm OF crcm IS</p><p> CONSTANT multi_coef : std_logic_vector(5 DOWNTO 0) := "110101"; </p><p> -- 多項式系數(shù), MSB一定為'1'</p><p> SIGNAL
47、cnt,rcnt : std_logic_vector(4 DOWNTO 0);</p><p> SIGNAL dtemp,sdatam,rdtemp : std_logic_vector(11 DOWNTO 0);</p><p> SIGNAL rdatacrc: std_logic_vector(16 DOWNTO 0);</p><p> S
48、IGNAL st,rt : std_logic;</p><p><b> BEGIN</b></p><p> PROCESS(clk) </p><p> VARIABLE crcvar : std_logic_vector(5 DOWNTO 0);</p><p><b> BEGIN &
49、lt;/b></p><p> IF(clk'event AND clk = '1') THEN</p><p> IF(st = '0' AND datald = '1') THEN dtemp <= sdata; </p><p> sdatam <= sdata; cnt &l
50、t;= (OTHERS => '0'); hsend <= '0'; st <= '1';</p><p> ELSIF(st = '1' AND cnt < 7) THEN cnt <= cnt + 1;</p><p> IF(dtemp(11) = '1') THE
51、N crcvar := dtemp(11 DOWNTO 6) XOR multi_coef;</p><p> dtemp <= crcvar(4 DOWNTO 0) & dtemp(5 DOWNTO 0) & '0';</p><p> ELSE dtemp <= dtemp(10 DOWNTO 0) & '0'
52、; END IF;</p><p> ELSIF(st='1' AND cnt=7) THEN datacrco<=sdatam & dtemp(11 DOWNTO 7);</p><p> hsend <= '1'; cnt <= cnt + 1;</p><p> ELSIF(st='
53、1' AND cnt=8) THEN hsend<= '0'; st<='0';</p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><
54、p> PROCESS(hrecv,clk) </p><p> VARIABLE rcrcvar : std_logic_vector(5 DOWNTO 0);</p><p><b> BEGIN</b></p><p> IF(clk'event AND clk = '1') THEN</p>
55、;<p> IF(rt = '0' AND hrecv = '1') THEN rdtemp <= datacrci(16 DOWNTO 5);</p><p> rdatacrc <= datacrci; rcnt <= (OTHERS => '0');</p><p> ERROR0 <
56、;= '0'; rt <= '1';</p><p> ELSIF(rt= '1' AND rcnt < 7) THEN datafini <= '0'; rcnt <= rcnt + 1;</p><p> rcrcvar := rdtemp(11 DOWNTO 6) XOR multi
57、_coef;</p><p> IF(rdtemp(11) = '1') THEN</p><p> rdtemp <= rcrcvar(4 DOWNTO 0) & rdtemp(5 DOWNTO 0) & '0';</p><p> ELSE rdtemp <= rdtemp(10 DOWNTO
58、0) & '0';</p><p><b> END IF;</b></p><p> ELSIF(rt = '1' AND rcnt = 7) THEN datafini <= '1';</p><p> rdata <= rdatacrc(16 DOWNTO 5);
59、 rt <= '0';</p><p> IF(rdatacrc(4 DOWNTO 0) /= rdtemp(11 DOWNTO 7)) THEN</p><p> ERROR0 <= '1'; END IF;</p><p><b> END IF;</b></p><p
60、><b> END IF;</b></p><p> END PROCESS;</p><p> END comm; </p><p> 4. 17位寄存器設(shè)計</p><p> 對于12位信息碼所產(chǎn)生的17 位CRC碼,我們需要17位的寄存器進(jìn)行存儲。17位寄存器的設(shè)計方法是相同的,只需要對VHDL帶代
61、碼做適當(dāng)?shù)男薷摹?lt;/p><p><b> 5. 整體電路</b></p><p> 通過前面幾步的設(shè)計,我們已經(jīng)把所有模塊都設(shè)計完了,現(xiàn)在我們就是把前面設(shè)計好電路整起來,組成一個完整的電路。</p><p><b> 整合步驟:</b></p><p> 首先創(chuàng)建一個文件夾,然后在Quar
62、tusⅡ軟件上新建一個工程并存放在所創(chuàng)建那個文件夾中,再在剛所新建的工程中新建一個Block Digram File,然后將前面已經(jīng)做好的模塊添加到該文件中,再將它們連起來。即可組成一個完整的電路圖。</p><p><b> 整合電路圖:</b></p><p> 四.程序的調(diào)試與運(yùn)行結(jié)果說明</p><p> 總電路設(shè)計完成以后,接著
63、一步就是檢驗檢驗電路是否正確。我們在QUARTUS II軟件上依次為每一個模塊的電路新建一個時序仿真波形圖,最后再為總電路設(shè)計一個時序仿真波形圖。具體步驟如下:</p><p> 1. 建立工作庫文件夾和編輯設(shè)計文件 </p><p> 為了檢驗電路設(shè)計是否正確,首先由要檢驗的電路新建一個波形文件,然后再做時序仿真,輸入相應(yīng)數(shù)據(jù),檢驗與預(yù)期結(jié)果是否一致。</p><
64、p> 建立工作庫文件夾和編輯設(shè)計文件:</p><p> 圖4-1 建立工作庫文件夾 </p><p><b> 2. 時序仿真</b></p><p> 仿真調(diào)試主要驗證設(shè)計電路邏輯功能、時序的正確性,本設(shè)計中主要采用功能仿真方法對設(shè)計的電路進(jìn)行仿真。</p><p> 功能仿真時,首先建立仿真波形文件
65、,選擇仿真信號,對選定的輸入信號設(shè)置參數(shù),選定的仿真信號和設(shè)置的參數(shù)。</p><p> 功能仿真波形結(jié)果如圖4-4所示。對數(shù)據(jù)進(jìn)行比較,可以看出功能仿真結(jié)果是正確的,進(jìn)而說明電路設(shè)計的正確性。</p><p> 新建一個波形文件,仿真時仿真的結(jié)果將會存在這個文件中:</p><p> 圖4-2 建立波形文件</p><p> 3.
66、設(shè)置開始時間和結(jié)束時間及時間段</p><p><b> 圖4-3 設(shè)置時間</b></p><p> 4. 奇偶校驗碼波形圖</p><p> 圖4-4奇偶校驗碼生成電路的波形圖</p><p> 這部分電路是為了檢測奇偶電路的,我們只用了一組數(shù)據(jù)101010101011。結(jié)果顯示和我們用人工算的一樣</
67、p><p> 5. CRC碼校驗仿真波形圖</p><p> 圖4-5 CRC碼生成電路波形圖</p><p> 這個波形的仿真是為了檢驗我們設(shè)計的這個電路是否正常的工作,并檢查此電路的正確性和可行性</p><p> 6. 整合電路校驗碼的波形圖</p><p> 圖4-6 整合后的電路波形圖 </p
68、><p> 這是為了進(jìn)一步的檢測我們以上電路的正確性,我們用了一些數(shù)據(jù)進(jìn)行了檢測。</p><p> 以下是我們使用的數(shù)據(jù)</p><p> 000000000000 111111111111</p><p> 010101010101 111100001100 111111110000</p>
69、;<p><b> 五 課程設(shè)計總結(jié)</b></p><p> 主要從以下幾方面總結(jié):</p><p> 設(shè)計過程中出現(xiàn)的問題及采用的解決方法;</p><p><b> 設(shè)計達(dá)到的目的;</b></p><p><b> 感受。</b></p&g
70、t;<p> 這次課設(shè)我的收獲很多,在一開始的幾天中一直沒什么頭緒,不知道該從哪處下手去做。光是憑借著自己想所以浪費(fèi)了很多時間還沒什么進(jìn)展。后來自己查了幾本書,知道了大概的步驟和電路圖。但是自己設(shè)計的電路圖在仿真方面總是出問題,經(jīng)過老師的講解后才知道仿真是要從每一個小的元件做起,而不是連完整個電路之后在進(jìn)行,這樣一旦出現(xiàn)錯誤就會很難查出來。</p><p> 在每一次的課設(shè)中都會學(xué)到很多東西,這
71、一次則更多,不僅鍛煉了動手動腦的能力,而且,在越來越深入的學(xué)習(xí)和查資料中,更讓我覺得組成原理的精深,覆蓋的廣泛,而我們上課所學(xué)和考試考的內(nèi)容真的只是一些皮毛,讓我知道了真的學(xué)懂這門課并不是一件容易的事。以后我也會加倍努力,學(xué)好我的專業(yè)課程。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 白中英,計算機(jī)組成原理(第四版),北京,科學(xué)出版社,2
72、008年9月。</p><p> [2] 杜玉遠(yuǎn),EDA設(shè)計快速入門圓.電子世界,2004年1月。</p><p> [3] 余孟嘗,數(shù)字電子技術(shù)基礎(chǔ)簡明教程(第三版),1998年12月。</p><p> [4] ALTERA公司,ADHL語言[M].北京:清華大學(xué)出版社,1998。</p><p> [5] 劉寶琴,ALTERA
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《計算機(jī)組成原理》課程設(shè)計
- 計算機(jī)組成原理課程設(shè)計
- 計算機(jī)組成原理課程設(shè)計
- 計算機(jī)組成原理課程設(shè)計
- 計算機(jī)組成原理課程設(shè)計
- 計算機(jī)組成原理課程設(shè)計
- 計算機(jī)組成原理課程設(shè)計---模型機(jī)組成設(shè)計
- 計算機(jī)組成原理課程設(shè)計--計算機(jī)組成原理算法實(shí)現(xiàn)
- 計算機(jī)組成原理課程設(shè)計--簡單計算機(jī)的設(shè)計
- 計算機(jī)組成原理課程設(shè)計---簡單計算機(jī)的設(shè)計
- 計算機(jī)組成原理課程設(shè)計報告
- 計算機(jī)組成原理-課程設(shè)計報告
- 計算機(jī)組成原理課程設(shè)計報告
- 計算機(jī)組成原理課程設(shè)計日志
- 計算機(jī)組成原理課程設(shè)計報告
- 計算機(jī)組成原理課程設(shè)計報告
- 計算機(jī)組成原理課程設(shè)計 (2)
- 計算機(jī)組成原理課程設(shè)計報告
- 計算機(jī)組成原理課程設(shè)計論文
- 計算機(jī)組成原理-課程設(shè)計報告
評論
0/150
提交評論