數(shù)字邏輯經(jīng)典ppt系列之2-3_第1頁
數(shù)字邏輯經(jīng)典ppt系列之2-3_第2頁
數(shù)字邏輯經(jīng)典ppt系列之2-3_第3頁
數(shù)字邏輯經(jīng)典ppt系列之2-3_第4頁
數(shù)字邏輯經(jīng)典ppt系列之2-3_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 2.3.1 Verilog語言的基本語法規(guī)則語言的基本語法規(guī)則 2.3.2 變量的數(shù)據(jù)類型變量的數(shù)據(jù)類型 2.3.3 Verilog程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu) 2.3.4 邏輯功能的仿真與測試邏輯功能的仿真與測試2.3 硬件描述語言硬件描述語言Verilog HDL基礎(chǔ)基礎(chǔ)硬件描述語言硬件描述語言HDL(Hardware Description Languag )類似于高級程序設(shè)計語言類似于高級程序設(shè)計語言. .它是一種以文本形式來描它是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言, ,用它可以表示用它可以表示邏輯電路圖、邏輯表達(dá)式,復(fù)雜數(shù)字邏輯系統(tǒng)所

2、的邏邏輯電路圖、邏輯表達(dá)式,復(fù)雜數(shù)字邏輯系統(tǒng)所的邏輯功能。輯功能。HDL是高層次自動化設(shè)計的起點和基礎(chǔ)是高層次自動化設(shè)計的起點和基礎(chǔ).2.3 硬件描述語言硬件描述語言Verilog HDL基礎(chǔ)基礎(chǔ)計算機(jī)對計算機(jī)對HDL的處理的處理: :邏輯綜合邏輯綜合 是指從是指從HDL描述的數(shù)字邏輯電路模型中導(dǎo)出電路基描述的數(shù)字邏輯電路模型中導(dǎo)出電路基本元件列表以及元件之間的連接關(guān)系(常稱為門級網(wǎng)表)的過本元件列表以及元件之間的連接關(guān)系(常稱為門級網(wǎng)表)的過程。類似對高級程序語言設(shè)計進(jìn)行編譯產(chǎn)生目標(biāo)代碼的過程程。類似對高級程序語言設(shè)計進(jìn)行編譯產(chǎn)生目標(biāo)代碼的過程. .產(chǎn)產(chǎn)生門級元件及其連接關(guān)系的數(shù)據(jù)庫,根據(jù)這

3、個數(shù)據(jù)庫可以制作生門級元件及其連接關(guān)系的數(shù)據(jù)庫,根據(jù)這個數(shù)據(jù)庫可以制作出集成電路或印刷電路板出集成電路或印刷電路板PCB。邏輯仿真邏輯仿真 是指用計算機(jī)仿真軟件對數(shù)字邏輯電路的結(jié)構(gòu)和行為是指用計算機(jī)仿真軟件對數(shù)字邏輯電路的結(jié)構(gòu)和行為進(jìn)行預(yù)測進(jìn)行預(yù)測. .仿真器對仿真器對HDL描述進(jìn)行解釋,以文本形式或時序波形描述進(jìn)行解釋,以文本形式或時序波形圖形式給出電路的輸出。在仿真期間如發(fā)現(xiàn)設(shè)計中存在錯誤,就圖形式給出電路的輸出。在仿真期間如發(fā)現(xiàn)設(shè)計中存在錯誤,就再要對再要對HDL描述進(jìn)行及時的修改。描述進(jìn)行及時的修改。2.3.1 Verilog語言的基本語法規(guī)則語言的基本語法規(guī)則為對數(shù)字電路進(jìn)行描述(常

4、稱為建模),為對數(shù)字電路進(jìn)行描述(常稱為建模),Verilog語言規(guī)定語言規(guī)定了一套完整的語法結(jié)構(gòu)。了一套完整的語法結(jié)構(gòu)。1間隔符間隔符: Verilog 的間隔符主要起分隔文本的作用,可以的間隔符主要起分隔文本的作用,可以使文本錯落有致,便于閱讀與修改。使文本錯落有致,便于閱讀與修改。間隔符包括空格符(間隔符包括空格符(bb)、)、TAB 鍵(鍵(tt)、換行符()、換行符(nn)及)及換頁符。換頁符。2注釋符注釋符: :注釋只是為了改善程序的可讀性,在編譯時不起作用。注釋只是為了改善程序的可讀性,在編譯時不起作用。多行注釋符多行注釋符( (用于寫多行注釋用于寫多行注釋): /): /* *

5、 - - * */ /;單行注釋符單行注釋符 : :以以/開始到行尾結(jié)束為注釋文字。開始到行尾結(jié)束為注釋文字。為了表示數(shù)字邏輯電路的邏輯狀態(tài),為了表示數(shù)字邏輯電路的邏輯狀態(tài),Verilog語言規(guī)定了語言規(guī)定了4 4種基本的邏輯值。種基本的邏輯值。 0邏輯邏輯0、邏輯假、邏輯假 1邏輯邏輯1、邏輯真、邏輯真 x或或X不確定的值(未知狀態(tài))不確定的值(未知狀態(tài)) z或或Z高阻態(tài)高阻態(tài)標(biāo)識符標(biāo)識符: :給對象(如模塊名、電路的輸入與輸出端口、給對象(如模塊名、電路的輸入與輸出端口、變量等)取名所用的字符串。以英文字母或下劃線開始變量等)取名所用的字符串。以英文字母或下劃線開始如如,clk、count

