實驗verilogQuartusII軟件的使用_第1頁
實驗verilogQuartusII軟件的使用_第2頁
實驗verilogQuartusII軟件的使用_第3頁
實驗verilogQuartusII軟件的使用_第4頁
實驗verilogQuartusII軟件的使用_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、硬件描述語言及應用實驗講義2015-2016年度第二學期實驗一、EDA軟件使用一、實驗目的:1、掌握MAX+PLUS 軟件的使用;2、掌握文本編輯器和波形編輯器的使用。二、實驗儀器微機一臺。三、實驗原理1、MAX+PLUS 軟件MAX+PLUS II 9.3界面友好,使用便捷,被譽為業(yè)界最易學易用的EDA軟件。支持原理圖、VHDL和Verilog語言文本文件,以及波形與EDIF等格式的文件作為設計輸入,并支持這些文件的任意混合設計。MAX+PLUS II具有門級仿真器,可以進行功能仿真和時序仿真,能夠產(chǎn)生精確的仿真結果。在適配之后,MAX+PLUS II生成供時序仿真用的EDIF、VHDL和V

2、erilog三種不同格式的網(wǎng)表文件。MAX+PLUS II支持主流的第三方EDA工具,如Synopsys、Cadence、Synplicity、Mentor、Viewlogic、Exemplar和Model Technology等。MAX+PLUS II支持除APEX20K系列之外的所有Altera FPG/CPLD 大規(guī)模邏輯器件。2、Verilog語言簡介(1) 什么是Verilog HDLVerilog HDL是硬件描述語言的一種,用于數(shù)字電子系統(tǒng)設計。它允許設計者用它來進行各種級別的邏輯設計,可以用它進行數(shù)字邏輯系統(tǒng)的仿真驗證、時序分析、邏輯綜合。它是目前應用最廣泛的一種硬件描述語言之

3、一。(2) Verilog HDL的歷史Verilog HDL是在1983年由GDA(GateWay Design Automation)公司的Phil Moorby首創(chuàng)的。Phil Moorby后來成為Verilog-XL的主要設計者和Cadence公司(Cadence Design System)的第一個合伙人。在1984年1985年,Moorby設計出了第一個關于Verilog-XL的仿真器,1986年,他對Verilog HDL的發(fā)展又做出了另一個巨大貢獻:即提出了用于快速門級仿真的XL算法。隨著Verilog-XL算法的成功,Verilog HDL語言得到迅速發(fā)展。1989年,Cad

4、ence公司收購了GDA公司,Verilog HDL語言成為Cadence公司的私有財產(chǎn)。1990年,Cadence公司決定公開Verilog HDL語言,于是成立了OVI(Open Verilog International)組織來負責Verilog HDL語言的發(fā)展。(3) Verilog HDL的進展基于Verilog HDL的優(yōu)越性,IEEE于1995年制定了Verilog HDL的IEEE標準,即Verilog HDL 1364-1995。其后,又在2001年發(fā)布了Verilog HDL 1364-2001標準。據(jù)有關文獻報道,目前在美國使用Verilog HDL進行設計的工程師大約

5、有60000人,全美國有200多所大學教授用Verilog硬件描述語言的設計方法。在我國臺灣地區(qū)幾乎所有著名大學的電子和計算機工程系都講授Verilog有關的課程。四、實驗內(nèi)容編程實現(xiàn)約翰遜計數(shù)器,并用波形進行仿真。實驗前注意以下幾點:(1) 新建一個工程之前一定要新建一個文件夾,后面產(chǎn)生的工程和原程序都保存在這個文件夾中;(2) 不同的工程最好放在不同的文件夾中,同一工程的所有文件都必須放在同一個文件夾中;(3) 保存路徑為全英文。1、程序輸入、檢查、編譯打開MAX+PLUS II軟件,在File菜單里選擇New,在彈出的窗口中選擇第三項:Text Editor file,點OK。在彈出的窗

