本文介紹開(kāi)發(fā)組合邏輯電路時(shí)可能發(fā)生的意外開(kāi)關(guān)事件,稱為危險(xiǎn)。
本文是關(guān)于使用邏輯門進(jìn)行組合電路設(shè)計(jì)和仿真的介紹性系列文章的第二部分。在上一篇文章中,我們介紹了 組合邏輯電路 以及如何簡(jiǎn)化它們。
在這里,我們將探討靜態(tài) 0 危害、靜態(tài) 1 危害和動(dòng)態(tài)危害。
什么是邏輯危險(xiǎn)?
在復(fù)雜的邏輯電路中,輸出端可能會(huì)出現(xiàn)不需要的臨時(shí)開(kāi)關(guān)事件。圖1顯示了組合邏輯電路中可能發(fā)生的三種危險(xiǎn):
靜態(tài) 0 危險(xiǎn): 輸出在本應(yīng)保持 0 時(shí)暫時(shí)更改為 1
靜態(tài) 1 種危險(xiǎn): 輸出在本應(yīng)保持 1 時(shí)暫時(shí)更改為 0
動(dòng)態(tài)危險(xiǎn): 輸出在應(yīng)該進(jìn)行單個(gè)邏輯轉(zhuǎn)換時(shí)會(huì)多次更改;從 0 到 1 或從 1 到 0
圖1. 三種類型的組合邏輯危害
讓我們檢查圖2中的簡(jiǎn)單電路,看看靜態(tài)0危險(xiǎn)是如何產(chǎn)生的。
圖2. 具有靜態(tài)0-危險(xiǎn)的組合邏輯電路
我們假設(shè)所有門都具有相同的傳播延遲時(shí)間常數(shù) d。在圖3的時(shí)序圖中,輸入a = b = 0。輸入 c 從邏輯 0 變?yōu)?1 后的一個(gè)柵極延遲,輸出 c‘
和 x 的狀態(tài)也發(fā)生變化。由于 x 和 y 現(xiàn)在(暫時(shí))都設(shè)置為 1,這會(huì)導(dǎo)致最終輸出 f 從 0 變?yōu)?1 的后續(xù)變化。
但是,當(dāng)輸出 f 的狀態(tài)發(fā)生變化時(shí),其輸入 y 也會(huì)發(fā)生變化,從 1 到 0。在 y 的這種變化通過(guò)最終門傳播后,輸出 f
返回到其最終狀態(tài)零。
以下是靜態(tài) 0 危害的示例:
圖3. 顯示靜態(tài) 0 危險(xiǎn)時(shí)的序圖
如果我們查看圖2電路的Karnaugh圖,我們可以看到靜態(tài)0危險(xiǎn)的機(jī)會(huì)。對(duì)于 0
輸出,有兩個(gè)相鄰但不相交的最小項(xiàng),由藍(lán)色和棕褐色陰影突出顯示。對(duì)于和邏輯函數(shù)的乘積,共享最小項(xiàng)未覆蓋的任何兩個(gè)相鄰零都可能導(dǎo)致靜態(tài) 0 危險(xiǎn)。
圖4. 顯示靜態(tài)-0危害的卡諾地圖
使用和的乘積從中推導(dǎo)出的邏輯函數(shù)為:
當(dāng) a 和 b 均為 0 時(shí),輸入 c 可以在 0 和 1 狀態(tài)之間更改,而無(wú)需更改 f
的“最終”值。但是,由于某些電路實(shí)現(xiàn)的傳播延遲不同,因此可能存在靜態(tài)0危險(xiǎn)。
修復(fù)組合邏輯電路中的靜電危害
我們可以消除圖2電路中的靜態(tài)-0危害,方法是在兩個(gè)相鄰項(xiàng)周圍添加一個(gè)額外的分組,如圖5中的紅色突出顯示框所示。
圖5. 用于消除靜態(tài) 0 危害的 Karnaugh 地圖分組
新的邏輯函數(shù)是:
從純數(shù)字邏輯的角度來(lái)看,序列中的第三個(gè)和項(xiàng)是不必要的。但是,當(dāng) a 和 b 均為 0 時(shí),這個(gè)額外的總和 保持為 0。因此,它不受先前導(dǎo)致靜態(tài)-0危害的c變化的影響。
使用這種冗余邏輯,我們可以創(chuàng)建一個(gè)執(zhí)行相同邏輯功能的新電路,但沒(méi)有靜態(tài)0危險(xiǎn)。這個(gè)新電路如圖6所示。
圖6. 消除靜態(tài)0危險(xiǎn)的組合邏輯電路
發(fā)現(xiàn)并消除靜態(tài)-1危害
識(shí)別和修復(fù)靜態(tài) 1 危害與靜態(tài) 0 危害基本相同。使用 Karnaugh 映射查找未被同一最小項(xiàng)覆蓋的相鄰邏輯 1 輸出。對(duì)于發(fā)現(xiàn)的每個(gè)相鄰的 1
組合,添加一個(gè)額外的分組以消除潛在危險(xiǎn)。
異步邏輯與同步邏輯
與危險(xiǎn)相關(guān)的瞬態(tài)脈沖問(wèn)題在同步電路中很少成為問(wèn)題。它們旨在在每個(gè)時(shí)鐘周期內(nèi)留出足夠的時(shí)間來(lái)解決靜態(tài)和動(dòng)態(tài)危險(xiǎn)的毛刺。
另一方面,可以立即響應(yīng)信號(hào)變化的異步邏輯電路可能會(huì)受到很大影響。例如,等待響應(yīng)正 0 到 1 邏輯轉(zhuǎn)換的異步邏輯電路會(huì)在圖 3
的時(shí)序圖中錯(cuò)誤地做出反應(yīng)。即使在主要同步設(shè)計(jì)中,系統(tǒng)復(fù)位和當(dāng)前信號(hào)通常也是異步的,因此容易受到危險(xiǎn)的影響。
-
電路
+關(guān)注
關(guān)注
172文章
5959瀏覽量
172713 -
邏輯
+關(guān)注
關(guān)注
2文章
833瀏覽量
29496 -
組合邏輯電路
+關(guān)注
關(guān)注
6文章
70瀏覽量
14674
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論