6、er8、_net、bus_A 。關(guān)鍵詞關(guān)鍵詞: :是是Verilog語言本身規(guī)定的特殊字符串,用來定語言本身規(guī)定的特殊字符串,用來定義語言的結(jié)構(gòu)。例如,義語言的結(jié)構(gòu)。例如,module、endmodule、input、output、wire、reg、and等都是關(guān)鍵詞。等都是關(guān)鍵詞。關(guān)鍵詞都是小關(guān)鍵詞都是小寫,寫,關(guān)鍵詞不能作為標(biāo)識符使用關(guān)鍵詞不能作為標(biāo)識符使用 。4邏輯值集合邏輯值集合3標(biāo)識符和關(guān)鍵詞標(biāo)識符和關(guān)鍵詞5常量及其表示常量及其表示實數(shù)型常量實數(shù)型常量十進(jìn)制記數(shù)法十進(jìn)制記數(shù)法 如:如: 0.10.1、2.02.0、5.675.67科學(xué)記數(shù)法科學(xué)記數(shù)法 如如: : 23_5.1e2、5

7、E4 23510.0、 0.0005Verilog允許用參數(shù)定義語句定義一個標(biāo)識符來代表一個常量,稱允許用參數(shù)定義語句定義一個標(biāo)識符來代表一個常量,稱為符號常量。定義的格式為:為符號常量。定義的格式為:parameter 參數(shù)名參數(shù)名1 1常量表達(dá)式常量表達(dá)式1 1,參數(shù)名,參數(shù)名2 2常量表達(dá)式常量表達(dá)式2 2,;如如 parameter BIT=1, BYTE=8, PI=3.14;6字符串字符串: :字符串是雙撇號內(nèi)的字符序列字符串是雙撇號內(nèi)的字符序列常量常量十進(jìn)制數(shù)的形式的表示方法十進(jìn)制數(shù)的形式的表示方法: :表示有符號表示有符號常量常量例如:例如:3030、2 2帶基數(shù)的形式的表示方

8、法帶基數(shù)的形式的表示方法: : 表示表示常量常量格式為:格式為: 整數(shù)型整數(shù)型例如:例如:3b101、5o37、8he3,8b1001_0011 2.3.2 變量的數(shù)據(jù)類型變量的數(shù)據(jù)類型1 1線網(wǎng)類型線網(wǎng)類型: :是指輸出始終根據(jù)輸入的變化而更新其值的是指輸出始終根據(jù)輸入的變化而更新其值的變量變量, ,它一般指的是硬件電路中的各種物理連接它一般指的是硬件電路中的各種物理連接. . 例例:wire L; / /將上述電路的輸出信號將上述電路的輸出信號L L聲明為網(wǎng)絡(luò)型變量聲明為網(wǎng)絡(luò)型變量 wire 7:0 data bus; / /聲明一個聲明一個8-bit8-bit寬的網(wǎng)絡(luò)型總線變量寬的網(wǎng)絡(luò)型

9、總線變量常用的網(wǎng)絡(luò)類型由關(guān)鍵詞常用的網(wǎng)絡(luò)類型由關(guān)鍵詞wire定義定義wire型變量的定義格式如下:型變量的定義格式如下:wire n-1:0 n-1:0 變量名變量名1 1,變量名,變量名2 2,變量名,變量名n;變量寬度變量寬度例例: :網(wǎng)絡(luò)型變量網(wǎng)絡(luò)型變量L的值由與門的驅(qū)動信號的值由與門的驅(qū)動信號a a和和b b所決定,即所決定,即La&b。a、b的值發(fā)的值發(fā)生變化,線網(wǎng)生變化,線網(wǎng)L L的值會立即跟著變化。的值會立即跟著變化。 & b a L 寄存器型變量對應(yīng)的是具有狀態(tài)保持作用的電等路元件寄存器型變量對應(yīng)的是具有狀態(tài)保持作用的電等路元件, ,如觸如觸發(fā)器寄存器。寄存器型

