組合邏輯電路的Verilog HDL描述_第1頁
組合邏輯電路的Verilog HDL描述_第2頁
組合邏輯電路的Verilog HDL描述_第3頁
組合邏輯電路的Verilog HDL描述_第4頁
組合邏輯電路的Verilog HDL描述_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、4.6 用VerilogHDL描述組合邏輯電路,4.6.1 組合邏輯電路的門級建模,4.6.2 組合邏輯電路的數(shù)據(jù)流建模,4.6.3 組合邏輯電路的行為級建模,4.6 用VerilogHDL描述組合邏輯電路,用VerilogHDL描述組合邏輯電路有三種不同抽象級別:組合邏輯電路的門級描述、組合邏輯電路的數(shù)據(jù)流描述、組合邏輯電路的行為級描述。 VerilogHDL描述的電路就是該電路的VerilogHDL模型。,end,基本門級元件模型,多輸入門,多輸出門,三態(tài)門,4.6.1 組合邏輯電路的門級建模,門級建模:將邏輯電路圖用HDL規(guī)定的文本語言表示出來。,Verilog 基本門級元件,and n

2、-input AND gate nand n-input NAND gate or n-input OR gate nor n-input NOR gate xor n-input exclusive OR gate xnor n-input exclusive NOR gate,1、多輸入門,只允許有一個(gè)輸出,但可以有多個(gè)輸入。,and A1(out,in1,in2,in3);,X- 不確定狀態(tài),Z- 高阻態(tài),2、多輸出門,允許有多個(gè)輸出,但只有一個(gè)輸入。,not N1(out1,out2,in);,buf B1(out1,out2,in);,3、三態(tài)門,有一個(gè)輸出、一個(gè)數(shù)據(jù)輸入和一個(gè)輸入控

3、制。 如果輸入控制信號無效,則三態(tài)門的輸出為高阻態(tài)z。,4、設(shè)計(jì)舉例,/Gate-level description of a 2-to-4-line decoder module _2to4decoder (A1,A0,E,Y); input A,B,E; output 3:0Y; wire A1not,A0not,Enot; not G1 (A1not,A1), G2 (A0not,A0), G3 (Enot,E); nand G4 (Y0,A1not,A0not,Enot), G5 (Y1,A1not,A0,Enot), G6 (Y2,A1,A0not,Enot), G7 (Y3,A1,

4、A0,Enot); endmodule,試用Verilog語言的門級 元件描述2線-4線譯碼器.,例2 用Verilog的門級元件進(jìn)行 描述由三態(tài)門構(gòu)成的2選1數(shù)據(jù)選擇器 。,/Gate-level description of a 2-to-1-line multiplexer module _2to1muxtri (A,B,SEL,L); input A,B,SEL; output L; tri L; bufif1 (L,B,SEL); bufif0 (L,A,SEL); endmodule,5、分層次的電路設(shè)計(jì)方法簡介,4位全加器的層次結(jié)構(gòu)框圖,分層次的電路設(shè)計(jì):在電路設(shè)計(jì)中,將兩個(gè)或多

5、個(gè)模塊組 合起來描述電路邏輯功能的設(shè)計(jì)方法。,設(shè)計(jì)方法:自頂向下和自底向上兩種常用的設(shè)計(jì)方法,module halfadder (S,C,A,B); input A,B; output S,C; /Instantiate primitive gates xor (S,A,B); and (C,A,B); endmodule,/Gate-level hierarchical description of 4-bit adder / Description of half adder,/Description of 1-bit full adder module fulladder (S,CO,A

6、,B,CI); input A,B,CI; output S,CO; wire S1,D1,D2; /內(nèi)部節(jié)點(diǎn)信號 /Instantiate the halfadder halfadder HA1 (S1,D1,A,B); halfadder HA2 (S,D2,S1,CI); or g1(CO,D2,D1); endmodule,/Description of 4-bit full adder module _4bit_adder (S,C3,A,B,C_1); input 3:0 A,B; input C_1; output 3:0 S; output C3; wire C0,C1,C2;

7、 /內(nèi)部進(jìn)位信號 /Instantiate the fulladder fulladder FA0 (S0,C0,A0,B0,C_1), FA1 (S1,C1,A1,B1,C0), FA2 (S2,C2,A2,B2,C1), FA3 (S3,C3,A3,B3,C2); endmodule,4.6.2 組合邏輯電路的數(shù)據(jù)流建模,數(shù)據(jù)流建模能在較高的抽象級別描述電路的邏輯功能。通過邏輯綜合軟件,能夠自動地將數(shù)據(jù)流描述轉(zhuǎn)換成為門級電路。,Verilog HDL的運(yùn)算符,位運(yùn)算符與縮位運(yùn)算的比較,A:4b1010 、 B:4b1111,,對同一個(gè)操作數(shù)的重復(fù)拼接還可以雙重大括號構(gòu)成的運(yùn)算符 例如4A=