6、口中輸入約翰遜計數(shù)器原程序,約翰遜計數(shù)器是一種移位計數(shù)器,采用的是把輸出的最高位取非,然后反饋送到最低位觸發(fā)器的輸入端。約翰遜計數(shù)器在每個時鐘下只有一個輸出發(fā)生變化。下面是約翰遜計數(shù)器的Verilog HDL實現(xiàn)代碼。module johnson (clk, rst, cnt);input clk, rst;output 3:0 cnt;reg 3:0 y;assign cnt = y;always (posedge clk)beginif (rst) y=0;else begin y3:1=y2:0;y0=!y3;endendendmodule接下來是很關鍵的存盤工作,在存盤前,請在D盤根目

7、錄下新建一文件夾,名稱為名字+學號,如zhangsan55。選擇菜單FileSave,在出來窗口中選擇D盤,然后找到你新建的文件夾,注意一定雙擊一下。然后在上面輸入文件名johnson.v,完成點OK。選擇菜單FileProjectSet Project to Current File。接下來對程序進行檢查,選擇菜單FileProjectSave & Check,如果彈出如下窗口,表示檢查無誤通過,可以進行下一步。如果顯示有錯誤,仔細檢查程序并修改,再次進行檢查,直到無誤通過。檢查無誤后,選擇FileProjectSave & Compile。這一步一定要進行,完成后,留程序輸

8、入窗口,把多余窗口關掉。2、波形仿真新建一個波形文件,選擇FileNew,在彈出的窗口中選擇Waveform Editor file,點OK。這時會發(fā)現(xiàn)多了一個菜單Node,選擇NodeEnter Nodes from SNF,在彈出窗口中點擊List,然后在左邊窗口選擇需要的節(jié)點,這個程序因為是一個計數(shù)器,經(jīng)過分析我們就選取clk,rst,cnt三個節(jié)點,點擊中間的“=>”號,點擊OK。一般出來的波形窗口顯示200ns左右,需要把時間段調(diào)一下,選擇ViewTime Range,在彈出來的窗口中to后面輸1000。clk為時鐘脈沖,時鐘脈沖設置時,右鍵點擊clk,選擇OverwriteC

9、lock,點擊OK,就設置完成。如果覺得時鐘脈沖周期較長,可以調(diào)一下間距,選擇菜單OptionsGrid Size,設置間距后重新進行時鐘脈沖設置。rst的設置。rst在程序中的作用是,當來一個時鐘脈沖上升延時,如果當時rst為1,則對計數(shù)器進行清零,因此,rst應該基本為0,局部設為1。在rst設置前最好把OptionsSnap to Grid前面的勾去掉。設置完成,開始仿真,選擇FileProjectSave, Compile & Simulate,波形文件選擇自動存盤,直接點OK就行。得到波形文件。波形文件中發(fā)現(xiàn)輸出cnt是16進制的,不能很好的反映約翰遜計數(shù)器的特點,因此需要把

10、cnt改成2進制。如圖雙擊H所在位置,在彈出窗口中選擇BIN,點OK。最終得到約翰遜計數(shù)器的波形文件。五、思考題設計一個十六進制普通計數(shù)器。實驗二、3-8譯碼器設計一、實驗目的1、掌握3-8譯碼器設計原理;2、掌握3-8譯碼器的編程技巧。二、實驗儀器微機一臺三、實驗內(nèi)容譯碼器屬于組合邏輯電路,它的邏輯功能是將二進制代碼按其編碼時的原意譯成對應的輸出高、底電平信號,又叫解碼器。在數(shù)字電子技術中,它具有非常重要的地位,應用也很廣泛。它除了常為其它集成電路產(chǎn)生片選信號之外,還可以作為數(shù)據(jù)分配器、函數(shù)發(fā)生器用,而且在組合邏輯電路設計中它可替代繁多的邏輯門,簡化設計電路。采用case語句實現(xiàn)的3-8譯碼

11、器的Verilog HDL程序如下:module decoder38 (A, Y);input 2:0 A;output 7:0 Y;reg 7:0 Y;always (A) begin case ( A ) 3'b000: Y = 8'b10000000; 3'b001: Y = 8'b01000000; 3'b010: Y = 8'b00100000; 3'b011: Y = 8'b00010000; 3'b100: Y = 8'b00001000; 3'b101: Y = 8'b0000010

