EAD課程-第7章 組合邏輯模塊_第1頁(yè)
EAD課程-第7章 組合邏輯模塊_第2頁(yè)
EAD課程-第7章 組合邏輯模塊_第3頁(yè)
EAD課程-第7章 組合邏輯模塊_第4頁(yè)
EAD課程-第7章 組合邏輯模塊_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分1第7章 組合邏輯電路模塊 7.1 門(mén)電路門(mén)電路 7.1.1 二輸入與非門(mén)電路二輸入與非門(mén)電路 7.1.2 二輸入與或門(mén)電路二輸入與或門(mén)電路 7.1.3 二輸入異或門(mén)電路二輸入異或門(mén)電路7.2 編碼器、譯碼器、選擇器電路編碼器、譯碼器、選擇器電路 7.2.1 8-3線優(yōu)先編碼器設(shè)計(jì)線優(yōu)先編碼器設(shè)計(jì) 7.2.2 3-8線譯碼器線譯碼器 7.2.3 4選選1數(shù)據(jù)選擇器數(shù)據(jù)選擇器VHDL語(yǔ)言描述語(yǔ)言描述 第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分27.1 組合邏輯電路設(shè)計(jì)組合邏輯電路設(shè)計(jì) 7.1.1 基本門(mén)電路基本門(mén)電路 基本

2、門(mén)電路有與門(mén)、或門(mén)、非門(mén)、與非門(mén)、或非門(mén)和異或門(mén)等,用VHDL語(yǔ)言來(lái)描述十分方便?!纠纠?.1】2輸入與非門(mén)電路LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYxx1ISPORT(a,b:INSTD_logic;y:OUTSTD_LOGIC);ENDxx1;ARCHITECTURENAND2PPOFxx1ISBEGINy=aNANDB;ENDNAND2PP; 第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分3【例【例7.2】2輸入或非門(mén)LIBRARY ieee;use ieee.std_logic_1167.all;entity nor2

3、isport(a,b:in std_logic; y:out std_logic);end nor2;architecture nor_behave of nor2 isbegin y=a nor b;end nor_behave;【例【例7.3】2輸入異或門(mén)電路library ieee;use ieee.std_logic_1167.all;entity xor2 is PORT(a,b:IN STD_IOGIC; y:out std_logic);END XOR B;ARCHITECTURE XOR_BEHAVE OF XOR2 ISbegin y=a xor b;END XOR_BEHA

4、VE;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分4【例【例7.4】同時(shí)實(shí)現(xiàn)一個(gè)與門(mén)、或門(mén)、與非門(mén)、或非門(mén)、異或門(mén)及反相器的邏輯同時(shí)實(shí)現(xiàn)一個(gè)與門(mén)、或門(mén)、與非門(mén)、或非門(mén)、異或門(mén)及反相器的邏輯 LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYGATEISPORT(A,B:INSTD_LOGIC;YAND,YOR,YNAND,YNOR,YNOT,YXOR:OUTSTD_LOGIC);ENDGATE;ARCHITECTUREARTOFGATEISBEGINYAND=AANDB;-與門(mén)輸出YOR=AORB;-或門(mén)輸出YNAND=ANANDB;-與非

5、門(mén)輸出YNOR=ANORB;-或非門(mén)輸出YNOT=ANOTB;-反相器輸出YXOR=AXORB;-異或門(mén)輸出ENDART;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分5 7.2 編碼器、譯碼器、選擇器電路編碼器、譯碼器、選擇器電路【例7.5】實(shí)現(xiàn)74LS138三線-八線譯碼器(輸出低電平有效)。三線-八線譯碼器74LS138的輸出有效電平為低電平,譯碼器的使能控制輸入端g1、g2a、g2b有效時(shí),當(dāng)3線數(shù)據(jù)輸入端cba=000時(shí),y7.0=11111110(即y0=0);當(dāng)cba=001時(shí),y7.0=11111101(即y1=0);依此類(lèi)推。 用VHDL描述的三線-八線譯碼器74

