數(shù)字電路與邏輯設(shè)計教程-第3章_第1頁
數(shù)字電路與邏輯設(shè)計教程-第3章_第2頁
數(shù)字電路與邏輯設(shè)計教程-第3章_第3頁
數(shù)字電路與邏輯設(shè)計教程-第3章_第4頁
數(shù)字電路與邏輯設(shè)計教程-第3章_第5頁
已閱讀5頁,還剩139頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章組合邏輯電路3.1組合邏輯電路的分析3.2組合邏輯電路的設(shè)計3.3常見組合邏輯電路及其應(yīng)用3.4組合邏輯電路中的險象及其消除本章小結(jié)3.1組合邏輯電路的分析通過邏輯代數(shù)的化簡以及邏輯門電路的特點來分析組合邏輯電路,可加深對組合邏輯電路的理解。3.1.1組合邏輯電路的特點邏輯電路按其輸出信號對輸入信號響應(yīng)的不同,可以分為組合邏輯電路和時序邏輯電路兩大類。若一個邏輯電路,其任一時刻的輸出僅取決于該時刻輸入變量取值的組合,而與電路以前的狀態(tài)無關(guān),則該邏輯電路就稱為組合邏輯電路(簡稱組合電路)。一個具體的組合邏輯電路所實現(xiàn)的特定功能在邏輯上完全可以用一組邏輯函數(shù)加以描述。下一頁返回3.1組合邏輯電路的分析圖3-1給出了組合邏輯電路的一般框圖。其中n個輸入(X1,X2,…,Xn)共有2n種可能的組合狀態(tài),m個輸出(Z1,Z2,…Zm)可用m個邏輯函數(shù)來描述。輸出與輸入之間的邏輯關(guān)系可表示為Zi=fi(X1,X2,…Xn)其中i=1,2,…m。只有一個輸出變量的組合邏輯電路,稱為單輸出組合邏輯電路;有多個輸出變量的組合邏輯電路稱為多輸出組合邏輯電路。從電路的結(jié)構(gòu)和功能上看,組合邏輯電路的特點可歸納為以下幾點:上一頁下一頁返回3.1組合邏輯電路的分析(1)電路中不存在輸出端和輸入端的反饋通路。(2)電路主要由各種門電路組合而成,其中不包含存儲信息的存儲元件。

