用Verilog HDL語言設(shè)計(jì)頻率計(jì)_第1頁
用Verilog HDL語言設(shè)計(jì)頻率計(jì)_第2頁
用Verilog HDL語言設(shè)計(jì)頻率計(jì)_第3頁
用Verilog HDL語言設(shè)計(jì)頻率計(jì)_第4頁
用Verilog HDL語言設(shè)計(jì)頻率計(jì)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)生課程實(shí)驗(yàn)報(bào)告書學(xué)生課程實(shí)驗(yàn)報(bào)告書 08 級(jí) 電子信息與通信工程 系 電子信息工程 專業(yè) 3 班 學(xué)號(hào) 0830010357 姓名 賴茹香 2010-2011學(xué)年 第二學(xué)期 實(shí)驗(yàn)項(xiàng)目: 用Verilog HDL語言設(shè)計(jì)頻率計(jì) 實(shí)驗(yàn)相關(guān)原理 數(shù)字系統(tǒng)的層次化結(jié)構(gòu)設(shè)計(jì) 組合邏輯電路和時(shí)序邏輯電路的設(shè)計(jì)都是屬于功能部件的設(shè)計(jì)。功能部件設(shè)計(jì)建立在真值表、特性表、狀態(tài)轉(zhuǎn)換圖或工作時(shí)序圖的基礎(chǔ)上,在輸入變量較少的情況下,因?yàn)槊枋鲞壿嫼瘮?shù)關(guān)系的各種表格和圖表較簡(jiǎn)單,設(shè)計(jì)電路分析建模的工作也較簡(jiǎn)單,按照前面介紹的方法就可以完成電路的設(shè)計(jì)工作。然而在大型數(shù)字系統(tǒng)的設(shè)計(jì)中,前面介紹的設(shè)計(jì)方法在進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì)

2、時(shí)不適用,進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì)需要引入層次化結(jié)構(gòu)設(shè)計(jì)的思想。圖5-1 系統(tǒng)結(jié)構(gòu)的組成框圖層次化結(jié)構(gòu)設(shè)計(jì)的思想是將設(shè)計(jì)的目標(biāo)層層分解,對(duì)分解后的各層次電路分別進(jìn)行設(shè)計(jì),最后,再根據(jù)分解的規(guī)則將各層次電路綜合起來組成數(shù)字系統(tǒng)。各層次模塊組成系統(tǒng)的連接示意圖如圖5-1所示。對(duì)于樹型結(jié)構(gòu)系統(tǒng)存在著“自頂向下(Top-down)”設(shè)計(jì)和“自底向上(Bottom-up)”設(shè)計(jì)兩種不同的設(shè)計(jì)思想。自頂向下的設(shè)計(jì)強(qiáng)調(diào)性能上的最優(yōu),而自底向上的設(shè)計(jì)強(qiáng)調(diào)的是設(shè)計(jì)上的經(jīng)濟(jì)性。實(shí)際的設(shè)計(jì)過程往往是這兩種設(shè)計(jì)方法的綜合,但在使用大規(guī)模集成電路,特別是使用可編程邏輯器件進(jìn)行設(shè)計(jì)時(shí),自頂向下的設(shè)計(jì)會(huì)有更多的優(yōu)點(diǎn)。隨著電子設(shè)計(jì)

3、自動(dòng)化水平的提高,在進(jìn)行復(fù)雜數(shù)字系統(tǒng)設(shè)計(jì)時(shí),使用EDA仿真工具可以使整個(gè)設(shè)計(jì)過程變得簡(jiǎn)捷和方便,特別是對(duì)各層次電路工作時(shí)序圖的分析更為快捷和準(zhǔn)確,為設(shè)計(jì)更大規(guī)模的數(shù)字系統(tǒng)提供了直觀準(zhǔn)確的實(shí)驗(yàn)數(shù)據(jù)。以兩位十進(jìn)制頻率計(jì)的設(shè)計(jì)為例,介紹層次化設(shè)計(jì)的思想在EDA環(huán)境下的體現(xiàn),所采用的EDA工具軟件平臺(tái)是Quartus II。圖5-2 兩位十進(jìn)制數(shù)字頻率計(jì)的層次化結(jié)構(gòu)示意圖根據(jù)兩位十進(jìn)制數(shù)字頻率計(jì)的邏輯功能可知,兩位十進(jìn)制數(shù)字頻率計(jì)應(yīng)由帶鎖存功能的十進(jìn)制計(jì)數(shù)器電路、測(cè)頻時(shí)序控制電路,顯示譯碼器和頻率計(jì)頂層電路四部分組成,兩位十進(jìn)制數(shù)字頻率計(jì)的層次化結(jié)構(gòu)示意圖如圖5-2所示。利用EDA技術(shù)進(jìn)行兩位十進(jìn)制數(shù)

