《數字電路設計及Verilog HDL實現》課件第5章_第1頁
《數字電路設計及Verilog HDL實現》課件第5章_第2頁
《數字電路設計及Verilog HDL實現》課件第5章_第3頁
《數字電路設計及Verilog HDL實現》課件第5章_第4頁
《數字電路設計及Verilog HDL實現》課件第5章_第5頁
已閱讀5頁,還剩524頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

5.1

時序邏輯電路概述

5.2集成觸發(fā)器

5.3時序邏輯電路分析

5.4時序邏輯電路的設計方法

5.5常用時序電路及其應用第5章時序邏輯電路5.1.1時序邏輯電路的特點

時序邏輯電路在結構上有兩個特點:第一,包含組合電路和存儲電路兩部分,存儲電路是必不可少的;第二,存儲電路的狀態(tài)至少有一個作為組合電路的輸入,與其他輸入信號共同決定電路的輸出。時序邏輯電路的系統(tǒng)框圖可以歸結為如圖5.1.1所示的形式。5.1時序邏輯電路概述圖5.1.1時序邏輯電路的構成方框圖圖5.1.1中,X(x1,x2,…,xi)為外部輸入信號;Z(z1,z2,…,zj)是組合邏輯電路輸出信號;W(w1,w2,…,wl)為存儲電路輸入信號;Y(y1,y2,…,yk)為存儲電路的輸出信號,也是組合邏輯電路的部分輸入信號。

這些信號之間的邏輯關系可以用電路輸出函數:

Z(tn)=f1[X(tn),Y(tn)]

存儲電路的激勵函數:

W(tn)=f2[X(tn),Y(tn)]

和存儲電路的狀態(tài)方程:

Y(tn+1)=f3[W(tn),Y(tn)]三個邏輯函數表示。其中,Y(tn)表示tn時刻存儲電路的當前狀態(tài);Y(tn+1)為tn+1時刻存儲電路的狀態(tài),即存儲電路的下一時刻狀態(tài);tn+1時刻的輸出Z(tn+1)是由tn+1時刻的輸入X(tn+1)及存儲電路在tn+1時刻的狀態(tài)Y(tn+1)決定的;Y(tn+1)由tn時刻的存儲電路的激勵輸入W(tn)及在tn時刻存儲電路的狀態(tài)Y(tn)決定。由此可以得出結論,tn+1時刻電路的輸出Z(tn+1)不僅取決于tn+1時刻的輸入X(tn+1),而且還取決于tn時刻存儲電路的輸入W(tn)及存儲電路在tn時刻的狀態(tài)Y(tn)。5.1.2時序邏輯電路的分類

時序邏輯電路按照不同的分類原則可以有多種分類方法,常見的分類原則有根據輸入時鐘信號分類和根據輸出信號分類。

根據輸入時鐘信號分類可分為同步時序電路和異步時序電路。在同步時序電路中,各觸發(fā)器的輸入時鐘脈沖相同,其狀態(tài)的改變受同一個時鐘脈沖控制,即電路在統(tǒng)一時鐘控制下,同步改變狀態(tài)。對于異步時序電路,其特點是各觸發(fā)器的時鐘脈沖不同,即電路中沒有統(tǒng)一的時鐘脈沖來控制電路狀態(tài)的變化,因此,電路各觸發(fā)器的狀態(tài)更新有先有后。根據輸出信號對時序邏輯電路進行分類,可分為米利(Mealy)型和摩爾(Moore)型兩大類。米利型時序邏輯電路的構成如圖5.1.2(a)所示,該類電路的輸出不僅與電路現態(tài)有關,而且還取決于電路當前的輸入。摩爾型時序邏輯電路的構成如圖5.1.2(b)所示,其輸出僅取決于電路的現態(tài),與電路當前的輸入無關。因此,也可以將摩爾型電路看成是米利型電路的特例。圖5.1.2時序邏輯電路框圖(a)米利(Mealy)型;(b)摩爾(Moore)型5.2.1觸發(fā)器的工作原理

1.與非門構成的基本R-S觸發(fā)器

1)電路組成

如圖5.2.1(a)所示,將兩個與非門輸出端交叉耦合到輸入端就可以構成一個基本R-S觸發(fā)器電路。圖中,G1和G2是兩個與非門,和是與非門的兩個輸入端,也可稱為觸發(fā)器的激勵端或控制端;Q和是觸發(fā)器的兩個輸出端,這兩個輸出端的狀態(tài)是互補的?;綬-S觸發(fā)器的邏輯符號如圖5.2.1(b)所示,輸入端的小圓圈表示低電平或負脈沖有效。

5.2集成觸發(fā)器圖5.2.1與非門構成的基本R-S觸發(fā)器

2)工作原理

設電路的兩個穩(wěn)定狀態(tài)分別為1狀態(tài)和0狀態(tài),其定義分別為

1狀態(tài):Q=1,=0

0狀態(tài):Q=0,=1

在輸入信號和的控制下,觸發(fā)器的狀態(tài)會發(fā)生相應的變化,具體情況分析如下。

(1)狀態(tài)保持功能。分析控制信號=1、=1的情況。

假設觸發(fā)器原來的狀態(tài)為1狀態(tài),即Q=1、=0,此時G1門的輸出反饋到G2門的輸入端,使G2門的輸出Q為1保持不變,Q反饋到G1的輸入端,G1的兩個輸入端均為1,從而保證G1的輸出端=0。若假設觸發(fā)器原來的狀態(tài)為0狀態(tài),即Q=0、=1,此時G2門的輸出Q反饋到G1門的輸入端,使為1保持不變,反饋到G2的輸入端,G2的兩個輸入端均為1,從而G2的輸出端Q=0。

從以上分析可知:若=1、=1,則觸發(fā)器保持原來狀態(tài)不變。

(2)電路的置1功能。分析控制端=1、=0的情況。

不論原來電路狀態(tài)如何,由于=0,因此G2門的輸出Q=1;由于=1和Q=1使G1的兩個輸入端均為1,因此G1的輸出端=0。

(3)電路的置0功能。分析控制端=0、=1的情況。

不論原來電路狀態(tài)如何,由于=0,因此G1門輸出

=1;由于=1和=1使G2的兩個輸入端均為1,因此G2的輸出端Q=0。

(4)不確定狀態(tài)。

當控制端出現=0,=0時,理論上會出現=1、Q=1的情況,而實際中這種情況是不允許出現的,會導致觸發(fā)器出現不確定狀態(tài)。觸發(fā)器的不確定狀態(tài)有兩層含義:第一,=1、Q=1,觸發(fā)器既不是0狀態(tài),也不是1狀態(tài);第二,當出現、同時從0變化到1的情況時,由于兩個與非門的延遲時間不同,觸發(fā)器的新狀態(tài)不能預先確定。若G1延遲時間小于G2,則G1門的輸出會先變?yōu)?,這就會使得G2門的輸出Q為1,即觸發(fā)器的狀態(tài)穩(wěn)定為1狀態(tài)。

若G1延遲時間大于G2,則G2門的輸出Q先變?yōu)?,這就會使得G1門的輸出為1,即觸發(fā)器的狀態(tài)穩(wěn)定為0狀態(tài)。