10、變量只能在發(fā)器寄存器。寄存器型變量只能在initial或或always內(nèi)部被賦值。內(nèi)部被賦值。2、寄存器型寄存器型寄存器類型寄存器類型功能說明功能說明reg常用的寄存器型變量常用的寄存器型變量integer32位帶符號的整數(shù)型變量位帶符號的整數(shù)型變量real64位帶符號的實數(shù)型變量,位帶符號的實數(shù)型變量,time64位無符號的時間變量位無符號的時間變量4種種寄存器類型的變量寄存器類型的變量例:例: reg clock;/定義一個定義一個1位寄存器變量位寄存器變量 reg 3:0 counter; /定義一個定義一個4位位寄存器變量寄存器變量抽象描述抽象描述, ,不對應(yīng)具不對應(yīng)具體硬件體硬件2、

11、每個模塊先要進(jìn)行端口的定義,并說明輸入每個模塊先要進(jìn)行端口的定義,并說明輸入(input)和輸出和輸出(output),然后對模塊功能進(jìn)行描述。然后對模塊功能進(jìn)行描述。2.3.3 Verilog程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)Verilog使用大約使用大約100個預(yù)定義的關(guān)鍵詞定義該語言的結(jié)構(gòu)個預(yù)定義的關(guān)鍵詞定義該語言的結(jié)構(gòu)1、 VerilogHDL程序由程序由模塊構(gòu)成。每個模塊的內(nèi)容都是嵌在關(guān)鍵模塊構(gòu)成。每個模塊的內(nèi)容都是嵌在關(guān)鍵詞詞module和和endmodule兩個語句之間。每個模塊實現(xiàn)特定的功能。兩個語句之間。每個模塊實現(xiàn)特定的功能。3 3、除了、除了endmodule語句外,每個語句后

12、必須有分號。語句外,每個語句后必須有分號。4、可以用可以用/* - */和和/.對對VerilogHDL程序的任何部分做注釋。程序的任何部分做注釋。 module 模模塊塊名名(端端口口名名1 1, , 端端口口名名2 2, , 端端口口名名3 3, ,); 端端口口類類型型說說明明(input, outout, inout); 參參數(shù)數(shù)定定義義( (可可選選) ); 數(shù)數(shù)據(jù)據(jù)類類型型定定義義( (wire, reg等等) ); 實實例例化化低低層層模模塊塊和和基基本本門門級級元元件件; 連連續(xù)續(xù)賦賦值值語語句句(assign); 過過程程塊塊結(jié)結(jié)構(gòu)構(gòu)(initial和和always) 行行為

13、為描描述述語語句句; endmodule 邏邏輯輯功功能能描描 述述部部分分,其其 順順序序是是任任意意的的 說說明明部部分分 模塊定義的一般語法結(jié)構(gòu)如下:模塊定義的一般語法結(jié)構(gòu)如下:端口類型說明端口類型說明電路結(jié)構(gòu)描述電路結(jié)構(gòu)描述模塊名模塊名數(shù)據(jù)類數(shù)據(jù)類型說明型說明例例 用結(jié)構(gòu)描述方式建立門電路用結(jié)構(gòu)描述方式建立門電路VerlogerVerloger模型模型 & out sel a 1 a1 U2 b U4 & b1 U3 U1 selnot /Gate-level description of simple circuitmodule mux2to1(a, b, sel, out); input a, b, sel; /定義輸入信號定義輸入信號 output out; /定義輸出信號定義輸出信號 wire selnot, a1, b1 ; /定義內(nèi)部節(jié)點信號數(shù)據(jù)類型定義內(nèi)部節(jié)點信號數(shù)據(jù)類型/下面對電路的邏輯功能進(jìn)行描述下面對電路的邏輯功能進(jìn)行描述not U1(selnot, sel); and U2(a1, a, selnot); and U3(b1, b, sel); or U4(out, a1, b1);endmodule 2.3.4 邏輯功能的仿真與測試邏輯功能的仿真與測試邏輯電路的設(shè)計

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論