




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
4.6
用VerilogHDL描述組合邏輯電路4.6.1
組合邏輯電路的門(mén)級(jí)建模4.6.2
組合邏輯電路的數(shù)據(jù)流建模4.6.3
組合邏輯電路的行為級(jí)建模4.6
用VerilogHDL描述組合邏輯電路用VerilogHDL描述組合邏輯電路有三種不同抽象級(jí)別:組合邏輯電路的門(mén)級(jí)描述、組合邏輯電路的數(shù)據(jù)流描述、組合邏輯電路的行為級(jí)描述。VerilogHDL描述的電路就是該電路的VerilogHDL模型。行為描述方式:
一般使用下述語(yǔ)句描述,可以對(duì)組合、時(shí)序邏輯電路建模。
1)initial語(yǔ)句
2)always語(yǔ)句數(shù)據(jù)流描述方式:
一般使用assign語(yǔ)句描述,主要用于對(duì)組合邏輯電路建模。門(mén)級(jí)描述:
一般使用Primitive(內(nèi)部元件)、自定義的下層模塊對(duì)電路描述。主要用于層次化設(shè)計(jì)中。end基本門(mén)級(jí)元件模型元件符號(hào)功能說(shuō)明元件符號(hào)功能說(shuō)明and多輸入端的與門(mén)nand多輸入端的與非門(mén)or多輸入端的或門(mén)nor多輸入端的或非門(mén)xor多輸入端的異或門(mén)xnor多輸入端的異或非門(mén)buf多輸出端的緩沖器not多輸出端的反相器bufif1控制信號(hào)高電平有效的三態(tài)緩沖器notif1控制信號(hào)高電平有效的三態(tài)反相器bufif0控制信號(hào)低電平有效的三態(tài)緩沖器notif0控制信號(hào)低電平有效的三態(tài)反相器多輸入門(mén)多輸出門(mén)三態(tài)門(mén)4.6.1組合邏輯電路的門(mén)級(jí)建模門(mén)級(jí)建模:將邏輯電路圖用HDL規(guī)定的文本語(yǔ)言表示出來(lái)。Verilog基本門(mén)級(jí)元件
andn-inputANDgatenandn-inputNANDgateorn-inputORgatenorn-inputNORgatexorn-inputexclusiveORgatexnorn-inputexclusiveNORgate
bufn-outputbuffer notn-outputinverter bufif0tri-statebuffer; Ioenable bufif1tri-statebuffer;hienable notif0tri-stateinverter;Ioenable notif1tri-stateinverter;hienable1、多輸入門(mén)只允許有一個(gè)輸出,但可以有多個(gè)輸入。andA1(out,in1,in2,in3);輸入2xxx1zxxx1xxx01111110zx10
輸入1nand
nand真值表X-不確定狀態(tài)Z-高阻態(tài)
and真值表x0zx0xx10100000zX10
輸入1and輸入2xxxxx調(diào)用名XX1XZXX1XX11111XX100ZX10輸入1or輸入2
or真值表輸入2XXXXZXXXXXXX011XX100ZX10輸入1xorxor真值表2、多輸出門(mén)允許有多個(gè)輸出,但只有一個(gè)輸入。notN1(out1,out2,…,in);xx10zx10輸入buf輸出buf真值表輸出xx01zx10輸入notnot真值表bufB1(out1,out2,…,in);out1inout2outN…out1inout2outN…bufif1真值表xxxzzxxxzx1/z1/z1z10/z0/z0z0zx10控制輸入bufif1數(shù)據(jù)輸入xxxzzxxxzx0/z0/z0z11/z1/z10zzx10控制輸入notif1數(shù)據(jù)輸入notif1真值表3、三態(tài)門(mén)有一個(gè)輸出、一個(gè)數(shù)據(jù)輸入和一個(gè)輸入控制。如果輸入控制信號(hào)無(wú)效,則三態(tài)門(mén)的輸出為高阻態(tài)z。4、設(shè)計(jì)舉例//Gate-leveldescriptionofa2-to-4-linedecodermodule_2to4decoder(A1,A0,E,Y);inputA,B,E;output[3:0]Y;wireA1not,A0not,Enot;notn1(A1not,A1),n2(A0not,A0),n3(Enot,E);nandn4(Y[0],A1not,A0not,Enot),n5(Y[1],A1not,A0,Enot),n6(Y[2],A1,A0not,Enot),n7(Y[3],A1,A0,Enot);endmodule
試用Verilog語(yǔ)言的門(mén)級(jí)元件描述2線-4線譯碼器.說(shuō)明部分功能描述例2用Verilog的門(mén)級(jí)元件進(jìn)行描述由三態(tài)門(mén)構(gòu)成的2選1數(shù)據(jù)選擇器。//Gate-leveldescriptionofa2-to-1-linemultiplexermodule_2to1muxtri(A,B,SEL,L);inputA,B,SELoutputL;triL;bufif1(L,B,SEL);bufif0(L,A,SEL);endmodule
5、分層次的電路設(shè)計(jì)方法簡(jiǎn)介
4位全加器的層次結(jié)構(gòu)框圖分層次的電路設(shè)計(jì):在電路設(shè)計(jì)中,將兩個(gè)或多個(gè)模塊組合起來(lái)描述電路邏輯功能的設(shè)計(jì)方法。設(shè)計(jì)方法:自頂向下和自底向上兩種常用的設(shè)計(jì)方法modulehalfadder(S,C,A,B);
inputA,B;
outputS,C;//Instantiateprimitivegates
xor(S,A,B);
and(C,A,B);endmodule//Gate-levelhierarchicaldescriptionof4-bitadder//Descriptionofhalfadder//Descriptionof1-bitfulladdermodulefulladder(S,CO,A,B,CI);inputA,B,CI;outputS,CO;wireS1,D1,D2;//內(nèi)部節(jié)點(diǎn)信號(hào)//InstantiatethehalfadderhalfadderHA1(S1,D1,A,B);halfadderHA2(S,D2,S1,CI);org1(CO,D2,D1);endmoduleD1S1D2//Descriptionof4-bitfulladdermodule_4bit_adder(S,C3,A,B,C_1);input[3:0]A,B;inputC_1;output[3:0]S;outputC3;wireC0,C1,C2;//內(nèi)部進(jìn)位信號(hào)//InstantiatethefulladderfulladderFA0(S[0],C0,A[0],B[0],C_1),FA1(S[1],C1,A[1],B[1],C0),FA2(S[2],C2,A[2],B[2],C1),FA3(S[3],C3,A[3],B[3],C2);endmodule
4.6.2組合邏輯電路的數(shù)據(jù)流建模數(shù)據(jù)流建模能在較高的抽象級(jí)別描述電路的邏輯功能。通過(guò)邏輯綜合軟件,能夠自動(dòng)地將數(shù)據(jù)流描述轉(zhuǎn)換成為門(mén)級(jí)電路。VerilogHDL的運(yùn)算符類型符號(hào)功能說(shuō)明類型符號(hào)功能說(shuō)明算術(shù)運(yùn)算符(雙目運(yùn)算符)+-*/%二進(jìn)制加二進(jìn)制減二進(jìn)制乘二進(jìn)制除求模關(guān)系運(yùn)算符(雙目運(yùn)算符)><>=<===!=大于小于大于或等于小于或等于等于不等于位運(yùn)算符(雙目運(yùn)算符)~&|^^~或~^按位取反按位與按位或按位異或按位同或縮位運(yùn)算符(單目運(yùn)算符)&~&|~|^^~或~^縮位與縮位與非縮位或縮位或非縮位異或縮位同或邏輯運(yùn)算符!&&||邏輯非邏輯與邏輯或移位運(yùn)算符(雙目運(yùn)算符)>><<右移左移位運(yùn)算符與縮位運(yùn)算的比較A:4’b1010、B:4’b1111,A~^B=1010A^B=0101A|B=1111A&B=1010~A=0101~B=0000
位運(yùn)算~^A=1~^B=1^A=0^B=0|A=1~|B=0~&A=1&B=1&A=1&0&1&0=0
縮位運(yùn)算對(duì)同一個(gè)操作數(shù)的重復(fù)拼接還可以雙重大括號(hào)構(gòu)成的運(yùn)算符{{}}例如{4{A}}=4’b1111,{2{A},2{B},C}=8’b11101000。作用是將兩個(gè)或多個(gè)信號(hào)的某些位拼接起來(lái)成為一個(gè)新的操作數(shù),進(jìn)行運(yùn)算操作。位拼接運(yùn)算符設(shè)A=1’b1,B=2’b10,C=2’b00則{B,C}=4’b1000{A,B[1],C[0]}=3’b110{A,B,C,3’b101}=8’b11000101。一般用法: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ù)據(jù)流建模舉例連續(xù)賦值語(yǔ)句的執(zhí)行過(guò)程是:只要邏輯表達(dá)式右邊變量的邏輯值發(fā)生變化,則等式右邊表達(dá)式的值會(huì)立即被計(jì)算出來(lái)并賦給左邊的變量。注意,在assign語(yǔ)句中,左邊變量的數(shù)據(jù)類型必須是wire型。
數(shù)據(jù)流建模使用的基本語(yǔ)句是連續(xù)賦值語(yǔ)句assign,該語(yǔ)句用于對(duì)wire型變量進(jìn)行賦值,它由關(guān)鍵詞assign開(kāi)始,后面跟著由操作數(shù)和運(yùn)算符組成的邏輯表達(dá)式。2選1數(shù)據(jù)選擇器的連續(xù)賦值描述是:wireA,B,SEL,L;//聲明4個(gè)連線型變量assignL=(A&~SEL)|(B&SEL);//連續(xù)賦值//Dataflowdescriptionofa2-to-4-linedecoder,moduledecoder_df(A1,A0,E,Y);inputA1,A0,E;output[3:0]Y;assignY[0]=~(~A1&~A0&~E);assignY[1]=~(~A1&A0&~E);assignY[2]=~(A1&~A0&~E);assignY[3]=~(A1&A0&~E);endmodule
//Dataflowdescriptionof2-to-1-linemultiplexermodulemux2x1_df(A,B,SEL,L);inputA,B,SEL;outputL;assignL=SEL?A:B;endmodule
用條件運(yùn)算符描述了一個(gè)2選1的數(shù)據(jù)選擇器。在連續(xù)賦值語(yǔ)句中,如果SEL=1,則輸出L=A;否則L=B。4.6.3
組合邏輯電路的行為級(jí)建模
行為級(jí)建模就是描述數(shù)字邏輯電路的功能和算法。一般使用always結(jié)構(gòu),后面跟著一系列過(guò)程賦值語(yǔ)句,給reg類型的變量賦值。if(condition_expr1)true_statement1;elseif(condition_expr2)true_statement2;elseif(condition_expr3)true_statement3;……elsedefault_statement;1、條件語(yǔ)句(if語(yǔ)句)條件語(yǔ)句就是根據(jù)判斷條件是否成立,確定下一步的運(yùn)算。if(condition_expr)true_statement;if(condition_expr)true_statement;elsefale_statement;Verilog語(yǔ)言中有3種形式的if語(yǔ)句:if后面的條件表達(dá)式一般為邏輯表達(dá)式或關(guān)系表達(dá)式。執(zhí)行if語(yǔ)句時(shí),首先計(jì)算表達(dá)式的值,若結(jié)果為0、x或z,按“假”處理;若結(jié)果為1,按“真”處理,并執(zhí)行相應(yīng)的語(yǔ)句。是一種多分支條件選擇語(yǔ)句,一般形式如下:case(case_expr)item_expr1:statement1;item_exp
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政管理對(duì)社會(huì)的影響的試題及答案
- 企業(yè)文化建設(shè)解讀課件
- 行政管理專科語(yǔ)文網(wǎng)絡(luò)學(xué)習(xí)指南及試題
- 歷史文化遺址管理中的文化概論試題及答案
- 2025贈(zèng)與合同有什么法律特征
- 華南旅游區(qū)旅游資源概覽
- 標(biāo)準(zhǔn)廠房項(xiàng)目水土保護(hù)措施與實(shí)施方案
- 藥學(xué)臨床操作試題及答案示例
- 開(kāi)展心理健康講座計(jì)劃
- 企業(yè)改革與管理培訓(xùn)課件
- 梁山伯與祝英臺(tái)小提琴譜樂(lè)譜
- 純水管道施工方案-2
- 職業(yè)道德與法治中職PPT完整全套教學(xué)課件
- (譯林版)初中英語(yǔ)大綱詞匯表(中考打印)
- 形勢(shì)與政策(“四個(gè)正確認(rèn)識(shí)”專題)知到章節(jié)答案智慧樹(shù)2023年棗莊學(xué)院
- 保潔員滿意度調(diào)查問(wèn)卷
- 初中英語(yǔ)1000組固定詞組及句型搭配
- 周圍神經(jīng)損傷的康復(fù)761
- 神經(jīng)系統(tǒng)的健康評(píng)估 (健康評(píng)估課件)
- 佳能700d攝影技巧
- WS/T 92-1996血中鋅原卟啉的血液熒光計(jì)測(cè)定方法
評(píng)論
0/150
提交評(píng)論