因此,規(guī)定、不能同時為0,用約束條件來表示。即基本R-S觸發(fā)器在工作時必須滿足的約束條件為

+

=1。

【例5.2.1】用與非門組成的基本R-S觸發(fā)器中,設初始狀態(tài)為0,已知、的輸入波形如圖5.2.2所示,畫出其輸出波形。

解與非門組成的基本R-S觸發(fā)器的輸出端Q、的波形如圖5.2.2所示。圖中用陰影表示觸發(fā)器處于不確定狀態(tài)。圖5.2.2例5.2.1的基本R-S觸發(fā)器輸出波形

3)邏輯功能描述

描述觸發(fā)器的邏輯功能的常用方法有:狀態(tài)轉移真值表、特征方程、狀態(tài)轉移圖和狀態(tài)激勵表等。

(1)狀態(tài)轉移真值表。狀態(tài)轉移真值表是反映觸發(fā)器的狀態(tài)變化與輸入之間關系的一種表格。根據基本R-S觸發(fā)器的工作原理,對其邏輯功能進行歸納后,可用表5.2.1所示的狀態(tài)轉移真值表和表5.2.2所示的簡化真值表進行表述。表5.2.1基本R-S觸發(fā)器的狀態(tài)轉移真值表表5.2.2基本R-S觸發(fā)器的簡化真值表

(2)特征方程。特征方程又稱狀態(tài)方程或次態(tài)方程,它用邏輯函數描述觸發(fā)器的功能。根據表5.2.1做出基本R-S觸發(fā)器次態(tài)Qn+1的卡諾圖,如圖5.2.3所示,通過化簡可得

(5.2.1)圖5.2.3基本R-S觸發(fā)器的次態(tài)卡諾圖

(3)狀態(tài)轉移圖和激勵表。狀態(tài)轉移圖是用圖形來描述觸發(fā)器的功能。圖5.2.4所示為基本R-S觸發(fā)器的狀態(tài)轉移圖。

圖中的兩個圓圈分別代表兩個穩(wěn)態(tài),標“0”的圈表示0狀態(tài)(

);標“1”的圈表示1狀態(tài)(

)。連接圓圈的有向線段表示狀態(tài)之間的轉移關系,箭頭的起

始端表示電路的現態(tài),終止端表示電路的次態(tài);箭頭旁邊標出狀態(tài)轉移時的條件(的取值)和現態(tài)的輸出結果。由圖5.2.4可見,觸發(fā)器若從現態(tài)Qn=0的情況下轉移到次態(tài)Qn+1=1,則必須滿足輸入;觸發(fā)器若從狀態(tài)Qn=1轉移到次態(tài)Qn+1=0,則必須滿足;若觸發(fā)器維持現態(tài)Qn=1,則必須滿足;若觸發(fā)器維持狀態(tài)Qn=0,則必須滿足。圖5.2.4所示與表5.2.1狀態(tài)轉移真值表描述的功能是相同的。

圖5.2.4也可以用表5.2.3所示的觸發(fā)器激勵表來描述,表中描述了觸發(fā)器由現態(tài)Qn轉移到次態(tài)Qn+1時對輸入控制信號的要求。圖5.2.4基本R-S觸發(fā)器的狀態(tài)轉移圖表5.2.3基本R-S觸發(fā)器的激勵表

2.或非門構成的基本R-S觸發(fā)器

基本R-S觸發(fā)器也可以用兩個或非門交叉構成,其電路如圖5.2.5(a)所示,邏輯符號如圖5.2.5(b)所示。它的工作原理和與非門構成的基本R-S觸發(fā)器非常相似,由于使用的是或非門,因此兩個控制端是高電平有效的。這種基本R-S觸發(fā)器的邏輯功能請讀者自行分析。圖5.2.5由或非門構成的基本R-S觸發(fā)器(a)電路圖;(b)邏輯符號

3.基本R-S觸發(fā)器的Verilog描述與仿真

用與非門實現的基本R-S觸發(fā)器模塊的Verilog程序見代碼5.2.1,對應的功能仿真圖如圖5.2.6所示。

代碼5.2.1用與非門實現基本R-S觸發(fā)器模塊。modulesamp5_2_1(Rd_n,Sd_n,Q,Qn);

inputRd_n,Sd_n;

outputQ,Qn;

BASIC_RS_FFu1(Rd_n,Sd_n,Q,Qn);

endmodule

moduleBASIC_RS_FF(Rd_n,Sd_n,Q,Qn);

inputRd_n,Sd_n;

outputQ,Qn;

wireQ1,Qn1;

wireRd,Sd;

assignQ=Q1;

assignQn=Qn1;

nandu1(Qn1,Q1,Rd_n);

nandu2(Q1,Qn1,Sd_n);

endmodule圖5.2.6代碼5.2.1的功能仿真圖

4.基本觸發(fā)器的特點總結

基本R-S觸發(fā)器有如下一些特點:

(1)只有復位(Q=0)、置位(Q=1)、保持原狀態(tài)等三種功能。

(2)有兩個互補的輸出端,有兩個穩(wěn)定的狀態(tài)。

(3)R是復位輸入端,S是置位輸入端,其有效電平取決于觸發(fā)器的結構。

(4)由于反饋線的存在,無論是復位還是置位,有效信號只需要作用很短的一段時間。

基本R-S觸發(fā)器結構簡單,是構成其他觸發(fā)器的基礎,但由于其狀態(tài)由輸入端直接控制以及約束條件的存在,因此其在應用方面存在很大的局限性和不便。

5.2.2常用觸發(fā)器

1.鐘控R-S觸發(fā)器

1)鐘控R-S觸發(fā)器的電路

鐘控R-S觸發(fā)器的邏輯電路圖如圖5.2.7(a)所示;邏輯符號如圖5.2.7(b)所示。由圖可見,鐘控R-S觸發(fā)器是在基本R-S觸發(fā)器電路的基礎上又增加了兩個與非門G3和G4構成的。圖5.2.7鐘控R-S觸發(fā)器(a)電路圖;(b)邏輯符號

2)鐘控R-S觸發(fā)器的工作原理

在CP=0期間,G3、G4門被封鎖,=1、=1,觸發(fā)器狀態(tài)保持不變。

在CP=1期間,G3、G4門的輸出由R和S端信號決定,即、受R和S控制,決定觸發(fā)器的輸出狀態(tài)。下面對觸發(fā)器狀態(tài)受R和S控制的過程進行分析。

(1)當S=0、R=0時,=1、=1,則有Qn+1=Qn,觸發(fā)器狀態(tài)保持。

(2)當S=1、R=0時,=1、=0,則有Qn+1=1,觸發(fā)器置位。

(3)當S=0、R=1時,=0、=1,則有Qn+1=0,觸發(fā)器復位。

(4)當S=1、R=1時,=0、=0,則有Qn+1=X,觸發(fā)器狀態(tài)不確定。可見觸發(fā)器狀態(tài)是受CP和R、S共同控制的,觸發(fā)器狀態(tài)轉換的動作時間是由時鐘脈沖CP控制的,而狀態(tài)轉換的結果由R和S決定,由于經過了一級反相,因此S和R對觸發(fā)器狀態(tài)的控制是高電平有效的。

