Verilog語(yǔ)言入門(mén)1_第1頁(yè)
Verilog語(yǔ)言入門(mén)1_第2頁(yè)
Verilog語(yǔ)言入門(mén)1_第3頁(yè)
Verilog語(yǔ)言入門(mén)1_第4頁(yè)
Verilog語(yǔ)言入門(mén)1_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第3章章Verilog設(shè)計(jì)入門(mén)設(shè)計(jì)入門(mén) 3.1 組合電路的組合電路的Verilog描述描述 3.1.1 2選選1多路選擇器及其多路選擇器及其Verilog描述描述 3.1 組合電路的組合電路的Verilog描述描述 3.1.1 2選選1多路選擇器及其多路選擇器及其Verilog描述描述 1)關(guān)鍵字)關(guān)鍵字module endmodule引導(dǎo)的完整的電路模塊描述。引導(dǎo)的完整的電路模塊描述。2)標(biāo)識(shí)符)標(biāo)識(shí)符MUX21a是用戶(hù)自定義電路名,有其命名規(guī)則是用戶(hù)自定義電路名,有其命名規(guī)則。3)端口表的表述。)端口表的表述。 5)關(guān)鍵字)關(guān)鍵字assign引導(dǎo)的賦值語(yǔ)句,條件語(yǔ)句的表述。引導(dǎo)的賦值語(yǔ)句

2、,條件語(yǔ)句的表述。 4)關(guān)鍵字)關(guān)鍵字input output描述電路外部端口的信號(hào)類(lèi)型和流動(dòng)方向。描述電路外部端口的信號(hào)類(lèi)型和流動(dòng)方向。 3.1 組合電路的組合電路的Verilog描述描述 3.1.1 2選選1多路選擇器及其多路選擇器及其Verilog描述描述 1模塊表達(dá)模塊表達(dá) 2端口語(yǔ)句、端口信號(hào)名和端口模式端口語(yǔ)句、端口信號(hào)名和端口模式 3.1 組合電路的組合電路的Verilog描述描述 3.1.1 2選選1多路選擇器及其多路選擇器及其Verilog描述描述 3賦值語(yǔ)句和條件操作符賦值語(yǔ)句和條件操作符 4關(guān)鍵字關(guān)鍵字 5標(biāo)識(shí)符標(biāo)識(shí)符 6規(guī)范的程序書(shū)寫(xiě)格式規(guī)范的程序書(shū)寫(xiě)格式 7文件取名和

3、存盤(pán)文件取名和存盤(pán) 第第3章章Verilog設(shè)計(jì)入門(mén)設(shè)計(jì)入門(mén) 本次課程的學(xué)習(xí)要點(diǎn)本次課程的學(xué)習(xí)要點(diǎn) 進(jìn)一步掌握進(jìn)一步掌握Verilog語(yǔ)言的語(yǔ)法特點(diǎn):語(yǔ)言的語(yǔ)法特點(diǎn): wire和和reg數(shù)據(jù)(信號(hào))類(lèi)型;數(shù)據(jù)(信號(hào))類(lèi)型; always引導(dǎo)的過(guò)程語(yǔ)句結(jié)構(gòu)和引導(dǎo)的過(guò)程語(yǔ)句結(jié)構(gòu)和assign引導(dǎo)的并行語(yǔ)句;引導(dǎo)的并行語(yǔ)句; case語(yǔ)句;語(yǔ)句; 阻塞式賦值阻塞式賦值“=”和非阻塞式賦值和非阻塞式賦值“=”; If_else語(yǔ)句;語(yǔ)句; Verilog中的數(shù)字表達(dá)、并位操作及操作符的使用,包括邏輯操作符、中的數(shù)字表達(dá)、并位操作及操作符的使用,包括邏輯操作符、等式操作符、算術(shù)操作符;等式操作符、算術(shù)操

4、作符; 頂層文件的概念和例化語(yǔ)句的使用。頂層文件的概念和例化語(yǔ)句的使用。3.1 組合電路的組合電路的Verilog描述描述 3.1.2 4選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 3.1 組合電路的組合電路的Verilog描述描述 3.1.2 4選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 3.1 組合電路的組合電路的Verilog描述描述 3.1.2 4選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 1reg型變量類(lèi)型定義型變量類(lèi)型定義 Verilog常用兩種信號(hào)類(lèi)型:常用兩種信號(hào)類(lèi)型:wire和和reg類(lèi)型類(lèi)型 1)信號(hào)類(lèi)

