




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 2.5.1 Verilog語言的基本語法規(guī)則語言的基本語法規(guī)則 2.5.2 變量的數(shù)據(jù)類型變量的數(shù)據(jù)類型 2.5.3 運(yùn)算符及其優(yōu)先級(jí)運(yùn)算符及其優(yōu)先級(jí) 2.5.4 Verilog內(nèi)部的基本門級(jí)元件內(nèi)部的基本門級(jí)元件 2.5.5 Verilog程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu) 2.5.6 邏輯功能的仿真與測(cè)試邏輯功能的仿真與測(cè)試2.5 硬件描述語言硬件描述語言Verilog HDL基礎(chǔ)基礎(chǔ)硬件描述語言硬件描述語言HDL(Hardware Description Languag )類似于高級(jí)程序設(shè)計(jì)語言類似于高級(jí)程序設(shè)計(jì)語言. .它是一種以文本形式來描它是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為
2、的語言述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言, ,用它可以表示用它可以表示邏輯電路圖、邏輯表達(dá)式,復(fù)雜數(shù)字邏輯系統(tǒng)完成的邏輯電路圖、邏輯表達(dá)式,復(fù)雜數(shù)字邏輯系統(tǒng)完成的邏輯功能。邏輯功能。HDL是高層次自動(dòng)化設(shè)計(jì)的起點(diǎn)和基礎(chǔ)是高層次自動(dòng)化設(shè)計(jì)的起點(diǎn)和基礎(chǔ).2.5 硬件描述語言硬件描述語言Verilog HDL基礎(chǔ)基礎(chǔ)計(jì)算機(jī)對(duì)計(jì)算機(jī)對(duì)HDL的處理的處理: :邏輯綜合邏輯綜合 是指從是指從HDL描述的數(shù)字邏輯電路模型中導(dǎo)出電路基描述的數(shù)字邏輯電路模型中導(dǎo)出電路基本元件列表以及元件之間的連接關(guān)系(常稱為門級(jí)網(wǎng)表)的過本元件列表以及元件之間的連接關(guān)系(常稱為門級(jí)網(wǎng)表)的過程。類似對(duì)高級(jí)程序語言設(shè)計(jì)進(jìn)行編譯產(chǎn)生
3、目標(biāo)代碼的過程程。類似對(duì)高級(jí)程序語言設(shè)計(jì)進(jìn)行編譯產(chǎn)生目標(biāo)代碼的過程. .產(chǎn)產(chǎn)生門級(jí)元件及其連接關(guān)系的數(shù)據(jù)庫,根據(jù)這個(gè)數(shù)據(jù)庫可以制作生門級(jí)元件及其連接關(guān)系的數(shù)據(jù)庫,根據(jù)這個(gè)數(shù)據(jù)庫可以制作出集成電路或印刷電路板出集成電路或印刷電路板PCB。邏輯仿真邏輯仿真 是指用計(jì)算機(jī)仿真軟件對(duì)數(shù)字邏輯電路的結(jié)構(gòu)和行為是指用計(jì)算機(jī)仿真軟件對(duì)數(shù)字邏輯電路的結(jié)構(gòu)和行為進(jìn)行預(yù)測(cè)進(jìn)行預(yù)測(cè). .仿真器對(duì)仿真器對(duì)HDL描述進(jìn)行解釋,以文本形式或時(shí)序波形描述進(jìn)行解釋,以文本形式或時(shí)序波形圖形式給出電路的輸出。在仿真期間如發(fā)現(xiàn)設(shè)計(jì)中存在錯(cuò)誤,就圖形式給出電路的輸出。在仿真期間如發(fā)現(xiàn)設(shè)計(jì)中存在錯(cuò)誤,就再要對(duì)再要對(duì)HDL描述進(jìn)行及時(shí)
4、的修改。描述進(jìn)行及時(shí)的修改。2.5.1 Verilog語言的基本語法規(guī)則語言的基本語法規(guī)則 為對(duì)數(shù)字電路進(jìn)行描述(常稱為建模),為對(duì)數(shù)字電路進(jìn)行描述(常稱為建模),Verilog語言規(guī)定語言規(guī)定了一套完整的語法結(jié)構(gòu)。了一套完整的語法結(jié)構(gòu)。1間隔符間隔符: Verilog 的間隔符主要起分隔文本的作用,可以的間隔符主要起分隔文本的作用,可以使文本錯(cuò)落有致,便于閱讀與修改。使文本錯(cuò)落有致,便于閱讀與修改。間隔符包括空格符(間隔符包括空格符(bb)、)、TAB 鍵(鍵(tt)、換行符()、換行符(nn)及)及換頁符。換頁符。2注釋符注釋符: :注釋只是為了改善程序的可讀性注釋只是為了改善程序的可讀性
5、, ,在編譯時(shí)不起作用。在編譯時(shí)不起作用。多行注釋符多行注釋符( (用于寫多行注釋用于寫多行注釋): /): /* * - - * */ /;單行注釋符單行注釋符 : :以以/開始到行尾結(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)識(shí)符標(biāo)識(shí)符: :給對(duì)象(如模塊名、電路的輸入與輸出端口、變量等)給對(duì)象(如模塊名、電路的輸入與輸出
6、端口、變量等)取名所用的字符串。以英文字母或下劃線開始取名所用的字符串。以英文字母或下劃線開始如如,clk、counter8、_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)識(shí)符使用識(shí)符使用 。4邏輯值集合邏輯值集合3標(biāo)識(shí)符和關(guān)鍵詞標(biāo)識(shí)符和關(guān)鍵詞5常量及其表示常量及其表示實(shí)數(shù)型常量實(shí)數(shù)型常量十進(jìn)制記數(shù)法十進(jìn)
7、制記數(shù)法 如:如: 0.10.1、2.02.0、5.675.67科學(xué)記數(shù)法科學(xué)記數(shù)法 如如: : 23_5.1e2、5E4 23510.0、 0.0005Verilog允許用參數(shù)定義語句定義一個(gè)標(biāo)識(shí)符來代表一個(gè)常量,稱允許用參數(shù)定義語句定義一個(gè)標(biāo)識(shí)符來代表一個(gè)常量,稱為符號(hào)常量。定義的格式為:為符號(hà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字符串字符串: :字符串是雙撇號(hào)內(nèi)的字符序列字符串是雙撇號(hào)內(nèi)的字符序列常量常量十進(jìn)制數(shù)的形
8、式的表示方法十進(jìn)制數(shù)的形式的表示方法: :表示有符號(hào)表示有符號(hào)常量常量例如:例如:3030、2 2帶基數(shù)的形式的表示方法帶基數(shù)的形式的表示方法: : 表示表示常量常量格式為:格式為: 整數(shù)型整數(shù)型例如:例如:3b101、5o37、8he3,8b1001_0011 2.5.2 變量的數(shù)據(jù)類型變量的數(shù)據(jù)類型1 1線網(wǎng)類型線網(wǎng)類型: :是指輸出始終根據(jù)輸入的變化而更新其值的是指輸出始終根據(jù)輸入的變化而更新其值的變量變量, ,它一般指的是硬件電路中的各種物理連接它一般指的是硬件電路中的各種物理連接. . 例例:wire L; / /將上述電路的輸出信號(hào)將上述電路的輸出信號(hào)L L聲明為網(wǎng)絡(luò)型變量聲明為網(wǎng)
9、絡(luò)型變量 wire 7:0 data bus; / /聲明一個(gè)聲明一個(gè)8-bit8-bit寬的網(wǎng)絡(luò)型總線變量寬的網(wǎng)絡(luò)型總線變量常用的網(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ū)動(dòng)信號(hào)的值由與門的驅(qū)動(dòng)信號(hào)a a和和b b所決定,即所決定,即La&b。a、b的值發(fā)的值發(fā)生變化,線網(wǎng)生變化,線網(wǎng)L L的值會(huì)立即跟著變化。的值會(huì)立即跟著變化。 a b L 寄存器型變量對(duì)應(yīng)的是具有
10、狀態(tài)保持作用的電等路元件寄存器型變量對(duì)應(yīng)的是具有狀態(tài)保持作用的電等路元件, ,如觸如觸發(fā)器寄存器。寄存器型變量只能在發(fā)器寄存器。寄存器型變量只能在initial或或always內(nèi)部被賦值。內(nèi)部被賦值。2、寄存器類型寄存器類型寄存器類型寄存器類型功能說明功能說明reg常用的寄存器型變量常用的寄存器型變量integer32位帶符號(hào)的整數(shù)型變量位帶符號(hào)的整數(shù)型變量real64位帶符號(hào)的實(shí)數(shù)型變量,位帶符號(hào)的實(shí)數(shù)型變量,time64位無符號(hào)的時(shí)間變量位無符號(hào)的時(shí)間變量4種種寄存器類型的變量寄存器類型的變量例:例: reg clock;/定義一個(gè)定義一個(gè)1位寄存器變量位寄存器變量 reg 3:0 cou
11、nter; /定義一個(gè)定義一個(gè)4位位寄存器變量寄存器變量抽象描述抽象描述, ,不對(duì)應(yīng)具不對(duì)應(yīng)具體硬件體硬件1. 運(yùn)算符運(yùn)算符2.5.3 運(yùn)算符及其優(yōu)先級(jí)運(yùn)算符及其優(yōu)先級(jí)類型類型符號(hào)符號(hào)功能說明功能說明類型類型符號(hào)符號(hào)功能說明功能說明算術(shù)運(yùn)算符算術(shù)運(yùn)算符+-*/二進(jìn)制加二進(jìn)制加二進(jìn)制減二進(jìn)制減2的補(bǔ)碼的補(bǔ)碼二進(jìn)制乘二進(jìn)制乘二進(jìn)制除二進(jìn)制除關(guān)系運(yùn)算符關(guān)系運(yùn)算符(雙目運(yùn)算符)(雙目運(yùn)算符)= 關(guān)系關(guān)系 =等于等于= !=縮位縮位& & | |邏輯邏輯&|條件條件?:最低優(yōu)先級(jí)最低優(yōu)先級(jí)一般用法:一般用法:condition_expr?expr1:expr2;條件運(yùn)算符條件運(yùn)算
12、符是三目運(yùn)算符,運(yùn)算時(shí)根據(jù)條件表達(dá)式的值選擇表達(dá)式。是三目運(yùn)算符,運(yùn)算時(shí)根據(jù)條件表達(dá)式的值選擇表達(dá)式。首先計(jì)算第一個(gè)操作數(shù)首先計(jì)算第一個(gè)操作數(shù)condition_expr的值,如果結(jié)果為邏輯的值,如果結(jié)果為邏輯1,則選擇第二個(gè)操作數(shù)則選擇第二個(gè)操作數(shù)expr1的值作為結(jié)果返回,結(jié)果為邏輯的值作為結(jié)果返回,結(jié)果為邏輯0,選擇第三個(gè)操作數(shù)選擇第三個(gè)操作數(shù)expr2的值作為結(jié)果返回。的值作為結(jié)果返回?;鹃T級(jí)元件模型基本門級(jí)元件模型 元件符號(hào)元件符號(hào)功能說明功能說明元件符號(hào)元件符號(hào)功能說明功能說明andand多輸入端的與門多輸入端的與門nandnand多輸入端的與非門多輸入端的與非門oror多輸入端
13、的或門多輸入端的或門nornor多輸入端的或非門多輸入端的或非門xorxor多輸入端的異或門多輸入端的異或門xnorxnor多輸入端的異或非門多輸入端的異或非門bufbuf多輸出端的緩沖器多輸出端的緩沖器notnot多輸出端的反相器多輸出端的反相器bufif1bufif1控制信號(hào)高電平有效的三態(tài)緩沖控制信號(hào)高電平有效的三態(tài)緩沖器器notif1notif1控制信號(hào)高電平有效的控制信號(hào)高電平有效的三態(tài)反相器三態(tài)反相器bufif0bufif0控制信號(hào)低電平有效的三態(tài)緩沖控制信號(hào)低電平有效的三態(tài)緩沖器器notif0notif0控制信號(hào)低電平有效的控制信號(hào)低電平有效的三態(tài)反相器三態(tài)反相器多輸入門多輸入門
14、多輸出門多輸出門三態(tài)門三態(tài)門2.5.4 Verilog內(nèi)部的基本門級(jí)元件內(nèi)部的基本門級(jí)元件門級(jí)建模門級(jí)建模:將邏輯電路圖用將邏輯電路圖用HDL規(guī)定的文本語言表示出來。規(guī)定的文本語言表示出來。1 1、多輸入門、多輸入門只允許有一個(gè)輸出,但可以有多個(gè)輸入。只允許有一個(gè)輸出,但可以有多個(gè)輸入。 and A1(out,in1,in2,in3);); X- 不確定狀態(tài)不確定狀態(tài)Z- 高阻態(tài)高阻態(tài) and真值表真值表x0zx0 xx10100000zX10 輸入輸入1and輸輸入入2xxxxx調(diào)用名調(diào)用名XX1XZXX1XX11111XX100ZX10輸入輸入1or輸輸入入2 or真值表真值表輸輸入入2X
15、XXXZXXXXXXX011XX X1 10 00 0ZX X1 10 0輸入輸入1 1xorxorxor真值表真值表2 2、多輸出門、多輸出門允許有多個(gè)輸出,但只有一個(gè)輸入。允許有多個(gè)輸出,但只有一個(gè)輸入。 not N1(out1,out2,in););xx10zx10輸輸 入入buf輸輸 出出 buf真值表真值表 輸輸 出出xx01zx10輸輸 入入notnot真值表真值表 buf B1(out1,out2,in););out1inout2outNout1inout2outNbufif1真值表真值表xxxzzxxxzx1/z1/z1z10/z0/z0z0zx10控制輸入控制輸入bufif1
16、數(shù)數(shù)據(jù)據(jù)輸輸入入xxxzzxxxzx0/z0/z0z11/z1/z10zzx10控制輸入控制輸入notif1數(shù)數(shù)據(jù)據(jù)輸輸入入notif1真值表真值表3、三態(tài)門、三態(tài)門有一個(gè)輸出、一個(gè)數(shù)據(jù)輸入和一個(gè)輸入控制。有一個(gè)輸出、一個(gè)數(shù)據(jù)輸入和一個(gè)輸入控制。如果輸入控制信號(hào)無效,則三態(tài)門的輸出為高阻態(tài)如果輸入控制信號(hào)無效,則三態(tài)門的輸出為高阻態(tài)z。 圖圖 4.6.3 三態(tài)門元件模型三態(tài)門元件模型 (a)bufif1 (b)notif1 (a) (b) in out ctrl in out ctrl 2、每個(gè)模塊先要進(jìn)行端口的定義,并說明輸入每個(gè)模塊先要進(jìn)行端口的定義,并說明輸入(input)和輸出和輸出(
17、output),然后對(duì)模塊功能進(jìn)行描述。然后對(duì)模塊功能進(jìn)行描述。2.5.5 Verilog程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu) 模塊是模塊是Verilog描述電路的基本單元。對(duì)數(shù)字電路建模時(shí),描述電路的基本單元。對(duì)數(shù)字電路建模時(shí),用一個(gè)或多個(gè)模塊。不同模塊之間通過端口進(jìn)行連接。用一個(gè)或多個(gè)模塊。不同模塊之間通過端口進(jìn)行連接。1、每個(gè)模塊以關(guān)鍵詞每個(gè)模塊以關(guān)鍵詞module開始,開始,以以endmodule結(jié)束。結(jié)束。3 3、除了、除了endmodule語句外,每個(gè)語句后必須有分號(hào)。語句外,每個(gè)語句后必須有分號(hào)。4、可以用可以用/* - */和和/.對(duì)對(duì)程序的任何部分做注釋。程序的任何部分做注釋。5、邏
18、輯功能的描述方式有三種不同風(fēng)格:結(jié)構(gòu)描述方式(邏輯功能的描述方式有三種不同風(fēng)格:結(jié)構(gòu)描述方式(門級(jí)描述方式)數(shù)據(jù)流描述方式,行為描述方式。門級(jí)描述方式)數(shù)據(jù)流描述方式,行為描述方式。 module 模模塊塊名名(端端口口名名1 1, , 端端口口名名2 2, , 端端口口名名3 3, ,); 端端口口類類型型說說明明(input, outout, inout); 參參數(shù)數(shù)定定義義( (可可選選) ); 數(shù)數(shù)據(jù)據(jù)類類型型定定義義( (wire, reg等等) ); 實(shí)實(shí)例例化化低低層層模模塊塊和和基基本本門門級(jí)級(jí)元元件件; 連連續(xù)續(xù)賦賦值值語語句句(assign); 過過程程塊塊結(jié)結(jié)構(gòu)構(gòu)(ini
19、tial和和always) 行行為為描描述述語語句句; endmodule 邏邏輯輯功功能能描描 述述部部分分,其其 順順序序是是任任意意的的 說說明明部部分分 模塊定義的一般語法結(jié)構(gòu)如下:模塊定義的一般語法結(jié)構(gòu)如下:端口類型說明端口類型說明電路結(jié)構(gòu)描述電路結(jié)構(gòu)描述模塊名模塊名數(shù)據(jù)類數(shù)據(jù)類型說明型說明例例 用結(jié)構(gòu)描述方式建立門電路用結(jié)構(gòu)描述方式建立門電路VerilogVerilog模型模型module mux2to1(D0, D1, S, Y ); input D0, D1, S; /定義輸入信號(hào)定義輸入信號(hào) output Y; /定義輸出信號(hào)定義輸出信號(hào) wire Snot, A, B ; /定義內(nèi)部節(jié)點(diǎn)信號(hào)數(shù)據(jù)類型定義內(nèi)部節(jié)點(diǎn)信號(hào)數(shù)據(jù)類型/下面對(duì)電路的邏輯功能進(jìn)行描述下面對(duì)電路的邏輯功能進(jìn)行描述 not U1(Snot, Sl); and U2(A, D0, Snot); and U3(B, D1, S); or U4(Y, A, B);endmodule module mux2to1_dataflow(D0, D1, S, Y ); input D0, D1, S; output Y; wire Y ; /下面是邏輯功能描述下面是邏輯功能描述 assign Y = (S &am
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45211.3-2025小麥抗病蟲性評(píng)價(jià)技術(shù)規(guī)程第3部分:稈銹病
- 工程采購(gòu)合同(31篇)
- 項(xiàng)目執(zhí)行過程中遇到問題的解析與應(yīng)對(duì)方案
- 電信行業(yè)網(wǎng)絡(luò)優(yōu)化與數(shù)據(jù)安全保障方案
- 塑料產(chǎn)品買賣合同書
- 股份制企業(yè)合同審查與管理文書
- 物流運(yùn)輸承包合同
- 房地產(chǎn)合作銷售開發(fā)協(xié)議書
- 管樁施工勞務(wù)合同
- 能源行業(yè)資源整合合作協(xié)議
- 《不一樣的物體作業(yè)設(shè)計(jì)方案-2023-2024學(xué)年科學(xué)大象版》
- (2024年)發(fā)生輸液反應(yīng)時(shí)應(yīng)急預(yù)案及處理流程
- 能源經(jīng)濟(jì)學(xué)導(dǎo)論
- 《社區(qū)康復(fù)》課件-第七章 腦癱患兒的社區(qū)康復(fù)實(shí)踐
- 白酒包裝盒工藝
- 水痘預(yù)防課件
- 《管理統(tǒng)計(jì)學(xué)》教學(xué)課件
- 新人教版小學(xué)二年級(jí)下冊(cè)美術(shù)電子教案(全)
- 公司人事招聘面試技巧培訓(xùn)完整版課件兩篇
- 第1課《立足時(shí)代+志存高遠(yuǎn)》第1框《時(shí)代為我搭舞臺(tái)》【中職專用】《心理健康與職業(yè)生涯》(高教版2023基礎(chǔ)模塊)
- 出國(guó)勞務(wù)派遣合同(專業(yè)版)電子版正規(guī)范本(通用版)
評(píng)論
0/150
提交評(píng)論