版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)歸約操作符歸約操作符在單一操作數(shù)的所有位上操作,并產(chǎn)生1位結(jié)果。 & (歸約與)如果存在位值為0, 那么結(jié)果為0;若如果存在位值為x或z,結(jié)果為x;否則結(jié)果為1。 & ( 歸約與非) | ( 歸約或)如果存在位值為1,那么結(jié)果為1;如果存在位x或z,結(jié)果為x;否則結(jié)果為0。 | ( 歸約或非) ( 歸約異或)如果存在位值為x或z,那么結(jié)果為x;否則如果操作數(shù)中有偶數(shù)個(gè)1, 結(jié)果為0;否則結(jié)果為1。 (歸約異或非)Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)移位操作符n (右移)n移位操作符左側(cè)操作數(shù)移動(dòng)右側(cè)操作數(shù)表示的次數(shù),它是一個(gè)邏輯移位??臻e位添
2、0補(bǔ)位。n如果右側(cè)操作數(shù)的值為x或z, 移位操作的結(jié)果為x。nreg 0:7 Qreg;n. . .nQreg = 4b0111;n那么:nQreg 2 是8b0000_0001Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)Verilog HDL中沒(méi)有指數(shù)操作符。但是,移位操作符可用于支持部分指數(shù)操作。例如,如果要計(jì)算ZNumBits的值,可以使用移位操作實(shí)現(xiàn),例如:32b1 NumBits /NumBits必須小于32??墒褂靡莆徊僮鳛? - 4解碼器建模,如wire 0:3 DecodeOut=4b1 18 ? Grade_A : Grade_C;計(jì)算表達(dá)式Marks 18; 如果真, Studen
3、t賦值為Grade_A; 如果Marks =18, Student 賦值為Grade _ C 。always#5 Ctr = (Ctr!=25) ? (Ctr+1) : 5;過(guò)程賦值中的表達(dá)式表明如果Ctr不等于25, 則加1;否則如果Ctr值為25時(shí), 將Ctr值重新置為5。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)連接操作連接操作是將小表達(dá)式合并形成大表達(dá)式的操作。形式如下:expr1,expr2,.,exprN實(shí)例如下所示:wire wire 7:0 Dbus;wire wire 11:0 Abus;assign assign Dbus 7:4 = Dbus0, Dbus1, Dbus2, D
4、bus3 ;/以反轉(zhuǎn)的順序?qū)⒌投?位賦給高端4位。assign assign Dbus =Dbus 3:0,Dbus7:4 ;/高4位與低4位交換。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)不允許連接非定長(zhǎng)常數(shù)reg 7:0 Dbus;reg 10:0 A;A = Dbus,5;非定長(zhǎng)常數(shù)的長(zhǎng)度未知 。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)復(fù)制操作n復(fù)制通過(guò)指定重復(fù)次數(shù)來(lái)執(zhí)行操作。語(yǔ)法如下:nrepetition_number expr1, expr2, .,exprN nAbus = 34b1011; / 位向量(12b1011_1011_1011)nAbus = 4Dbus7, Dbus;n31b
5、1 結(jié)果為111n3Ack 結(jié)果與Ack, Ack, Ack相同。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)表達(dá)式種類(lèi)常量表達(dá)式常量表達(dá)式是是在編譯時(shí)就計(jì)算出常數(shù)值的表達(dá)式。在編譯時(shí)就計(jì)算出常數(shù)值的表達(dá)式。常量表達(dá)式構(gòu)成要素常量表達(dá)式構(gòu)成要素: :1) 1) 表示常量文字表示常量文字, , 如如b10b10和和326326或或abcabc。2) 2) 參數(shù)名,如參數(shù)名,如REDRED的參數(shù)表明的參數(shù)表明: :parameter parameter RED = 4b1110RED = 4b1110;標(biāo)量表達(dá)式標(biāo)量表達(dá)式是是計(jì)算結(jié)果為計(jì)算結(jié)果為1 1位的表達(dá)式。位的表達(dá)式。如果希如果希望產(chǎn)生標(biāo)量結(jié)果望產(chǎn)
6、生標(biāo)量結(jié)果, , 但是表達(dá)式產(chǎn)生的結(jié)果為向但是表達(dá)式產(chǎn)生的結(jié)果為向量量, , 則最終結(jié)果為向量最右側(cè)的位值。則最終結(jié)果為向量最右側(cè)的位值。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)內(nèi)置基本門(mén)n1) 多輸入門(mén):and, nand,or, nor, xor, xnorand, nand,or, nor, xor, xnorn2) 多輸出門(mén):bufbuf, not, notn3) 三態(tài)門(mén):bufif0, bufif1, notif0,notif1bufif0, bufif1, notif0,notif1n4) 上拉、下拉電阻:pullup, pulldownpullup, pulldownn5) MOS開(kāi)
7、關(guān):cmos, nmos, pmos, rcmos, rnmos, rpmoscmos, nmos, pmos, rcmos, rnmos, rpmosn6) 雙向開(kāi)關(guān):tran,tranif0, tranif1, rtrantran,tranif0, tranif1, rtran, rtranif0, rtranif1, rtranif0, rtranif1Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)實(shí)例語(yǔ)句的格式ngate_type instance_name (term1, term2, . . . ,termN ) ;Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)語(yǔ)法n同一門(mén)類(lèi)型的多個(gè)實(shí)例能夠在一個(gè)結(jié)構(gòu)
8、形式中定義。gate_typeinstance_name1 (term11, term12, . . .,term1N ),instance_name2 (term21, term22, . . .,term2N ),. . .instance_nameM (termM1, termM2, . . .,termMN);Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)內(nèi)置多輸入門(mén)nand nand nor or xor xnorand nand nor or xor xnorn門(mén)實(shí)例語(yǔ)句的語(yǔ)法如下:nmultiple_input_gate_type instance_name (OutputA, Input
9、1, Input2, . . .,InputN ) ;n第一個(gè)端口是輸出,其它端口是輸入。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)and and A1(Out1, In1, In2) ;and and RBX (Sty, Rib, Bro, Qit, Fix ) ;xorxor (Bar, Bud0,Bud1,Bud2), (Car,Cut0,Cut1), (Sar, Sut2, Sut1, Sut0, Sut3 ) ;Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)真值表(多輸入門(mén)的輸出決不能是z z)Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)內(nèi)置多輸出門(mén)nbufbuf not notn門(mén)的實(shí)例語(yǔ)句的基本語(yǔ)法如下
10、:nmultiple_output_gate_type instance_name(Out1,Out2, .OutN,InputA ) ;n最后的端口是輸入端口,其余的所有端口為輸出端口。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)nbufbuf (Out1, Out2,OutN, InputA);nnot not (Out1, Out2,OutN, InputA);Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)真值表Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)內(nèi)置三態(tài)門(mén)內(nèi)置三態(tài)門(mén)nbufif0 bufif1 notif0 notif1bufif0 bufif1 notif0 notif1n這些門(mén)用于對(duì)三態(tài)驅(qū)動(dòng)器建模。
11、這些門(mén)有一個(gè)輸出、一個(gè)數(shù)據(jù)輸入和一個(gè)控制輸入。ntristate_gate instance_name (Output, Input, Control);Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)內(nèi)置三態(tài)門(mén)內(nèi)置三態(tài)門(mén)n根據(jù)控制輸入,輸出可被驅(qū)動(dòng)到高阻狀態(tài),即值z(mì) z。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)真值表Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)上拉、下拉電阻npullup pulldownpullup pulldownn這類(lèi)門(mén)設(shè)備沒(méi)有輸入只有輸出。上拉電阻將輸出置為1。下拉電阻將輸出置為0。門(mén)實(shí)例npull_gate instance_name(OutputA) ;n門(mén)實(shí)例的端口表只包含1個(gè)輸出。n
12、pulluppullup PUP (Pwr) ;Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)MOS開(kāi)關(guān)ncmos pmos nmos rcmos rpmos rnmoscmos pmos nmos rcmos rpmos rnmosn這類(lèi)門(mén)用來(lái)為單向開(kāi)關(guān)建模。即數(shù)據(jù)從輸入流向輸出,并且可以通過(guò)設(shè)置合適的控制輸入關(guān)閉數(shù)據(jù)流。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)pmos nmos rpmos rnmospmos nmos rpmos rnmosnpmos ( p型MOS管)、nmos ( n型MOS管),rnmos ( r代表電阻)和rpmos開(kāi)關(guān)有一個(gè)輸出、一個(gè)輸入和一個(gè)控制輸入。實(shí)例的基本語(yǔ)法如下:n
13、gate_type instance_name (OutputA, InputB, ControlC);Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)n開(kāi)關(guān)關(guān)閉時(shí)輸出為znrnmos和rpmos在輸入引線和輸出引線之間存在高阻抗(電阻)。因此當(dāng)數(shù)據(jù)從輸入傳輸至輸出時(shí),對(duì)于rpmos和rmos,存在數(shù)據(jù)信號(hào)強(qiáng)度衰減。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)真值表Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)cmos rcmosn開(kāi)關(guān)有一個(gè)數(shù)據(jù)輸出,一個(gè)數(shù)據(jù)輸入和兩個(gè)控制輸入。這兩個(gè)開(kāi)關(guān)實(shí)例語(yǔ)句的語(yǔ)法形式如下:n(r)cmos(r)cmos instance_name (OutputA, InputB, NControl
14、, PControl);Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)雙向開(kāi)關(guān)ntran rtrantran rtran tranif0 rtranif0 tranif1 tranif0 rtranif0 tranif1 rtranif1rtranif1n這些開(kāi)關(guān)是雙向的,即數(shù)據(jù)可以雙向流動(dòng),并且當(dāng)數(shù)據(jù)在開(kāi)關(guān)中傳播時(shí)沒(méi)有延時(shí)。后4個(gè)開(kāi)關(guān)能夠通過(guò)設(shè)置合適的控制信號(hào)來(lái)關(guān)閉。ntran和rtran開(kāi)關(guān)不能被關(guān)閉。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)tran rtranntran或rtran (tran 的高阻態(tài)版本)開(kāi)關(guān)實(shí)例語(yǔ)句的語(yǔ)法如下:n(r)tran(r)tran instance_name (Sign
15、alA, SignalB);n端口表只有兩個(gè)端口,并且無(wú)條件地雙向流動(dòng),即從SignalA向SignalB,反之亦然。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)受控雙向開(kāi)關(guān)ngate_type instance_name (SignalA, SignalB, ControlC ) ;ntranif0和tranif0,ControlC是1;ntranif1和rtranif1,ControlC是0;那么禁止雙向數(shù)據(jù)流動(dòng)。nrtran、rtranif0和rtranif1,信號(hào)通過(guò)開(kāi)關(guān)傳輸時(shí),信號(hào)強(qiáng)度減弱。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)門(mén)時(shí)延n可以使用門(mén)時(shí)延定義門(mén)從任何輸入到其輸出的信號(hào)傳輸時(shí)延。門(mén)時(shí)
16、延可以在門(mén)自身實(shí)例語(yǔ)句中定義。帶有時(shí)延定義的門(mén)實(shí)例語(yǔ)句的語(yǔ)法如下:ngate_type delay instance_name (terminal_list) ;n缺省的時(shí)延值為0。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)門(mén)時(shí)延門(mén)時(shí)延由三類(lèi)時(shí)延值組成:1) 上升時(shí)延2) 下降時(shí)延3) 截止時(shí)延Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)門(mén)時(shí)延n門(mén)時(shí)延定義可以包含0個(gè)、1個(gè)、2個(gè)或3個(gè)時(shí)延值。 無(wú)時(shí)延1個(gè)時(shí)延(d) 2個(gè)時(shí)延(d1, d2) 3個(gè)時(shí)延(dA, dB, dC)上升 0 d d1 dA下降 0 d d2 dB轉(zhuǎn)變?yōu)?x 0 d min(d1, d2) min (dA, dB, dC)截止 0 d
17、 min(d1, d2) d Cnnot not N1 (Qbar, Q) ;nnandnand #6 (Out, In1, In2) ;nand and #(3,5) (Out, In1, In2, In3 ) ;nnotif1 notif1 #(2,8,6) ( Dout, Din1, Din2) ;Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)n對(duì)多輸入門(mén)(例如與門(mén)和非門(mén))和多輸出門(mén)(緩沖門(mén)和非門(mén))總共只能夠定義2個(gè)時(shí)延(因?yàn)檩敵鰶Q不會(huì)是z z)。n三態(tài)門(mén)共有3個(gè)時(shí)延。n上拉、下拉電阻實(shí)例門(mén)不能有任何時(shí)延。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)min:typ:max時(shí)延形式n最小值、典型值和最大值必
18、須是常數(shù)表達(dá)式。nnandnand #(2:3:4, 5:6:7) (Pout, Pin1, Pin2) ;n選擇使用哪種時(shí)延通常作為模擬運(yùn)行中的一個(gè)選項(xiàng)。n程序塊也能夠定義門(mén)時(shí)延。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)實(shí)例數(shù)組n當(dāng)需要重復(fù)性的實(shí)例時(shí),在實(shí)例描述語(yǔ)句中能夠有選擇地定義范圍說(shuō)明(范圍說(shuō)明也能夠在模塊實(shí)例語(yǔ)句中使用)。這種情況的門(mén)描述語(yǔ)句的語(yǔ)法如下:ngate_type delay instance_name leftbound:rightbound (list_of_terminal_names) ;Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)nleftbound和rightbound值是
19、任意的兩個(gè)常量表達(dá)式。左界不必大于右界,并且左、右界兩者都不必限定為0。示例如下。wire wire 3:0 Out, InA, InB;nandnand Gang 3:0 (Out, InA, InB) ;nandnandGang3 (Out3, InA3, InB3) ,Gang2 (Out2, InA2, InB2) ,Gang1 (Out1, InA1, InB1) ,Gang0 (Out0, InA0, InB0) ;n定義實(shí)例數(shù)組時(shí),實(shí)例名稱(chēng)是不可選的。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)隱式線網(wǎng)ndefault_nettypdefault_nettyp e e編譯指令在模塊定義外
20、出現(xiàn),并且在下一個(gè)相同編譯指令或resetallresetall編譯指令出現(xiàn)前一直有效。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)nor or Z(Z, T0, T1, T2 , T3); /非法的Verilog HDL表達(dá)式。n在同一模塊中,實(shí)例名不能與線網(wǎng)名相。Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)4選1module module MUX4x1 (Z,D0,D1,D2,D3,S0,S1) ;output output Z;Input Input D0,D1,D2,D3,S0,S1;andand(T0,D0,S0bar,S1bar),(T1,D1,S0bar,S1),(T2,D2,S0,S1bar)
21、,(T3,D3,S0,S1);not not (S0bar,S0),(S1bar,S1) ;or or (Z,T0,T1,T2,T3);endmoduleendmoduleVerilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)2-4解碼器module module DEC24 (A, B, Enable, Z);Input Input A, B, E n a b l e;output output 0:3Z ;wire wire Abar, Bbar;not not #( 1, 2 ) V0 (Abar, A), V1 (Bbar, B) ;nandnand #(4,3)N0 (Z3, Enable, A, B
22、),N1 (Z0, Enable, Abar, Bbar),N2 (Z1, Enable, Abar, B),N3 (Z2, Enable, A, Bbar);endmoduleendmoduleVerilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)主從觸發(fā)器module module MSDFF (D, C, Q, Qbar) ;input input D, C ;output output Q, Qbar ;notnotNT1 (NotD , D),NT2 (NotC , C),NT3 (NotY , Y);nandnandND1 (D1, D, C),ND2 (D2, C, NotD),ND3 (Y, D
23、1, Ybar),ND4 (Ybar, Y, D2) ,ND5 (Y1, Y, NotC) ,ND6 (Y2, NotY , NotC) ,ND7 (Q, Qbar, Y1) ,ND8 (Qbar, Y2, Q) ;endmoduleendmoduleVerilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)奇偶電路module module Parity_9_Bit (D, Even,Odd) ;input input 0:8 D ;output output Even, Odd;xorxor #( 5, 4 )XE0 (E0, D0, D1),XE1 (E1, D2, D3),XE2 (E2, D4, D5),
24、XE3 (E3, D6, D7),XF0 (F0, E0, E1),XF1 (F1, E2, E3),XH0 (H0, F0, F1) ,XEVEN (Even, D8, H0) ;not not # #2XODD (Odd, Even) ;endmoduleendmoduleVerilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)奇偶電路module Parity_9_Bit (D, Even,Odd) ;input 0:8 D ;output Even, Odd;assign Even = D;Assign Odd = D;endmoduleVerilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)相等判別module Equ(Q
25、, A, B);input 3:0 A, B;output Q;wire 3:0 C;xor X 3:0 (C, A, B);or (Q,C0,C1,C2,C3);endmoudleVerilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)用戶(hù)定義的原語(yǔ)nU D P實(shí)例語(yǔ)句的語(yǔ)法與基本門(mén)的實(shí)例語(yǔ)句語(yǔ)法一致。nUDP的定義不依賴(lài)于模塊定義,因此出現(xiàn)在模塊定義以外。也可以在單獨(dú)的文本文件中定義UDP。nUDP只能有一個(gè)輸出和一個(gè)或多個(gè)輸入。第一個(gè)端口必須是輸出端口。此外,輸出可以取值0、1或x(不允許取z值)。輸入中出現(xiàn)值z(mì)以x處理。UDP的行為以表的形式描述。n在UDP中可以描述下面兩類(lèi)行為:n1) 組合電路n2) 時(shí)序電路(邊沿觸發(fā)和電平觸發(fā))n定義U D P的語(yǔ)法primitive UDP_name (OutputName, List_of_inputs )Output_declarationList_of_input_declarationsReg_declarationIn
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)稅績(jī)效制度
- 象山村民說(shuō)事制度
- 論按日計(jì)罰制度
- 落實(shí)企業(yè)(職業(yè))年金制度
- 2026云南中國(guó)郵政儲(chǔ)蓄銀行股份有限公司普洱市分行招聘10人參考考試題庫(kù)附答案解析
- 桂林銀行考試試題及答案
- 2026廣東清遠(yuǎn)市陽(yáng)山縣城市管理和綜合執(zhí)法局第一次招聘城市管理監(jiān)察協(xié)管員和政府購(gòu)買(mǎi)服務(wù)人員3人參考考試題庫(kù)附答案解析
- 2026上海黃浦區(qū)中意工程創(chuàng)新學(xué)院教務(wù)崗位招聘1人參考考試題庫(kù)附答案解析
- 2026四川成都城建投資管理集團(tuán)有限責(zé)任公司所屬數(shù)智集團(tuán)招聘3人備考考試試題附答案解析
- 2026上半年黑龍江省體育局事業(yè)單位招聘13人備考考試試題附答案解析
- 《中華人民共和國(guó)危險(xiǎn)化學(xué)品安全法》全套解讀
- 推拿按摩腰背部課件
- 散養(yǎng)土雞養(yǎng)雞課件
- 戰(zhàn)略屋策略體系roadmapPP T模板(101 頁(yè))
- 2025年醫(yī)療輔助崗面試題及答案
- T-CI 1078-2025 堿性電解水復(fù)合隔膜測(cè)試方法
- 新入職小學(xué)教師如何快速成長(zhǎng)個(gè)人專(zhuān)業(yè)發(fā)展計(jì)劃
- 門(mén)診導(dǎo)診工作流程
- 2025云南保山電力股份有限公司招聘(100人)筆試歷年參考題庫(kù)附帶答案詳解
- 寫(xiě)字樓物業(yè)安全管理實(shí)務(wù)操作手冊(cè)
- 2025年及未來(lái)5年中國(guó)飲料工業(yè)行業(yè)競(jìng)爭(zhēng)格局分析及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論