6、LS138源程序如下:LIBRARYieee;USEieee.std_logic_1167.all;entitydecoder38isport(a,b,c,g1,g2a,g2b:instd_logic;y:outstd_logic_vector(7downto0);enddecoder38;architecturebehave38OFdecoder38issignalindata:std_logic_vector(2downto0);beginindatayyyyyyyyy=XXXXXXXX;endcase;elsey=11111111;endif;endprocess;endbehave38

7、;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分6【例【例7.6】分別以分別以4種方法描述一個(gè)輸出高電平有效的種方法描述一個(gè)輸出高電平有效的3-8譯碼器。譯碼器。 LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;USEIEEE.STD_LOGIC_UNSIGNED_ALL;ENTITYDECODERISPORT(INP:INSTD_LOGIC_VECTOR(2DOWNTO0);OUTP:OUTBIT_VECTOR(7DOWNTO0);ENDDECODER;方法方法1:使用SLL邏輯運(yùn)算符ARCHITECTUREART1OFDECODERISBEGINO

8、UTP=00000001SLL(CONV_INTEGER(INP);ENDART1;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分7方法方法2:使用PROCESS語(yǔ)句ARCHITECTUREART2OFDECODERISBEGINPROCESS(INP)BEGINOUTP1)OUTP(COVN_INTEGER(INP)=1ENDPROCESS;ENDART2;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分8方法方法3:使用WHENELSE語(yǔ)句ARCHITECTUREART3OFDECODERISBEGINOUTP(0)=1WHENINP=000ELSE0;OUTP(1)

9、=1WHENINP=001ELSE0;OUTP(2)=1WHENINP=010ELSE0;OUTP(3)=1WHENINP=011ELSE0;OUTP(4)=1WHENINP=100ELSE0;OUTP(5)=1WHENINP=101ELSE0;OUTP(6)=1WHENINP=110ELSE0;OUTP(7)OUTPOUTPOUTPOUTPOUTPOUTPOUTPOUTPOUTP=XXXXXXXX;ENDCASE;ENDART4;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分107.2.3 編碼器編碼器 1. 8-3線優(yōu)先編碼器線優(yōu)先編碼器8-3線優(yōu)先編碼器,輸入信號(hào)為A、B、C

10、、D、E、F、G和H,輸出信號(hào)為OUT0、OUT1和OUT2。輸入信號(hào)中A的優(yōu)先級(jí)別最低,依次類(lèi)推,H的優(yōu)先級(jí)別最高?!纠纠?.7】用3種方法設(shè)計(jì)8-3線優(yōu)先編碼器。LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYENCODERISPORT(A,B,C,D,E,F(xiàn),G,H:INSTD_LOGIC:OUT0,OUT1,OUT2:OUTSTD_LOGIC);ENDENCODER;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分11方法方法1:使用條件賦值語(yǔ)句ARCHITECTUREART1OFENCODERISSIGNALOUTS:STD_LO

11、GIC_VECTOR(2DOWNTO0);BEGINOUTS(2DOWNTO0)=111WHENH=1ELSE110WHENG=1ELSE101WHENF=1ELSE100WHENE=1ELSE011WHEND=1ELSE010WHENC=1ELSE001WHENB=1ELSE000WHENA=1ELSEXXX;OUT0=OUTS(0);OUT1=OUTS(1);OUT2=0ANDINPUTS(I)/=1LOOPI:=I-1;ENDLOOP;(OUT2,OUT1,OUT0)=CONV_STD_LOGIC_VECTOR(I,3);ENDPROCESS;ENDART2;第7章 組合邏輯電路模塊20

12、21年12月16日16時(shí)40分13方法方法3:使用:使用IF語(yǔ)句語(yǔ)句LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYENCODERISPORT(IN1:INSTD_LOGIC_VECTOR(7DOWNTO0);OUT1:OUTSTD_LOGIC_VECTOR(2DOWNTO0);ENDENCODER;ARCHITECTUREART3OFENCODERISBEGINPROCESS(INT1)BEGINIFIN1(7)=1THENOUT1=111;ELSIFIN1(6)=1THENOUT1=110;ELSIFIN1(5)=1THENOUT1=101;ELS

13、IFIN1(4)=1THENOUT1=100;ELSIFIN1(3)=1THENOUT1=011;ELSIFIN1(2)=1THENOUT1=010;ELSIFIN1(1)=1THENOUT1=001;ELSIFIN1(0)=1THENOUT1=000;ELSEOUT1 S S S S S S S S S S S S S S S S S = B0000; END CASE; END PROCESS ;END struc;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分177.2.4 數(shù)值比較器數(shù)值比較器 數(shù)值比較器可以比較兩個(gè)二進(jìn)制是否相等,下面是一個(gè)8位比較器的VHDL描述。有兩個(gè)

14、8位二進(jìn)制數(shù),分別是A和B,輸出為EQ,當(dāng)A=B時(shí),EQ=1,否則EQ=0。 【例【例7.9】8位數(shù)值比較器的位數(shù)值比較器的VHDL描述描述 LIBRARYIEEE;USEIEEE.STD_LOGIC_VECTOR(7DOWNTO0);ENTITYCOMPAREISPORT(A,B:INSTD_LOGIC_VECTOR(7DOWNTO0);EQ:OUTSTD_LOGIC);ENDCOMPARE;ARCHITECTUREARTOFCOMPAREISBEGINEQ=1WHENA=BELSE0;ENDART;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分187.2.5 數(shù)據(jù)選擇器數(shù)據(jù)選擇

15、器 4選1選擇器用于四路信號(hào)的切換。4選1選擇器有4個(gè)信號(hào)輸入端INP(0)INP(3),兩個(gè)信號(hào)選擇端A、B,一個(gè)信號(hào)輸出端Y。當(dāng)A、B輸入不同的選擇信號(hào)時(shí),就可以使INP(0)INP(3)中某個(gè)相應(yīng)的輸入信號(hào)與輸出端Y接通?!纠?.10】4選1選擇器的VHDL描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYMUX41ISPORT(INP:INSTD_LOGIC_VECTOR(3DOWNTO0);A,B:INSTD_LOGIC;Y:OUTSTD_LOGIC);ENDMUX41;ARCHITECTUREARTOFMUX41ISSIGNALSEL:S

16、TD_LOGIC_VECTOR(1DOWNTO0);第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分19BEGINSEL=B&A;PROCESS(INP,SEC)BEGINIF(SEL=00)THENY=INP(0);ELSIF(SEL=01)THENY=INP(1);ELSIF(SEL=11)THENY=INP(2);ELSEY=INP(3);ENDIF;ENDPROCESS;ENDART;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分207.2.6 算術(shù)運(yùn)算電路算術(shù)運(yùn)算電路1.加法器加法器【例7.12】半加器LIBRARY IEEE;USE IEEE.STD_

17、LOGIC_1167.ALL;ENTITY half ISPORT (a,b:IN std_LOGIC; s,co:OUT std_LOGIC);END half;ARCHITECTURE half1 OF half ISsignal c,d:std_logic;BEGIN c=a OR b; d=a NAND b; co=NOT d; s=c and d;END half1; 第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分21【例【例7.13】全加器,由半加器組成,以元件方式調(diào)用。LIBRARY ieee;USE ieee.std_logic_1167.all;ENTITY ha

18、lf ISPORT (a, b:IN std_LOGIC; s,co:OUT std_LOGIC);END half;ARCHITECTURE half1 OF half ISsignal c,d:std_logic;BEGIN c=a or b; d=a nand b; co=not d; s=c and d;end half1;LIBRARY ieee;USE ieee.std_logic_1167.all;ENTITY full ISPORT (a,b,cin:IN std_LOGIC; s,co: OUT std_LOGIC);END full;ARCHITECTURE full1 O

19、F full ISCOMPONENT half PORT (a, b:IN std_LOGIC; s,co:OUT std_LOGIC);END COMPONENT;SIGNAL u0_co,u0_s,u1_co:std_logic;BEGIN u0:half port map(a,b,u0_s,u0_co); u1:half port map(u0_s,cin,s,u1_co);co=u0_co or u1_co;end full1;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分222. 乘法器乘法器【例【例7.147.14】8位乘法器的設(shè)計(jì)。 8位乘法器的元件符號(hào)如圖7.4所示

20、,a7.0和b7.0是被乘數(shù)和乘數(shù)輸入端,q15.0是乘積輸出端。8位乘法器源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYmulISPORT(a,b:INintegerrange0to255;q:OUTintegerrange0to65535);ENDmul;ARCHITECTUREoneOFmulISBEGINq=a*b;ENDone;圖圖7.4 8位乘法器元件符號(hào)位乘法器元件符號(hào)第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分23【例【例7.15】對(duì)輸入操作數(shù)A、B作加、減、乘、除運(yùn)算LIBRARYIEEE;USEIEEE.

21、STD_LOGIC_1167.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYARITHMETICISPORT(A,B:INSTD_LOGIC_VECTOR(3DOWNTO0);Q1:OUTSTD_LOGIC_VECTOR(4DOWNTO0);Q2,Q3:OUTSTD_LOGIC_VECTOR(3DOWNTO0);Q4:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDARITHMETIC;ARCHITECTUREARTOFARITHMETICISBEGINPROCESS(A,B)BEGI

22、NQ1=(0&A)+(0&B);-ADDITIONQ2=A-B; -SUBTRACTIONQ3=A/B;-DIVISIONQ4=A*B;-MULTIPLICATIONENDPROCESS;ENDART;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分247.2.7 三態(tài)門(mén)及總線緩沖器三態(tài)門(mén)及總線緩沖器三態(tài)門(mén)和總線緩沖器是驅(qū)動(dòng)電路經(jīng)常用到的器件。1. 三態(tài)門(mén)電路三態(tài)門(mén)電路【例【例7.16】三態(tài)門(mén)電路的三態(tài)門(mén)電路的VHDL描述描述 LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYTRISTATEISPORT(EN,DIN:INST

23、D_LOGIC;DOUT:OUTSTD_LOGIC);ENDTRISTATE;ARCHITECTUREARTOFTRISTATEISBEGINPROCESS(EN,DIN)BEGINIFEN=1THENDOUT=DIN;ELSEDOUT=Z;ENDIF;ENDPROCESS;ENDART;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分252. 單向總線驅(qū)動(dòng)器單向總線驅(qū)動(dòng)器在微型計(jì)算機(jī)的總線驅(qū)動(dòng)中經(jīng)常要用單向總線緩沖器,它通常由多個(gè)三態(tài)門(mén)組成,用來(lái)驅(qū)動(dòng)地址總線和控制總線。一個(gè)8位的單向總線緩沖器如圖7.5所示。圖7.5單向總線緩沖器DOUT7.0ENDIN7.0ENTRI_BUF8D

24、OUT7.0DIN7.0第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分26【例【例7.17】單向總線緩沖器的單向總線緩沖器的VHDL描述描述 LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYTR1_BUF8ISPORT(DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);EN:INSTD_LOGIC;DOUNT:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ARCHITECTUREARTOFTR1_BUF8ISBEGINPROCESS(EN,DIN)IF(EN=1)THENDOUT=DIN;ELSEDOUT=ZZZZZZZZ;ENDIF;ENDPROCESS;ENDART;第7章 組合邏輯電路模塊2021年12月16日16時(shí)40分27 3. 雙向總線緩沖器雙向總線緩沖器雙向總線緩沖器用于數(shù)據(jù)總線的驅(qū)動(dòng)和緩沖,典型的雙向總線緩沖器如圖7.6所示。圖中的雙向總線緩沖器有兩個(gè)數(shù)據(jù)輸入輸出端A和B,一個(gè)方向控制端DIR和一個(gè)選通端EN。EN=0時(shí)雙向緩沖器

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論