分析時(shí)序邏輯電路也就是找出該時(shí)序邏輯電路的邏輯功能,即找出時(shí)序邏輯電路的狀態(tài)和輸出變量在輸入變量和時(shí)鐘信號(hào)作用下的變化規(guī)律。上面講過(guò)的時(shí)序邏輯電路的驅(qū)動(dòng)方程、狀態(tài)方程和輸出方程就全面地描述了時(shí)序邏輯電路的邏輯功能。因此,只要寫出時(shí)序邏輯電路的這3組方程,它的邏輯功能也就描述清楚了。但是用3組方程描述電路的邏輯功能非常不直觀,不能直接看出電路狀態(tài)和輸出變量的與輸入變量和時(shí)鐘信號(hào)之間的對(duì)應(yīng)關(guān)系,為了直觀地描述時(shí)序電路的邏輯功能,還有其他的表示方法:狀態(tài)轉(zhuǎn)換表、狀態(tài)轉(zhuǎn)換圖和時(shí)序圖。下面結(jié)合時(shí)序電路的分析,具體介紹這3種時(shí)序電路邏輯功能的描述方法。
由于觸發(fā)器電路中的觸發(fā)器元件動(dòng)作特點(diǎn)不同,在時(shí)序邏輯電路中又分為同步時(shí)序邏輯電路和異步時(shí)序邏輯電路。在同步時(shí)序邏輯電路中,各觸發(fā)器狀態(tài)的變化都是在同一時(shí)鐘脈沖的作用下同時(shí)發(fā)生的。而在異步時(shí)序邏輯電路中,各觸發(fā)器狀態(tài)的變化不是同時(shí)發(fā)生的。
圖1就是一個(gè)同步時(shí)序邏輯電路。下面以此為例介紹同步時(shí)序電路的分析方法。
圖1 同步時(shí)序邏輯電路圖
第一步:分析電路結(jié)構(gòu),寫出各觸發(fā)器的驅(qū)動(dòng)方程。
該時(shí)序電路包含3個(gè)觸發(fā)器ff1,ff2,ff3,這3個(gè)觸發(fā)器都是上升沿觸發(fā)的邊沿jk觸發(fā)器,而且它們的時(shí)鐘脈沖相同,都是cp脈沖,即3個(gè)觸發(fā)器的觸發(fā)時(shí)刻都是cp脈沖的上升沿,因此該時(shí)序電路是同步的。該時(shí)序電路沒(méi)有輸入變量,有輸出變量y。
列寫方程時(shí),各觸發(fā)器的輸入、輸出變量、時(shí)鐘脈沖分別用相應(yīng)字母加觸發(fā)器編號(hào)的下角標(biāo)表示。如ff1觸發(fā)器的輸入、輸出變量分別表示為j1、k1、q1、,其時(shí)鐘脈沖為c1或cp1。其他以此類推。
根據(jù)電路圖寫出各個(gè)觸發(fā)器的驅(qū)動(dòng)方程
(1)
說(shuō)明:如果觸發(fā)器的輸入端懸空,則相當(dāng)于接高電平“1”,故k1=1。ff3觸發(fā)器的j端有兩個(gè)輸入,它們“與”運(yùn)算后作為j端的輸入,故j3=q1·q2。q1n、q2n、q3n表示觸發(fā)器的現(xiàn)態(tài)(原態(tài))。
第二步:將驅(qū)動(dòng)方程代入相應(yīng)觸發(fā)器的特性方程,求得各觸發(fā)器的次態(tài)方程,也就是時(shí)序邏輯電路的狀態(tài)方程。
將式(1)代入jk觸發(fā)器的特性方程,求得各觸發(fā)器的次態(tài)方程
(2)
第三步:根據(jù)電路圖寫出輸出方程。
(3)
第四步:根據(jù)狀態(tài)方程和輸出方程,列出該時(shí)序帶電路的狀態(tài)表,畫出狀態(tài)圖或時(shí)序圖。
為了形象地描述時(shí)序邏輯電路的邏輯功能,可以把電路在一系列時(shí)鐘信號(hào)作用下?tīng)顟B(tài)轉(zhuǎn)換的全部過(guò)程描述出來(lái)。描述時(shí)序邏輯電路狀態(tài)轉(zhuǎn)換全部過(guò)程的方法有狀態(tài)轉(zhuǎn)換表、狀態(tài)轉(zhuǎn)換圖和時(shí)序圖等幾種。
1、狀態(tài)轉(zhuǎn)換表
列寫時(shí)序邏輯電路狀態(tài)轉(zhuǎn)換表的方法:將任何一組輸入變量及電路初態(tài)的取值代入狀態(tài)方程和輸出方程,可以算出電路的次態(tài)和現(xiàn)態(tài)下的輸出值;再以電路的次態(tài)作為新的初態(tài),和這時(shí)的輸入變量的取值一起代入狀態(tài)方程和輸出方程,又可以算出新的電路次態(tài)和輸出值。如果繼續(xù)下去,把全部的計(jì)算結(jié)果列成真值表的形式,就得到了時(shí)序邏輯電路的狀態(tài)轉(zhuǎn)換表。
由圖1或式(2)可知,該時(shí)序邏輯電路沒(méi)有輸入邏輯變量,電路的次態(tài)和輸出變量只取決于電路的初態(tài)。設(shè)電路的初態(tài)為q3nq2nq1n=000,代入式(2)和式(3),得
再將結(jié)果作為新的初態(tài),即q3nq2nq1n=001,重新代入式(2)和式(3),又得到新的次態(tài)和輸出值。如此繼續(xù)下去,當(dāng)q3nq2nq1n=110時(shí),計(jì)算出的次態(tài)方程為q3n+1q2n+1q1n+1=000,返回到了最初設(shè)定的初態(tài),完成了時(shí)序邏輯電路的一個(gè)循環(huán),如果繼續(xù)計(jì)算下去,電路的狀態(tài)和輸出將按照前面的變化順序反復(fù)循環(huán)。這樣得到了圖1所示時(shí)序邏輯電路的狀態(tài)轉(zhuǎn)換表,如表1所示。
表1 圖1電路的狀態(tài)轉(zhuǎn)換表
cp
q3n
q2n
q1n
q3n+1
q2n+1
q1n+1
y
1
0
0
0
0
0
1
0
2
0
0
1
0
1
0
0
3
0
1
0
0
1
1
0
4
0
1
1
1
0
0
0
5
1
0
0
1
0
1
0
6
1
0
1
1
1
0
0
7
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
時(shí)序邏輯電路的狀態(tài)轉(zhuǎn)換表應(yīng)該包含電路的所有狀態(tài)。q3q2q1共有8種組合,q3q2q1=111不在循環(huán)中。此時(shí),應(yīng)該將狀態(tài)q3nq2nq1n=111,作為初態(tài),代入式(2)和式(3),計(jì)算時(shí)鐘脈沖來(lái)臨后的次態(tài)和此時(shí)的輸出值填入狀態(tài)轉(zhuǎn)換表中,才得到完整的狀態(tài)轉(zhuǎn)換表,如表6-4-1所示。
也可將表1列成表6-4-2所示的形式。這種狀態(tài)轉(zhuǎn)換表給出了時(shí)鐘脈沖作用下電路狀態(tài)的轉(zhuǎn)換順序,比較直觀。
2、狀態(tài)轉(zhuǎn)換圖
為了更加形象地顯示時(shí)序邏輯電路的邏輯功能,還可以將狀態(tài)轉(zhuǎn)換表的內(nèi)容以圖形的形式表現(xiàn)出來(lái),形成狀態(tài)轉(zhuǎn)換圖。圖2是圖1所示電路的狀態(tài)轉(zhuǎn)換圖。
圖2 圖1電路的狀態(tài)轉(zhuǎn)換圖
在狀態(tài)轉(zhuǎn)換圖中,以圓圈表示電路的各個(gè)狀態(tài),箭頭表示狀態(tài)轉(zhuǎn)換的方向。在箭頭旁邊注明狀態(tài)轉(zhuǎn)換前的輸入變量取值和輸出值。通常將輸入變量的取值寫在斜線的上方,將輸出值寫在斜線的下方。在狀態(tài)轉(zhuǎn)換圖旁邊要標(biāo)出圖例,以說(shuō)明電路狀態(tài)中各觸發(fā)器的排列順序和輸入變量取值與輸出值的排列順序。如果電路中沒(méi)有輸入變量,則在狀態(tài)轉(zhuǎn)換圖中省略輸入變量取值的標(biāo)注,如圖2所示。
3、時(shí)序圖
除了用狀態(tài)轉(zhuǎn)換圖形象地表示時(shí)序電路的邏輯功能外,還可以用時(shí)序圖的形式直觀地表示電路的邏輯功能。時(shí)序圖是在時(shí)鐘脈沖序列作用下,電路狀態(tài)、輸出狀態(tài)隨時(shí)間變化的波形圖。它與用實(shí)驗(yàn)方法觀察到的時(shí)序邏輯電路的各觸發(fā)器的輸出與時(shí)序邏輯電路的輸出端的波形圖相同。圖3所示為圖2所示電路的時(shí)序圖。
圖3 圖1電路的時(shí)序圖
第五步:邏輯功能分析。
由狀態(tài)圖可知:該電路一共有7個(gè)狀態(tài),即000、001、010、011、100、101、110,在時(shí)鐘脈沖作用下,按照加1規(guī)律循環(huán)變化,所以該時(shí)序邏輯電路對(duì)時(shí)鐘脈沖信號(hào)有計(jì)數(shù)功能。同時(shí),每經(jīng)過(guò)7個(gè)脈沖輸出端y輸出一個(gè)高電平,所以這是一個(gè)七進(jìn)制計(jì)數(shù)器,y端的輸出就是進(jìn)位脈沖。
例1 試分析圖4所示的時(shí)序邏輯電路
圖4 例1的邏輯電路圖
解:由于圖中的兩個(gè)觸發(fā)器都接至同一個(gè)時(shí)鐘脈沖源cp,所以圖4所示為同步時(shí)序邏輯電路,各觸發(fā)器的時(shí)鐘方程可以不寫。
(1)寫出輸出方程:
(4)
(2)寫出驅(qū)動(dòng)方程:
(5)
(3)寫出jk觸發(fā)器的特性方程,然后將各驅(qū)動(dòng)方程代入jk觸發(fā)器的特性方程,得各觸發(fā)器的次態(tài)方程:
(6)
(4)作狀態(tài)轉(zhuǎn)換表及狀態(tài)圖
由于輸入控制信號(hào)x既可以取1也可以取0,所以分兩種情況列狀態(tài)轉(zhuǎn)換表和畫圖狀態(tài)圖。
①當(dāng)x=0時(shí),將x=0代入輸出方程(4)和觸發(fā)器的次態(tài)方程(6),則輸入方程簡(jiǎn)化為
觸發(fā)器的次態(tài)方程簡(jiǎn)化為
設(shè)電路的初態(tài)為q1nq0n=00,一次代入上述觸發(fā)器的次態(tài)方程和輸出方程中進(jìn)行計(jì)算,得到電路的狀態(tài)轉(zhuǎn)換表,如表3所示。
根據(jù)表3所示的狀態(tài)轉(zhuǎn)換表,可得狀態(tài)轉(zhuǎn)換圖如圖5所示。
表3 x=0時(shí)的狀態(tài)表
q1n
q4n
q1n+1
q4n+1
z
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
圖5 x=0時(shí)的狀態(tài)轉(zhuǎn)換圖
② 當(dāng)x=1時(shí),輸出方程簡(jiǎn)化為
觸發(fā)器的次態(tài)方程簡(jiǎn)化為
計(jì)算可得電路的狀態(tài)轉(zhuǎn)換表如表4所示,狀態(tài)轉(zhuǎn)換圖如圖6所示。
表3 x=0時(shí)的狀態(tài)表
q1n
q4n
q1n+1
q4n+1
z
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
圖6 x=1時(shí)的狀態(tài)轉(zhuǎn)換圖
將圖5和圖6合并起來(lái),就是電路完整的狀態(tài)轉(zhuǎn)換圖,如圖7所示。
圖7 例1完整的狀態(tài)轉(zhuǎn)換圖
(5)畫時(shí)序圖,如圖8所示。
圖8 例1電路的時(shí)序波形圖
(6)邏輯功能分析。
該電路一共有3個(gè)狀態(tài),即00、01、10.當(dāng)x=0時(shí),按照加1規(guī)律從00→01→10→00循環(huán)變化,并每當(dāng)轉(zhuǎn)換為10狀態(tài)(最大數(shù))時(shí),輸出z=1。當(dāng)x=1時(shí),按照減1規(guī)律從10→01→00→10循環(huán)變化,并每當(dāng)轉(zhuǎn)換為00狀態(tài)(最小數(shù))時(shí),輸出z=1。所以該電路是一個(gè)可控的三進(jìn)制計(jì)數(shù)器,當(dāng)x=0時(shí),作加法計(jì)數(shù),z是進(jìn)位信號(hào);當(dāng)x=1時(shí),作減法計(jì)數(shù),z是借位信號(hào)。