鐘控R-S觸發(fā)器的狀態(tài)轉移真值表、激勵表分別如表5.2.4和表5.2.5所示,狀態(tài)轉移圖如圖5.2.8所示。表5.2.4、表5.2.5和圖5.2.8均表示CP=1時的情況。表5.2.4鐘控R-S觸發(fā)器的狀態(tài)轉移真值表表5.2.5鐘控R-S觸發(fā)器的激勵表圖5.2.8鐘控R-S觸發(fā)器狀態(tài)轉移圖根據基本R-S觸發(fā)器的狀態(tài)方程,可以得到當CP=1時,鐘控R-S觸發(fā)器的狀態(tài)方程:

(5.2.2)

其中,SR=0為約束條件,控制輸入端R、S不能同時為1。

根據鐘控R-S的工作原理可畫出其時序圖,如圖5.2.9所示。圖5.2.9鐘控R-S觸發(fā)器的時序圖

3)鐘控R-S觸發(fā)器的Verilog描述與仿真

代碼5.2.2是用四個與非門實現的鐘控R-S觸發(fā)器模塊,其功能仿真如圖5.2.10所示。

代碼5.2.2用四個與非門實現的鐘控R-S觸發(fā)器模塊。modulesamp5_2_2(R,S,CP,Q,Qn);

inputR,S,CP;

outputQ,Qn;

BASIC_RS_CPu1(R,S,CP,Q,Qn);

endmodule

moduleBASIC_RS_CP(R,S,CP,Q,Qn);

inputR,S,CP;

outputQ,Qn;

wireQ1,Qn1;

wireRd,Sd;

assignQ=Q1;

assignQn=Qn1;

nandu3(S,CP,Sd);

nandu4(R,CP,Rd);

nandu1(Sd,Qn1,Q1);

nandu2(Rd,Q1,Qn1);

endmodule圖5.2.10代碼5.2.2的功能仿真圖鐘控R-S觸發(fā)器雖然解決了觸發(fā)器狀態(tài)轉換時刻的控制,但是依舊存在兩個問題:第一,輸入信號存在約束條件,即R、S不能同時為1;第二,在時鐘CP=1期間,R、S信號依然直接控制著觸發(fā)器的狀態(tài)變化,從而使得一個時鐘脈沖有效期間會引起狀態(tài)的多次翻轉。這種翻轉現象又稱為“空翻”,空翻可能是由于輸入信號的變化或受干擾造成的,會造成系統(tǒng)狀態(tài)的不確定性??朔辗F象的最簡單的方法就是控制時鐘脈沖的寬度。

2.D觸發(fā)器

1)鐘控D觸發(fā)器

將鐘控R-S觸發(fā)器的輸入端按照圖5.2.11(a)所示連接就成了鐘控D觸發(fā)器的邏輯電路。圖5.2.11(b)所示是鐘控D觸發(fā)器的邏輯符號。這樣,電路的控制輸入端就只有D,從而保證了后端的基本R-S觸發(fā)器的兩個輸入、始終保持相反的狀態(tài),從而解決了電路的輸入約束問題。圖5.2.11鐘控D觸發(fā)器(a)電路圖;(b)邏輯符號

D觸發(fā)器的工作原理是:

(1)當CP=0時,G4和G3門被封鎖,=1,

=1,觸發(fā)器狀態(tài)保持不變。

(2)只有CP=1時(高電平有效),觸發(fā)器的狀態(tài)才由輸入信號D來決定。

(3)當D=1時,G4門輸出0,G3門輸出1,即=0、

=1,觸發(fā)器的狀態(tài)為1。

(4)當D=0時,G4門輸出1,G3門輸出0,即=1、

=0,觸發(fā)器的狀態(tài)為0。由電路圖可得:

(5.2.3)

將式(5.2.3)代入基本R-S觸發(fā)器的狀態(tài)方程,即得鐘控D觸發(fā)器的狀態(tài)方程:

Qn+1=D

(5.2.4)

可見,+

=1的約束條件始終滿足。

D觸發(fā)器的狀態(tài)轉移真值表如表5.2.6所示,激勵表如表5.2.7所示,狀態(tài)轉移圖如圖5.2.12所示。(均為CP=1時的情況。)表5.2.6D觸發(fā)器的狀態(tài)轉移真值表表5.2.7D觸發(fā)器的激勵表圖5.2.12鐘控D觸發(fā)器的狀態(tài)轉移圖

2)邊沿D觸發(fā)器

上述D觸發(fā)器在時鐘信號CP作用期間仍然存在“空翻”現象,因此要求D在時鐘信號有效期間(如高電平)不能發(fā)生變化。為了解決“空翻”問題,在工程中往往采用維持阻塞觸發(fā)器,這種觸發(fā)器僅在時鐘信號的上升沿和下降沿時刻才接受輸入控制,實現狀態(tài)轉換。典型的時鐘信號CP上升沿觸發(fā)的維持阻塞D觸發(fā)器的邏輯電路圖和邏輯符號如圖5.2.13(a)、(b)所示。電路由六個與非門構成,其中,G1、G2組成基本R-S觸發(fā)器,G3~G6組成控制門。圖5.2.13(b)中,CP端帶有小三角符號,表示上升沿觸發(fā)。圖5.2.13(a)中的、分別稱為異步復位(置0)端和異步置位(置1)端,均為低電平有效。所謂“異步”,是指該信號對電路的作用與時鐘信號無關。圖5.2.13維持阻塞D觸發(fā)器(a)電路圖;(b)邏輯符號下面分析維持阻塞D觸發(fā)器的基本工作原理。

(1)當=0、=1時,G5=1、G4=1,使=1,保證觸發(fā)器可靠置0。

(2)當=1、=0時,G6=1,在CP=1期間G4=0、G3=1,即使=1、=0,觸發(fā)器也可靠置1,在CP=0期間,G3=1、G4=1,也使觸發(fā)器可靠置1。

(3)當=1、=1時,觸發(fā)器的狀態(tài)變化受時鐘信號CP控制,具體情況是:

·在CP=0期間,G3、G4門被封鎖,其輸出都為1,使基本觸發(fā)器G1、G2保持原狀態(tài)不變。這時,G5、G6門跟隨輸入值D變化,G5=、G6=D。

·當CP正邊沿到來時,G3、G4門打開,接收G5門和G6門的輸出信號,使G3門和G4門的輸出分別為G3=D、G4=

:①若D=0,使G3=0,則=0,一方面使觸發(fā)器狀態(tài)置“0”,另一方面,這個“0”又經過③線(置“0”維持線)反饋至G5門的輸入端,這樣就封鎖了G5門,使G5門輸出保持為1,從而克服了空翻,使觸發(fā)器狀態(tài)在CP高電平期間維持“0”不變。在CP=1期間,G5門輸出的“1”還通過線④(置“1”阻塞線)反饋至G6門的輸入端,使G6門輸出為0,從而可靠地保證G4輸出為“1”,阻止觸發(fā)器狀態(tài)向“1”翻轉。②若D=1,使G4=0,則=0,這不僅使觸發(fā)器狀態(tài)置“1”,而且這個“0”又經過①線(置“1”維持線)反饋至G6門的輸入端,這樣又使G4門的輸出為0,從而使觸發(fā)器狀