5、型定義:)信號(hào)類(lèi)型定義: 3.1 組合電路的組合電路的Verilog描述描述 3.1.2 4選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 2)范圍:)范圍: 3)特殊使用)特殊使用 可定義為可定義為wire類(lèi)型的信號(hào)包括:所有輸入信號(hào)、類(lèi)型的信號(hào)包括:所有輸入信號(hào)、assign引導(dǎo)的引導(dǎo)的連續(xù)賦值語(yǔ)句的輸出信號(hào)、實(shí)體元件例化中的輸出信號(hào)、連續(xù)賦值語(yǔ)句的輸出信號(hào)、實(shí)體元件例化中的輸出信號(hào)、assign語(yǔ)句語(yǔ)句中需要的端口以外的連線信號(hào)。中需要的端口以外的連線信號(hào)。 可定義為可定義為reg類(lèi)型的信號(hào)包括:類(lèi)型的信號(hào)包括:always引導(dǎo)的塊語(yǔ)句中被賦值的引導(dǎo)的塊語(yǔ)句中被賦值的

6、信號(hào)、時(shí)序邏輯電路中需要的寄存器類(lèi)型變量。信號(hào)、時(shí)序邏輯電路中需要的寄存器類(lèi)型變量。以下兩條語(yǔ)句:以下兩條語(yǔ)句:可簡(jiǎn)化為:可簡(jiǎn)化為:3.1 組合電路的組合電路的Verilog描述描述 3.1.3 4選選1多路選擇器及其數(shù)據(jù)流描述方式多路選擇器及其數(shù)據(jù)流描述方式 3.1 組合電路的組合電路的Verilog描述描述 3.1.2 4選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 3.1 組合電路的組合電路的Verilog描述描述 3.1.2 4選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 2always引導(dǎo)的過(guò)程語(yǔ)句結(jié)構(gòu)引導(dǎo)的過(guò)程語(yǔ)句結(jié)構(gòu) 1)兩類(lèi)語(yǔ)句一般表

7、述)兩類(lèi)語(yǔ)句一般表述 2)兩類(lèi)語(yǔ)句的特點(diǎn))兩類(lèi)語(yǔ)句的特點(diǎn)always引導(dǎo)的過(guò)程語(yǔ)句的特點(diǎn):引導(dǎo)的過(guò)程語(yǔ)句的特點(diǎn):引導(dǎo)由引導(dǎo)由begin和和end擴(kuò)起來(lái)的多條語(yǔ)句塊,形成語(yǔ)句塊;擴(kuò)起來(lái)的多條語(yǔ)句塊,形成語(yǔ)句塊;塊中各語(yǔ)句順序執(zhí)行;塊中各語(yǔ)句順序執(zhí)行;塊語(yǔ)句中被賦值的變量必須為塊語(yǔ)句中被賦值的變量必須為reg類(lèi)型。類(lèi)型。Verilog常用兩種語(yǔ)句結(jié)構(gòu):常用兩種語(yǔ)句結(jié)構(gòu):always和和assign 3.1 組合電路的組合電路的Verilog描述描述 assign連續(xù)賦值語(yǔ)句的特點(diǎn):連續(xù)賦值語(yǔ)句的特點(diǎn):只能引導(dǎo)一條語(yǔ)句,多條語(yǔ)句要用多個(gè)只能引導(dǎo)一條語(yǔ)句,多條語(yǔ)句要用多個(gè)assign引導(dǎo);引導(dǎo);并行性

8、,當(dāng)驅(qū)動(dòng)表達(dá)式中的變量發(fā)生變化時(shí),語(yǔ)句才被執(zhí)行,否則不執(zhí)行;并行性,當(dāng)驅(qū)動(dòng)表達(dá)式中的變量發(fā)生變化時(shí),語(yǔ)句才被執(zhí)行,否則不執(zhí)行;assign引導(dǎo)的語(yǔ)句中的所有信號(hào)為引導(dǎo)的語(yǔ)句中的所有信號(hào)為wire型;型;同一目標(biāo)變量名不允許有多個(gè)驅(qū)動(dòng)源,例如以下表達(dá)方式不允許:同一目標(biāo)變量名不允許有多個(gè)驅(qū)動(dòng)源,例如以下表達(dá)方式不允許:3.1.2 4選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 3.1 組合電路的組合電路的Verilog描述描述 3.1.2 4選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 3.1 組合電路的組合電路的Verilog描述描述 3.1.2 4

9、選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 5并位操作和數(shù)字表達(dá)并位操作和數(shù)字表達(dá) 4b0010=4B0010,表示,表示00103o5=3O5=3b101,表示,表示1014hA=4HA=4b1010,表示,表示10104d9= 4D9=4b1001,表示,表示10013.1 組合電路的組合電路的Verilog描述描述 3.1.2 4選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 4case條件語(yǔ)句和條件語(yǔ)句和4種邏輯狀態(tài)種邏輯狀態(tài) 注意:注意:1)表達(dá)式取值必須在)表達(dá)式取值必須在case以下列出的取值范圍內(nèi),且數(shù)據(jù)類(lèi)型匹配;以下列出的取值范圍內(nèi)

