高美蓉
(寶雞文理學(xué)院 物理系,陜西 寶雞 721016)
?
基于時序圖的異步時序邏輯電路的設(shè)計
高美蓉
(寶雞文理學(xué)院 物理系,陜西 寶雞 721016)
摘要:在異步時序邏輯電路的設(shè)計過程中,以波形分析為基礎(chǔ),通過電路的狀態(tài)轉(zhuǎn)換圖得到電路的時序圖,通過時序圖的分析確定觸發(fā)器的時鐘方程,在時鐘方程的作用下得到狀態(tài)轉(zhuǎn)換,填寫次態(tài)卡諾圖,通過次態(tài)卡諾圖的化簡得到輸出方程和狀態(tài)方程的設(shè)計方法。該方法簡單實用,學(xué)生易于理解和接受。
關(guān)鍵詞:異步時序邏輯電路;時序圖;時鐘信號
在邏輯電路中,任一時刻的輸出不僅取決于該時刻電路的輸入信號,而且還取決于前一時刻電路的狀態(tài),具有這種邏輯功能特點的電路稱為時序邏輯電路。時序邏輯電路按照動作特點又可分為同步時序邏輯電路和異步時序邏輯電路。同步時序邏輯電路是所有觸發(fā)器狀態(tài)的變化都是在同一時鐘信號操作下同時發(fā)生;異步時序邏輯電路是觸發(fā)器的狀態(tài)變化不是同時發(fā)生的。實際應(yīng)用中,時序問題千變?nèi)f化,一些現(xiàn)成的功能集成塊往往不能滿足需要,所以時序電路的設(shè)計方法就顯得十分重要。在異步時序電路設(shè)計過程中,關(guān)鍵是如何確定時鐘脈沖。為此,本文總結(jié)多年的教學(xué)經(jīng)驗,探討一種以波形分析為基礎(chǔ),通過電路的狀態(tài)轉(zhuǎn)換圖得到電路的時序圖,通過時序圖的分析確定觸發(fā)器的時鐘信號的通用設(shè)計方法。教學(xué)實踐證明,這種方法簡單易掌握,不容易出錯。
1設(shè)計方法
異步時序電路的設(shè)計過程與同步時序電路的設(shè)計大體相同,在設(shè)計異步時序電路時,除了需要完成設(shè)計同步時序邏輯電路所應(yīng)做的各項工作外,還要為每個觸發(fā)器選定合適的時鐘信號。而異步時序電路中各個觸發(fā)器的時鐘并不是來源于同一個,所以除了要確定各觸發(fā)器的激勵函數(shù)表達(dá)式外,還要確定各個觸發(fā)器的時鐘信號表達(dá)式,這就是設(shè)計異步時序電路時所遇到的特殊問題。通常情況下,異步時序邏輯電路各觸發(fā)器的時鐘是由函數(shù)計算得到的,改進(jìn)后的方法是通過分析時序波形圖來確定的,這樣就省去了一些復(fù)雜的計算步驟。歸納起來,異步時序邏輯電路的設(shè)計可按下述步驟進(jìn)行[1-2]:1)進(jìn)行邏輯抽象,列出電路的原始狀態(tài)轉(zhuǎn)換圖和狀態(tài)轉(zhuǎn)換表;2)進(jìn)行狀態(tài)化簡,分析每個狀態(tài)是否都是必不可少的,是否需要進(jìn)行狀態(tài)化簡;3)確定二進(jìn)制代碼的位數(shù),即確定觸發(fā)器的數(shù)目,對電路狀態(tài)進(jìn)行編碼,畫出編碼后的狀態(tài)圖;4)選擇觸發(fā)器的類型,列出時鐘方程、輸出方程和狀態(tài)方程表達(dá)式;5)根據(jù)得到的方程式畫出邏輯電路圖;6)檢查設(shè)計的電路能否自啟動。
在異步時序邏輯電路的設(shè)計過程中應(yīng)注意如下幾點。
1)在列輸出方程時,無效狀態(tài)對應(yīng)的最小項應(yīng)該當(dāng)成約束項處理。因為電路工作時,這些狀態(tài)是不會出現(xiàn)的[3]。
2)在列狀態(tài)方程時,注意一些特殊約束項的確認(rèn)和處理,以得到更加簡單的狀態(tài)方程。
3)為每個觸發(fā)器挑選合適的時鐘信號是異步時序邏輯電路設(shè)計的難點,挑選時鐘信號的原則是在觸發(fā)器的狀態(tài)應(yīng)該翻轉(zhuǎn)時必須有時鐘信號發(fā)生,觸發(fā)器的狀態(tài)不應(yīng)翻轉(zhuǎn)時多余的時鐘信號越少越好,這將有利于觸發(fā)器狀態(tài)方程和驅(qū)動方程的化簡;因此,可以由狀態(tài)轉(zhuǎn)換圖畫出電路的時序圖,通過時序圖的分析來確定各觸發(fā)器的時鐘信號。
2設(shè)計舉例
使用JK觸發(fā)器設(shè)計一個十二進(jìn)制的異步加法計數(shù)器,并要求所設(shè)計的電路能自啟動,設(shè)計步驟如下。
1)根據(jù)十二進(jìn)制加法計數(shù)器規(guī)則,必須有12個有效狀態(tài),依次為S0、S1、S2、S3、S4、S5、S6、S7、S8、S9、S10和S11,電路的原始狀態(tài)轉(zhuǎn)換圖如圖1所示。
圖1 電路的原始狀態(tài)轉(zhuǎn)換圖
2)通過分析這12個狀態(tài)都是必不可少的,不需要進(jìn)行狀態(tài)化簡。
3)十二進(jìn)制的加法計數(shù)器有12個有效狀態(tài),需要用4位的二進(jìn)制碼表示。依次為0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010和1011,即用4個觸發(fā)器。若令Si=Q3Q2Q1Q0,進(jìn)行編碼得到電路的狀態(tài)轉(zhuǎn)換圖(見圖2)。
圖2 電路的狀態(tài)轉(zhuǎn)換圖
4)選取下降沿JK觸發(fā)器設(shè)計該電路,列時鐘方程、輸出方程和狀態(tài)方程表達(dá)式[4]。
列各個觸發(fā)器的時鐘方程時,可以由電路的狀態(tài)轉(zhuǎn)換圖畫出電路的時序圖(見圖3)。觀察電路的時序圖,確定每個觸發(fā)器的時鐘信號。為觸發(fā)器挑選時鐘信號的原則是:觸發(fā)器的狀態(tài)翻轉(zhuǎn)時必須有時鐘信號發(fā)生;觸發(fā)器的狀態(tài)不應(yīng)翻轉(zhuǎn)時多余的時鐘信號越少越好,這將有利于觸發(fā)器狀態(tài)方程和驅(qū)動方程的化簡。根據(jù)上述原則,觀察圖3電路的時序圖可見,Q0的狀態(tài)每次改變時,觀察clk0、Q1、 Q2和Q3的波形,只有在clk0的每個下降沿到來時, Q0的狀態(tài)發(fā)生改變。故只能用clk0作為觸發(fā)器FF0的觸發(fā)脈沖CP0;同理,對Q1每次狀態(tài)發(fā)生改變時,有clk0和Q0的下降沿來臨,故可用clk0或Q0作為FF1的觸發(fā)脈沖CP1。依此類推,Q2可用clk0、Q1或Q0作為其觸發(fā)脈沖CP2; Q3可用clk0、Q1或Q0作為其觸發(fā)脈沖CP3。當(dāng)選用CP0=CP1=CP2=CP3=clk0時,所設(shè)計的電路為同步時序邏輯電路。依據(jù)觸發(fā)器挑選時鐘信號的原則, 得到時鐘方程CP0= clk0,CP1=Q0,CP2=Q1,CP3= Q1。
圖3 電路的時序圖
列電路的狀態(tài)方程,需要做出電路的次態(tài)卡諾圖(見圖4),然后將它分解為表示Q3*、Q2*、Q1*和Q0*的卡諾圖[5](見圖5)。在次態(tài)卡諾圖的表示過程中,把沒有時鐘信號的次態(tài)也作為任意項處理,以利用狀態(tài)方程的化簡。例如,在圖5所示的Q3*的卡諾圖中,當(dāng)現(xiàn)態(tài)為0000、0001、0010、0100、0101、0110、1000、1001和1010時,電路向次態(tài)的轉(zhuǎn)換過程中時鐘信號Q1沒有下降沿產(chǎn)生,因而這9個狀態(tài)作為卡諾圖的無關(guān)項處理。另外,由于正常工作時不會出現(xiàn)1100、1101、1110和1111這4個狀態(tài),因而也把這4個狀態(tài)作為無關(guān)項處理。同理,可得Q2*、Q1*和Q0*的次態(tài)卡諾圖。
圖4 電路的次態(tài)卡諾圖
圖5 卡諾圖的分解
對圖5所示的次態(tài)卡諾圖進(jìn)行化簡,得到電路的次態(tài)方程為:
該電路選取下降沿JK觸發(fā)器設(shè)計,則應(yīng)將該狀態(tài)方程變換成JK觸發(fā)器特性方程的標(biāo)準(zhǔn)形式,即Q*=J Q′+K′Q,然后就可以找出驅(qū)動方程了。為此,將上式改寫為:
經(jīng)變形后的邏輯式與JK觸發(fā)器的特性方程對比,得到各觸發(fā)器的驅(qū)動方程為:
根據(jù)電路的狀態(tài)轉(zhuǎn)換圖,畫出輸出C的卡諾圖(見圖6),由圖6得到:
C= Q3Q1Q0
圖6 電路輸出的卡諾圖
圖7 邏輯電路圖
5)根據(jù)得到的時鐘方程、輸出方程和狀態(tài)方程,畫出邏輯電路圖(見圖7)。6)檢查設(shè)計的電路能否自啟動。將1100、1101、1110和1111這4個無效狀態(tài)分別代入狀態(tài)方程,求其次態(tài),得到完整的電路狀態(tài)轉(zhuǎn)換圖(見圖8)。這4個無效狀態(tài)分別經(jīng)過1個時鐘脈沖進(jìn)入到有效循環(huán),表明電路是可以自啟動的。
圖8 完整的電路狀態(tài)轉(zhuǎn)換圖
3結(jié)語
在異步時序邏輯電路的設(shè)計過程中,通過電路時序圖的分析可以很方便地確定時鐘方程,進(jìn)而利用廣泛的約束條件,得到最簡次態(tài)方程,對比列出驅(qū)動方程,使邏輯電路最簡化,為異步時序邏輯電路的設(shè)計提供了一種新的設(shè)計思路。設(shè)計實例表明, 使用該方法在設(shè)計和分析異步時序邏輯電路時,更加快捷、準(zhǔn)確,并易于理解和接受。該設(shè)計方法同樣也適用于同步時序電路設(shè)計,是傳統(tǒng)同步時序電路設(shè)計的延伸。教學(xué)實踐證明,該方法能普遍為學(xué)生所掌握。
參考文獻(xiàn)
[1] 張繼軍.同步和異步時序邏輯電路統(tǒng)一設(shè)計的新方法[J].計算機(jī)工程與應(yīng)用,2003(17):136-138.
[2] 康華光.電子技術(shù)基礎(chǔ).數(shù)字部分[M].4版.北京:高等教育出版社,2000.
[3] 趙興強(qiáng).異步時序邏輯電路設(shè)計的一種簡明方法[J].西華師范大學(xué)學(xué)報:自然科學(xué)版,2004(6):227-230.
[4] 呂虹,張海峰.基于時鐘設(shè)計的異步時序邏輯電路設(shè)計法[J],電氣電子教學(xué)學(xué)報,2002(6):72-74.
[5] 雷 軒,盧 超. 異步時序邏輯電路的分析與設(shè)計[J]. 計算機(jī)時代,2014(5):19-22.
責(zé)任編輯馬彤
The Circuit Self Starting Design of the Improved Method based on the JK Drive Equation
GAO Meirong
(Physics Department, Baoji College of Arts and Sciences, Baoji 721016, China)
Abstract:The Design of asynchronous sequential logic circuit is based on the waveform analysis,and through the state of the circuit transition diagram circuit timing diagram.The flip-flop clock equation is determined by the analysis of the sequence diagram. Obtain state transitions under the action of a clock equation,and fill in the next state karnaugh map.Design the method of output equation and the equation of state by state Karnaugh graph simplification. The method is simple and practical,and can easy be understood and accepted by students.
Key words:asynchronous sequential logic circuit, timing sequence diagram, clock signal
收稿日期:2015-08-31
作者簡介:高美蓉(1980-),女,講師,碩士,主要從事應(yīng)用電子技術(shù)教學(xué)等方面的研究。
中圖分類號:TN 79
文獻(xiàn)標(biāo)志碼:A