態(tài)維持“1”不變。在CP=1期間,G4門輸出的“0”通過②線(置“0”阻塞線)反饋至G3門的輸入端,從而可靠地保證G3輸出為“1”,阻止觸發(fā)器狀態(tài)向“0”翻轉。

通過以上分析,我們可以得到結論:維持阻塞D觸發(fā)器在CP上升沿到達前,建立輸入信號D,在CP上升沿到達時,接收輸入改變觸發(fā)器的狀態(tài);CP上升沿過后,D信號不起作用,即使D發(fā)生改變,觸發(fā)器狀

態(tài)也不變,而保持上升沿到達時的D信號狀態(tài)。因此,維持阻塞D觸發(fā)器是正邊沿觸發(fā)器。

D觸發(fā)器的工作波形(設Q端初始狀態(tài)為0)和脈沖特性如圖5.2.14(a)、(b)所示。從宏觀上看,D觸發(fā)器的狀態(tài)變化發(fā)生在CP脈沖的上升沿。但從微觀上看,D觸發(fā)器使用時也要滿足其脈沖特性的要求,如在CP脈沖上升沿到來前,D端外加信號至少有長度為tset的建立時間;在CP脈沖上升沿過后,D端外加信號至少有長度為th的保持時間。tset、th和觸發(fā)器延遲時間tpd、時鐘高電平持續(xù)時間TWH和低電平持續(xù)時間TWL決定了D觸發(fā)器的最高工作頻率。例如,雙D觸發(fā)器芯片SN7474的tset=20ns,th=5ns,tpd=40ns,TWH=37ns,TWL=30ns,最高工作頻率fmax為15MHz。當不滿足這些條件時,SN7474將不能正常工作。

圖5.2.14維持阻塞D觸發(fā)器的時序圖和脈沖特性(a)時序圖;(b)脈沖特性維持阻塞D觸發(fā)器克服了對輸入的約束條件和空翻現象,抗干擾能力強,用途廣,可實現寄存、計數等功能。但由于它只有一個控制輸入端,因此其邏輯功能比較簡單,只有置1和置0的功能。其他常見的維持阻塞觸發(fā)器還有R-S觸發(fā)器,工作原理與維持阻塞D觸發(fā)器類似,這里不再介紹。

3)D觸發(fā)器的Verilog描述與仿真

(1)基本功能D觸發(fā)器。

代碼5.2.3是實現下降沿觸發(fā)D觸發(fā)器基本功能的Verilog模塊代碼,其功能仿真如圖5.2.15所示。

代碼5.2.3下降沿觸發(fā)D觸發(fā)器。modulesamp5_2_3(D,CLK,Q,QN);//頂層文件

inputCLK,D;

outputQ,QN;

BASIC_DFF_DNu1(.Q(Q),.QN(QN),.D(D),.CP(CLK));

endmodule

moduleBASIC_DFF_DN(D,CP,Q,QN);//基本功能觸發(fā)器

inputD,CP;

outputQ,QN;

regQ;

assignQN=~Q;

always@(negedgeCP)

begin

Q=D;

end

endmodule圖5.2.15代碼5.2.3的功能仿真圖

(2)帶異步置位復位端的D觸發(fā)器。

代碼5.2.4實現了一個具有異步復位置位功能、上升沿觸發(fā)的D觸發(fā)器模塊,其功能仿真如圖5.2.16所示。

代碼5.2.4帶異步置位復位端的D觸發(fā)器模塊。modulesamp5_2_4(D,CLK,RESET,SET,Q,QN);//頂層模塊

inputD,CLK,RESET,SET;

outputQ,QN;

ASYNC_RS_D_FFu1(.D(D),.CP(CLK),.(RESET),.S(SET),

.Q(Q),.QN(QN));

endmodule

moduleASYNC_RS_D_FF(D,CP,R,S,Q,QN);

inputD,CP,R,S;

outputQ,QN;

regQ;

assignQN=~Q;

always@(posedgeCPorposedgeRorposedgeS)

if(R)

Q<=1′b0;

elseif(S)

Q<=1′b1;

else

Q<=D;

endmodule圖5.2.16代碼5.2.4的功能仿真圖

(3)帶同步置位復位端的D觸發(fā)器。

代碼5.2.5是另一個描述D觸發(fā)器模塊的Verilog程序,與代碼5.2.4不同的是,其復位和置位功能是同步的。其功能仿真如圖5.2.17所示。

代碼5.2.5同步置位復位端D觸發(fā)器模塊。modulesamp5_2_5(D,CLK,RESET,SET,Q,QN);//頂層調用模塊

inputD,CLK,RESET,SET;

outputQ,QN;

SYNC_RS_D_FFu1(.D(D),.CP(CLK),.R(RESET),.S(SET),

.Q(Q),.QN(QN));

endmodule

moduleSYNC_RS_D_FF(D,CP,R,S,Q,QN);

inputD,CP,R,S;

outputQ,QN;

regQ;

assignQN=~Q;

always@(posedgeCP)

if(R)

Q<=1′b0;

elseif(S)

Q<=1′b1;

else

Q<=D;

endmodule圖5.2.17代碼5.2.5的功能仿真圖

3.J-K觸發(fā)器

J-K觸發(fā)器既能夠解決鐘控R-S觸發(fā)器對輸入信號約束條件的限制,又具有較強的功能,應用非常廣泛。

1)鐘控J-K觸發(fā)器

鐘控J-K觸發(fā)器的電路和邏輯符號如圖5.2.18(a)、(b)所示。由圖可見,G1和G2門構成基本觸發(fā)器,G3和G4門構成控制電路。圖5.2.18鐘控J-K觸發(fā)器(a)電路圖;(b)邏輯符號當CP=0時,G3、G4門被封鎖,輸出為1,使基本觸發(fā)器保持原來的狀態(tài)。

當CP=1時,分以下四種情況進行討論:

(1)當J=0、K=0時,G3=1,G4=1,基本觸發(fā)器狀態(tài)保持不變。

(2)當J=0、K=1時,若觸發(fā)器原來狀態(tài)為0,則G3=1、G4=1,基本觸發(fā)器狀態(tài)保持不變;若觸發(fā)器原來狀態(tài)為1,則G3=0、G4=1,基本觸發(fā)器狀態(tài)翻轉為0。在這種情況下,觸發(fā)器的次態(tài)都為0,與原狀態(tài)無關。

(3)當J=1、K=0時,若觸發(fā)器原來狀態(tài)為0,則G3=1、G4=0,基本觸發(fā)器狀態(tài)翻轉為1;若觸發(fā)器原來狀態(tài)為1,則G3=1、G4=1,基本觸發(fā)器狀態(tài)保持不變。在這種情況下,觸發(fā)器的次態(tài)都為1,與原狀態(tài)無關。

(4)當J=1、K=1時,若觸發(fā)器原來狀態(tài)為0,則G3=1、G4=0,基本觸發(fā)器狀態(tài)翻轉為1;若觸發(fā)器原來狀態(tài)為1,則G3=0、G4=1,基本觸發(fā)器狀態(tài)翻轉為0。在這種情況下,觸發(fā)器的次態(tài)與現態(tài)相反。由電路圖可以看出,G3、G4門的輸出、分別為