10、,且數(shù)據(jù)類(lèi)型匹配; 2)允許)允許case以下列出的多個(gè)值同時(shí)滿(mǎn)足表達(dá)式,執(zhí)行最先滿(mǎn)足表達(dá)以下列出的多個(gè)值同時(shí)滿(mǎn)足表達(dá)式,執(zhí)行最先滿(mǎn)足表達(dá) 式的分支項(xiàng);式的分支項(xiàng); 3)default的使用。的使用。3.1 組合電路的組合電路的Verilog描述描述 兩種過(guò)程賦值操作:兩種過(guò)程賦值操作: (1)阻塞式賦值)阻塞式賦值“=”:語(yǔ)句執(zhí)行結(jié)束,右側(cè)表達(dá)式的值立刻賦給左側(cè):語(yǔ)句執(zhí)行結(jié)束,右側(cè)表達(dá)式的值立刻賦給左側(cè)目標(biāo)變量。目標(biāo)變量。(2)非阻塞式賦值)非阻塞式賦值“=”: 對(duì)于對(duì)于always引導(dǎo)的塊語(yǔ)句中含有多條阻塞式賦值語(yǔ)句時(shí),當(dāng)執(zhí)行引導(dǎo)的塊語(yǔ)句中含有多條阻塞式賦值語(yǔ)句時(shí),當(dāng)執(zhí)行某一條語(yǔ)句時(shí),其它

11、語(yǔ)句不允許執(zhí)行,被阻塞了,具有順序執(zhí)行的特點(diǎn)。某一條語(yǔ)句時(shí),其它語(yǔ)句不允許執(zhí)行,被阻塞了,具有順序執(zhí)行的特點(diǎn)。 對(duì)于對(duì)于always引導(dǎo)的塊語(yǔ)句中含有多條非阻塞式賦值語(yǔ)句時(shí),當(dāng)執(zhí)引導(dǎo)的塊語(yǔ)句中含有多條非阻塞式賦值語(yǔ)句時(shí),當(dāng)執(zhí)行某一條語(yǔ)句時(shí),對(duì)于塊中的其它語(yǔ)句的執(zhí)行不被阻塞,可以理解為并行某一條語(yǔ)句時(shí),對(duì)于塊中的其它語(yǔ)句的執(zhí)行不被阻塞,可以理解為并行執(zhí)行,但是塊中所有信號(hào)的賦值是在塊語(yǔ)句結(jié)束時(shí)同時(shí)進(jìn)行的。行執(zhí)行,但是塊中所有信號(hào)的賦值是在塊語(yǔ)句結(jié)束時(shí)同時(shí)進(jìn)行的。3.1.2 4選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 6賦值操作符賦值操作符 “=”,只能用于順序語(yǔ)句,不能

12、用于,只能用于順序語(yǔ)句,不能用于assign引引導(dǎo)的并行語(yǔ)句導(dǎo)的并行語(yǔ)句3.1 組合電路的組合電路的Verilog描述描述 例:例: always (A、B)begin M1=A; M2=B&M1; Q=M1|M2;endalways (A、B)begin M1=A; M2=B&M1; Q=M1|M2;end3.1.2 4選選1多路選擇器及其多路選擇器及其case語(yǔ)句表述方式語(yǔ)句表述方式 3.1 組合電路的組合電路的Verilog描述描述 3.1.3 4選選1多路選擇器及其數(shù)據(jù)流描述方式多路選擇器及其數(shù)據(jù)流描述方式 3.1 組合電路的組合電路的Verilog描述描述 3.1.3

13、 4選選1多路選擇器及其數(shù)據(jù)流描述方式多路選擇器及其數(shù)據(jù)流描述方式 1按位邏輯操作符按位邏輯操作符 注意:若兩個(gè)操作數(shù)長(zhǎng)度不同,則綜合器自動(dòng)將短的數(shù)據(jù)按左端補(bǔ)注意:若兩個(gè)操作數(shù)長(zhǎng)度不同,則綜合器自動(dòng)將短的數(shù)據(jù)按左端補(bǔ)0的規(guī)則的規(guī)則進(jìn)行運(yùn)算操作進(jìn)行運(yùn)算操作3.1 組合電路的組合電路的Verilog描述描述 3.1.3 4選選1多路選擇器及其數(shù)據(jù)流描述方式多路選擇器及其數(shù)據(jù)流描述方式 2等式操作符等式操作符 注意:注意:1)等式操作符的結(jié)果為)等式操作符的結(jié)果為1位邏輯值,真或偽;位邏輯值,真或偽; 2) “=”的兩個(gè)操作二進(jìn)制數(shù)中有的兩個(gè)操作二進(jìn)制數(shù)中有“Z”或或“X”時(shí),判為假;時(shí),判為假;