4、字頻率計(jì)設(shè)計(jì)的步驟是:先分別設(shè)計(jì)底層的計(jì)數(shù)器電路模塊,測(cè)頻時(shí)序控制電路模塊和顯示譯碼器電路模塊,再在頻率計(jì)頂層電路中調(diào)入事先設(shè)計(jì)好的三個(gè)底層電路模塊。 實(shí)驗(yàn)內(nèi)容和步驟計(jì)數(shù)器的電路的設(shè)計(jì)1為本設(shè)計(jì)項(xiàng)目建立文件夾首先要建立一個(gè)文件夾,以便于存儲(chǔ)設(shè)計(jì)項(xiàng)目。設(shè)本項(xiàng)工程的文件夾位于D:/myworks/plj文件夾中。2輸入設(shè)計(jì)項(xiàng)目并存盤在Quartus II軟件上搭建計(jì)數(shù)器電路模塊:(1)運(yùn)行Quartus II,選擇FileNew命令,在Verilog HDL編輯窗口中,用Verilog HDL語言編寫兩個(gè)十進(jìn)制計(jì)數(shù)器的程序:module sjzjsq (Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q

5、7,C,C1,CP,R,EP,ET);input CP,R,EP,ET;output Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7,C,C1;reg Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7;reg3:0 QT1;always(negedge CP)beginif(R)QT1=4'b0000;else if(EP&&ET)if(QT1<4'b1001)QT1=QT1+1;else QT1=4'b0000;else QT1=QT1;endreg7:4 QT2;always(negedge Q3)beginif(R)QT2=4'b000