將式(5.2.5)代入基本R-S觸發(fā)器特征方程,即得到鐘控J-K觸發(fā)器的狀態(tài)方程:

(CP=1期間有效)(5.2.6)(5.2.5)對于基本觸發(fā)器的約束條件,將式(5.2.5)代入有:

(5.2.7)

因此不論J、K信號如何變化,約束條件始終滿足。鐘控J-K

觸發(fā)器的狀態(tài)轉移真值表和激勵表如表5.2.8和表5.2.9所示,其狀態(tài)轉移圖如圖5.2.19所示,圖5.2.20是鐘控J-K觸發(fā)器的時序波形圖。表5.2.8J-K觸發(fā)器的狀態(tài)轉移真值表表5.2.9J-K觸發(fā)器的激勵表圖5.2.19鐘控J-K觸發(fā)器的狀態(tài)轉移圖圖5.2.20鐘控J-K觸發(fā)器的時序波形圖

2)主從J-K觸發(fā)器

鐘控J-K觸發(fā)器的輸入信號沒有約束條件的限制,而且可以在J、K信號的控制下實現保持、置1、置0和翻轉的功能,相比D觸發(fā)器功能較強,但同樣存在“空翻問題”。為了解決這個問題,一種方法是采用主從結構,這樣的觸發(fā)器又稱為主從J-K觸發(fā)器,其邏輯電路圖和邏輯符號如圖5.2.21所示。由圖可見,它是由主、從兩級觸發(fā)器構成的,虛線以左部分是由G8、G7、G6、G5門構成的主觸發(fā)器,虛線以右部分是由G4、G3、G2和G1門構成的從觸發(fā)器。主觸發(fā)器的輸出是從觸發(fā)器的輸入,主、從觸發(fā)器的時鐘信號是反相的。邏輯符號中時鐘端的小圓圈和三角表示觸發(fā)器的狀態(tài)改變是在時鐘信號的下降沿。圖5.2.21主從J-K觸發(fā)器(a)電路圖;(b)邏輯符號下面對主從J-K觸發(fā)器的工作原理進行分析。

(1)在CP為上升沿和高電平期間,主觸發(fā)器接收輸入信號的控制,并將狀態(tài)存儲在主觸發(fā)器中,此時從觸發(fā)器保持不變。

(2)當CP下降沿到來時,主觸發(fā)器狀態(tài)傳送到從觸發(fā)器,使從觸發(fā)器狀態(tài)跟隨主觸發(fā)器變化,而此時主觸發(fā)器本身不受輸入的控制,保持狀態(tài)不變。

(3)在CP為低電平期間,由于主觸發(fā)器的狀態(tài)不變,因此從觸發(fā)器的狀態(tài)也保持不變。

可見,由于整個觸發(fā)器狀態(tài)的改變是由CP下降沿時刻主觸發(fā)器的狀態(tài)決定的,因而克服了“空翻”現象。

從圖5.2.21可寫出主觸發(fā)器的輸出、的邏輯表達式為

(CP=1時有效)(5.2.8)將式(5.2.5)代入從觸發(fā)器(即鐘控R-S觸發(fā)器)的特征方程,即可得到與式(5.2.6)相同的主從J-K觸發(fā)器的特征方程。

主從J-K觸發(fā)器的時序波形如圖5.2.22所示。圖5.2.22主從J-K觸發(fā)器的時序波形圖圖5.2.23主從J-K觸發(fā)器的時序波形圖在應用主從J-K觸發(fā)器中要注意“一次翻轉”現象。所謂“一次翻轉”,是指在CP=1期間,主觸發(fā)器的狀態(tài)一旦發(fā)生一次狀態(tài)改變后,就被“鎖死”,保持不變,不會再受輸入激勵信號J、K的控制。圖5.2.23為主從J-K觸發(fā)器的“一次翻轉”示意圖。由圖可見,在第二個CP的上升沿到來時刻,J=1、K=0、Q主=1;在第二個CP=1期間的t1時刻,K變?yōu)?,主觸發(fā)器的狀態(tài)Q主=0,發(fā)生了一次翻轉,此后就一直保持不變,而不是不斷翻轉;在第三個CP的高電平期間,t2時刻主觸發(fā)器的狀態(tài)發(fā)生一次從0到1的變化后就一直保持不變,不再受J、K的控制,因此t3時刻K=1的變化不會改變觸發(fā)器的狀態(tài)。主從J-K觸發(fā)器的“一次翻轉”特性要求CP=1期間,激勵信號J、K不發(fā)生變化,使主從J-K觸發(fā)器的應用受到了一定限制。

集成J-K觸發(fā)器在制造時,也可利用半導體技術使前后級器件的延遲不同,生產出邊沿觸發(fā)的J-K觸發(fā)器,這種J-K觸發(fā)器具有較強的抗干擾能力和速度,應用較廣,這里不再贅

述。

3)J-K觸發(fā)器的VerilogHDL描述

代碼5.2.6是J-K觸發(fā)器模塊的Verilog程序,該模塊具有異步復位置位控制端,其功能仿真如圖5.2.24所示。

代碼5.2.6帶異步復位置位端的J-K觸發(fā)器。modulesamp5_2_6(J,K,CLK,RESET,SET,Q,QN);

//頂層模塊

inputJ,K,CLK,RESET,SET;

outputQ,QN;

ASYNC_RS_JKFFu1(.J(J),.K(K),.CP(CLK),.R(RESET),

.S(SET),.Q(Q),.QN(QN));

endmodule

moduleASYNC_RS_JK_FF(J,K,CP,R,S,Q,QN);

inputJ,K,CP,R,S;

outputQ,QN;

regQ;

assignQN=~Q;always@(posedgeCPorposedgeRorposedgeS)

if(R)

Q<=1′b0;

elseif(S)

Q<=1′b1;

else

begin

if(J==1&&K==1)

Q<=~Q;

elseif(J==0&&K==1)

Q<=1′b0;

elseif(J==1&&K==0)

Q<=1′b1;

end

endmodule圖5.2.24代碼5.2.6的功能仿真圖

4.T觸發(fā)器

1)鐘控T觸發(fā)器

如果把J-K觸發(fā)器的兩個輸入端J、K連接起來并命名為T,就得到了如圖5.2.25(a)所示的T觸發(fā)器邏輯電路,圖5.2.25(b)是T觸發(fā)器的邏輯符號。圖5.2.25T觸發(fā)器(a)電路圖;(b)邏輯符號將J=K=T

代入J-K觸發(fā)器的特征方程,得到T觸發(fā)器的特征方程:

(5.2.9)

T觸發(fā)器的狀態(tài)轉移真值表、激勵表分別見表5.2.10、表5.2.11;狀態(tài)轉移圖如圖5.2.26所示。T觸發(fā)器具有保持和翻轉功能。表5.2.10T觸發(fā)器的狀態(tài)轉移真值表表5.2.11T觸發(fā)器的激勵表圖5.2.26T觸發(fā)器的狀態(tài)轉移圖

2)鐘控T觸發(fā)器的VerilogHDL描述

代碼5.2.7是一個T觸發(fā)器模塊的Verilog程序,其功能仿真如圖5.2.27所示。