14、“=”將兩個(gè)操作數(shù)中的將兩個(gè)操作數(shù)中的“Z”或或“X”,當(dāng)成確定值比較。,當(dāng)成確定值比較。3.1 組合電路的組合電路的Verilog描述描述 3.1.4 4選選1多路選擇器及其多路選擇器及其if語(yǔ)句描述方式語(yǔ)句描述方式3.1 組合電路的組合電路的Verilog描述描述 3.1.4 4選選1多路選擇器及其多路選擇器及其if語(yǔ)句描述方式語(yǔ)句描述方式1if_ else條件語(yǔ)句條件語(yǔ)句 if(表達(dá)式)(表達(dá)式) begin 語(yǔ)句語(yǔ)句1;語(yǔ)句;語(yǔ)句2;.語(yǔ)句語(yǔ)句n; endelse begin 語(yǔ)句語(yǔ)句n+1;語(yǔ)句;語(yǔ)句n+2;.語(yǔ)句語(yǔ)句n+n; end 3.1 組合電路的組合電路的Verilog描述描

15、述 3.1.4 4選選1多路選擇器及其多路選擇器及其if語(yǔ)句描述方式語(yǔ)句描述方式2數(shù)據(jù)表示方式數(shù)據(jù)表示方式 1)操作符兩端數(shù)據(jù)類(lèi)型不匹配時(shí),)操作符兩端數(shù)據(jù)類(lèi)型不匹配時(shí),Verilog能自動(dòng)匹配;能自動(dòng)匹配;2)當(dāng)所賦的值大于被賦值信號(hào)的最大值時(shí),首先將所賦值便換為二進(jìn))當(dāng)所賦的值大于被賦值信號(hào)的最大值時(shí),首先將所賦值便換為二進(jìn)制,然后根據(jù)被賦值信號(hào)的位寬向左端截取多余位數(shù)。制,然后根據(jù)被賦值信號(hào)的位寬向左端截取多余位數(shù)。例:定義例:定義Y1:0,當(dāng)執(zhí)行,當(dāng)執(zhí)行Y=9時(shí),時(shí),Y得到的賦值是得到的賦值是2b01。3.1 組合電路的組合電路的Verilog描述描述 3.1.5 加法器及其加法器及其

16、Verilog描述描述 1. 半加器描述半加器描述 3.1 組合電路的組合電路的Verilog描述描述 3.1.5 加法器及其加法器及其Verilog描述描述 1. 基于基于assign引導(dǎo)的賦值語(yǔ)句和邏輯操作符的描述引導(dǎo)的賦值語(yǔ)句和邏輯操作符的描述module h_adder (a,b,so,co);input a,b;output so,co;assign so = a b;assign co = a & b;endmodule3.1 組合電路的組合電路的Verilog描述描述 module h_adder2(a,b,so,co);input a, b; output so, co

17、; reg so, co;always (a, b, so, co) begincase(a,b)0: begin so = 0; co = 1b0; end1: begin so = 1; co = 1b0; end2: begin so = 1; co = 1b0; end3: begin so = 0; co = 1b1; enddefault: begin so = 0; co = 0; endendcaseendendmodule2.基于基于always 引導(dǎo)的過(guò)程語(yǔ)句和邏輯操作符的描述引導(dǎo)的過(guò)程語(yǔ)句和邏輯操作符的描述3.1.5 加法器及其加法器及其Verilog描述描述 3.1 組

18、合電路的組合電路的Verilog描述描述 module h_adder (a,b,so,co);input a,b;output so,co;assign co,so = a + b;endmodule3.基于基于assign引導(dǎo)的連續(xù)賦值語(yǔ)句和算數(shù)操作符的描述引導(dǎo)的連續(xù)賦值語(yǔ)句和算數(shù)操作符的描述3.1.5 加法器及其加法器及其Verilog描述描述 3.1 組合電路的組合電路的Verilog描述描述 3.1.5 加法器及其加法器及其Verilog描述描述 4. 算數(shù)操作符的使用算數(shù)操作符的使用3.1 組合電路的組合電路的Verilog描述描述 5. 全加器描述全加器描述-用半加器模塊和或門(mén)模