6、0;else if(EP&&ET)if(QT2<4'b1001)QT2=QT2+1;else QT2=4'b0000;else QT2=QT2;endalwaysbeginQ3,Q2,Q1,Q0=QT1;Q7,Q6,Q5,Q4=QT2;endand (C1,Q0,Q3);and (C,Q0,Q3,Q4,Q7);endmodule輸入編好的程序后將設(shè)計(jì)好的文件存到事先準(zhǔn)備好的文件夾D:/myworks/plj下,文件名用sjzjsq,然后創(chuàng)建工程。(2)創(chuàng)建工程彈出的對(duì)話框中點(diǎn)擊“Next”按鈕,設(shè)計(jì)項(xiàng)目的名稱及頂層文件的名稱均設(shè)為sjzjsq。點(diǎn)擊“Nex

7、t”按鈕后將彈出對(duì)話框。在該對(duì)話框中,將設(shè)計(jì)文件加入到工程中,單擊Add按鈕,將存好的Verilog HDL文件加入到設(shè)計(jì)工程中后。點(diǎn)擊Next按鈕后,將彈出目標(biāo)芯片選擇對(duì)話框。(3)目標(biāo)芯片的選擇Family欄目的下拉列表框用于選擇Cyclone系列,在Available device列表框中選擇EP1C3T144C6型號(hào)的芯片(選擇的依據(jù)源于開發(fā)板)。右邊選項(xiàng)區(qū)域可以設(shè)置過濾條件,以方便選擇芯片。單擊“Next”按鈕后,在彈出的對(duì)話框中再點(diǎn)擊“Next”按鈕后,接著點(diǎn)擊“Finish”按鈕完成目標(biāo)芯片的選擇。3編譯選擇ProcessingStart Compilation命令,啟動(dòng)全程編譯

8、。如果工程文件中有錯(cuò)誤,在下方的Processing選項(xiàng)卡中會(huì)顯示出來。編譯成功后,點(diǎn)擊編譯成功提示欄的“確定”按鈕,完成編譯的操作。4仿真工程編譯通過后,對(duì)其功能和時(shí)序特性進(jìn)行仿真測(cè)試,仿真程序的步驟如下:(1)打開波形編輯器選擇FileNew命令,在New對(duì)話框中選擇Other Files選項(xiàng),在彈出的對(duì)話框中選擇Vector Waveform File(波形圖文件)選項(xiàng),選擇EditEnd Time命令,在彈出的對(duì)話框中的Time文本框中輸入30,單位選擇s,即設(shè)置仿真域的時(shí)間為30s。(2)端口引腳的輸入設(shè)置好仿真時(shí)間后,選擇ViewUtility WindowsNode Finder

9、命令,在彈出對(duì)話框中的Filter下拉列表框中選擇Pins:all選項(xiàng),然后單擊List按鈕,在下方的Nodes Found列表框中將顯示出設(shè)計(jì)工程所有端口引腳的名稱。用鼠標(biāo)分別將輸入和輸出信號(hào)拖到波形編輯窗口中,結(jié)束后關(guān)閉Nodes Found列表框。然后單擊圖CP信號(hào),使之變成藍(lán)色條,再單擊左列的時(shí)鐘周期信號(hào)設(shè)置圖標(biāo),在彈出的Clock對(duì)話框中設(shè)置CP的時(shí)鐘周期為20s;對(duì)于其他的輸入信號(hào)也可以用同樣方法調(diào)用工具欄中相應(yīng)的工具完成設(shè)置。(3)波形仿真設(shè)置好參數(shù)后,點(diǎn)擊保存文件的按鈕,將文件保存在默認(rèn)的文件夾中,然后點(diǎn)擊工具欄上的Start Simulation按鈕即可啟動(dòng)仿真程序,仿真程序

10、運(yùn)行的結(jié)果如圖5-3所示。5-3 波形圖仿真的結(jié)果圖5-3波形仿真的結(jié)果不僅顯示出十進(jìn)制計(jì)數(shù)器的功能,還顯示出所設(shè)計(jì)的電路模塊當(dāng)輸入信號(hào)R為低電平時(shí),電路復(fù)位;當(dāng)R為高電平,且EP和ET也為高電平時(shí),電路為十進(jìn)制計(jì)數(shù)器;當(dāng)R為高電平,且EP和ET為低電平時(shí),電路是鎖存器,保存計(jì)數(shù)的數(shù)據(jù)不變。(4) 包裝元件入庫關(guān)閉波形圖仿真程序窗口,重新打開剛才設(shè)計(jì)好的文件,然后選擇FileCreate/UpdateCreate Symbol Files for Current File命令即將當(dāng)前文件變成一個(gè)包裝好的單一元件(Symbol),并放置在工程路徑指定的文件夾中備用。測(cè)頻時(shí)序控制電路的設(shè)計(jì)頻率計(jì)要

11、能夠自動(dòng)測(cè)頻,必須在電路中增加一個(gè)測(cè)頻控制電路。頻率計(jì)的功能是測(cè)量頻率,測(cè)頻時(shí)序控制電路應(yīng)由時(shí)鐘計(jì)數(shù)器、產(chǎn)生控制信號(hào)的譯碼器和量程控制的編碼器三個(gè)部分組成。利用Verilog HDL語言編寫的測(cè)頻控制電路的模塊為: module cpkz(Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7,EP1,ET1,CLR,clk,S0,S1,R);input clk,S0,S1,R;output EP1,ET1,CLR,Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7;wire s0,s1,m0,m1,m2,m3;not (s0,S0);not (s1,S1);and (m0,s1,s0);and (m1,

12、s1,S0);and (m2,S1,s0);and (m3,S1,S0);reg Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,QA,QB,QC,QD,QE,QF;reg15:0 QT1;always(negedge clk)beginif(R)QT1=16'b0000000000000000;else if(m0)beginif(QT1<16'b0000000001110100)QT1=QT1+1;QT1=QT1;endelse if(m1)beginif(QT1<16'b0000001111111000)QT1=QT1+1;QT1=QT1;

13、endelse if(m2)beginQT1=QT1;endelse if(m3)beginQT1=QT1;endendalwaysbeginQF,QE,QD,QC,QB,QA,Q9,Q8,Q7,Q6,Q5,Q4,Q3,Q2,Q1,Q0=QT1;endwire d0,d1,d2,d3;and (d0,Q2,Q4,Q5,Q6,m0);and (d1,Q3,Q4,Q5,Q6,Q7,Q8,Q9,m1);and (d2,Q5,Q8,Q9,QA,QD,m2);and (d3,Q5,Q6,Q8,Q9,QE,QF,m3);or (CLR,QF,QE,QD,QC,QB,QA,Q9,Q8,Q7,Q6,Q5,Q4

14、);nor (EP1,d0,d1,d2,d3);nor (ET1,d0,d1,d2,d3);endmodule注:當(dāng)S0和S1為低電平時(shí),m0為高電平,計(jì)數(shù)器開始從0計(jì)數(shù)到十進(jìn)制數(shù)的116后,保持二進(jìn)制數(shù)01110100的數(shù)值不變,EP1和ET1的輸出為低電平,該信號(hào)可作為測(cè)頻計(jì)數(shù)器的鎖存信號(hào)。計(jì)數(shù)器從0計(jì)數(shù)到16以后,CLR輸出高電平信號(hào),該信號(hào)可以作為測(cè)頻計(jì)數(shù)開始的控制信號(hào)。如果測(cè)頻控制信號(hào)的輸入脈沖的頻率為1MHz,周期為1s,測(cè)頻的時(shí)間為116-16=100s,測(cè)量所得到數(shù)據(jù)的單位為MHz,該量程用來測(cè)高頻的信號(hào),其它的量程用來測(cè)低頻的信號(hào)。該電路模塊波形仿真的結(jié)果如圖5-4所示。圖5

15、-4 測(cè)頻控制電路波形仿真的結(jié)果圖5-4的波形清晰的顯示出測(cè)頻控制電路在R信號(hào)的控制下復(fù)位,CLR輸出低電平,該信號(hào)可作為測(cè)頻計(jì)數(shù)器的復(fù)位信號(hào),當(dāng)計(jì)數(shù)器計(jì)數(shù)的值增大到16以后,CLR輸出為高電平信號(hào),該信號(hào)輸入測(cè)頻計(jì)數(shù)器的復(fù)位端口,測(cè)頻計(jì)數(shù)器開始計(jì)數(shù)。當(dāng)測(cè)頻控制電路的計(jì)數(shù)器計(jì)數(shù)到01110100時(shí),EP1和ET1的輸出為低電平,該信號(hào)輸入測(cè)頻計(jì)數(shù)器的EP和ET端口,測(cè)頻計(jì)數(shù)器進(jìn)入鎖存的狀態(tài),保存計(jì)數(shù)的數(shù)值不變。同時(shí)采用上面所介紹的方法將該文件包裝入庫。頻率計(jì)顯示譯碼器電路的設(shè)計(jì)頻率計(jì)所測(cè)量的數(shù)據(jù)要轉(zhuǎn)變出數(shù)字顯示,需要顯示譯碼器,用Verilog HDL語言編寫的顯示譯碼器電路模塊為:modul

16、e xsymq(a,b,c,d,e,f,g,A3,A2,A1,A0);input A3,A2,A1,A0;output a,b,c,d,e,f,g;wire a3,a2,a1,a0,m0,m1,m2,m3,m4,m5,m6,m7,m8,m9;not (a3,A3);not (a2,A2);not (a1,A1);not (a0,A0);and (m0,a3,a2,a1,a0);and (m1,a3,a2,a1,A0);and (m2,a3,a2,A1,a0);and (m3,a3,a2,A1,A0);and (m4,a3,A2,a1,a0);and (m5,a3,A2,a1,A0);and (

17、m6,a3,A2,A1,a0);and (m7,a3,A2,A1,A0);and (m8,A3,a2,a1,a0);and (m9,A3,a2,a1,A0);or (a,m0,m2,m3,m5,m6,m7,m8,m9);or (b,m0,m1,m2,m3,m4,m7,m8,m9);or (c,m0,m1,m3,m4,m5,m6,m7,m8,m9);or (d,m0,m2,m3,m5,m6,m8,m9);or (e,m0,m2,m6,m8);or (f,m0,m4,m5,m6,m8,m9);or (g,m2,m3,m4,m5,m6,m8,m9);End module該模塊經(jīng)編譯成功后,打包進(jìn)元件

18、庫。頻率計(jì)頂層電路的設(shè)計(jì)(1)在Quartus II軟件的工作界面上,選擇FileNew命令,在彈出的對(duì)話框中選擇Block Diagram/Schematic File選項(xiàng),然后按OK按鈕即可打開原理圖編輯窗口。(2)將元件拖入原理圖編輯窗口在原理圖編輯窗口中,點(diǎn)擊元件工具欄上的與門符號(hào)按鈕打開元件庫。在元件庫中,點(diǎn)擊“project”選項(xiàng),就可以找到打包入庫的元件cpkz,sjzjsq和xsymq,點(diǎn)擊“ok”按鈕,所示的器件拖入編輯窗口。 安置好器件以后,將輸入端口和輸出端口器件拖入編輯界面。安置好器件和端口后連接頂層電路。圖5-5 頻率計(jì)頂層電路的邏輯圖按照?qǐng)D5-5所示的電路連接好以后,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論