代碼5.2.7鐘控T觸發(fā)器模塊。modulesamp5_2_7(T,CLK,Q,QN);//頂層模塊

inputT,CLK;

outputQ,QN;

T_FFu1(.T(T),.CP(CLK),.Q(Q),.QN(QN));

endmodule

moduleT_FF(T,CP,Q,QN);

inputT,CP;

outputQ,QN;

regQ;

assignQN=Q;

always@(posedgeCP)

if(T)

Q<=~Q;

endmodule

圖5.2.27代碼5.2.8的功能仿真圖5.2.3各種類型觸發(fā)器的相互轉換

各種中規(guī)模觸發(fā)器器件在使用時可根據需要進行邏輯功能轉換。在實際應用中,D觸發(fā)器和J-K觸發(fā)器使用較多,這里主要討論D觸發(fā)器和J-K觸發(fā)器轉換為其他類型觸發(fā)器的

方法。在轉換時,J-K觸發(fā)器因為功能最為完善,所以轉換為其他觸發(fā)器時非常方便;D觸發(fā)器的功能相對單一,將D觸發(fā)器用作其他類型觸發(fā)器時,連接電路相對復雜。觸發(fā)器邏輯功能轉換的基本方法是:將待求觸發(fā)器的特征方程轉換為和已有觸發(fā)器的特征方程相同的形式,推導出已有觸發(fā)器的輸入激勵信號,用待求觸發(fā)器輸入信號和現態(tài)表示邏輯函數。轉換的具體步驟如下:

(1)寫出已有觸發(fā)器和待求觸發(fā)器的特征方程。

(2)變換待求觸發(fā)器的特征方程,使其形式與已有觸發(fā)器特征方程一致。

(3)比較已有觸發(fā)器和待求觸發(fā)器的特征方程,根據兩個方程相等的原則求出已有觸發(fā)器控制信號的驅動方程。

(4)根據驅動方程畫出邏輯電路圖。

1.用J-K觸發(fā)器實現其他類型觸發(fā)器

1)J-K觸發(fā)器轉換成R-S觸發(fā)器

要求確定的關系為

J=f1(R,S,Q),K=f2(R,S,Q)

J-K觸發(fā)器的特征方程為

R-S觸發(fā)器的特征方程為

(5.2.11)(5.2.10)變換R-S觸發(fā)器的特征方程,使其形式與J-K觸發(fā)器的特征方程一致:

(5.2.12)圖5.2.28J-K觸發(fā)器實現R-S觸發(fā)器的邏輯電路圖比較式(5.2.10)與式(5.2.12),得到J-K觸發(fā)器的驅動方程:

(5.2.13)

若J-K觸發(fā)器采用時鐘下降沿觸發(fā),可畫出J-K觸發(fā)器轉換為R-S觸發(fā)器的邏輯電路,如圖5.2.28所示。

2)J-K觸發(fā)器轉換為D觸發(fā)器

要求確定的關系為

J=f1(D,Q),K=f2(D,Q)

D觸發(fā)器特征方程為

Qn+1=D

(5.2.14)變換D觸發(fā)器的特征方程,使其形式與J-K觸發(fā)器的特征方程一致:

(5.2.15)

比較式(5.2.10)與式(5.2.15),得:

畫出J-K觸發(fā)器轉換為D觸發(fā)器的邏輯電路,如圖5.2.29所示。(5.2.16)圖5.2.29用J-K觸發(fā)器實現D觸發(fā)器的邏輯電路圖

3)J-K觸發(fā)器轉換為T觸發(fā)器

要求確定的關系為

J=f1(T,Q),K=f2(T,Q)

T觸發(fā)器特征方程為

(5.2.17)比較式(5.2.10)與式(5.2.17),得:

(5.2.18)

畫出J-K觸發(fā)器轉換為T觸發(fā)器的邏輯電路,如圖5.2.30所示。圖5.2.30用J-K觸發(fā)器實現T觸發(fā)器的邏輯電路圖

2.D觸發(fā)器轉換為其他類型觸發(fā)器

1)D觸發(fā)器轉換成R-S觸發(fā)器

確定的關系為

D=f(R,S,Q)

比較D觸發(fā)器和J-K觸發(fā)器的狀態(tài)方程,有:

(5.2.19)

畫出D觸發(fā)器轉換為R-S觸發(fā)器的邏輯電路,如圖5.2.31所示。圖5.2.31用D觸發(fā)器實現R-S觸發(fā)器的邏輯電路圖

2)D觸發(fā)器轉換為J-K觸發(fā)器

要求確定的關系為

D=f(J,K,Q)

比較D觸發(fā)器和J-K觸發(fā)器的狀態(tài)方程,有:

(5.2.20)

畫出D觸發(fā)器轉換為J-K觸發(fā)器的邏輯電路,如圖5.2.32所示。圖5.2.32用D觸發(fā)器實現J-K觸發(fā)器的邏輯電路圖

3)D觸發(fā)器轉換為T觸發(fā)器

要求確定的關系為

D=f(T,Q)

比較D觸發(fā)器和J-K觸發(fā)器的狀態(tài)方程,有:

(5.2.21)

畫出D觸發(fā)器轉換為T觸發(fā)器的邏輯電路,如圖5.2.33所示。圖5.2.33D觸發(fā)器轉換為T觸發(fā)器的邏輯電路圖5.3.1同步時序邏輯電路分析

在同步時序邏輯電路中,所有存儲電路或觸發(fā)器電路都采用統(tǒng)一的時鐘信號,因此在分析這類電路時,可省略對時鐘信號的分析。分析同步時序邏輯電路的步驟是:

(1)分析給定時序邏輯電路的存儲電路或觸發(fā)器,寫出存儲器或觸發(fā)器的驅動方程(即輸入端的邏輯表達式)及電路的輸出方程。5.3時序邏輯電路分析

(2)將驅動方程代入觸發(fā)器的特征方程,求出電路的次態(tài)方程。

(3)根據次態(tài)方程列出電路的狀態(tài)轉移真值表,并畫狀態(tài)轉移圖或時序圖。

(4)檢查電路是否具有自啟動功能。

(5)說明時序邏輯電路的邏輯功能。

同步時序電路的分析過程可歸納為如圖5.3.1所示。圖5.3.1同步時序電路分析步驟

【例5.3.1】分析圖5.3.2所示同步時序邏輯電路的功能。解①根據圖5.3.2寫出觸發(fā)器的驅動方程和輸出方程:

(5.3.1)

Z=Q3

(5.3.2)圖5.3.2例5.3.1的電路圖②將驅動方程代入J-K觸發(fā)器的特征方程

,得到各觸發(fā)器的次態(tài)方程:

(5.3.3)

③根據次態(tài)方程和輸出方程列出電路的狀態(tài)轉移真值表,見表5.3.1。表5.3.1例5.3.1電路的狀態(tài)轉移真值表根據狀態(tài)轉移真值表畫出狀態(tài)轉移圖,如圖5.3.3所示,并畫出電路時序圖,如圖5.3.4所示。圖5.3.3例5.3.1的狀態(tài)轉移圖圖5.3.4例5.3.1電路的時序圖④檢查能否自啟動。從電路工作的可靠性來講,還應當檢查電路在非工作狀態(tài)(即101、110、111狀態(tài),也稱為偏離態(tài))時,能否進入到工作狀態(tài),即是否具有自啟動功能,因此需要判斷該電路能否自啟動。

