




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)生課程實驗報告書學(xué)生課程實驗報告書 08 級 電子信息與通信工程 系 電子信息工程 專業(yè) 3 班 學(xué)號 0830010357 姓名 賴茹香 2010-2011學(xué)年 第二學(xué)期 實驗項目: 用Verilog HDL語言設(shè)計頻率計 實驗相關(guān)原理 數(shù)字系統(tǒng)的層次化結(jié)構(gòu)設(shè)計 組合邏輯電路和時序邏輯電路的設(shè)計都是屬于功能部件的設(shè)計。功能部件設(shè)計建立在真值表、特性表、狀態(tài)轉(zhuǎn)換圖或工作時序圖的基礎(chǔ)上,在輸入變量較少的情況下,因為描述邏輯函數(shù)關(guān)系的各種表格和圖表較簡單,設(shè)計電路分析建模的工作也較簡單,按照前面介紹的方法就可以完成電路的設(shè)計工作。然而在大型數(shù)字系統(tǒng)的設(shè)計中,前面介紹的設(shè)計方法在進行數(shù)字系統(tǒng)的設(shè)計
2、時不適用,進行數(shù)字系統(tǒng)的設(shè)計需要引入層次化結(jié)構(gòu)設(shè)計的思想。圖5-1 系統(tǒng)結(jié)構(gòu)的組成框圖層次化結(jié)構(gòu)設(shè)計的思想是將設(shè)計的目標(biāo)層層分解,對分解后的各層次電路分別進行設(shè)計,最后,再根據(jù)分解的規(guī)則將各層次電路綜合起來組成數(shù)字系統(tǒng)。各層次模塊組成系統(tǒng)的連接示意圖如圖5-1所示。對于樹型結(jié)構(gòu)系統(tǒng)存在著“自頂向下(Top-down)”設(shè)計和“自底向上(Bottom-up)”設(shè)計兩種不同的設(shè)計思想。自頂向下的設(shè)計強調(diào)性能上的最優(yōu),而自底向上的設(shè)計強調(diào)的是設(shè)計上的經(jīng)濟性。實際的設(shè)計過程往往是這兩種設(shè)計方法的綜合,但在使用大規(guī)模集成電路,特別是使用可編程邏輯器件進行設(shè)計時,自頂向下的設(shè)計會有更多的優(yōu)點。隨著電子設(shè)計
3、自動化水平的提高,在進行復(fù)雜數(shù)字系統(tǒng)設(shè)計時,使用EDA仿真工具可以使整個設(shè)計過程變得簡捷和方便,特別是對各層次電路工作時序圖的分析更為快捷和準(zhǔn)確,為設(shè)計更大規(guī)模的數(shù)字系統(tǒng)提供了直觀準(zhǔn)確的實驗數(shù)據(jù)。以兩位十進制頻率計的設(shè)計為例,介紹層次化設(shè)計的思想在EDA環(huán)境下的體現(xiàn),所采用的EDA工具軟件平臺是Quartus II。圖5-2 兩位十進制數(shù)字頻率計的層次化結(jié)構(gòu)示意圖根據(jù)兩位十進制數(shù)字頻率計的邏輯功能可知,兩位十進制數(shù)字頻率計應(yīng)由帶鎖存功能的十進制計數(shù)器電路、測頻時序控制電路,顯示譯碼器和頻率計頂層電路四部分組成,兩位十進制數(shù)字頻率計的層次化結(jié)構(gòu)示意圖如圖5-2所示。利用EDA技術(shù)進行兩位十進制數(shù)
4、字頻率計設(shè)計的步驟是:先分別設(shè)計底層的計數(shù)器電路模塊,測頻時序控制電路模塊和顯示譯碼器電路模塊,再在頻率計頂層電路中調(diào)入事先設(shè)計好的三個底層電路模塊。 實驗內(nèi)容和步驟計數(shù)器的電路的設(shè)計1為本設(shè)計項目建立文件夾首先要建立一個文件夾,以便于存儲設(shè)計項目。設(shè)本項工程的文件夾位于D:/myworks/plj文件夾中。2輸入設(shè)計項目并存盤在Quartus II軟件上搭建計數(shù)器電路模塊:(1)運行Quartus II,選擇FileNew命令,在Verilog HDL編輯窗口中,用Verilog HDL語言編寫兩個十進制計數(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è)計好的文件存到事先準(zhǔn)備好的文件夾D:/myworks/plj下,文件名用sjzjsq,然后創(chuàng)建工程。(2)創(chuàng)建工程彈出的對話框中點擊“Next”按鈕,設(shè)計項目的名稱及頂層文件的名稱均設(shè)為sjzjsq。點擊“Nex
7、t”按鈕后將彈出對話框。在該對話框中,將設(shè)計文件加入到工程中,單擊Add按鈕,將存好的Verilog HDL文件加入到設(shè)計工程中后。點擊Next按鈕后,將彈出目標(biāo)芯片選擇對話框。(3)目標(biāo)芯片的選擇Family欄目的下拉列表框用于選擇Cyclone系列,在Available device列表框中選擇EP1C3T144C6型號的芯片(選擇的依據(jù)源于開發(fā)板)。右邊選項區(qū)域可以設(shè)置過濾條件,以方便選擇芯片。單擊“Next”按鈕后,在彈出的對話框中再點擊“Next”按鈕后,接著點擊“Finish”按鈕完成目標(biāo)芯片的選擇。3編譯選擇ProcessingStart Compilation命令,啟動全程編譯
8、。如果工程文件中有錯誤,在下方的Processing選項卡中會顯示出來。編譯成功后,點擊編譯成功提示欄的“確定”按鈕,完成編譯的操作。4仿真工程編譯通過后,對其功能和時序特性進行仿真測試,仿真程序的步驟如下:(1)打開波形編輯器選擇FileNew命令,在New對話框中選擇Other Files選項,在彈出的對話框中選擇Vector Waveform File(波形圖文件)選項,選擇EditEnd Time命令,在彈出的對話框中的Time文本框中輸入30,單位選擇s,即設(shè)置仿真域的時間為30s。(2)端口引腳的輸入設(shè)置好仿真時間后,選擇ViewUtility WindowsNode Finder
9、命令,在彈出對話框中的Filter下拉列表框中選擇Pins:all選項,然后單擊List按鈕,在下方的Nodes Found列表框中將顯示出設(shè)計工程所有端口引腳的名稱。用鼠標(biāo)分別將輸入和輸出信號拖到波形編輯窗口中,結(jié)束后關(guān)閉Nodes Found列表框。然后單擊圖CP信號,使之變成藍色條,再單擊左列的時鐘周期信號設(shè)置圖標(biāo),在彈出的Clock對話框中設(shè)置CP的時鐘周期為20s;對于其他的輸入信號也可以用同樣方法調(diào)用工具欄中相應(yīng)的工具完成設(shè)置。(3)波形仿真設(shè)置好參數(shù)后,點擊保存文件的按鈕,將文件保存在默認(rèn)的文件夾中,然后點擊工具欄上的Start Simulation按鈕即可啟動仿真程序,仿真程序
10、運行的結(jié)果如圖5-3所示。5-3 波形圖仿真的結(jié)果圖5-3波形仿真的結(jié)果不僅顯示出十進制計數(shù)器的功能,還顯示出所設(shè)計的電路模塊當(dāng)輸入信號R為低電平時,電路復(fù)位;當(dāng)R為高電平,且EP和ET也為高電平時,電路為十進制計數(shù)器;當(dāng)R為高電平,且EP和ET為低電平時,電路是鎖存器,保存計數(shù)的數(shù)據(jù)不變。(4) 包裝元件入庫關(guān)閉波形圖仿真程序窗口,重新打開剛才設(shè)計好的文件,然后選擇FileCreate/UpdateCreate Symbol Files for Current File命令即將當(dāng)前文件變成一個包裝好的單一元件(Symbol),并放置在工程路徑指定的文件夾中備用。測頻時序控制電路的設(shè)計頻率計要
11、能夠自動測頻,必須在電路中增加一個測頻控制電路。頻率計的功能是測量頻率,測頻時序控制電路應(yīng)由時鐘計數(shù)器、產(chǎn)生控制信號的譯碼器和量程控制的編碼器三個部分組成。利用Verilog HDL語言編寫的測頻控制電路的模塊為: 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為低電平時,m0為高電平,計數(shù)器開始從0計數(shù)到十進制數(shù)的116后,保持二進制數(shù)01110100的數(shù)值不變,EP1和ET1的輸出為低電平,該信號可作為測頻計數(shù)器的鎖存信號。計數(shù)器從0計數(shù)到16以后,CLR輸出高電平信號,該信號可以作為測頻計數(shù)開始的控制信號。如果測頻控制信號的輸入脈沖的頻率為1MHz,周期為1s,測頻的時間為116-16=100s,測量所得到數(shù)據(jù)的單位為MHz,該量程用來測高頻的信號,其它的量程用來測低頻的信號。該電路模塊波形仿真的結(jié)果如圖5-4所示。圖5
15、-4 測頻控制電路波形仿真的結(jié)果圖5-4的波形清晰的顯示出測頻控制電路在R信號的控制下復(fù)位,CLR輸出低電平,該信號可作為測頻計數(shù)器的復(fù)位信號,當(dāng)計數(shù)器計數(shù)的值增大到16以后,CLR輸出為高電平信號,該信號輸入測頻計數(shù)器的復(fù)位端口,測頻計數(shù)器開始計數(shù)。當(dāng)測頻控制電路的計數(shù)器計數(shù)到01110100時,EP1和ET1的輸出為低電平,該信號輸入測頻計數(shù)器的EP和ET端口,測頻計數(shù)器進入鎖存的狀態(tài),保存計數(shù)的數(shù)值不變。同時采用上面所介紹的方法將該文件包裝入庫。頻率計顯示譯碼器電路的設(shè)計頻率計所測量的數(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)編譯成功后,打包進元件
18、庫。頻率計頂層電路的設(shè)計(1)在Quartus II軟件的工作界面上,選擇FileNew命令,在彈出的對話框中選擇Block Diagram/Schematic File選項,然后按OK按鈕即可打開原理圖編輯窗口。(2)將元件拖入原理圖編輯窗口在原理圖編輯窗口中,點擊元件工具欄上的與門符號按鈕打開元件庫。在元件庫中,點擊“project”選項,就可以找到打包入庫的元件cpkz,sjzjsq和xsymq,點擊“ok”按鈕,所示的器件拖入編輯窗口。 安置好器件以后,將輸入端口和輸出端口器件拖入編輯界面。安置好器件和端口后連接頂層電路。圖5-5 頻率計頂層電路的邏輯圖按照圖5-5所示的電路連接好以后,
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目經(jīng)理職業(yè)導(dǎo)則課件
- 項目工程管理培訓(xùn)課件
- 音樂說課課件代做方法
- 市政污水管網(wǎng)改造項目質(zhì)量管理方案
- 汽車配套產(chǎn)業(yè)基地項目招商引資報告
- 五年級音樂下冊全冊教案(湘教版)
- 無錫某中學(xué)中考二模語文試卷(圖片版無答案)
- 2025年高壓化成箔項目發(fā)展計劃
- 現(xiàn)代生物技術(shù)概論教案-明東風(fēng)
- 五年級上冊心理教案 (一)
- 軟件項目投標(biāo)技術(shù)標(biāo)書
- 干部人事檔案目錄(樣表)
- 幼兒園中班語言教案《頑皮的小雨滴》含反思
- NY/T 455-2001胡椒
- GB/T 5585.1-2005電工用銅、鋁及其合金母線第1部分:銅和銅合金母線
- GB/T 20470-2006臨床實驗室室間質(zhì)量評價要求
- 《沙盤游戲與大學(xué)生心理治療》課程教學(xué)大綱
- 丁類(D類)功率放大器
- (0059)船舶貨運保險理賠答疑手冊
- 醫(yī)療器械輻照滅菌確認(rèn)報告
- 南瑞繼保103-主體部分
評論
0/150
提交評論