(3)電路的輸入狀態(tài)一旦確定后,輸出狀態(tài)便被唯一地確定下來。所以,輸出變量是輸入變量的邏輯函數(shù)。(4)電路的輸出狀態(tài)不影響輸入狀態(tài),電路的歷史狀態(tài)也不影響輸出狀態(tài)。上一頁下一頁返回3.1組合邏輯電路的分析3.1.2組合邏輯電路的一般分析方法對給定的組合邏輯電路圖求解其邏輯功能的過程稱為組合邏輯電路的分析。所謂分析就是找出組合邏輯電路輸入變量和輸出變量之間的關(guān)系,即找出何種輸入狀態(tài)組合下電路輸出為“1",何種輸入狀態(tài)組合下電路輸出為“0"。通過分析可以了解組合邏輯電路的功能和設(shè)計思路,從而進一步對電路作出評價和改進。上一頁下一頁返回3.1組合邏輯電路的分析通常,只要列出組合邏輯電路的真值表,就可以知道該電路的邏輯功能。因此,組合邏輯電路的分析,實質(zhì)上是由函數(shù)的邏輯圖形式入手,通過函數(shù)表達式最終轉(zhuǎn)換成函數(shù)真值表形式的過程。組合邏輯電路的一般分析方法可按以下步驟進行。第一步:根據(jù)給出的組合邏輯電路圖,由輸入端逐級向后遞推,寫出每個門的輸出對于輸入的邏輯關(guān)系,最后得到整個組合邏輯電路的輸出變量對于輸入變量的邏輯函數(shù)表達式。上一頁下一頁返回3.1組合邏輯電路的分析第二步:利用邏輯代數(shù)法或卡諾圖法,對所得的邏輯函數(shù)表達式進行轉(zhuǎn)換或化簡,得到邏輯函數(shù)的標(biāo)準(zhǔn)或最簡“與-或”表達式。第三步:由邏輯函數(shù)的標(biāo)準(zhǔn)“與-或”表達式或最簡“與-或”表達式列出對應(yīng)的真值表。第四步:由真值表判斷出組合邏輯電路的邏輯功能。上一頁下一頁返回3.1組合邏輯電路的分析3.1.3組合邏輯電路分析舉例1.單輸出組合邏輯電路分析舉例【例3-1】試分析圖3-2所示的組合邏輯電路的功能。解(1)由G1、G2、G3各個門電路的輸入和輸出關(guān)系,推出整個邏輯組合的表達式:Z1=ABC,Z2=A+B+C,F(xiàn)=Z1+Z2=ABC+A+B+C。(2)對該邏輯表達式進行化簡。F=ABC+A+B+C=ABC+ABC上一頁下一頁返回3.1組合邏輯電路的分析(3)根據(jù)化簡后的函數(shù)表達式列出真值表見表3-1。(4)從真值表中可以看出,當(dāng)A,B,C3個輸入變量一致時(或者全為“0”、或者全為“1"),輸出才為“1",否則輸出為“0",所以,這個組合邏輯電路具有檢測“輸入一致”的功能,也稱為“判一致電路”。2.多輸出組合邏輯電路分析舉例【例3-2】試分析圖3-3所示的組合邏輯電路的功能。上一頁下一頁返回3.1組合邏輯電路的分析(1)由G1G2G3G4G5各個門電路的輸入和輸出對應(yīng)關(guān)系,推出整個組合邏輯電路的表達式:Z1=AB,Z2=Z1·A=AB·A,Z3=Z1·B=AB·BS=Z2·Z3=AB·A·AB·B,C=Z1=AB(2)對邏輯表達式進行簡化:S=AB·A·AB·B=AB·A+AB·B=(A+B)A+(A+B)B;=AB+AB=A⊕B.C=AB=AB上一頁下一頁返回3.1組合邏輯電路的分析(3)根據(jù)化簡后的函數(shù)表達式列出真值表見表3-2。

(4)分析功能。若設(shè)A,B各為一位二進制加數(shù),則從真值表可以看出,C為兩加數(shù)相加后的一位和,C為兩加數(shù)相加后的進位值。由此可見,這個組合邏輯電路實現(xiàn)了加法器的功能。但由于這種加法器不計低位來的進位,所以稱為“半加器”(HalfAdder)。半加器是運算器的基本單元電路,其符號如圖3-4所示。上一頁返回3.2組合邏輯電路的設(shè)計通過對組合邏輯電路的分析,已經(jīng)對其特點以及功能有了初步的認(rèn)識。下面根據(jù)前述知識來對組合邏輯電路的設(shè)計詳加探討。3.2.1組合邏輯電路的一般設(shè)計方法邏輯設(shè)計是數(shù)字技術(shù)中的一個重要課題。任何一個可描述的事件或過程,都可以進行嚴(yán)格的設(shè)計,然后用數(shù)字器件加以實現(xiàn)。下一頁返回3.2組合邏輯電路的設(shè)計根據(jù)要求設(shè)計的邏輯功能,通過抽象和化簡,進而求得滿足功能要求的組合邏輯電路圖的過程,稱為組合邏輯電路的設(shè)計??梢姡M合邏輯電路的設(shè)計是分析的逆過程。一般組合邏輯電路的設(shè)計可按以下步驟進行。第一步:根據(jù)所需要的設(shè)計要求和已知條件,弄清輸入和輸出變量的個數(shù)及其之間的邏輯關(guān)系,列出滿足邏輯要求的真值表。第二步:由真值表列出邏輯函數(shù)的標(biāo)準(zhǔn)“與-或”表達式或最簡“與-或”表達式。上一頁下一頁返回3.2組合邏輯電路的設(shè)計第三步:根據(jù)所選的門電路類型及實際問題的要求,將邏輯函數(shù)轉(zhuǎn)換成所需的表達式形式。第四步:由所得的邏輯表達式畫出邏輯電路圖。以上步驟中關(guān)鍵的是第一步。一個事件或過程的功能描述,最初總是以文字的形式提出的,設(shè)計者必須對這些描述有全面、正確的理解。而只有先明確哪些因素是輸入變量、哪些因素是輸出變量,以及輸入、輸出變量之間的邏輯關(guān)系,才能列出正確的真值表。正確的真值表是組合邏輯電路設(shè)計的基礎(chǔ)。上一頁下一頁返回3.2組合邏輯電路的設(shè)計需要指出的是,一個最簡單的邏輯表達式不一定就對應(yīng)一個最簡單的邏輯電路。當(dāng)采用中、小規(guī)模集成電路作為基本邏輯單元進行設(shè)計時,邏輯門數(shù)最少、級數(shù)(輸入端到輸出端所經(jīng)過的最多門數(shù))最少、芯片數(shù)最少的電路才是最簡單的電路。例如,某邏輯函數(shù)的最簡表達式為F=AB+AB,按照該表達式實現(xiàn)的電路需要3種類型共5個門電路(兩個非門、兩個與門和一個或門)。若將表達式等價轉(zhuǎn)換為F=AB·A·AB·B,則實現(xiàn)該電路功能時只要同類的4個與非門(如一片7400芯片)就可以了。上一頁下一頁返回3.2組合邏輯電路的設(shè)計3.2.2組合邏輯電路設(shè)計舉例【例3-3】3人按少數(shù)服從多數(shù)原則對某事進行表決,但其中一人有決定權(quán),即只要他同意,不論同意者是否達到多數(shù),表決仍將通過。試用“與非”門設(shè)計該表決器。解(1)由題意可知,該表決器有3個輸入變量和1個輸出變量。設(shè)A,B,C為輸入變量(“1”表示同意,“0”表示不同意),且A為有決定權(quán)的變量,F(xiàn)為輸出變量(“1”表示通過,“0”表示不通過)。將表決器的邏輯功能描述為:當(dāng)A為“1”或者B,C均為“1”時,F(xiàn)才為“1”。由此可以列出真值表見表3-3。上一頁下一頁返回3.2組合邏輯電路的設(shè)計(2)由真值表列出邏輯表達式為:F=ABC+ABC+ABC+ABC+ABC.用卡諾圖化簡邏輯函數(shù),如圖3-5(a)所示,得到最簡“與或”表達式:F=A+BC。(3)將表達式轉(zhuǎn)換成用“與非”邏輯實現(xiàn)的形式為:F=A+BC=A+AB=A·BC。(4)根據(jù)邏輯表達式畫出圖3-5(b)所示的邏輯電路。這里假設(shè)系統(tǒng)能提供所有的原、反變量,否則還需要增加一個“非”門以實現(xiàn)A。上一頁下一頁返回3.2組合邏輯電路的設(shè)計【例3-4】某工有3個用電量相同的車間和一大、一小兩臺自備發(fā)電機,大發(fā)電機的供電量是小發(fā)電機的2倍。若只有一個車間開工,小發(fā)電機便可滿足供電要求;若兩個車間同時開工,大發(fā)電機可滿足供電要求;若3個車間同時開工,需大、小發(fā)電機同時啟動才能滿足供電要求。試用“與非”門設(shè)計一控制器,以實現(xiàn)對兩個發(fā)電機啟動的控制。上一頁下一頁返回3.2組合邏輯電路的設(shè)計解(1)由題意可知,該控制器有3個輸入變量和兩個輸出變量。設(shè)A,B,C為3個車間開工情況輸入變量(“1”表示開工,”0”表示停工),M,N為大、小發(fā)電機的啟動信號輸出變量(“1”表示啟動,”0”表示關(guān)閉)??蓪⒖刂破鞯倪壿嫻δ苊枋鰹?當(dāng)A,B,C中僅有一個為“1”時,N為“1”;當(dāng)A,B,C中有兩個同時為“1”時,M為“1”;當(dāng)A,B,C全為“1”時,M,N均為“1”;當(dāng)A,B,C全為“0”時,M,N均為“0”。由此列出真值見表3-4。上一頁下一頁返回3.2組合邏輯電路的設(shè)計(2)由真值表列出邏輯表達式,并利用圖3-6(a)所示的卡諾圖將它們轉(zhuǎn)換為最簡“與-或”表達式:M=ABC+ABC+ABC+ABC=BC+AC+AB;N=ABC+ABC+ABC+ABC(3)將表達式轉(zhuǎn)換成用“與非”邏輯實現(xiàn)的形式:M=BC+AC+AB=BCACAB;上一頁下一頁返回3.2組合邏輯電路的設(shè)計N=ABC+ABC+ABC+ABC=ABCABCABCABC。(4)根據(jù)邏輯表達式畫出圖3-6(b)所示的邏輯電路。這里假設(shè)系統(tǒng)能提供所有的原、反變量,否則還需增加3個“非”門以實現(xiàn)A,B,C。上一頁返回3.3常見組合邏輯電路及其應(yīng)用前兩節(jié)學(xué)習(xí)了組合邏輯電路的分析和設(shè)計,下血對實際生活中一些常用的組合邏輯集成電路(全加器、譯碼器、數(shù)值比較器、編碼器及數(shù)據(jù)選擇器)的功能和設(shè)計制作逐一加以分析。3.3.1全加器加法器是計算運算器的核心部件,它由多個一位全加器組合而成。在本章3.1節(jié)的例3-2中,曾經(jīng)介紹過半加器。半加器是實現(xiàn)兩個一位二進制數(shù)相加產(chǎn)生一位和值及一位進位值,但不考慮低位來的進位值的加法器。下一頁返回3.3常見組合邏輯電路及其應(yīng)用要實現(xiàn)多位二進制數(shù)相加,則每個一位加法器必須既考慮向高位的進位,又考慮低位來的進位。這種將低位來的進位與兩個一位二進制數(shù)一起相加,產(chǎn)生一位和值及一位向高位進位的加法器稱為全加器(FullAdder)o設(shè)兩個一位二進制加數(shù)分別為Ai、Bi,Ci-1為低位來的進位值,Si為和值,Ci為向高位的進位,給出全加器的真值表見表3-5,其符號如圖3-7所示。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用從真值表中可以列出全加器的邏輯表達式,經(jīng)化簡后得:Si=AiBiCi-1+AiBiCi-1+AiBiCi-1Ci=BiCi-1+ACi-1+AiBi比較本章3.2節(jié)例3-4發(fā)電機啟動控制器的真值表和表達式,若將那里的變量A,B,C,M,N分別用Ai,Bi,Ci-1,Si來表示,就可以發(fā)現(xiàn)與全加器的完全一致。也就是說,如果參照例3-4采用與非門來實現(xiàn)全加器,不但需要9個與非門,而且還要同時提供原、反變量。在實際使用中,常將全加器的表達式經(jīng)適當(dāng)轉(zhuǎn)換后用異或門和與非門來實現(xiàn):上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用Si=AiBiCi-1+AiBiCi-1+AiBiCi-1+AiBiCi-1

=(AiBi+AiBi)·Ci-1+(AiBi+AiBi)

Ci-1=(AiBi+AiBi)·Ci-1+(Ai+Bi)·(Ai+Bi

)·Ci-1=(AiBi+AiBi)·Ci-1+(AiBi+Ai+Bi)

Ci-1=(Ai⊕Bi)·Ci-1+(Ai⊕Bi)

Ci-1

=(Ai⊕Bi)⊕Ci-1Ci=AiBiCi-1+AiBiCi-1+AiBiCi-1+AiBiCi-1=(AiBi+AiBi)·Ci-1+AiBi(

Ci-1+

Ci-1)=(Ai⊕Bi)⊕Ci-1+AiBi上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用由此可得到用異或門和與非門構(gòu)成的全加器邏輯電路如圖3-8(a)所示。用n個全加器按圖3-8(b)所示連接起來,可以實現(xiàn)n位二進制數(shù)的加法運算。其中A1~An,B1~Bn,分別為n位被加數(shù)和加數(shù),S1~Sn為n位和。各進位位串行連接形成進位鏈,即低位全加器產(chǎn)生的進位,直接連到高位全加器的進位輸入,最低位全加器的進位輸入C0接“0"電平(即接地)。在相加的過程中,低位產(chǎn)生的進位位逐位傳送到高位,這種進位方式也稱為“行波進位”。由于高位相加必須在低位相加完成,并形成進位位后才能進行,所以n位行波進位加法器速度較慢。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用為了提高n位加法器的運算速度,可以采用一種稱為“先行進位”的方法。作為了解,下面對先行進位的實現(xiàn)原理作一個簡要的介紹。一個n位加法器其中任何一位全加器產(chǎn)生進位的條件是:或者A、B均為0;或者A、B中有一個為“1",且低位有進位產(chǎn)生。該條件可用邏輯表達式描述為:Ci=

(Ai+Bi)·Ci-1+AiBi=PiCi-1+Gi式中,A+B稱為進位傳遞函數(shù)(記作Pi),AiBi稱為進位產(chǎn)生函數(shù)(記作Gi)上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用對于一個4位(n=4)加法器來說,各位進位產(chǎn)生的條件可表示為:C1=

(A1+B1)·C0+A1B1=P1C0+G1C2=

(A2+B2)·C1+A2B2=P2C1+G2=P2P1C0+P2G1+G2C3=

(A3+B3)·C2+A3B3=P3C2+G3

=P3P2P1C0+P3P2G1+P3G2+G2C4=

(A4+B4)·C3+A4B4=P4C3+G4

=P4P3P2P1C0+P4P3P2G1+P4P3G2+P4G3+G4上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用由以上分析可知,C1~C4的產(chǎn)生僅依賴于P1~P4、G1~G4及C0(一般情況下C0=0),而P1~P4,G1~G4、又可以直接由A1~A4,B1~B4、計算得到。所以,一旦參加運算的加數(shù)確定了,便可同時產(chǎn)生各位進位,實現(xiàn)多位二進制數(shù)的并行相加。芯片型號為7483/74LS83的中規(guī)模集成電路,是一片內(nèi)部具有先行進位的4位二進制加法器,其引腳排列如圖3-9所示。在A1~A4,B1~B4上輸入二進制加數(shù),C0,GND接地,UCC:接電源,便可在S1~S4、上得到4位二進制和,并在幾上得到相加后總的進位。C1~C3由芯片內(nèi)部自動處理,芯片外不必有引腳引出。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用用兩片7483/74LS83的4位二進制加法器如圖3-10所示進行連接,即高位芯片的C0

。接低位芯片的C4,,低位芯片的C0

。接地,就可以組成8位二進制加法器。這樣構(gòu)成的加法器,每片芯片內(nèi)部(組內(nèi))使用先行進位,兩片芯片之間(組間)采用串行進位。要實現(xiàn)兩個16位二進制數(shù)相加求它們的和,用7483/74LS834位二進制加法器該如何接?請讀者自行分析。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用實現(xiàn)對兩個n位二進制數(shù)進行比較,判斷其大小關(guān)系的邏輯電路稱為比較器。兩個n位二進制數(shù)A(An-1An-2…A2A1)和B(Bn-1Bn-2…B2B1)的比較結(jié)果,可能有A>B,A=B,A<B3種情況。兩數(shù)相比,高位的比較結(jié)果起著決定性作用,即高位不等便可以確定兩數(shù)的大小,高位相等再進行低一位比較,所有位均相等才表示兩數(shù)相等,所以n位二進制數(shù)的比較過程是從高位到低位逐位進行的,一也就是說,n位二進制數(shù)的比較器是由n個一位二進制數(shù)比較器組成的。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用表3-6列出了一位二進制數(shù)比較器的真值表。從真值表中可以看出,該比較器有兩個一位輸入A,B,以及3個比較結(jié)果輸出F1,F2,F3

。當(dāng)A>B時,F(xiàn)1=1;當(dāng)A=B時,F(xiàn)2=1;當(dāng)A<B時;F3=1由真值表可以列出比較器的邏輯表達式并轉(zhuǎn)換成以下形式:F1=ABF2=AB+AB=AB+ABF3=AB根據(jù)邏輯表達式畫出一位二進制數(shù)比較器的邏輯電路如圖3-11所示。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用根據(jù)邏輯表達式畫出一位二進制數(shù)比較器的邏輯電路如圖3-11所示。4位二進制數(shù)比較器由4個一位比較器組成,用于對兩個4位二進制數(shù)A(A3A2A1A0)和B(B3B2B1B0)的各位兩兩進行比較。4對(共8組)輸入變量為(A3B3,

A2B2,

A1B1,

A0B0)3個輸出變量為“A>B”,“A=B”,A<B”其真值表見表3-7。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用由4位二進制數(shù)比較器真值表可以看出,當(dāng)A3=1。B3=0即A3>B3時,無論其低位數(shù)為何值,結(jié)果總為A>B,所以輸出(A>B)=1;當(dāng)A3=0B3=1即A3<B3時,無論其低位數(shù)為何值,結(jié)果總為A<B,所以輸出(A<B)=1;當(dāng)A3=B3時,則要根據(jù)A2、B2的值來確定兩數(shù)的大小,其余依此類推。僅當(dāng)A3-A0與B3-B0,兩組各4位數(shù)碼均兩兩相等時,結(jié)果才為A=B,即輸出(A=B)=1。令4個一位比較器從高位到低位:Ai>Bi的輸出分別為L>3,L>2,L>1,L>0;Ai<Bi的輸出分別L<3,L<2,L<1,L<0;Ai=Bi的輸出分別L=3,L=2,L=1,L=0;可以列出4位二進制數(shù)比較器的邏輯表達式如下:上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用A>B=(A3>B3)+(A3=B3)(A2>B2)+(A3=B3)(A2=B2)(A1>B1)+(A2=B2)(A3=B3)+(A1=B1)(A0>B0)=L>3+L=3L>2+L=3L=2L>1+L=3L=2L=1L>0A<B=(A3<B3)+(A3=B3)(A2<B2)+(A3=B3)(A2=B2)(A1<B1)+(A2=B2)(A3=B3)+(A1=B1)(A0<B0)=L<3+L=3L>2+L=3L=2L<1+L=3L=2L=1L>0A=B=(A3=B3)(A2=B2)(A1=B1)(A0=B0)=L=3L=2L=1L=0上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用根據(jù)上述邏輯表達式,可用4個一位比較器及與門、或門構(gòu)成圖3-12所示的4位二進制數(shù)比較器電路。這個電路一也是中規(guī)模集成電路。4位二進制數(shù)比較器芯片HC85的內(nèi)AIS結(jié)構(gòu)和符號表示如圖3-13所示。7485的功能和引腳與HC85的完全一樣。在HC85的電路中,除了4個二進制數(shù)輸入端外,還有3個用于擴展的串聯(lián)(也稱級聯(lián))輸入端“A>B”,“A<B”和“A=B”,其邏輯功能相當(dāng)于在4位二進制數(shù)比較器的最低級A0,B0。后添加了一位更低的比較數(shù)位。利用串聯(lián)輸入端可實現(xiàn)比較器的擴展應(yīng)用。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用圖3-14給出了兩片HC85構(gòu)成的8位二進制數(shù)比較器的連接圖,比較器總的輸出由高位HC85芯片(H)的輸出確定,低位芯片(I)的輸出連接到高位芯片的串聯(lián)輸入端。若參與比較的兩個8位二進制數(shù)的高4位不相等,比較結(jié)果由高位芯片單獨確定,與低位芯片無關(guān);若兩個8位二進制數(shù)的高4位相等,則比較結(jié)果由串聯(lián)輸入確定,即由低位芯片的比較結(jié)果確定。低位芯片的串聯(lián)輸入端設(shè)置為(A>B)=0,(A<B)=0,(A=B)=1。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用3.3.2譯碼器將二進制代碼所表示的信息翻譯出來的過程稱為譯碼,實現(xiàn)譯碼功能的電路稱為譯碼器。譯碼器是一個多輸出的組合邏輯電路,每一個輸出唯一對應(yīng)一個特定的輸入組合。常用的譯碼器有二進制譯碼器、二一十進制譯碼器和顯示譯碼器。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用二進制譯碼器的輸入表示某種信息的二進制代碼,對于某個特定的輸入代碼,多個輸出中只有唯一的一個呈現(xiàn)有效電平,其余輸出均呈現(xiàn)無效電平,以此表示翻譯出來的不同信息。這里所說的有效電平和無效電平是相對而言的,若定義“1”為有效電平,則“0”便為無效電平,反之亦然。因為每一組輸入組合(即二進制代碼)對應(yīng)一個輸出端,所以輸入n位二進制代碼的譯碼器,必然有“2'’個輸出端。如3位輸入的譯碼器,就有8個輸出端,這種譯碼器也稱為3線-8線譯碼器(簡稱3.8譯碼器)。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用表3-8給出了基本3線-8線譯碼器的真值表,從表中可以看出,3個輸入A0-A2的8種組合的每一種,都唯一地使Z0–Z7這8個輸出中的一個為“1”。由此列出譯碼器的邏輯表達式為:Z0=A2A1A0Z1=A2A1A0Z2=A2A1A0Z3=A2A1A0Z4=A2A1A0Z5=A2A1A0Z6=A2A1A0Z7=A2A1A0上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用根據(jù)真值表和表達式,畫出3線-8線譯碼器邏輯電路如圖3-15所示。圖中每個與非門的3個輸入,分別接A0-A2的8種組合之一。對于任何一種輸入組合,Z1-Z2,這8個輸出中僅有一個為“1”。從邏輯電路中可以看出,74138與圖3-15所示的基本3線-8線譯碼器相似。所不同的是,74138的輸出直接從與非門引出,其間不經(jīng)過非門,因此輸出Y0-Y7均為反碼,即輸出“0”為有效、輸出“1”為無效。注意,這里的Y0-Y7都是邏輯變量的符號名,其上的“-”只是強調(diào)變量的有效值為“0",并無“非”運算的含義。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用74138是常用的中規(guī)模集成電路的3線一8線譯碼器,其真值表見表3-9。圖3-16給出了74138的邏輯電路圖和符號表示。74138是一個16腳的芯片,除了電源(16)、接地腳GND(8)外,其余引腳的名稱和腳號在符號圖中均已注明。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用另外,74138還具有使能(Enable)控制端G1,G2A和G2B,它們的組合用于控制譯碼器的“選通”和“禁止”。從邏輯圖中可以看出,EN=G1·

G2A·

G2B=G1·

G2A+

G2B

。連接到所有與非門的一個輸入端上,僅當(dāng)G1

=1并且G2A=G2B=0時,EN才為“1”,所有與非門開啟,譯碼器被“選通”,處于“工作”狀態(tài)。由輸入A0-A2來確定Y0-Y7的狀態(tài)。否則,EN為“0",所有與非門輸出為”1”即輸出均為“1",譯碼器處于“禁止”狀態(tài)。同樣,這里的G2A和G2B都是邏輯變量的符號名,其上的“-”只是強調(diào)變量起作用時的有效值為“0"。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用譯碼器工作時,若使能控制端G1,G2A和G2B控制的EN在輸入信號變化前為,’0”,輸入信號穩(wěn)定后為“1”,可以消除由于輸入信號變化過程中的時延引起的險象干擾。設(shè)置3個控制端的原因,除了能更靈活、有效地控制譯碼器的工作狀態(tài)外,還可以利用它們實現(xiàn)譯碼器的擴展。圖3-17所示為由兩片74138譯碼器芯片擴展而成的4線-16線譯碼器連接圖。4個輸入信號中的低3位A0-A2同時接至兩個芯片的輸入端,輸入信號中的最高位A3接至芯片(1)的G2A和芯片(2)的G2A

。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用芯片(1)的G1要接“1”,芯片(1)的G2B

和芯片(2)的G2AG2B相連后接至控制信號E。E為“1”時兩片芯片均處于“禁止”狀態(tài)。E為“0”時,當(dāng)輸入A3-A1。為0000-0111,即A3-A0時,芯片(1)處于“工作”狀態(tài),芯片(2)處于“禁止”狀態(tài)。此時,芯片(1)的輸入反映了輸入0000-0111的狀態(tài),作為4-16譯碼器的低半部輸出玖一玖,而芯片(2)的輸出全為“1",作為4線-16線譯碼器的高半部輸出Y1-Y5。當(dāng)輸出A3-A0。為1000-1111,即A3=1時,芯片(2)處于“工作”狀態(tài),芯片(1)處于“禁止”狀態(tài)。此時,芯片(2)的輸出反映了輸入1000-1111的狀態(tài),芯片(1)的輸出全為“1"。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用由此就實現(xiàn)了4線-16線譯碼器的功能。如要實現(xiàn)5線-32線譯碼器的功能,用4片74138譯碼器芯片擴展該如何連接,請自行分析。譯碼器除了用做二進制代碼外,還可用于實現(xiàn)數(shù)據(jù)分配器和函數(shù)發(fā)生器。

數(shù)據(jù)分配器的設(shè)計思想是從一個數(shù)據(jù)輸入端上接收數(shù)據(jù),由n個地址輸入確定將數(shù)據(jù)分配到2‘’個輸出端的某一端。數(shù)據(jù)分配器實際上就是一個帶“選通”的譯碼器,所以,完全可以用譯碼器芯片來實現(xiàn)數(shù)據(jù)分配器的邏輯功能上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用圖3-18所示為用74138譯碼器構(gòu)成的三地址數(shù)據(jù)分配器。圖中,譯碼器的G1,G2A和G2B

。相連后作為數(shù)據(jù)輸入端D,A0-A2作為地址輸入端。在地址輸入信號的作用下,若數(shù)據(jù)輸入D為“0",Y0-Y7中對應(yīng)的輸出便為“0";若D為“1",Y0-Y7中對應(yīng)的輸出一也為“1"(盡管此時所有的輸出均為“1",即數(shù)據(jù)D被分配到了由地址選中的輸出端。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用二進制譯碼器的每個輸出都唯一對應(yīng)輸入變量的一種組合,即對應(yīng)由輸入變量構(gòu)成的一個最小項。而所有邏輯函數(shù)都可以表示成最小項之和的形式,所以利用譯碼器輸出的最小項,再配合具有邏輯功能的門電路,就可以實現(xiàn)任何組合邏輯函數(shù)。若74138譯碼器的輸入端A2,A1,A0

。接函數(shù)的輸入變量A,B,C,則譯碼器輸出與輸入之間的邏輯關(guān)系為:上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用Y0=A2A1A0=ABC=m0Y1=A2A1A0=ABC=m1Y2=A2A1A0=ABC=m2Y3=A2A1A0=ABC=m3Y4=A2A1A0=ABC=m4Y5=A2A1A0=ABC=m5Y6=A2A1A0=ABC=m6Y7=A2A1A0=ABC=m7上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用為了實現(xiàn)某邏輯函數(shù),可先將原始邏輯函數(shù)表示成標(biāo)準(zhǔn)“與或”式,然后再轉(zhuǎn)換成用譯碼器輸出變量表示的表達式。例如,下列二輸出變量函數(shù)可先作以下轉(zhuǎn)換:P1=A⊕B⊕C=A·B⊕C+A·(B⊕C)=A(BC+BC)+A(BC+BC)=ABC+ABC+ABC+ABC=m1+m2+m4+m7=m1+m2+m4+m7=m1m2m4m7=Y1Y2Y4Y7上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用P2=AB+BC+AC+AB(C+C)+BC(A+A)+AC(B+B)=ABC+ABC+ABC+ABC=m3+m5+m6+m7=m3+m5+m6+m7=m3m5m6m7=Y3Y5Y6Y7上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用由以上推導(dǎo)可以看出,若用兩個四輸入的與非門跟74138按圖3-19所示進行連接,便可實現(xiàn)所需的邏輯函數(shù)功能。再仔細(xì)觀察P1和P2函數(shù),可以發(fā)現(xiàn)它們實際上就是一個一位全加器函數(shù),這里P1即為一位全加器的和,P2即為它的進位。2.二-十進制譯碼器的邏輯功能是將輸入BCD碼的10個代碼譯成10個高、低電平輸出信號。圖3-20是二-十進制譯碼器74LS42的邏輯電路。根據(jù)邏輯圖可得到根據(jù)邏輯圖可列出電路的真值表見表3-10。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用對于BCD代碼以外的偽碼(即1010-1111,6個代碼)Y0-Y7均無低電平信號產(chǎn)生,譯碼器拒絕“翻譯”,所以這個電路結(jié)構(gòu)具有拒絕偽碼的功能。3.顯示譯碼器1)七段字符顯示器為了能以十進制數(shù)碼直觀地顯示數(shù)字系統(tǒng)的運行數(shù)據(jù),目前廣泛使用了七段字符顯示器,或稱做七段數(shù)碼管。這種字符顯示器由七段可發(fā)光的線段拼合而成。常見的七段字符顯示器有半導(dǎo)體數(shù)碼管和液晶顯示器兩種。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用圖3-21是半導(dǎo)體數(shù)碼管BS201A的外形和等效電路。這種數(shù)碼管的每個線段都是一個發(fā)光二極管(LightEmittingDiode,LED,因而一也把它叫做LED數(shù)碼管或LED七段顯示器。發(fā)光二極管使用的材料與普通的硅二極管和鍺二極管不同,有磷砷化稼、磷化稼、砷化稼等幾種,而且半導(dǎo)體中的雜質(zhì)濃度很高。當(dāng)外加正向電壓時,大量的電子和空穴在擴散過程中復(fù)合,其中一部分電子從導(dǎo)帶躍遷到價帶,把多余的能量以光的形式釋放出來,便可發(fā)出一定波長的可見光。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用磷砷化稼發(fā)光二極管發(fā)出光線的波長與磷和砷的比例有關(guān),含磷的比例越大波長越短,發(fā)光效率也隨之降低。在BS201等一些數(shù)碼管中還在右下角處增設(shè)了一個小數(shù)點,形成了所謂的八段數(shù)碼管,如圖3-21(a)所示。此外,由圖3-21(b)所示的等效電路可見,BS201A的八段發(fā)光二極管的陰極是做在一起的,屬于共陰極類型。為了增加使用的靈活性,同一規(guī)格的數(shù)碼管一般都有共陰極和共陽極兩種類型可供選用上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用半導(dǎo)體數(shù)碼管不僅具有工作電壓低、體積小、壽命長、可靠性高等優(yōu)點,而且響應(yīng)時間短(一般不超過0.1us),亮度也比較高。它的缺點是工作電流比較大,每一段的工作電流在10mA左右。另一種常用的七段字符顯示器是液晶顯示器(LiquidCrystalDisplay,LCD)。液晶是一種既具有液體的流動性又具有光學(xué)特性的有機化合物。它的透明度和呈現(xiàn)的顏色受外加電場的影響,利用這一特點便可做成字符顯示器。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用在沒有外加電場的情況下,液晶分子按一定取向整齊地排列著,如圖3-22(a)所示。這時液晶為透明狀態(tài),射入的光線大部分由反射電極反射回來,顯示器呈自色。在電極上加上電壓以后,液晶分子因電離而產(chǎn)生正離子,這些正離子在電場作用下運動并碰撞其他液晶分子,破壞了液晶分子的整齊排列,使液晶呈現(xiàn)混濁狀態(tài)。這時射入的光線散射后僅有少量反射回來,故顯示器呈暗灰色。這種現(xiàn)象稱為動態(tài)散射效應(yīng),如圖3-22(b)所示。外加電場消失以后,液晶又恢復(fù)到整齊排列的狀態(tài)。如果將七段透明的電極排列成8字形,那么只要選擇不同的電極組合并加以正電壓,便能顯示出各種字符來。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用為了使離子撞擊液晶分子的過程不斷進行,通常在液晶顯示器的兩個電極上加以數(shù)十至數(shù)百赫茲的交變電壓。對交變電壓的控制可以用異或門實現(xiàn),如圖3-23(a)所示。U1是外加的固定頻率的對稱方波電壓。當(dāng)A=0時,LCD兩端的電壓UL=0,顯示器不工作,呈自色;當(dāng)A=1時,UL為幅度等于U1,的對稱方波,顯示器工作,呈暗灰色。各點電壓的波形示于圖3-23(b)中。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用液晶顯示器的最大優(yōu)點是功耗極小,每平方厘米的功耗在1uW以下,它的工作電壓一也很低,在1V以下仍能工作。因此,液晶顯示器在電子表以及各種小型、便攜式儀器、儀表中得到了廣泛應(yīng)用。但是,由于它本身不會發(fā)光,僅僅靠反射外界光線顯示字形,所以亮度很差。此外,它的響應(yīng)時間較長(在10~200ms范圍),這就限制了它在快速系統(tǒng)中的應(yīng)用。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用2)BCD一七段顯示譯碼器半導(dǎo)體數(shù)碼管和液晶顯示器都可以用TTL或CMOS集成電路直接驅(qū)動。因此,就需要使用顯示譯碼器將BCD代碼譯成數(shù)碼管所需要的驅(qū)動信號,以便使數(shù)碼管用十進制數(shù)字顯示出BCD代碼所表示的數(shù)值?,F(xiàn)以態(tài)上A3A2A1A0表示顯示譯碼器輸入的BCD代碼,以Ya~Yg表示輸出的7位二進制代碼,并規(guī)定用1表示數(shù)碼管中線段的點亮狀態(tài),用0表示線段的熄滅狀態(tài)。則根據(jù)顯示字形的要求便得到了表3-11所示的真值表。表中除列出了BCD代碼的10個狀態(tài)與Ya~Yg狀態(tài)的對應(yīng)關(guān)系以外,還規(guī)定了輸入為1010-1111這6個狀態(tài)下顯示的字形。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用由表3-11可以看到,現(xiàn)在與每個輸入代碼對應(yīng)的輸出不是某一根輸出線上的高、低電平,而是另一個7位的代碼,所以它已經(jīng)不是本節(jié)開始所定義的那種譯碼器了。嚴(yán)格地講,把這種電路叫做代碼變換器,但習(xí)慣上都把它叫做顯示譯碼器。從得到的真值表畫出表示Ya~Yg的卡諾圖,即可得到圖3-24。在卡諾圖上采用“合并0然后求反”的化簡方法將Ya~Yg化簡,可得到上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用Ya=A3A2A1A0+A3A2+A1A0Yb=A3A2+A2A1A0+A2A1A0Yc=A3A2+A2A1A0Yd=A2A1A0+A2A1A0+A2A1A0上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用Ye=A2A1+A0Yf=A3A2A0+A2A1+A1A0Yg=A3A2A1+A2A1A0圖3-25給出了BCD一七段顯示譯碼器7448的邏輯電路。如果不考慮邏輯圖中由G1~G4組成的附加控制電路的影響(G2,G4的輸出為高電平),則Ya~Yg與A3A2A1之間的邏輯關(guān)系與上式完全相同。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用附加控制電路用于擴展電路功能。下面介紹附加控制端的功能和用法。(1)燈測試輸入LT:當(dāng)有LT=0的信號輸入時,G4,G5,G6,和G7的輸出同時為高電平,使A0=A1=A2=0。對后面的譯碼電路而言,與輸入為A0=A1=A2=0一樣Ya~Yg將全部為高電平。同時,由于G16的兩組輸入中均含有低電平輸入信號,因而Yg。也處于高電平??梢?,只要令LT=0,便可使被驅(qū)動數(shù)碼管的七段碼同時點亮,以檢查該數(shù)碼管的各段能否正常發(fā)光,平時應(yīng)設(shè)為高電平。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用(2)滅零輸入RBI;設(shè)置滅零輸入信號RBI的目的是為了能把不希望顯示的零熄滅。例如,有一個8位的數(shù)碼顯示電路,整數(shù)部分為5位,小數(shù)部分為3位,在顯示13.7這個數(shù)時將呈現(xiàn)00013.700字樣。如果將前、后多余的零熄滅,則顯示的結(jié)果將更加醒目。由圖3-25可知,當(dāng)輸A3=A2=A1=A0=0時,本應(yīng)顯示出0。如果需要將這個零熄滅,則可加入RBI=0的輸入信號。這時G3的輸出為低電平,并經(jīng)過G4輸出低電平使A3’=A2’=A1’=A0’=1。由于G13~G19每個與或非門都有一組輸入全為高電平,所以Ya~Yg全為低電平,使本來應(yīng)該顯示的0熄滅。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用(1)滅燈輸入/滅零輸出BI/RBO:這是一個雙功能的輸入/輸出端,它的電路結(jié)構(gòu)如圖3-26(a)所示。(2)BI/RBO作為輸入端使用時,稱為滅燈輸入控制端。只要加入滅燈控制信號BI=0,無論A3A2A1A0的狀態(tài)是什么,一定可將被驅(qū)動數(shù)碼管的各段同時熄滅。由圖3-25可知,此時G4肯定輸出低電平,使A3=A2=A1=A0=1,Ya~Yg同時輸出低電平,因而將被驅(qū)動的數(shù)碼管熄滅。BI/RBO作為輸出端使用時,稱為滅零輸出端。由圖3-25可得到:RBO=A3A2A1A0LTRBI上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用用7448可以直接驅(qū)動共陰極的半導(dǎo)體數(shù)碼管。由圖3-26(c)的7448輸出電路可以看到,當(dāng)輸出管截止、輸出為高電平時,流過發(fā)光二極管的電流是由Ucc經(jīng)2kΩ上拉電阻提供的。當(dāng)Ucc=5V時,這個電流只有2mA左右。如果數(shù)碼管需要的電流大于這個數(shù)值時,則應(yīng)在2kΩ的上拉電阻上再并聯(lián)適當(dāng)?shù)碾娮?。圖3-27給出了用7448驅(qū)動BS201半導(dǎo)體數(shù)碼管的連接方法。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用將滅零輸入端與滅零輸出端配合使用,即可實現(xiàn)多位數(shù)碼顯示系統(tǒng)的滅零控制。圖3-28畫出了滅零控制的連接方法。只需在整數(shù)部分把高位的RBO與低位的RBI相連,在小數(shù)部分將低位的RBO與高位的RBI相連,就可以把前、后多余的零熄滅。在這種連接方式下,整數(shù)部分只有高位是零,而且在被熄滅的情況下,低位才有滅零輸入信號。同理,小數(shù)部分只有在低位是零,而且在被熄滅時,高位才有滅零輸入信號。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用3.3.3編碼器將含有特定意義的數(shù)字或符號信息轉(zhuǎn)換成相應(yīng)的若干位二進制代碼的過程稱為編碼,具有編碼功能的組合邏輯電路稱為編碼器。例如各類BCD碼編碼器就是將“0”-“9”這些十進制數(shù)字轉(zhuǎn)換成對應(yīng)的4位BCD碼的組合邏輯電路??梢钥闯觯幋a器的功能正好與譯碼器的功能相反。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用表3-12列出了一個簡化的8421BCD碼編碼器的真值。理論上講,10個輸入變量共有210=1024種組合,但作為8421BCD碼編碼器來說,D0~D9共10個輸入變量分別表示一位“0”-“9”的十進制數(shù)字,因此它們中任何時刻僅允許一位有效,符合這種條件的輸入組合只有真值表中所列的10種,其余輸入組合均為無關(guān)項。根據(jù)真值表并利用無關(guān)項性質(zhì),可以列出8421BCD碼編碼器的邏輯表達式,并將它們轉(zhuǎn)換為適合用于與非門和或非門實現(xiàn)的形式:上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用A=D1+D3+D5+D7+D9=(D1+D9)+(D3+D7)+(D5+D7)=D1+D9·D3+D7·D5+D7B=D2+D3+D6+D7=(D2+D6)+(D3+D7)=D2+D6·D3+D7上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用C=D4+D5+D6+D7=(D4+D6)+(D5+D7)=D4+D6·D5+D7D=D8+D9=D8+D9由以上邏輯表達式可畫出圖3-29所示的8421BCD碼編碼器的邏輯電路。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用上述8421BCD碼編碼器的10位輸入中,任何時刻只允許其中的一位為“1”。同時出現(xiàn)兩位或兩位以上為“1”的情況屬于非法輸入,這將引起編碼輸出混亂。但在實際應(yīng)用中,由于干擾和誤操作,這種情況很難完全避免。而一種稱為優(yōu)先編碼器的電路能解決這個問題。優(yōu)先編碼器對所有輸入位預(yù)先設(shè)置了優(yōu)先權(quán)級,當(dāng)輸入中出現(xiàn)兩位或兩位以上同時有效的情況時,其中優(yōu)先級高的輸入位起作用,其余輸入位被忽略,從而保證了編碼器工作的可靠性。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用74147是一個典型的8421BCD碼優(yōu)先編碼器,表3-13給出了它的真值表。從真值表中可以看出,74147的輸入信號I1~I9。和輸出信號A-D均用反碼表示。74147的輸入中,優(yōu)先級從I1到I9逐漸遞增,即I1優(yōu)先級最低,I9優(yōu)先級最高。例如,當(dāng)輸入中I9有效(為“0”)時,無論I1~I8是否有效(真值表中用“x”表示),編碼器均按I9編碼,使輸出為對應(yīng)“9”的8421BCD碼的反碼“0110”。又如,當(dāng)輸入中I8有效但I9無效時,無論I1~I7是否有效,編碼器均按I8編碼,使輸出為對應(yīng)“8”的8421BCD碼的反碼“0111”,其余依此類推。當(dāng)所有輸入都無效時,輸出為對應(yīng)“0”的8421BCD碼的反碼“1111”。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用圖3-30為74147優(yōu)先編碼器的符號。74147是一個16腳的芯片,除了電源Ucc(16)、接地腳GND(8)和空腳NC(15)外,其余輸入、輸出引腳在符號圖中均已注明。3.3.4數(shù)據(jù)選擇器將多路輸入數(shù)據(jù)在地址輸入信號控制下,有選擇地傳送到輸出端的過程稱為數(shù)據(jù)選擇,實現(xiàn)數(shù)據(jù)選擇功能的電路稱為數(shù)據(jù)選擇器,也稱為多路選擇開關(guān)(Multiplexer,MUX)。與前面譯碼器小節(jié)中介紹的數(shù)據(jù)分配器的不同之處在于,數(shù)據(jù)選擇器是多個輸入數(shù)據(jù)對應(yīng)一個輸出端,而數(shù)據(jù)分配器則是一個輸入數(shù)據(jù)對應(yīng)多個輸出端。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用74151是一個中規(guī)模集成電路構(gòu)成的八選一數(shù)據(jù)選擇器,其真值表見表3-14,邏輯電路和符號如圖3-31所示。74151一也是一個16腳的芯片,除了電源從,:(16)和接地腳CND(8)外,其余引腳的名稱、腳號在符號圖中均已注明。當(dāng)使能端S=1時,與或門的各個與單元被封鎖,與或門輸出Y=0,此時數(shù)據(jù)選擇器輸出與任何輸入數(shù)據(jù)無關(guān)。使能端S=0時,與或門各與單元被開啟,與或門輸出Y與輸入數(shù)據(jù)D0~D7的邏輯關(guān)系為:上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用Y=m0D0+m1D1+m2D2+m3D3+m4D4+m5D5+m6D6+m7D7=由數(shù)據(jù)選擇器的邏輯表達式可以看出,當(dāng)?shù)刂愤x擇輸入使某個最小項m,為"1”時,數(shù)據(jù)選擇器的輸出Y便為對應(yīng)的輸入數(shù)據(jù)Di由此便實現(xiàn)了數(shù)據(jù)選擇的功能。常用的數(shù)據(jù)選擇器芯片還有四選一數(shù)據(jù)選擇器74153、十六選一數(shù)據(jù)選擇器74150等。一般來說,若地址選擇輸入有n位,便可實現(xiàn)2n路數(shù)據(jù)的選擇,即2n選一,其輸出為:Y=上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用數(shù)據(jù)選擇器一也可以用做函數(shù)發(fā)生器。它的輸入表達式Y(jié)=本身就表示了一個與或函數(shù),只要將適當(dāng)?shù)臄?shù)據(jù)或變量賦予地址選擇輸入端和數(shù)據(jù)輸入端,就可實現(xiàn)特定的函數(shù)。例如,用八選一數(shù)據(jù)選擇器74151實現(xiàn)三變量函數(shù)F=AB+AB+C,可先將原始函數(shù)轉(zhuǎn)換成標(biāo)準(zhǔn)與或式:上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用令A(yù)2=A,A1=B,A0=C;,D0=D1=D3=D5=D6=D7=1,D1=D4=0。此時,數(shù)據(jù)選擇器的輸出Y與所需函數(shù)的輸出F完全一致。據(jù)此畫出圖3-32所示的電路連接圖,可實現(xiàn)函數(shù)F=AB+AB+C。利用74151八選一數(shù)據(jù)選擇器同樣可以實現(xiàn)四變量函數(shù)。其基本設(shè)計思想是:對原始函數(shù)表達式的形式作適當(dāng)轉(zhuǎn)換,將函數(shù)中的一個輸入變量作為數(shù)據(jù)選擇器的數(shù)據(jù)輸入,其余3個輸入變量仍作為數(shù)據(jù)選擇器的地址輸入,如圖3-33所示。下面舉例說明74151構(gòu)造一個四變量函數(shù)F(A,B,G,D)=∑