8、4b1111,2A,2B,C=8b11101000。,作用是將兩個(gè)或多個(gè)信號的某些位拼接起來成為一個(gè)新的操作數(shù),進(jìn)行運(yùn)算操作。,位拼接運(yùn)算符,設(shè)A=1b1,B=2b10,C=2b00,則B,C4b1000 A,B1,C03b110 A,B,C,3b101=8b11000101。,一般用法: condition_expr?expr1:expr2;,條件運(yùn)算符,是三目運(yùn)算符,運(yùn)算時(shí)根據(jù)條件表達(dá)式的值選擇表達(dá)式。,首先計(jì)算第一個(gè)操作數(shù)condition_expr的值,如果結(jié)果為邏輯1, 則選擇第二個(gè)操作數(shù)expr1的值作為結(jié)果返回,結(jié)果為邏輯0, 選擇第三個(gè)操作數(shù)expr2的值作為結(jié)果返回。,2、數(shù)

9、據(jù)流建模舉例,連續(xù)賦值語句的執(zhí)行過程是:只要邏輯表達(dá)式右邊變量的邏輯值發(fā)生變化,則等式右邊表達(dá)式的值會立即被計(jì)算出來并賦給左邊的變量。,注意,在assign語句中,左邊變量的數(shù)據(jù)類型必須是wire型。,數(shù)據(jù)流建模使用的基本語句是連續(xù)賦值語句assign ,該語句用于對wire型變量進(jìn)行賦值, 它由關(guān)鍵詞assign開始,后面跟著由操作數(shù)和運(yùn)算符組成的邏輯表達(dá)式。,2選1數(shù)據(jù)選擇器的連續(xù)賦值描述是: wire A,B,SEL,L; /聲明4個(gè)連線型變量 assign L=(A /連續(xù)賦值,/Dataflow description of a 2-to-4-line decoder, module

10、 decoder_df (A1,A0,E,Y); input A1,A0,E; output 3:0 Y; assign Y0 = (A1 endmodule,/Dataflow description of 2-to-1-line multiplexer module mux2x1_df (A,B,SEL,L); input A,B,SEL; output L; assign L = SEL ? A : B; endmodule,下面用條件運(yùn)算符描述了一個(gè)2選1的數(shù)據(jù)選擇器。,在連續(xù)賦值語句中,如果SEL1,則輸出LA;否則LB。 數(shù)據(jù)流建模根據(jù)電路的邏輯功能進(jìn)行描述,不必考慮電路的組成以及

11、元件 之間的連接,是描述邏輯電路常用的一種方法。,4.6.3 組合邏輯電路的行為級建模,行為級建模就是描述數(shù)字邏輯電路的功能和算法。 一般使用always結(jié)構(gòu),后面跟著一系列過程賦值語句,給reg類型的變量賦值。,或if (condition_expr1) true_statement1; else if (condition_expr2) true_statement2; else if (condition_expr3) true_statement3; else default_statement;,1、條件語句( if語句) 條件語句就是根據(jù)判斷條件是否成立,確定下一步的運(yùn)算。,if

12、(condition_expr) true_statement;,或 if (condition_expr) true_statement; else fale_ statement;,Verilog語言中有3種形式的if語句:,if后面的條件表達(dá)式一般為邏輯表達(dá)式或關(guān)系表達(dá)式。執(zhí)行if語句時(shí),首先計(jì)算表達(dá)式的值,若結(jié)果為0、x或z,按“假”處理;若結(jié)果為1,按“真”處理,并執(zhí)行相應(yīng)的語句。,是一種多分支條件選擇語句,一般形式如下: case (case_expr) item_expr1: statement1; item_expr2: statement2; default: default

13、_statement; /default語句可以省略,2、多路分支語句(case語句),/Behavioral description of 2-to-1-line multiplexer module mux2to1_bh(A, B, SEL, L); input A, B, SEL; output L; reg L; /define register variable always (SEL or A or B) if (SEL = 1) L = b; /也可以寫成 if (SEL) L=B; else L = A; endmodule,例,always (SEL or A or B) /

14、 語句中括號內(nèi)為敏感變量,當(dāng)括號內(nèi)的任意一個(gè)敏感變量發(fā)生變化時(shí),下面的過程賦值語句就被執(zhí)行一次。,/Behavioral description of 4-to-1-line multiplexer module mux4to1_bh(A,SEL,E,L); input 3:0 A; input 1:0 SEL; output L; reg L; always (A or SEL or E) begin if (E=1) L = 0; else case (SEL) 2d0: L = A0; 2d1: L = A1; 2d2: L = A2; 2d3: L = A3; endcase end

15、endmodule,Verilog數(shù)字設(shè)計(jì)的層次與風(fēng)格,結(jié)構(gòu)(structural)描述 行為(behavioral)描述 數(shù)據(jù)流(data flow)描述 結(jié)構(gòu)描述表示電路由哪些基本元件組成。 行為描述表示電路輸入信號和輸出信號間的邏輯關(guān)系。 數(shù)據(jù)流描述表示采用持續(xù)賦值語句。,【例1】門級結(jié)構(gòu)描述的2選1MUX module MUX2_1a(out, a, b, sel); output out; input a, b, sel; wire sel_, a1, a2; not (sel_, sel); and (a1, a, sel_), (a2, b, sel); or (out, a1, a2); endmodule,【例2】行為描述的2選1MUX module MUX2_1b(out,

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論