設電路的初態(tài)為101,則次態(tài)為010,Z=1。

設電路的初態(tài)為110,則次態(tài)為010,Z=1。

設電路的初態(tài)為111,則次態(tài)為000,Z=1。

顯然,電路能夠自啟動。故可以畫出完整的狀態(tài)圖,如圖5.3.5所示。圖5.3.5例5.3.1電路的完整狀態(tài)轉移圖⑤判斷電路功能。該電路是一個同步的五進制加法計數器,并且能夠進行自啟動。

【例5.3.2】試分析圖5.3.6所示時序邏輯電路的邏輯功能。圖5.3.6例5.3.2的電路圖解該電路是一個同步時序邏輯電路。

①根據電路圖寫出觸發(fā)器驅動方程和電路輸出方程。

兩個觸發(fā)器的驅動方程為

(5.3.4)輸出方程為

(5.3.5)

②將各驅動方程代入J-K觸發(fā)器的特征方程,得到各觸發(fā)器次態(tài)方程組:

(5.3.6)③列出狀態(tài)轉移真值表,畫出狀態(tài)轉移圖及時序圖。

根據X的取值,分X=0和X=1兩種情況進行討論。

情況一,當X=0時。此時,

觸發(fā)器的次態(tài)方程簡化為

(5.3.7)輸出方程簡化為

(5.3.8)

由此作出狀態(tài)轉移真值表和狀態(tài)圖,分別如表5.3.2和圖5.3.7所示。表5.3.2X=0時的狀態(tài)轉移真值表圖5.3.7X=0時的狀態(tài)轉移圖情況二,當X=1時。此時,觸發(fā)器的次態(tài)方程簡化為

(5.3.9)

作出狀態(tài)轉移真值表及狀態(tài)轉移圖,分別如表5.3.3和圖5.3.8所示。表5.3.3X=1時的狀態(tài)轉移真值表圖5.3.8X=1時的狀態(tài)轉移圖綜合X=0和X=1的情況,可得到電路在輸入X的控制下的狀態(tài)轉換關系,如圖5.3.9所示。根據狀態(tài)轉移圖和狀態(tài)轉移真值表畫出的時序如圖5.3.10所示。圖5.3.9在X控制下的狀態(tài)轉移圖圖5.3.10例5.3.2的時序圖④檢查電路能否自啟動。通過上面的分析可知,該電路的無效態(tài)為11。根據次態(tài)方程式(5.3.6)可以得到:當電路現態(tài)為11時,不論X為何值,次態(tài)均為00,輸出Z=0。顯然,該電路能夠自啟動。圖5.3.11給出了電路的完整狀態(tài)轉移圖。圖5.3.11例5.3.2的完整狀態(tài)轉移圖⑤判斷電路功能。該電路一共有三個狀態(tài):00、01和10。當時鐘信號下降沿到來時,受輸入X的控制進行狀態(tài)轉移。當X=0時,按照加1規(guī)律從00→01→10→00循環(huán)變化,并每當轉換為10狀態(tài)(最大數)時,輸出Z=1;當X=1時,按照減1規(guī)律從10→01→00→10循環(huán)變化,并每當轉換為00狀態(tài)(最小數)時,輸出Z=1。因此,該電路是一個加減可控的三進制計數器。5.3.2異步時序邏輯電路分析

異步時序電路與同步時序電路的主要差異有三個方面:第一,異步時序電路中無統(tǒng)一的外加時鐘脈沖,這是最主要的區(qū)別,這就意味著異步時序邏輯電路中各個觸發(fā)器狀態(tài)的變化不是同時進行的;第二,異步時序電路中,通常情況下輸入變量X為脈沖信號,由輸入脈沖直接引起電路狀態(tài)的改變;第三,由次態(tài)邏輯產生各觸發(fā)器的驅動信號及時鐘信號。分析異步時序邏輯電路的具體步驟是:

(1)根據邏輯電路圖寫出各邏輯方程:各觸發(fā)器的時鐘方程、時序電路的輸出方程和各觸發(fā)器的驅動方程。

(2)將驅動方程代入相應觸發(fā)器的特征方程,得到時序邏輯電路的次態(tài)方程。

(3)根據次態(tài)方程和輸出方程,列出電路的狀態(tài)轉移真值表,畫出狀態(tài)圖或時序圖。

(4)根據電路的狀態(tài)轉移真值表或狀態(tài)圖說明電路的邏輯功能。

【例5.3.3】試分析圖5.3.12所示的時序邏輯電路。

解分析觸發(fā)器FF0和FF1的時鐘信號可知該電路是一個異步時序邏輯電路。具體分析步驟如下:

①寫出各邏輯方程式。

時鐘方程:

(5.3.10)圖5.3.12例5.3.3的電路圖輸出方程:

(5.3.11)

各觸發(fā)器的驅動方程:

(5.3.12)②將各驅動方程代入D觸發(fā)器的特征方程,得到各觸發(fā)器的次態(tài)方程:

(5.3.13)

③作狀態(tài)轉移真值表,如表5.3.4所示。

表5.3.4例5.3.3電路的狀態(tài)轉移真值表④作出狀態(tài)轉移圖和時序圖,分別如圖5.3.13和圖5.3.14所示。圖5.3.13例5.3.3電路的狀態(tài)轉移圖圖5.3.14例5.3.3電路的時序圖⑤邏輯功能分析。由狀態(tài)轉移圖可知該電路共有四個狀態(tài):00、01、10和11,在時鐘脈沖作用下,按照減1規(guī)律循環(huán)變化,所以是一個四進制減法計數器,Z是借位信號。

【例5.3.4】分析圖5.3.15所示異步時序邏輯電路的功能。

解①寫出各邏輯方程式。

時鐘方程:

(5.3.14)圖5.3.15例5.3.4的電路圖各觸發(fā)器的驅動方程:

(5.3.15)

輸出方程:

Y=Q2

(5.3.16)②將各驅動方程代入D觸發(fā)器的特征方程,得到各觸發(fā)器的次態(tài)方程:

(5.3.17)

③作出狀態(tài)轉移真值表,如表5.3.5所示。表5.3.5例5.3.4電路的狀態(tài)轉移真值表④作狀態(tài)轉移圖和時序圖,分別如圖5.3.16和圖5.3.17所示。圖5.3.16例5.3.4電路的狀態(tài)轉移圖圖5.3.17例5.3.4電路的時序圖⑤邏輯功能分析。該電路是一個具有自啟動功能的五進制異步計數器。5.4.1同步時序邏輯電路的傳統(tǒng)設計方法

在同步時序邏輯電路中,由于采用統(tǒng)一的時鐘信號,因此在設計過程中可以不考慮時鐘信號,從一個狀態(tài)到另一個狀態(tài)是同步的。同步時序邏輯電路設計的一般步驟是:5.4時序邏輯電路的設計方法(1)邏輯抽象,建立原始狀態(tài)圖和狀態(tài)表。