(0,2,7,8,13)的過程:上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用令A(yù)2=A,A1=B,A0=C;,D0=D1=D3=D5=D6=D7=1,D1=D4=0。此時,數(shù)據(jù)選擇器的輸出Y與所需函數(shù)的輸出F完全一致,據(jù)此畫出圖3-33所示的電路連接圖,便可實現(xiàn)函數(shù)F=(A,B,C,D)=∑(0,2,7,8,13)上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用根據(jù)同樣原理,74151八選一數(shù)據(jù)選擇器也可用于構(gòu)造更多變量的函數(shù)。像大多數(shù)中規(guī)模集成電路一樣,數(shù)據(jù)選擇器也可以進行擴展。圖3-34所示為用17個74150的16選1數(shù)據(jù)選擇器擴展成的256選1數(shù)據(jù)選擇器。上一頁下一頁返回3.3常見組合邏輯電路及其應(yīng)用圖3-34所示的電路由兩部分組成。16個74150構(gòu)成前級選擇器,256個輸入數(shù)據(jù)X0-X255分為16個一組共16組,依次連接到16個74150的數(shù)據(jù)輸入端。8位地址選擇輸入A-H中的低4位E,F,G,H作為16個前級選擇器公共的地址選擇輸入,在其作用下,16個前級選擇器分別選出一路數(shù)據(jù)送到各自的輸出端F。剩下的一個74150作為后級選擇器,它在高4位地址選擇輸入A,B,C,D的作用下,從16個前級選擇器的輸出F中選擇一條送輸出端Y,從而實現(xiàn)了256選1的功能。上一頁返回3.4組合邏輯電路中的險象及其消除由于門電路在傳輸信號的過程中存在時間延遲,輸出信號有可能會產(chǎn)生錯誤。下面對這種現(xiàn)象加以分析并介紹如何消除.3.4.1險象及產(chǎn)生原因前面對組合邏輯電路的討論中,只是分析了輸入的穩(wěn)定狀態(tài)與輸出的穩(wěn)定狀態(tài)之間的關(guān)系,沒有考慮信號經(jīng)門電路內(nèi)部的時間延遲。實際的組合邏輯電路中,門電路都存在著時延。信號經(jīng)過不同的路徑(即經(jīng)過不同的門電路)到達某點時,會產(chǎn)生時差,這種時差現(xiàn)象稱為競爭。競爭現(xiàn)象可能使電路產(chǎn)生暫時性的錯誤輸出,雖然等待信號穩(wěn)定后錯誤大多會消失,但仍會導(dǎo)致工作不可靠,有時甚至?xí)?dǎo)致永久性錯誤。這種由競爭產(chǎn)生的錯誤輸出就稱為組合邏輯電路的險象。下一頁返回3.4組合邏輯電路中的險象及其消除圖3-35所示的電路,若不考慮門電路的時延,則F=A+A=1,即無論輸入A如何變化,輸出F恒為“1”,考慮到G1的時延,A將滯后于A到達G2。此時若A由“1”轉(zhuǎn)“0”而A由于時延的存在不能立即由“0”轉(zhuǎn)“1",即在一個短暫的瞬間,G2的兩個輸入將同為“0",電路輸出為“0",可見,這個瞬間的結(jié)果是錯的,表明電路出現(xiàn)了險象。從圖3-35所示的波形中,可以清楚地看出險象對輸出結(jié)果的影響,即輸出波形中出現(xiàn)了瞬間的負(fù)向窄脈沖。上一頁下一頁返回3.4組合邏輯電路中的險象及其消除同樣,在圖3-36所示的電路中,若不考慮門電路的時延,則F=A·A=0即無論輸入A如何變化,輸出F恒為“0”。若考慮G1的時延,則在A由“1”轉(zhuǎn)”1”時,A由于時延的存在不能立即由“1”轉(zhuǎn)“0”,瞬間G2的兩個輸入將同為,’l”,電路輸出為“1"0顯見,這個瞬間的結(jié)果也是錯誤的,即電路出現(xiàn)了險象。從圖3-36所示的波形中可以看出,輸出波形中出現(xiàn)了瞬間的正向窄脈沖。以上兩個例子中可以看出,如果某個邏輯門的兩個輸入互補變化(即一個由“1”變“0",另一個由“0”變“1",反之亦然),并且這兩個信號的變化存在時差,則這個邏輯門的輸出就可能出現(xiàn)險象。上一頁下一頁返回3.4組合邏輯電路中的險象及其消除3.4.2險象的檢查與消除檢查某個邏輯門的兩個輸入是否在互補變化,可以作為該邏輯門輸出是否會出現(xiàn)險象的依據(jù)。由此可以用邏輯代數(shù)法來檢查函數(shù)的表達式分析在信號變化時,是否可能出現(xiàn)“X+X‘’或“X·X”的形式。如果一個組合邏輯電路的函數(shù)表達式,在某種條件下能簡化成“X+X‘’或“X·X‘’的形式,則該電路可能出現(xiàn)險象。[例3-5J判斷函數(shù)F=AB+AB是否存在險象。上一頁下一頁返回3.4組合邏輯電路中的險象及其消除解由表達式可以看出,當(dāng)C=B=1F1=A+A,F1理應(yīng)恒為“”1”時,但此時當(dāng)A由“1”變“0”,A由”1”0”變”0”由”0“到”1“時,由于A的變化滯后于A的變化F1輸出瞬間會出現(xiàn)負(fù)向窄脈沖干擾,即出現(xiàn)險象。【例3-6】判斷函數(shù)F2=AC+AB+BC是否存在險象。解所給表達式在任何條件下都不能簡化成“X+X”或“X·X”的形式,因而該函數(shù)不存在險象。例如,當(dāng)C=B=1時,F(xiàn)2=A+A+1=1,即實現(xiàn)F2的或門有3個輸入端,其中一個恒為“1"。此時無論A,A如何變化,也不管有無時延,F(xiàn)2輸出穩(wěn)定地保持為“1",即不會出現(xiàn)險象。上一頁下一頁返回3.4組合邏輯電路中的險象及其消除其實,上兩例的函數(shù)F1和F2是相等的,即AC+AB=AC+AB+BC,F2中的BC是個多余項,但正是由于這個多余項的加入,使得C=B=1時,BC恒為”1”,從而消除了由于A變化時出現(xiàn)險象的可能。這是利用代數(shù)法檢查險象,并用插入多余項來消除組合邏輯險象的典型實例。上一頁下一頁返回3.4組合邏輯

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論