19、塊描述用半加器模塊和或門(mén)模塊描述 3.1.5 加法器及其加法器及其Verilog描述描述 3.1 組合電路的組合電路的Verilog描述描述 5. 全加器描述全加器描述-用半加器、或門(mén)模塊及例化語(yǔ)句描述用半加器、或門(mén)模塊及例化語(yǔ)句描述 3.1.5 加法器及其加法器及其Verilog描述描述 module or2a(a,b,c);input a,b;output c;assign c = a | b;endmodule3.1 組合電路的組合電路的Verilog描述描述 5. 全加器描述全加器描述-用半加器、或門(mén)模塊及例化語(yǔ)句描述用半加器、或門(mén)模塊及例化語(yǔ)句描述 3.1.5 加法器及其加法器及其V

20、erilog描述描述 module f_adder(ain,bin,cin,sum,cout); input ain,bin,cin; output sum,cout; wire e,d,f; h_adder u1(ain,bin,e,d);/位置例化法例化語(yǔ)句位置例化法例化語(yǔ)句 h_adder u2(.a(e),.b(cin),.so(sum),.co(f);/端口關(guān)聯(lián)法例化語(yǔ)句端口關(guān)聯(lián)法例化語(yǔ)句 or2a(.a(d), .b(f), .c(cout); /端口關(guān)聯(lián)法例化語(yǔ)句端口關(guān)聯(lián)法例化語(yǔ)句endmodule3.1 組合電路的組合電路的Verilog描述描述 5. 全加器描述全加器描述-用

21、半加器、或門(mén)模塊及例化語(yǔ)句描述用半加器、或門(mén)模塊及例化語(yǔ)句描述 3.1.5 加法器及其加法器及其Verilog描述描述 3.1 組合電路的組合電路的Verilog描述描述 5. 全加器描述全加器描述-頂層文件及例化語(yǔ)句描述頂層文件及例化語(yǔ)句描述 3.1.5 加法器及其加法器及其Verilog描述描述 3.1 組合電路的組合電路的Verilog描述描述 3.1.5 加法器及其加法器及其Verilog描述描述 5. 全加器頂層文件設(shè)計(jì)和例化語(yǔ)句全加器頂層文件設(shè)計(jì)和例化語(yǔ)句 信號(hào)關(guān)聯(lián)法例化語(yǔ)句:信號(hào)關(guān)聯(lián)法例化語(yǔ)句: 位置關(guān)聯(lián)法例化語(yǔ)句:位置關(guān)聯(lián)法例化語(yǔ)句: 注意:被例化的元件可以是任何注意:被例化的

22、元件可以是任何HDL語(yǔ)言描述的模塊、語(yǔ)言描述的模塊、FPGA庫(kù)元件,甚至庫(kù)元件,甚至IP核。核。 (.例化元件端口例化元件端口(例化元件外接端口例化元件外接端口),); 3.1 組合電路的組合電路的Verilog描述描述 3.1.5 加法器及其加法器及其Verilog描述描述 6. 8位加法器描述位加法器描述 module ADDER8B(A,B,CIN,DOUT,COUT);output7:0 DOUT; output COUT;input7:0 A,B; input CIN;wire8:0 DATA;assign DATA = A + B + CIN;assign COUT = DATA8

23、;/注意數(shù)值表示注意數(shù)值表示assign DOUT = DATA7:0; /注意數(shù)值表示注意數(shù)值表示endmodule3.1 組合電路的組合電路的Verilog描述描述 3.1.5 加法器及其加法器及其Verilog描述描述 6. 8位加法器描述位加法器描述module ADDER8B (A,B,CIN,COUT,DOUT);input 7:0 A,B;input CIN;output 7:0 DOUT;output COUT;assign COUT,DOUT = A + B + CIN;endmodule3.1 組合電路的組合電路的Verilog描述描述 3.1.5 加法器及其加法器及其Ve

24、rilog描述描述 3. 8位加法器描述位加法器描述 作作 業(yè)業(yè) 習(xí)題習(xí)題3-6:1)用兩個(gè)過(guò)程語(yǔ)句結(jié)構(gòu)描述)用兩個(gè)過(guò)程語(yǔ)句結(jié)構(gòu)描述MUXK模塊;模塊;2)用例化語(yǔ)句描述)用例化語(yǔ)句描述 MUXK模塊。模塊。作作 業(yè)業(yè) 習(xí)題習(xí)題3-7:用:用Verilog描述減法器描述減法器 (1 1)首先設(shè)計(jì))首先設(shè)計(jì)1 1位半減器,然后用例化語(yǔ)句將它們連接起位半減器,然后用例化語(yǔ)句將它們連接起來(lái),圖來(lái),圖3-303-30中中h_suberh_suber是半減器,是半減器,diffdiff是輸出差,是輸出差,s_outs_out是是借位輸出,借位輸出,sub_insub_in是借位輸入。是借位輸入。(2 2

25、)根據(jù)圖)根據(jù)圖3-303-30設(shè)計(jì)設(shè)計(jì)1 1位全減器。位全減器。(3 3)以)以1 1位全減器為基本硬件,構(gòu)成串行借位的位全減器為基本硬件,構(gòu)成串行借位的8 8位減法位減法器,要求用例化語(yǔ)句來(lái)完成此項(xiàng)設(shè)計(jì)。器,要求用例化語(yǔ)句來(lái)完成此項(xiàng)設(shè)計(jì)。 作作 業(yè)業(yè) 半減器的真值表:半減器的真值表:x xy ydiffdiffs_outs_out0000011110101100diff = x y;s_out = (x)& y;表達(dá)式:表達(dá)式:case、if_else語(yǔ)句描述語(yǔ)句描述表達(dá)式、算數(shù)操作符描述表達(dá)式、算數(shù)操作符描述作作 業(yè)業(yè) 1)半減器)半減器分別用分別用case語(yǔ)句、語(yǔ)句、if_el