(2)狀態(tài)化簡,得到最簡狀態(tài)表。

(3)狀態(tài)分配,確定二進制狀態(tài)表。

(4)選擇觸發(fā)器,確定觸發(fā)器的驅動方程和電路輸出方程。

(5)檢查電路的自啟動功能。

(6)畫出邏輯電路圖。

1.邏輯抽象

進行邏輯抽象的目的是得出邏輯問題的原始狀態(tài)轉移圖和狀態(tài)轉移真值表。在這一階段,對邏輯狀態(tài)的分析只求正確,不求最簡,多余的狀態(tài)可以在狀態(tài)化簡時消除。

建立原始狀態(tài)表的關鍵是確定以下三個問題:

(1)分析給定邏輯問題,確定輸入、輸出變量以及電路的狀態(tài)數。輸入變量的個數取決于引起電路狀態(tài)變化的原因,而輸出變量的個數由電路功能決定。

(2)定義輸入、輸出邏輯狀態(tài)和電路狀態(tài)的含義,并對電路狀態(tài)進行編號。

(3)列出原始狀態(tài)表,畫出狀態(tài)轉移圖。

【例5.4.1】設計一個五進制可逆計數器。當輸入x

為0時,進行加1計數;當x

為1時,進行減1計數。

解①分析輸入、輸出變量的個數及電路的狀態(tài)數。

根據要求,有一個輸入變量為x,有一個輸出變量為y,電路的狀態(tài)數為五個。

②定義輸入、輸出邏輯狀態(tài)和每個電路狀態(tài)的含義,并對電路狀態(tài)進行編號。

輸入x控制電路的功能,其含義與設計要求相同。當x=0時,做加1計數;當x=1時,做減1計數。電路的狀態(tài)數為五個,其編號分別為S0~S4。輸出y表示五進制的計數輸出,設定當前狀態(tài)為S0時,電路輸出y=1;電路處于其他狀態(tài)時,y=0。

③列出狀態(tài)轉移真值表,畫出狀態(tài)轉移圖。

根據題意可以畫出狀態(tài)轉移圖,如圖5.4.1所示。原始狀態(tài)表如表5.4.1所示。圖5.4.1例5.4.1的狀態(tài)轉移圖表5.4.1例5.4.1原始狀態(tài)表

【例5.4.2】設計一個串行數據檢測器,在連續(xù)輸入四個或四個以上的1時輸出1,否則輸出0。

解按題意,要求設計一個“1111”序列檢測器。其功能是:對輸入X逐位進行檢測,若輸入序列中出現“1111”,則最后一個1輸入時,輸出Z為1;若隨后的輸入仍為1,則輸出繼續(xù)為1;其他情況下,輸出Z為0。顯然,該序列檢測器應該記住收到X中連續(xù)的1的個數,因此可以定義以下輸入、輸出信號和電路狀態(tài):輸入X,表示串行輸入數據。

輸出Z,表示檢測結果。

電路狀態(tài)定義:

S0——未輸入1;

S1——輸入一個1;

S2——連續(xù)輸入兩個1;

S3——連續(xù)輸入三個1;

S4——連續(xù)輸入四個或四個以上1。

畫出其原始狀態(tài)轉移圖,如圖5.4.2所示。圖5.4.2例5.4.2的狀態(tài)轉移圖當電路處于狀態(tài)S0時,表明電路未收到1。若此時輸入X=0,則電路的輸出為0,次態(tài)仍為S0;若此時輸入X=1,則電路收到第一個1,進入收到一個1的狀態(tài),輸出為0,次

態(tài)為S1。

當電路處于S1時,表明電路已收到一個1。若此時輸入X=0,則接收1111的過程被打斷,前面剛收到的1作廢,電路返回到未收到有效1的狀態(tài),輸出為0,次態(tài)為S0;若此時輸入X=1,則電路連續(xù)收到兩個1,進入連續(xù)收到兩個1的狀態(tài),輸出為0,次態(tài)為S2。當電路處于S2時,表明電路已連續(xù)收到兩個1。若此時輸入X=0,則接收1111的過程被打斷,前面剛連續(xù)收到的11作廢,電路返回到未收到有效1的狀態(tài),輸出為0,次態(tài)為S0;若此時輸入X=1,則電路連續(xù)收到三個1,進入連續(xù)收到三個1的狀態(tài),輸出為0,次態(tài)為S3。

當電路處于S3時,表明電路已收到三個連續(xù)的1。若此時輸入X=0,則接收1111的過程被打斷,前面剛連續(xù)收到的111作廢,電路返回到未收到有效1的狀態(tài),輸出為0,次態(tài)為S0;若此時輸入X=1,則電路連續(xù)收到四個1,進入連續(xù)收到四個1的狀態(tài),輸出為1,次態(tài)為S4。

當電路處于S4時,表明電路已收到四個或四個以上連續(xù)的1。若輸入X=0,則接收四個以上1111的過程被打斷,前面連續(xù)收到的多個1作廢,電路返回到未收到有效1的狀態(tài),

輸出為0,次態(tài)為S0;若此時輸入X=1,則電路已連續(xù)收到四個以上的1,根據題意,輸出為1,次態(tài)仍為S4,電路停留在狀態(tài)S4。

由原始狀態(tài)圖可以得到如表5.4.2所示的原始狀態(tài)表,表中的Sn表示現態(tài),Sn+1表示次態(tài)。表5.4.2例5.4.2的原始狀態(tài)表

【例5.4.3】用樹干分支法畫出重疊型和非重疊型“1010”序列檢測器的原始狀態(tài)圖。

解所謂重疊型序列檢測器,是指在序列檢測過程中,前、后序列是可以重疊的,如重疊型“1010”序列在已經收到“1010”后,只要再收到“10”就表示檢測到了下一個“1010”序列,因為是用上一個序列的后一個“10”作為下一序列的前兩位“10”的。如果是非重疊型序列檢測器,因已經檢測到了“1010”,所以后面的兩位“10”不可再用,應從下一位開始重新檢測“1010”。圖5.4.3“1010”序列檢測器的樹干無論是否允許重疊,序列檢測器的樹干都是“1010”,因此可以先畫出“1010”這條樹干,如圖5.4.3所示。實際上,采用樹干分支法畫好原始狀態(tài)圖的樹干后,各個狀態(tài)的含義就已經清楚了,只不過一開始未定義而已。例如本例中,狀態(tài)A作為初始狀態(tài)表示未收到有效的“1”;狀態(tài)B表示收到1個有效的“1”;狀態(tài)C表示收到“10”;狀態(tài)D表示收到“101”;

狀態(tài)E表示收到“1010”。在樹干的基礎上,考慮在各狀態(tài)下次態(tài)的轉換情況,將各狀態(tài)的分支補充完整,“1010”序列檢測器的原始狀態(tài)圖如圖5.4.4所示。重疊型和非重疊型“1010”序列檢測器的原始狀態(tài)圖僅在電路處于狀態(tài)E時有所不同。狀態(tài)E表示電路已經檢測到“1010”序列,如果是重疊型序列檢測器,則前一組的后兩位“10”可以作為下一組“1010”的前面兩位“10”,因此再收到1時應轉向收到“101”的狀態(tài)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論