版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、4.6 用用VerilogHDL描述組合邏輯電路描述組合邏輯電路4.6.1 組合邏輯電路的門級(jí)建模組合邏輯電路的門級(jí)建模4.6.2 組合邏輯電路的數(shù)據(jù)流建模組合邏輯電路的數(shù)據(jù)流建模4.6.3 組合邏輯電路的行為級(jí)建模組合邏輯電路的行為級(jí)建模4.6 用用Verilog HDL描述組合邏輯電路描述組合邏輯電路用用Verilog HDL描述組合邏輯電路有三種不同抽象級(jí)別:組描述組合邏輯電路有三種不同抽象級(jí)別:組合邏輯電路的門級(jí)描述、組合邏輯電路的數(shù)據(jù)流描述、組合邏輯電路的門級(jí)描述、組合邏輯電路的數(shù)據(jù)流描述、組合邏輯電路的行為級(jí)描述。合邏輯電路的行為級(jí)描述。 Verilog HDL描述的電路就是該描述
2、的電路就是該電路的電路的Verilog HDL模型。模型。行為描述方式:行為描述方式: 一般使用下述語句描述,可以對(duì)組合、時(shí)序邏輯電路建模。一般使用下述語句描述,可以對(duì)組合、時(shí)序邏輯電路建模。 1)initial 語句語句 2)always 語句語句數(shù)據(jù)流描述方式:數(shù)據(jù)流描述方式: 一般使用一般使用assign語句描述,主要用于對(duì)組合邏輯電路建模。語句描述,主要用于對(duì)組合邏輯電路建模。門級(jí)描述:門級(jí)描述: 一般使用一般使用Primitive(內(nèi)部元件)、自定義的下層模塊對(duì)電(內(nèi)部元件)、自定義的下層模塊對(duì)電路描述。主要用于層次化設(shè)計(jì)中。路描述。主要用于層次化設(shè)計(jì)中。基本門級(jí)元件模型基本門級(jí)元件
3、模型 元件符號(hào)元件符號(hào)功能說明功能說明元件符號(hào)元件符號(hào)功能說明功能說明andand多輸入端的與門多輸入端的與門nandnand多輸入端的與非門多輸入端的與非門oror多輸入端的或門多輸入端的或門nornor多輸入端的或非門多輸入端的或非門xorxor多輸入端的異或門多輸入端的異或門xnorxnor多輸入端的異或非門多輸入端的異或非門bufbuf多輸出端的緩沖器多輸出端的緩沖器notnot多輸出端的反相器多輸出端的反相器bufif1bufif1控制信號(hào)高電平有效的三態(tài)緩沖控制信號(hào)高電平有效的三態(tài)緩沖器器notif1notif1控制信號(hào)高電平有效的控制信號(hào)高電平有效的三態(tài)反相器三態(tài)反相器bufif
4、0bufif0控制信號(hào)低電平有效的三態(tài)緩沖控制信號(hào)低電平有效的三態(tài)緩沖器器notif0notif0控制信號(hào)低電平有效的控制信號(hào)低電平有效的三態(tài)反相器三態(tài)反相器多輸入門多輸入門多輸出門多輸出門三態(tài)門三態(tài)門4.6.1 組合邏輯電路的門級(jí)建模組合邏輯電路的門級(jí)建模門級(jí)建模門級(jí)建模:將邏輯電路圖用將邏輯電路圖用HDL規(guī)定的文本語言表示出來。規(guī)定的文本語言表示出來。 and n-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
5、-input exclusive NOR gate buf n-output buffer not n-output inverter bufif0 tri-state buffer; Io enable bufif1 tri-state buffer; hi enable notif0 tri-state inverter; Io enable notif1 tri-state inverter; hi enable1.1.多輸入門多輸入門只允許有一個(gè)輸出,但可以有多個(gè)輸入。只允許有一個(gè)輸出,但可以有多個(gè)輸入。 and A1(out,in1,in2,in3);); 輸輸入入2xxx1zxxx
6、1xxx01111110zx10 輸入輸入1nand nand真值表真值表X- 不確定狀態(tài)不確定狀態(tài)Z- 高阻態(tài)高阻態(tài) and真值表真值表x0zx0 xx10100000zx10 輸入輸入1and輸輸入入2xxxxx調(diào)用名調(diào)用名XX1XZXX1XX11111XX100zx10輸入輸入1or輸輸入入2 or真值表真值表輸輸入入2XXXXZXXXXXXX011XX X1 10 00 0ZX X1 10 0輸入輸入1 1xorxorxor真值表真值表2.2.多輸出門多輸出門允許有多個(gè)輸出,但只有一個(gè)輸入。允許有多個(gè)輸出,但只有一個(gè)輸入。 not N1(out1,out2,in););xx10zx10
7、輸輸 入入buf輸輸 出出 buf真值表真值表 輸輸 出出xx01zx10輸輸 入入notnot真值表真值表 buf B1(out1,out2,in););out1inout2outNout1inout2outNbufif1真值表真值表xxxzzxxxzx1/z1/z1z10/z0/z0z0zx10控制輸入控制輸入bufif1數(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)無效,則三
8、態(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 4. 設(shè)計(jì)舉例設(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 n1 (A1not,A1), n2 (A0not,A0), n3 (Enot,E); n
9、and n4 (Y0,A1not,A0not,Enot), n5 (Y1,A1not,A0,Enot), n6 (Y2,A1,A0not,Enot), n7 (Y3,A1,A0,Enot);endmodule 1 A1 1 1 A0 & & & & E 0Y 1Y 2Y 3Y 試用試用Verilog語言語言的門級(jí)的門級(jí)元件描述元件描述2線線4線譯碼器線譯碼器. . 說明說明部分部分功能功能描述描述例例2 用用Verilog的門級(jí)元件進(jìn)行的門級(jí)元件進(jìn)行描述由三態(tài)門構(gòu)成的描述由三態(tài)門構(gòu)成的2選選1數(shù)據(jù)數(shù)據(jù)選擇器選擇器 。 B L A SEL /Gate-level description of a
10、 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ì)方法簡(jiǎn)介分層次的電路設(shè)計(jì)方法簡(jiǎn)介 4位全加器的層次結(jié)構(gòu)框圖位全加器的層次結(jié)構(gòu)框圖分層次的電路設(shè)計(jì)分層次的電路設(shè)計(jì):在電路設(shè)計(jì)中,將兩個(gè)或多個(gè)模塊組在電路設(shè)計(jì)中,將兩個(gè)或多個(gè)模塊組合起來描述電路邏輯功能的設(shè)計(jì)方法。合起來描述電路邏輯功能的設(shè)計(jì)方法。設(shè)計(jì)方法:設(shè)計(jì)方法:自頂向下和自底向上兩種常用的設(shè)計(jì)方法自頂向下和
11、自底向上兩種常用的設(shè)計(jì)方法 4 4 位位全全加加器器 1 1 位位全全加加器器 1 1 位位全全加加器器 1 1 位位全全加加器器 1 1 位位全全加加器器 半半加加器器 或或門門 半半加加器器 或或門門 . . . . . . A B =1 & C=AB BAS 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 /
12、Description of half adder/Description of 1-bit full addermodule fulladder (S,CO,A,B,CI); input A,B,CI; output S,CO; wire S1,D1,D2; /內(nèi)部節(jié)點(diǎn)信號(hào)內(nèi)部節(jié)點(diǎn)信號(hào)/Instantiate the halfadder halfadder HA1 (S1,D1,A,B); halfadder HA2 (S,D2,S1,CI); or g1(CO,D2,D1);endmodule S A B Ci Co BA iCBA A B i)(CBA 1 C O C O D1S1D2/
13、Description of 4-bit full addermodule _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; /內(nèi)部進(jìn)位信號(hào)內(nèi)部進(jìn)位信號(hào)/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ù)流建模組合
14、邏輯電路的數(shù)據(jù)流建模數(shù)據(jù)流建模能在較高的抽象級(jí)別描述電路的數(shù)據(jù)流建模能在較高的抽象級(jí)別描述電路的邏輯功能。通過邏輯綜合軟件,能夠自動(dòng)地邏輯功能。通過邏輯綜合軟件,能夠自動(dòng)地將數(shù)據(jù)流描述轉(zhuǎn)換成為門級(jí)電路。將數(shù)據(jù)流描述轉(zhuǎn)換成為門級(jí)電路。 Verilog HDL的運(yùn)算符的運(yùn)算符類型類型符號(hào)符號(hào)功能說明功能說明類型類型符號(hào)符號(hào)功能說明功能說明算術(shù)運(yùn)算符算術(shù)運(yùn)算符(雙目運(yùn)算符(雙目運(yùn)算符)+-*/%二進(jìn)制加二進(jìn)制加二進(jìn)制減二進(jìn)制減二進(jìn)制乘二進(jìn)制乘二進(jìn)制除二進(jìn)制除求模求模關(guān)系運(yùn)算符關(guān)系運(yùn)算符(雙目運(yùn)算符)(雙目運(yùn)算符)=右移右移左移左移位運(yùn)算符與縮位運(yùn)算的比較位運(yùn)算符與縮位運(yùn)算的比較 A:4b1010B:
15、4b1111AB= 1010 AB= 0101A|B= 1111 A&B= 1010A = 0101B = 0000 位運(yùn)算位運(yùn)算A=1B=1A=0B=0|A=1|B=0&A=1&B=1&A=1&0&1&0=0 縮位運(yùn)算縮位運(yùn)算對(duì)同一個(gè)操作數(shù)的重復(fù)拼接還可以雙重大括號(hào)構(gòu)成的運(yùn)算符對(duì)同一個(gè)操作數(shù)的重復(fù)拼接還可以雙重大括號(hào)構(gòu)成的運(yùn)算符例如例如4A=4b1111,2A,2B,C=8b11101000。作用是將兩個(gè)或多個(gè)信號(hào)的某些位拼接起來成為一個(gè)新的操作數(shù),作用是將兩個(gè)或多個(gè)信號(hào)的某些位拼接起來成為一個(gè)新的操作數(shù),進(jìn)行運(yùn)算操作。進(jìn)行運(yùn)算操作。位拼接運(yùn)算符位拼接運(yùn)算符設(shè)設(shè)A=1b1,B=2b10,C=
16、2b00則則B,C4b1000A,B1,C03b110A,B,C,3b101=8b11000101。一般用法:一般用法:condition_expr?expr1:expr2;條件運(yùn)算符條件運(yùn)算符是三目運(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é)果返回。2
17、. 數(shù)據(jù)流建模舉例數(shù)據(jù)流建模舉例連續(xù)賦值語句的執(zhí)行過程是:只要邏輯表達(dá)式右邊變量連續(xù)賦值語句的執(zhí)行過程是:只要邏輯表達(dá)式右邊變量的邏輯值發(fā)生變化,則等式右邊表達(dá)式的值會(huì)立即被計(jì)算的邏輯值發(fā)生變化,則等式右邊表達(dá)式的值會(huì)立即被計(jì)算出來并賦給左邊的變量。出來并賦給左邊的變量。注意,在注意,在assign語句中,左邊變量的數(shù)據(jù)類型必須是語句中,左邊變量的數(shù)據(jù)類型必須是wire型。型。 數(shù)據(jù)流建模使用的基本語句是連續(xù)賦值語句數(shù)據(jù)流建模使用的基本語句是連續(xù)賦值語句assign ,該,該語句用于對(duì)語句用于對(duì)wire型變量進(jìn)行賦值,它由關(guān)鍵詞型變量進(jìn)行賦值,它由關(guān)鍵詞assign開始,開始,后面跟著由操作數(shù)
18、和運(yùn)算符組成的邏輯表達(dá)式。后面跟著由操作數(shù)和運(yùn)算符組成的邏輯表達(dá)式。 2選選1數(shù)據(jù)選擇器的連續(xù)賦值描述是:數(shù)據(jù)選擇器的連續(xù)賦值描述是: wire A,B,SEL,L; /聲明聲明4個(gè)連線型變量個(gè)連線型變量assign L=(A & SEL)|(B & SEL); /連續(xù)賦值連續(xù)賦值/Dataflow description of a 2-to-4-line decoder,module decoder_df (A1,A0,E,Y); input A1,A0,E; output 3:0 Y; assign Y0 = (A1 & A0 & E); assign Y1 = (A1 & A0 & E)
19、; assign Y2 = (A1 & A0 & E); assign Y3 = (A1 & A0 & E); endmodule 1 A1 1 1 A0 & & & & E 0Y 1Y 2Y 3Y /Dataflow description of 2-to-1-line multiplexermodule mux2x1_df (A,B,SEL,L); input A,B,SEL; output L; assign L = SEL ? A : B;endmodule 用條件運(yùn)算符描述了一個(gè)用條件運(yùn)算符描述了一個(gè)2選選1的數(shù)據(jù)選擇器。的數(shù)據(jù)選擇器。在連續(xù)賦值語句中,如果在連續(xù)賦值語句中,如果SE
20、L1,則輸出,則輸出LA;否則;否則LB。4.6.3 組合邏輯電路的行為級(jí)建模組合邏輯電路的行為級(jí)建模 行為級(jí)建模就是描述數(shù)字邏輯電路的功能和算法。行為級(jí)建模就是描述數(shù)字邏輯電路的功能和算法。一般使用一般使用always結(jié)構(gòu),后面跟著一系列過程賦值語句,結(jié)構(gòu),后面跟著一系列過程賦值語句,給給reg類型的變量賦值。類型的變量賦值。 if (condition_expr1) true_statement1;else if (condition_expr2) true_statement2;else if (condition_expr3) true_statement3;else default_
21、statement;1. 條件語句(條件語句( if語句)語句)條件語句就是根據(jù)判斷條件是否成立,確定下一步的運(yùn)算。條件語句就是根據(jù)判斷條件是否成立,確定下一步的運(yùn)算。if (condition_expr) true_statement;if (condition_expr) true_statement;else fale_ statement;Verilog語言中有語言中有3種形式的種形式的if語句:語句:if后面的條件表達(dá)式一般為邏輯表達(dá)式或關(guān)系表達(dá)式。執(zhí)行后面的條件表達(dá)式一般為邏輯表達(dá)式或關(guān)系表達(dá)式。執(zhí)行if語句時(shí),首先計(jì)算表達(dá)式的值,若結(jié)果為語句時(shí),首先計(jì)算表達(dá)式的值,若結(jié)果為0、x或或z,按,按“假假”處理;若結(jié)果為處理;若結(jié)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年倉儲(chǔ)物流開荒保潔驗(yàn)收標(biāo)準(zhǔn)合同3篇
- 消費(fèi)電子鋁型材項(xiàng)目可行性研究報(bào)告
- 二零二五年度半股出租車轉(zhuǎn)讓合同與車輛維護(hù)協(xié)議范本3篇
- 旅游消費(fèi)繁榮的創(chuàng)新路徑與策略分析
- xx市高速公路改造項(xiàng)目可行性研究報(bào)告
- 廣西崇左市(2024年-2025年小學(xué)六年級(jí)語文)部編版期中考試(上學(xué)期)試卷及答案
- 工業(yè)互聯(lián)網(wǎng)產(chǎn)業(yè)園經(jīng)濟(jì)可行性分析
- 二零二五年度商鋪購買意向定金合同范本3篇
- 浙江省汽車頭枕總成、支桿及扶手總成項(xiàng)目可行性報(bào)告
- 智研咨詢發(fā)布:中國(guó)鍍鋅管行業(yè)市場(chǎng)現(xiàn)狀、發(fā)展概況、未來前景分析報(bào)告
- 建筑節(jié)能與綠色建筑監(jiān)理細(xì)則
- 2024法務(wù)部門合規(guī)風(fēng)險(xiǎn)管理實(shí)踐模板
- 湖北省襄陽市襄城區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末學(xué)業(yè)水平診斷英語試題
- 學(xué)校科研處處長(zhǎng)述職報(bào)告范文
- 護(hù)理文書書寫規(guī)范
- 2023-2024學(xué)年安徽省阜陽市臨泉縣八年級(jí)(上)期末數(shù)學(xué)試卷(含解析)
- LS/T 1234-2023植物油儲(chǔ)存品質(zhì)判定規(guī)則
- 2016-2023年江蘇醫(yī)藥職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 部編版五年級(jí)語文上冊(cè)期末 小古文閱讀 試卷附答案
- 煙花爆竹火災(zāi)事故的處置措施
- 收費(fèi)站春運(yùn)保通保暢工作方案
評(píng)論
0/150
提交評(píng)論