26、se語(yǔ)句、邏輯操語(yǔ)句、邏輯操作符、算數(shù)操作符作符、算數(shù)操作符4種方式描述種方式描述用邏輯操作符半減器描述:用邏輯操作符半減器描述:作作 業(yè)業(yè) 2)1位全減器位全減器用半減器及例化語(yǔ)句描述用半減器及例化語(yǔ)句描述作作 業(yè)業(yè) 3) 8位減法器位減法器用用1位全加器例化語(yǔ)句描述位全加器例化語(yǔ)句描述作作 業(yè)業(yè) 8位減法器仿真波形:位減法器仿真波形:3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.1 邊沿觸發(fā)型觸發(fā)器及其邊沿觸發(fā)型觸發(fā)器及其Verilog表述表述 工作原理工作原理: 時(shí)鐘上升沿到來(lái)時(shí),將時(shí)鐘上升沿到來(lái)時(shí),將D送入送入Q。3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述

27、 3.2.1 邊沿觸發(fā)型觸發(fā)器及其邊沿觸發(fā)型觸發(fā)器及其Verilog表述表述 3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.1 邊沿觸發(fā)型觸發(fā)器及其邊沿觸發(fā)型觸發(fā)器及其Verilog表述表述 新語(yǔ)法:新語(yǔ)法:posedge定義:對(duì)上升沿敏感的表述。定義:對(duì)上升沿敏感的表述。作用:告訴綜合器構(gòu)建邊沿觸發(fā)型時(shí)序元件。作用:告訴綜合器構(gòu)建邊沿觸發(fā)型時(shí)序元件。與與posedge對(duì)應(yīng)的對(duì)應(yīng)的negedge,下降沿敏感表述。,下降沿敏感表述。凡是邊沿觸發(fā)性質(zhì)的時(shí)序元件必須在敏感信號(hào)表中使用凡是邊沿觸發(fā)性質(zhì)的時(shí)序元件必須在敏感信號(hào)表中使用邊沿敏感表述,而不用此表述產(chǎn)生的時(shí)序電路都是電平敏邊

28、沿敏感表述,而不用此表述產(chǎn)生的時(shí)序電路都是電平敏感時(shí)序電路。感時(shí)序電路。3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.2 電平觸發(fā)型鎖存器及其電平觸發(fā)型鎖存器及其Verilog表述表述 當(dāng)當(dāng)CLK為高電平時(shí),為高電平時(shí),Q隨著隨著D的變化而更新,當(dāng)?shù)淖兓拢?dāng)CLK為低電平時(shí),將保存其在高電平時(shí)鎖入的數(shù)據(jù)。為低電平時(shí),將保存其在高電平時(shí)鎖入的數(shù)據(jù)。 3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.2 電平觸發(fā)型鎖存器及其電平觸發(fā)型鎖存器及其Verilog表述表述 3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.2 電平觸發(fā)型鎖存器及其電平觸

29、發(fā)型鎖存器及其Verilog表述表述 思考:思考: 2)為什么綜合結(jié)果是鎖存器而不是觸發(fā)器?)為什么綜合結(jié)果是鎖存器而不是觸發(fā)器? 1)描述方式與純組合邏輯電路相似,為什么綜合結(jié)果)描述方式與純組合邏輯電路相似,為什么綜合結(jié)果是時(shí)序電路?是時(shí)序電路? 3)沒(méi)有)沒(méi)有nesedge和和posedge同樣可以綜合出時(shí)序電路,同樣可以綜合出時(shí)序電路,通過(guò)使用不完整的通過(guò)使用不完整的if_else語(yǔ)句。語(yǔ)句。 3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.2 電平觸發(fā)型鎖存器及其電平觸發(fā)型鎖存器及其Verilog表述表述 工作原理工作原理: 時(shí)鐘上升沿到來(lái)時(shí)鐘上升沿到來(lái)時(shí),將時(shí),將D