12、0; 3'b110: Y = 8'b00000010; 3'b111: Y = 8'b00000001; default:Y = 8'bxxxxxxxx; endcase endendmodule在軟件中對程序進行輸入、檢查、編譯,并建立波形文件對譯碼器進行仿真,測試設計是否正確。四、思考題如何用if_else語句實現(xiàn)3-8譯碼器的設計?實驗三、4位乘法器的設計一、實驗目的1、理解乘法器工作原理;2、掌握乘法器的編程技巧。二、實驗儀器微機一臺三、實驗內(nèi)容下面是采用for語句4位乘法器的Verilog HDL實現(xiàn)。module MULT4B (R, A,

13、B); parameter S=4; output 2*S:1 R; input S:1 A, B; reg 2*S:1 R; integer i; always (A or B) begin R=0; for (i=1; i<=S; i=i+1) if (Bi) R=R+(A<<(i-1); endendmodule在軟件中對程序進行輸入、檢查、編譯,并建立波形文件對譯碼器進行仿真,測試設計是否正確。四、思考題分別用while和repeat語句設計四位乘法器。實驗四、4位加法器的設計一、實驗目的1、理解加法器工作原理;2、掌握加法器的編程技巧。二、實驗儀器微機一臺三、實驗內(nèi)

14、容加法器是數(shù)字系統(tǒng)中的基本邏輯器件,減法器和硬件乘法器都可由加法器來構成。多位加法器的構成有兩種方式:并行進位和串行進位方式。并行進位加法器設有進位產(chǎn)生邏輯,運算速度較快;串行進位方式是將全加器級聯(lián)構成多位加法器。并行進位加法器通常比串行級聯(lián)加法器占用更多的資源。隨著位數(shù)的增加,相同位數(shù)的并行加法器與串行加法器的資源占用差距也越來越大。因此,在工程中使用加法器時,要在速度和容量之間尋找平衡點。下面是4位加法器的Verilog HDL實現(xiàn)。module ALU (A,B,S,Y);input 3:0A,B;input 1:0S;output 7:0 Y;parameter add=2'b

15、00,reduce=2'b01,multiply=2'b10;reg 7:0 Y;always (A or B or S)begincase (S)2'b00: Y=A+B;2'b01: Y=A-B;2'b10: Y=A*B;default: Y=0;endcaseendendmodule在軟件中對程序進行輸入、檢查、編譯,并建立波形文件對譯碼器進行仿真,測試設計是否正確。四、思考題如何用本設計中的4位加法器完成8位加法器的設計。實驗五、計數(shù)器的設計一、實驗目的1、理解計數(shù)器工作原理;2、掌握不同進制計數(shù)器的設計方法。二、實驗儀器微機一臺三、實驗內(nèi)容計數(shù)

16、是一種最簡單基本的運算,計數(shù)器就是實現(xiàn)這種運算的邏輯電路,計數(shù)器在數(shù)字系統(tǒng)中主要是對脈沖的個數(shù)進行計數(shù),以實現(xiàn)測量、計數(shù)和控制的功能,同時兼有分頻功能。計數(shù)器種類繁多,在實際生活中被廣泛應用各個領域,包括在工業(yè)生產(chǎn)方面、在數(shù)字系統(tǒng)方面、交通信號燈控制方面、切紙機械定位和電梯定位調(diào)速等方面,是日常生活中不可或缺的一種電子部件。下面是含異步復位、同步計數(shù)使能和可預置功能的加法計數(shù)器的Verilog HDL實現(xiàn)。module CNT10 (CLK, RST, EN, LOAD, COUT, DOUT, DATA);input CLK, EN, RST, LOAD;input 3:0 DATA;output 3:0 DOUT;output COUT;reg 3:0 Q1; reg COUT;assign DOUT = Q1;always (posedge CLK or negedge RST) beginif (!R

溫馨提示

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

評論

0/150

提交評論