Verilog語(yǔ)言的基本語(yǔ)法規(guī)則課件_第1頁(yè)
Verilog語(yǔ)言的基本語(yǔ)法規(guī)則課件_第2頁(yè)
Verilog語(yǔ)言的基本語(yǔ)法規(guī)則課件_第3頁(yè)
Verilog語(yǔ)言的基本語(yǔ)法規(guī)則課件_第4頁(yè)
Verilog語(yǔ)言的基本語(yǔ)法規(guī)則課件_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2.3.1

Verilog語(yǔ)言的基本語(yǔ)法規(guī)則

2.3.2變量的數(shù)據(jù)類型

2.3.3

Verilog程序的基本結(jié)構(gòu)

2.3.4邏輯功能的仿真與測(cè)試2.3硬件描述語(yǔ)言VerilogHDL基礎(chǔ)2.3.1Verilog語(yǔ)言的基本語(yǔ)法規(guī)則2.31硬件描述語(yǔ)言HDL(HardwareDescriptionLanguag)類似于高級(jí)程序設(shè)計(jì)語(yǔ)言.它是一種以文本形式來(lái)描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語(yǔ)言,用它可以表示邏輯電路圖、邏輯表達(dá)式,復(fù)雜數(shù)字邏輯系統(tǒng)所的邏輯功能。HDL是高層次自動(dòng)化設(shè)計(jì)的起點(diǎn)和基礎(chǔ).2.3硬件描述語(yǔ)言VerilogHDL基礎(chǔ)硬件描述語(yǔ)言HDL(HardwareDescription2計(jì)算機(jī)對(duì)HDL的處理:邏輯綜合

是指從HDL描述的數(shù)字邏輯電路模型中導(dǎo)出電路基本元件列表以及元件之間的連接關(guān)系(常稱為門級(jí)網(wǎng)表)的過程。類似對(duì)高級(jí)程序語(yǔ)言設(shè)計(jì)進(jìn)行編譯產(chǎn)生目標(biāo)代碼的過程.產(chǎn)生門級(jí)元件及其連接關(guān)系的數(shù)據(jù)庫(kù),根據(jù)這個(gè)數(shù)據(jù)庫(kù)可以制作出集成電路或印刷電路板PCB。邏輯仿真是指用計(jì)算機(jī)仿真軟件對(duì)數(shù)字邏輯電路的結(jié)構(gòu)和行為進(jìn)行預(yù)測(cè).仿真器對(duì)HDL描述進(jìn)行解釋,以文本形式或時(shí)序波形圖形式給出電路的輸出。在仿真期間如發(fā)現(xiàn)設(shè)計(jì)中存在錯(cuò)誤,就再要對(duì)HDL描述進(jìn)行及時(shí)的修改。計(jì)算機(jī)對(duì)HDL的處理:邏輯綜合是指從HDL描述的數(shù)字邏輯電32.3.1Verilog語(yǔ)言的基本語(yǔ)法規(guī)則為對(duì)數(shù)字電路進(jìn)行描述(常稱為建模),Verilog語(yǔ)言規(guī)定了一套完整的語(yǔ)法結(jié)構(gòu)。1.間隔符:

Verilog的間隔符主要起分隔文本的作用,可以使文本錯(cuò)落有致,便于閱讀與修改。間隔符包括空格符(\b)、TAB鍵(\t)、換行符(\n)及換頁(yè)符。2.注釋符:注釋只是為了改善程序的可讀性,在編譯時(shí)不起作用。多行注釋符(用于寫多行注釋):/*---*/;單行注釋符:以//開始到行尾結(jié)束為注釋文字。2.3.1Verilog語(yǔ)言的基本語(yǔ)法規(guī)則為對(duì)數(shù)字電路進(jìn)4為了表示數(shù)字邏輯電路的邏輯狀態(tài),Verilog語(yǔ)言規(guī)定了4種基本的邏輯值。0邏輯0、邏輯假1邏輯1、邏輯真x或X不確定的值(未知狀態(tài))z或Z高阻態(tài)標(biāo)識(shí)符:給對(duì)象(如模塊名、電路的輸入與輸出端口、變量等)取名所用的字符串。以英文字母或下劃線開始如,clk、counter8、_net、bus_A。關(guān)鍵詞:是Verilog語(yǔ)言本身規(guī)定的特殊字符串,用來(lái)定義語(yǔ)言的結(jié)構(gòu)。例如,module、endmodule、input、output、wire、reg、and等都是關(guān)鍵詞。關(guān)鍵詞都是小寫,關(guān)鍵詞不能作為標(biāo)識(shí)符使用。4.邏輯值集合3.標(biāo)識(shí)符和關(guān)鍵詞為了表示數(shù)字邏輯電路的邏輯狀態(tài),Verilog語(yǔ)言規(guī)定了55.常量及其表示實(shí)數(shù)型常量十進(jìn)制記數(shù)法如:0.1、2.0、5.67科學(xué)記數(shù)法如:23_5.1e2、5E-423510.0、0.0005Verilog允許用參數(shù)定義語(yǔ)句定義一個(gè)標(biāo)識(shí)符來(lái)代表一個(gè)常量,稱為符號(hào)常量。定義的格式為:parameter參數(shù)名1=常量表達(dá)式1,參數(shù)名2=常量表達(dá)式2,……;如parameterBIT=1,BYTE=8,PI=3.14;6.字符串:字符串是雙撇號(hào)內(nèi)的字符序列常量十進(jìn)制數(shù)的形式的表示方法:表示有符號(hào)常量例如:30、-2帶基數(shù)的形式的表示方法:表示常量格式為:<+/-><位寬>’<基數(shù)符號(hào)><數(shù)值>整數(shù)型例如:3’b101、5’o37、8’he3,8’b1001_0011

5.常量及其表示實(shí)數(shù)型常量十進(jìn)制記數(shù)法如:0.1、2.062.3.2變量的數(shù)據(jù)類型1線網(wǎng)類型:是指輸出始終根據(jù)輸入的變化而更新其值的變量,它一般指的是硬件電路中的各種物理連接.例:wireL;//將上述電路的輸出信號(hào)L聲明為網(wǎng)絡(luò)型變量wire[7:0]databus;//聲明一個(gè)8-bit寬的網(wǎng)絡(luò)型總線變量常用的網(wǎng)絡(luò)類型由關(guān)鍵詞wire定義wire型變量的定義格式如下:wire[n-1:0]變量名1,變量名2,…,變量名n;變量寬度例:網(wǎng)絡(luò)型變量L的值由與門的驅(qū)動(dòng)信號(hào)a和b所決定,即L=a&b。a、b的值發(fā)生變化,線網(wǎng)L的值會(huì)立即跟著變化。

&

b

a

L

2.3.2變量的數(shù)據(jù)類型例:wireL;//將上述7寄存器型變量對(duì)應(yīng)的是具有狀態(tài)保持作用的電等路元件,如觸發(fā)器寄存器。寄存器型變量只能在initial或always內(nèi)部被賦值。2、寄存器型寄存器類型功能說明reg常用的寄存器型變量integer32位帶符號(hào)的整數(shù)型變量real64位帶符號(hào)的實(shí)數(shù)型變量,time64位無(wú)符號(hào)的時(shí)間變量4種寄存器類型的變量例:regclock;//定義一個(gè)1位寄存器變量reg[3:0]counter;//定義一個(gè)4位寄存器變量抽象描述,不對(duì)應(yīng)具體硬件寄存器型變量對(duì)應(yīng)的是具有狀態(tài)保持作用的電等路元件,如觸發(fā)器寄82、每個(gè)模塊先要進(jìn)行端口的定義,并說明輸入(input)和輸出(output),然后對(duì)模塊功能進(jìn)行描述。2.3.3Verilog程序的基本結(jié)構(gòu)Verilog使用大約100個(gè)預(yù)定義的關(guān)鍵詞定義該語(yǔ)言的結(jié)構(gòu)1、

VerilogHDL程序由模塊構(gòu)成。每個(gè)模塊的內(nèi)容都是嵌在關(guān)鍵詞module和endmodule兩個(gè)語(yǔ)句之間。每個(gè)模塊實(shí)現(xiàn)特定的功能。3、除了endmodule語(yǔ)句外,每個(gè)語(yǔ)句后必須有分號(hào)。4、可以用/*---*/和//…..對(duì)VerilogHDL程序的任何部分做注釋。2、每個(gè)模塊先要進(jìn)行端口的定義,并說明輸入(input)和輸9模塊定義的一般語(yǔ)法結(jié)構(gòu)如下:模塊定義的一般語(yǔ)法結(jié)構(gòu)如下:10端口類型說明電路結(jié)構(gòu)描述模塊名數(shù)據(jù)類型說明例用結(jié)構(gòu)描述方式建立門電路Verloger模型//Gate-leveldescriptionofsimplecircuitmodulemux2to1(a,b,sel,out);

inputa,b,sel;//定義輸入信號(hào)outputout;//定義輸出信號(hào)wireselnot,a1,b1;//定義內(nèi)部節(jié)點(diǎn)信號(hào)數(shù)據(jù)類型//下面對(duì)電路的邏輯功能進(jìn)行描述notU1(selnot,sel);

andU2(a1,a,selnot);

andU3(b1,b,sel);

orU4(out,a1,b1);endmodule

端口類型說明電路結(jié)構(gòu)描述模塊名數(shù)據(jù)類型說明例用結(jié)構(gòu)描述方112.3.4邏輯功能的仿真與測(cè)試邏輯電路的設(shè)計(jì)塊完成后,就要測(cè)試這個(gè)設(shè)計(jì)塊描述的邏輯功能是否正確。為此必須在輸入端口加入測(cè)試信號(hào),而從其輸出端口檢測(cè)其結(jié)果是否正確,這一過程常稱為搭建測(cè)試平臺(tái)。根據(jù)仿真軟件的不同,搭建測(cè)試平臺(tái)的方法也不同。圖2.3.3例2.3.1的仿真輸出波形2.3.4邏輯功能的仿真與測(cè)試邏輯電路的設(shè)計(jì)塊完成后,就12

2.3.1

Verilog語(yǔ)言的基本語(yǔ)法規(guī)則

2.3.2變量的數(shù)據(jù)類型

2.3.3

Verilog程序的基本結(jié)構(gòu)

2.3.4邏輯功能的仿真與測(cè)試2.3硬件描述語(yǔ)言VerilogHDL基礎(chǔ)2.3.1Verilog語(yǔ)言的基本語(yǔ)法規(guī)則2.313硬件描述語(yǔ)言HDL(HardwareDescriptionLanguag)類似于高級(jí)程序設(shè)計(jì)語(yǔ)言.它是一種以文本形式來(lái)描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語(yǔ)言,用它可以表示邏輯電路圖、邏輯表達(dá)式,復(fù)雜數(shù)字邏輯系統(tǒng)所的邏輯功能。HDL是高層次自動(dòng)化設(shè)計(jì)的起點(diǎn)和基礎(chǔ).2.3硬件描述語(yǔ)言VerilogHDL基礎(chǔ)硬件描述語(yǔ)言HDL(HardwareDescription14計(jì)算機(jī)對(duì)HDL的處理:邏輯綜合

是指從HDL描述的數(shù)字邏輯電路模型中導(dǎo)出電路基本元件列表以及元件之間的連接關(guān)系(常稱為門級(jí)網(wǎng)表)的過程。類似對(duì)高級(jí)程序語(yǔ)言設(shè)計(jì)進(jìn)行編譯產(chǎn)生目標(biāo)代碼的過程.產(chǎn)生門級(jí)元件及其連接關(guān)系的數(shù)據(jù)庫(kù),根據(jù)這個(gè)數(shù)據(jù)庫(kù)可以制作出集成電路或印刷電路板PCB。邏輯仿真是指用計(jì)算機(jī)仿真軟件對(duì)數(shù)字邏輯電路的結(jié)構(gòu)和行為進(jìn)行預(yù)測(cè).仿真器對(duì)HDL描述進(jìn)行解釋,以文本形式或時(shí)序波形圖形式給出電路的輸出。在仿真期間如發(fā)現(xiàn)設(shè)計(jì)中存在錯(cuò)誤,就再要對(duì)HDL描述進(jìn)行及時(shí)的修改。計(jì)算機(jī)對(duì)HDL的處理:邏輯綜合是指從HDL描述的數(shù)字邏輯電152.3.1Verilog語(yǔ)言的基本語(yǔ)法規(guī)則為對(duì)數(shù)字電路進(jìn)行描述(常稱為建模),Verilog語(yǔ)言規(guī)定了一套完整的語(yǔ)法結(jié)構(gòu)。1.間隔符:

Verilog的間隔符主要起分隔文本的作用,可以使文本錯(cuò)落有致,便于閱讀與修改。間隔符包括空格符(\b)、TAB鍵(\t)、換行符(\n)及換頁(yè)符。2.注釋符:注釋只是為了改善程序的可讀性,在編譯時(shí)不起作用。多行注釋符(用于寫多行注釋):/*---*/;單行注釋符:以//開始到行尾結(jié)束為注釋文字。2.3.1Verilog語(yǔ)言的基本語(yǔ)法規(guī)則為對(duì)數(shù)字電路進(jìn)16為了表示數(shù)字邏輯電路的邏輯狀態(tài),Verilog語(yǔ)言規(guī)定了4種基本的邏輯值。0邏輯0、邏輯假1邏輯1、邏輯真x或X不確定的值(未知狀態(tài))z或Z高阻態(tài)標(biāo)識(shí)符:給對(duì)象(如模塊名、電路的輸入與輸出端口、變量等)取名所用的字符串。以英文字母或下劃線開始如,clk、counter8、_net、bus_A。關(guān)鍵詞:是Verilog語(yǔ)言本身規(guī)定的特殊字符串,用來(lái)定義語(yǔ)言的結(jié)構(gòu)。例如,module、endmodule、input、output、wire、reg、and等都是關(guān)鍵詞。關(guān)鍵詞都是小寫,關(guān)鍵詞不能作為標(biāo)識(shí)符使用。4.邏輯值集合3.標(biāo)識(shí)符和關(guān)鍵詞為了表示數(shù)字邏輯電路的邏輯狀態(tài),Verilog語(yǔ)言規(guī)定了175.常量及其表示實(shí)數(shù)型常量十進(jìn)制記數(shù)法如:0.1、2.0、5.67科學(xué)記數(shù)法如:23_5.1e2、5E-423510.0、0.0005Verilog允許用參數(shù)定義語(yǔ)句定義一個(gè)標(biāo)識(shí)符來(lái)代表一個(gè)常量,稱為符號(hào)常量。定義的格式為:parameter參數(shù)名1=常量表達(dá)式1,參數(shù)名2=常量表達(dá)式2,……;如parameterBIT=1,BYTE=8,PI=3.14;6.字符串:字符串是雙撇號(hào)內(nèi)的字符序列常量十進(jìn)制數(shù)的形式的表示方法:表示有符號(hào)常量例如:30、-2帶基數(shù)的形式的表示方法:表示常量格式為:<+/-><位寬>’<基數(shù)符號(hào)><數(shù)值>整數(shù)型例如:3’b101、5’o37、8’he3,8’b1001_0011

5.常量及其表示實(shí)數(shù)型常量十進(jìn)制記數(shù)法如:0.1、2.0182.3.2變量的數(shù)據(jù)類型1線網(wǎng)類型:是指輸出始終根據(jù)輸入的變化而更新其值的變量,它一般指的是硬件電路中的各種物理連接.例:wireL;//將上述電路的輸出信號(hào)L聲明為網(wǎng)絡(luò)型變量wire[7:0]databus;//聲明一個(gè)8-bit寬的網(wǎng)絡(luò)型總線變量常用的網(wǎng)絡(luò)類型由關(guān)鍵詞wire定義wire型變量的定義格式如下:wire[n-1:0]變量名1,變量名2,…,變量名n;變量寬度例:網(wǎng)絡(luò)型變量L的值由與門的驅(qū)動(dòng)信號(hào)a和b所決定,即L=a&b。a、b的值發(fā)生變化,線網(wǎng)L的值會(huì)立即跟著變化。

&

b

a

L

2.3.2變量的數(shù)據(jù)類型例:wireL;//將上述19寄存器型變量對(duì)應(yīng)的是具有狀態(tài)保持作用的電等路元件,如觸發(fā)器寄存器。寄存器型變量只能在initial或always內(nèi)部被賦值。2、寄存器型寄存器類型功能說明reg常用的寄存器型變量integer32位帶符號(hào)的整數(shù)型變量real64位帶符號(hào)的實(shí)數(shù)型變量,time64位無(wú)符號(hào)的時(shí)間變量4種寄存器類型的變量例:regclock;//定義一個(gè)1位寄存器變量reg[3:0]counter;//定義一個(gè)4位寄存器變量抽象描述,不對(duì)應(yīng)具體硬件寄存器型變量對(duì)應(yīng)的是具有狀態(tài)保持作用的電等路元件,如觸發(fā)器寄202、每個(gè)模塊先要進(jìn)行端口的定義,并說明輸入(input)和輸出(output),然后對(duì)模塊功能進(jìn)行描述。2.3.3Verilog程序的基本結(jié)構(gòu)Verilog使用大約100個(gè)預(yù)定義的關(guān)鍵詞定義該語(yǔ)言的結(jié)構(gòu)1、

VerilogHDL程序由模塊構(gòu)成。每個(gè)模塊的內(nèi)容都是嵌在關(guān)鍵詞module和endmodule兩個(gè)語(yǔ)句之間。每個(gè)模塊實(shí)現(xiàn)特定的功能。3、除了endmodule語(yǔ)句外,每個(gè)語(yǔ)句后必須有分號(hào)。4、可以用/*---*/和//…..對(duì)VerilogHDL程序的任何部分做注釋。2、每個(gè)模塊先要

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論