30、送入送入Q,屬于邊沿,屬于邊沿觸發(fā),敏感信號(hào)表中觸發(fā),敏感信號(hào)表中posedge表述。表述。 當(dāng)當(dāng)CLK=1,Q隨著隨著D的的變化而更新,當(dāng)變化而更新,當(dāng)CLK=0時(shí),時(shí), Q值保持,屬于電平觸發(fā),敏值保持,屬于電平觸發(fā),敏感信號(hào)表列電平信號(hào)。感信號(hào)表列電平信號(hào)。 3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.3 含異步復(fù)位含異步復(fù)位/時(shí)鐘使能型觸發(fā)器及其時(shí)鐘使能型觸發(fā)器及其Verilog表述表述 異步:獨(dú)立于時(shí)鐘控制的復(fù)位控制端異步:獨(dú)立于時(shí)鐘控制的復(fù)位控制端RST,在任意時(shí)刻,在任意時(shí)刻,只要只要RST=0,D觸發(fā)器的輸出端即刻被清零,與時(shí)鐘的觸發(fā)器的輸出端即刻被清零,與

31、時(shí)鐘的狀態(tài)無(wú)關(guān)。狀態(tài)無(wú)關(guān)。EN的功能是,只有當(dāng)?shù)墓δ苁?,只有?dāng)EN=1時(shí),時(shí)鐘上升沿時(shí),時(shí)鐘上升沿才有效。才有效。3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.3 含異步復(fù)位含異步復(fù)位/時(shí)鐘使能型觸發(fā)器及其時(shí)鐘使能型觸發(fā)器及其Verilog表述表述 module DFF2(RST,CLK,EN,D,Q);input RST,CLK,EN,D;output Q;reg Q;always(posedge CLK or negedge RST)beginif(!RST) Q=0; else if(EN) Q=D;endendmodule3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog

32、表述表述 3.2.3 含異步復(fù)位含異步復(fù)位/時(shí)鐘使能型觸發(fā)器及其時(shí)鐘使能型觸發(fā)器及其Verilog表述表述 復(fù)位信號(hào)復(fù)位信號(hào)RST=0時(shí),不管時(shí)鐘信號(hào)是何種狀態(tài),時(shí),不管時(shí)鐘信號(hào)是何種狀態(tài),Q即刻被清即刻被清0。3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.4 同步復(fù)位型觸發(fā)器及其同步復(fù)位型觸發(fā)器及其Verilog表述表述 同步:指同步:指RST信號(hào)只有在時(shí)鐘信號(hào)有效時(shí),才能起作信號(hào)只有在時(shí)鐘信號(hào)有效時(shí),才能起作用。用。3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.4 同步復(fù)位型觸發(fā)器及其同步復(fù)位型觸發(fā)器及其Verilog表述表述 module DFF3(R

33、ST,CLK,D,Q);input RST,CLK,D;output Q;reg Q;always(posedge CLK)beginif(RST=1) Q=0; else Q=D; endendmodule3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.4 同步復(fù)位型觸發(fā)器及其同步復(fù)位型觸發(fā)器及其Verilog表述表述 復(fù)位信號(hào)復(fù)位信號(hào)RST=1時(shí),且時(shí)鐘上升沿到來(lái),才對(duì)時(shí),且時(shí)鐘上升沿到來(lái),才對(duì)Q清清0;反之復(fù)位信號(hào);反之復(fù)位信號(hào)RST=1時(shí),時(shí)鐘上升沿沒(méi)有到來(lái),時(shí),時(shí)鐘上升沿沒(méi)有到來(lái),則則Q不能被清不能被清0。3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2

34、.5 異步復(fù)位型鎖存器及其異步復(fù)位型鎖存器及其Verilog表述表述 異步復(fù)位:異步復(fù)位:RST獨(dú)立于時(shí)鐘的狀態(tài);獨(dú)立于時(shí)鐘的狀態(tài);鎖存器:屬電平敏感型電路,類(lèi)似組合邏輯電路描述法。鎖存器:屬電平敏感型電路,類(lèi)似組合邏輯電路描述法。3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.5 異步復(fù)位型鎖存器及其異步復(fù)位型鎖存器及其Verilog表述表述 3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.5 異步復(fù)位型鎖存器及其異步復(fù)位型鎖存器及其Verilog表述表述 RST=0時(shí),不管時(shí),不管CLK是何種狀態(tài),是何種狀態(tài),Q即刻被清即刻被清0。 RST=1時(shí),時(shí),CLK

