劉占文,高 飛, 王軼萍, 王 丹,包興臣
(1.長安大學(xué) 信息工程學(xué)院,陜西 西安 710064;2.陜西工業(yè)技術(shù)研究院 陜西 西安 710054;3.交通運輸部公路科學(xué)研究院 北京 100088;4.山東省交通規(guī)劃設(shè)計院 山東 濟(jì)南 250031)
目前數(shù)字電子技術(shù)基礎(chǔ)課程的實驗內(nèi)容包括驗證性實驗、綜合性實驗、設(shè)計性實驗三部分,每一部分實驗內(nèi)容安排的側(cè)重點不同。比如設(shè)計性實驗的關(guān)鍵是設(shè)計,要求學(xué)生依據(jù)設(shè)計要求,設(shè)計合理的實驗電路,并選擇器件、安裝調(diào)試完成實驗內(nèi)容。從教學(xué)實踐來看,多數(shù)學(xué)生能夠順利完成實驗要求,但解決問題的思路單一,設(shè)計過程靈活性差,不注意創(chuàng)新思維能力的鍛煉。這就要求教師在合理安排實驗內(nèi)容的同時,不斷通過各種途徑,引導(dǎo)學(xué)生拓寬知識面,創(chuàng)新思維方式,對待同一問題,積極探索多種解決問題的路徑。組合邏輯電路的設(shè)計多種多樣,筆者選擇一種奇偶校驗電路實現(xiàn)進(jìn)行詳細(xì)闡述。
奇偶校驗電路在組合邏輯電路的分析與設(shè)計中具有一定的典型性和實用性[1-2],熟悉判奇電路的邏輯功能及電路實現(xiàn),有助于加深對組合邏輯電路的理解與掌握。以判奇電路實現(xiàn)為例,分別討論了用門電路、譯碼器、數(shù)據(jù)選擇器的多種實現(xiàn)方案,用實例說明了組合邏輯電路設(shè)計的靈活性與多樣性。
對于三輸入變量的判奇問題,設(shè)其輸入變量分別用A、B、C表示,輸出函數(shù)用F表示。當(dāng)輸入變量的取值組合中有奇數(shù)個1時,輸出函數(shù)值為1;當(dāng)輸入變量的取值組合中1的個數(shù)為偶數(shù)時,輸出函數(shù)值為0,依據(jù)這種邏輯關(guān)系可列寫出三輸入變量判奇電路的真值表如表1所示。
表1 三輸入判奇電路的真值表Tab.1 Truth table of odd check circuit with three inputs
門電路實現(xiàn)三輸入變量判奇電路的方法有很多,文中列舉如下。
方法一:與或表達(dá)式(1)可用反相器、與門、或門直接實現(xiàn),作其電路圖如圖1所示。
圖1 采用反相器、與門、或門實現(xiàn)Fig.1 Odd check circuit using inverters,AND gates and OR gate
用反相器、與門、或門實現(xiàn)三輸入判奇電路,其特點是表達(dá)式基本沒有變化,實現(xiàn)途徑簡單明了,缺點是連線較多,電路復(fù)雜。
方法二:與或表達(dá)式(1)也可用反相器、與或門實現(xiàn),電路圖如圖2所示。
圖2 采用反相器、與或門實現(xiàn)Fig.2 Odd check circuit using inverters and AND-OR Gate
由上述兩種不同門電路設(shè)計方法實現(xiàn)三輸入變量判奇電路可以得出,方法一和方法二雖然實現(xiàn)邏輯簡單,但是都連線太多,浪費資源。
同一邏輯問題的邏輯函數(shù)表達(dá)式是不具備唯一性的。對三變量輸入判奇邏輯問題的輸出函數(shù)表達(dá)式(1)進(jìn)行變換如下所示:
方法三:根據(jù)上述表達(dá)式(2)得出,三輸入變量判奇電路也可采用異或門實現(xiàn),其電路如圖3所示。
圖3 采用異或門實現(xiàn)Fig.3 Odd check circuit using exclusive OR Gates
由圖3所示電路可見,對于三輸入變量判奇的邏輯問題,當(dāng)采用異或門實現(xiàn)時,相比于方法一和方法二,電路中的連線較少,電路簡單明了,實現(xiàn)簡單。
對于異或邏輯表達(dá)式也可以稍作變換得出:
即一個異或門可用4個2輸入與非門實現(xiàn),所以三輸入判奇電路又可用8個2輸入與非門實現(xiàn),電路如圖4所示。
圖4 采用2輸入與非門實現(xiàn)Fig.4 Odd check circuit using NOT-AND Gates with two inputs
譯碼器的電路結(jié)構(gòu)表明,在適當(dāng)?shù)倪B接條件下,譯碼器實際上是一個最小項發(fā)生器。依據(jù)邏輯代數(shù)的基本原理,任何一個邏輯函數(shù)表達(dá)式都可以變換為最小項表達(dá)式。因此,譯碼器與適當(dāng)?shù)拈T電路結(jié)合,可以實現(xiàn)給定的邏輯函數(shù)。對于三輸入變量的判奇問題,利用74138譯碼器并配備適當(dāng)?shù)拈T電路亦可實現(xiàn)。由74138譯碼器的功能表可知[3-4]
在(4)式中,當(dāng)G1=1,G2A=G2B=0時,有Yi=。 如果把給定邏輯函數(shù)的輸入變量連與74138譯碼器的A2A1A0輸入端相連接,比如取A2A1A0=ABC,則邏輯函數(shù)表達(dá)式(1)可變換為:
(5)式表明,三輸入變量判奇電路可以利用74138譯碼器和四輸入與非門實現(xiàn),其電路如圖5所示。
圖5 三輸入判奇電路的譯碼器和與非門實現(xiàn)Fig.5 Odd check circuit using 74138 and NOT-AND Gate
數(shù)據(jù)選擇器的輸出與輸入關(guān)系的一般表達(dá)式[4]為:
(式)6中EN是輸入使能控制信號,mi是地址輸入變量構(gòu)成的最小項,Di表示數(shù)據(jù)輸入。當(dāng)使能輸入信號有效時,如果把數(shù)據(jù)輸入作為控制信號,則當(dāng)Di=1時,其對應(yīng)的最小項mi在表達(dá)式中出現(xiàn),當(dāng)Di=0時,其對應(yīng)的最小項mi在表達(dá)式中就不出現(xiàn)。所以,數(shù)據(jù)選擇器的輸出表達(dá)式事實上是受數(shù)據(jù)輸入端控制的最小項之和表達(dá)式??紤]到任何一個邏輯函數(shù)表達(dá)式都可以變換為最小項表達(dá)式,因此,只要邏輯函數(shù)的輸入變量接到數(shù)據(jù)選擇器的地址選擇輸入端,就可以實現(xiàn)組合邏輯函數(shù)[5-7]。利用數(shù)據(jù)選擇器這一特點,亦可實現(xiàn)三輸入變量的判奇電路。
如果選用八選一數(shù)據(jù)選擇器實現(xiàn)三輸入變量的判奇電路,此時,函數(shù)的輸入變量個數(shù)與數(shù)據(jù)選擇器的地址變量個數(shù)相同。如果令A(yù)2A1A0=ABC,使能輸入端接地,則(6)式變?yōu)椋?/p>
比較(1)與(7)式,可見只要 D0=D3=D5=D6=0,D1=D2=D4=D7=1,則有Y=F。由此可作電路圖如圖6(a)所示。也可以采用四選一數(shù)據(jù)選擇器實現(xiàn),其電路之一如圖6(b)所示。
圖6 采用數(shù)據(jù)選擇器實現(xiàn)Fig.6 Odd check circuit using multiplexer
在上述的判奇電路設(shè)計中,是按照輸出函數(shù)的原函數(shù)進(jìn)行分析。邏輯代數(shù)的基本定理表明:F=,由此可得出組合邏輯電路設(shè)計的另一途徑,即先求出再反相。這樣做看起來是麻煩一點,但對于某些應(yīng)用場合,設(shè)計過程并不增加麻煩,反而提供了解決問題的一種途徑。對于三輸入變量的判奇電路,在真值表1中對0寫出F的反函數(shù)有:
對式(8)兩邊取反有:
對于(9)式,可采用反相器、與或非門實現(xiàn),其電路如圖7所示。(9)式同樣可采用74138譯碼器或者數(shù)據(jù)選擇器實現(xiàn)。
圖7 采用反相器及與或非門實現(xiàn)Fig.7 Odd check circuit using Inverters and AND-OR-NOT gate
設(shè)計性實驗的關(guān)鍵在于設(shè)計過程,正確的設(shè)計以熟悉基本知識為前提。對于具體的應(yīng)用問題,由于組合邏輯電路元器件的多樣性,為實現(xiàn)途徑提供了多種可能的選擇,文中以三輸入變量的判奇邏輯問題為例,分析討論了多種電路實現(xiàn)的途徑,給出了7種電路實現(xiàn)方案,用實例說明了邏輯電路設(shè)計的靈活性與多樣性。
三輸入變量判奇邏輯電路的設(shè)計僅僅是個例,通過其設(shè)計途徑的討論在其他邏輯電路設(shè)計中舉一反三是目的。利用文中提出的設(shè)計思路,同樣可以設(shè)計全加器、全減器等其它組合邏輯電路,開闊組合邏輯電路設(shè)計的視野,培養(yǎng)創(chuàng)新思維能力,指導(dǎo)數(shù)字邏輯電路的設(shè)計與實驗。
[1]楊曉闊,蔡理,黃宏圖.基于量子元胞自動機(jī)的奇偶校驗系統(tǒng)分塊設(shè)計[J].固體電子學(xué)研究與進(jìn)展,2010,30(4):489-494.
YANG Xiao-kuo,CAI Li,HUANG Hong-tu.Modularization parity checker design based on quantum-dot cellular automata[J].Research&progress of SSE,2010,30(4):489-494.
[2]劉樹彬,宋健,安琪.用Mathematica輔助設(shè)計循環(huán)冗余碼校驗電路[J].核電子學(xué)與探測技術(shù),2003,23(3):256-258.
LIU Shu-bin,SONG Jian,AN Qi.A universal method for designing cyclical redundancy check circuit assisting with Mathematica[J].Nuclear Electronics&Detection Technology,2003, 23(3):256-258.
[3]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].5版.北京:高等教育出版社,2006.
[4]康華光,鄒壽彬,秦臻.電子技術(shù)基礎(chǔ)(數(shù)字部分)[M].5版.北京:高等教育出版社,2006.
[5]包瑞剛,侯淑英.利用譯碼與數(shù)據(jù)選擇器實現(xiàn)組合邏輯函數(shù)法[J].遼寧工程技術(shù)大學(xué)學(xué)報,2006,25(S1):209-210.
BAO Rui-gang,HOU Shu-ying.Method to relize combinational logic function using combination of decoder and data selector[J].Journal of Liaoning Technical University,2006,25(S1):209-210.
[6]石鑫,黃沛昱.數(shù)據(jù)選擇器在數(shù)字電路中的應(yīng)用[J].重慶郵電大學(xué)學(xué)報:自然科學(xué)版,2008(S1):49-50.
SHI Xin,HUANG Pei-yu.Applications of multiplexer in digital circuits[J].Journal of Chongqing University of Posts and Telecommunications:Natural Science Edition,2008 (S1):49-50.
[7]邢南亮.運用數(shù)據(jù)選擇器實現(xiàn)組合邏輯電路設(shè)計方法[J].現(xiàn)代電子技術(shù), 2007(10):182-184.
XING Nan-liang.Design of combination of logical electric circuit by data selectors[J].Modern Electronic Technique,2007(10):182-184.