35、=1時(shí),時(shí),Q隨隨D的變化而變化,的變化而變化,CLK=0時(shí),時(shí),Q保持保持CLK=1時(shí)的值。時(shí)的值。 3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.6 Verilog的時(shí)鐘過(guò)程表述的特點(diǎn)和規(guī)律的時(shí)鐘過(guò)程表述的特點(diǎn)和規(guī)律 1)敏感信號(hào)表含有)敏感信號(hào)表含有negedge和和posedge時(shí),選擇性地改時(shí),選擇性地改變敏感信號(hào)的放置是可以影響綜合結(jié)果的,例如,同步復(fù)變敏感信號(hào)的放置是可以影響綜合結(jié)果的,例如,同步復(fù)位型觸發(fā)器和異步復(fù)位型觸發(fā)器;位型觸發(fā)器和異步復(fù)位型觸發(fā)器; 2)敏感信號(hào)表中一旦含有)敏感信號(hào)表中一旦含有negedge或或posedge的邊沿敏的邊沿敏感信號(hào)后,

36、所有其他電平敏感型信號(hào)都不能放在敏感信號(hào)感信號(hào)后,所有其他電平敏感型信號(hào)都不能放在敏感信號(hào)表中;表中;3)如果在同一模塊中含有獨(dú)立于主時(shí)鐘的時(shí)序或組合邏)如果在同一模塊中含有獨(dú)立于主時(shí)鐘的時(shí)序或組合邏輯,必須在另一過(guò)程描述。輯,必須在另一過(guò)程描述。 3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.6 Verilog的時(shí)鐘過(guò)程表述的特點(diǎn)和規(guī)律的時(shí)鐘過(guò)程表述的特點(diǎn)和規(guī)律 對(duì)于邊沿觸發(fā)型時(shí)序電路,遵循以下規(guī)律:對(duì)于邊沿觸發(fā)型時(shí)序電路,遵循以下規(guī)律:1)如果將信號(hào)定義為邊沿敏感信號(hào),則必須在敏感信號(hào)表中用)如果將信號(hào)定義為邊沿敏感信號(hào),則必須在敏感信號(hào)表中用negedge或或posed

37、ge給出表述,給出表述, 但在但在always過(guò)程結(jié)構(gòu)中不能過(guò)程結(jié)構(gòu)中不能再出現(xiàn)該信號(hào)了,例如,時(shí)鐘觸發(fā)器時(shí)鐘再出現(xiàn)該信號(hào)了,例如,時(shí)鐘觸發(fā)器時(shí)鐘CLK。2)如果一個(gè)對(duì)應(yīng)于時(shí)鐘的電平敏感的異步控制信號(hào),則除了在)如果一個(gè)對(duì)應(yīng)于時(shí)鐘的電平敏感的異步控制信號(hào),則除了在敏感信號(hào)表中給出對(duì)應(yīng)的表述外,在敏感信號(hào)表中給出對(duì)應(yīng)的表述外,在always過(guò)程結(jié)構(gòu)中必須過(guò)程結(jié)構(gòu)中必須明示這一信號(hào)的邏輯功能,如異步明示這一信號(hào)的邏輯功能,如異步RST。3)如果一個(gè)信號(hào)是對(duì)應(yīng)于時(shí)鐘的同步控制信號(hào),則不允許在敏)如果一個(gè)信號(hào)是對(duì)應(yīng)于時(shí)鐘的同步控制信號(hào),則不允許在敏感信號(hào)表中出現(xiàn),如同步感信號(hào)表中出現(xiàn),如同步RST。4)敏感信號(hào)分為兩種類(lèi)型:電平敏感信號(hào)和邊沿敏感信號(hào),在)敏感信號(hào)分為兩種類(lèi)型:電平敏感信號(hào)和邊沿敏感信號(hào),在同一過(guò)程的敏感信號(hào)表中,只能放置一種敏感信號(hào),不能混放。同一過(guò)程的敏感信號(hào)表中,只能放置一種敏感信號(hào),不能混放。3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.7 異步時(shí)序模塊的異步時(shí)序模塊的Verilog表述表述 3.2 時(shí)序模塊及其時(shí)序模塊及其Verilog表述表述 3.2.7 異步時(shí)序模塊的異步時(shí)序模塊的Verilog表述表述 module AMOD(D,A,CLK,Q); input D,A,CLK; output Q; reg Q,Q1; always(pos

溫馨提示

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

評(píng)論

0/150

提交評(píng)論