1. 基本概念
示例一:
如上圖所示的這個(gè)電路,使用了兩個(gè)邏輯門,一個(gè)非門和一個(gè)與門,本來在理想情況下,gate2的輸入端口同時(shí)變化, 輸出 F 應(yīng)該是一直穩(wěn)定為 0 ,但是實(shí)際上每個(gè)門電路從輸入到輸出是一定會(huì)有時(shí)間延遲的,而且信號(hào)在互連線的傳播也是有延時(shí)的,所以就會(huì)出現(xiàn)如下情況:
可以看到,輸出端 F 出現(xiàn)了短暫的高電平,也就是說會(huì)輸出端口會(huì)出現(xiàn)錯(cuò)誤的的輸出。
示例二:
在圖4.9.1(a)所示的與門電路中,穩(wěn)態(tài)下無論 A=1,B=0 還是 A=0,B=1,輸出皆為 Y=0。但是在輸入信號(hào)A從 1 跳變?yōu)?0 時(shí),如果B從0跳變?yōu)?,而且 B 首先上升到VIL(輸入低電平)以上,這樣在極短的時(shí)間內(nèi)將出現(xiàn)A、B同時(shí)高于VIL的狀態(tài),于是便在門電路的輸出端產(chǎn)生了極窄的Y=1 的尖峰脈沖,或稱為電壓毛刺,如圖中所示(在畫波形時(shí)考慮了門電路的傳輸延遲時(shí)間)。顯然,這個(gè)尖峰脈沖不符合門電路穩(wěn)態(tài)下的邏輯功能,因而它是系統(tǒng)內(nèi)部的一種噪聲。
同樣,在圖4.9.1(b)所示的或門電路中,如果 A 從 1 變成 0 的時(shí)刻和 B 從 0 變成 1 的時(shí)刻略有差異,而且在 A 下降到 VIH (輸入高電平)時(shí),B 尚未上升到 VIH ,則在暫短的t時(shí)間內(nèi)將出現(xiàn) A 、B 同時(shí)低于 VIH 的狀態(tài),使輸出端產(chǎn)生極窄的Y=0的尖峰脈沖。這個(gè)尖峰脈沖同樣也是違背穩(wěn)態(tài)下邏輯關(guān)系的噪聲。
根據(jù)上述示例,將門電路兩個(gè)輸入信號(hào)同時(shí)向相反方向的邏輯電平跳變(一個(gè)從 1 變?yōu)?0,另一個(gè)從 0 變?yōu)?1 )的現(xiàn)象稱為競(jìng)爭(zhēng)(Competiton)。
由于競(jìng)爭(zhēng)往往會(huì)出現(xiàn)一些不正確的尖峰信號(hào),這些尖峰信號(hào)稱為“毛刺”。 如果一個(gè)組合邏輯電路中有“毛刺”出現(xiàn),就說明該電路存在“冒險(xiǎn)(Hazard)”
由于競(jìng)爭(zhēng)而在電路輸出端可能產(chǎn)生尖峰脈沖的現(xiàn)象就稱為競(jìng)爭(zhēng)-冒險(xiǎn)。
需要注意的是,競(jìng)爭(zhēng)不一會(huì)都會(huì)產(chǎn)生毛刺。例如,在圖4.9.1(a)中所示的與門電路,如果在 B 上升到 VIL 之前,A 已經(jīng)降到了 VIL 以下(圖中的虛線),這時(shí),電路的輸出端時(shí)不會(huì)產(chǎn)生毛刺的。同理,對(duì)于或門電路,如果 A 下降到 VIH 之前,B已經(jīng)上升到 VIH 以上(圖中虛線部分),輸出端也不會(huì)產(chǎn)生毛刺(邏輯門的控制值后變化,這樣就不會(huì)產(chǎn)生毛刺)。
如果圖4.9.1所示的與門和或門是復(fù)雜數(shù)字系統(tǒng)中的兩個(gè)門電路,而且 A, B 又是經(jīng)過不同的傳輸途徑到達(dá)的,那么在設(shè)計(jì)時(shí)往往難于準(zhǔn)確知道A, B到達(dá)次序的先后,以及它們?cè)谏仙龝r(shí)間和下降時(shí)間上的細(xì)微差異。因此,我們只能說只要存在競(jìng)爭(zhēng)現(xiàn)象,輸出就有可能出現(xiàn)違背穩(wěn)態(tài)下邏輯關(guān)系的尖峰脈沖(毛刺)。
競(jìng)爭(zhēng)不一定會(huì)導(dǎo)致冒險(xiǎn),但是冒險(xiǎn)一定會(huì)有競(jìng)爭(zhēng)。
示例三:
對(duì)于下圖的譯碼器電路,同樣也會(huì)存在競(jìng)爭(zhēng)冒險(xiǎn)。由于G4和G5的傳輸延時(shí)不相同,信號(hào)到達(dá)G0的時(shí)間有所差異,這樣就會(huì)倒是Y0出現(xiàn)毛刺。
如果譯碼器的負(fù)載是一個(gè)對(duì)尖峰脈沖敏感的電路(如觸發(fā)器),那么就可能是的負(fù)載電路發(fā)生錯(cuò)誤動(dòng)作。
2. 冒險(xiǎn)的分類
冒險(xiǎn)按產(chǎn)生形式的不同可以分為靜態(tài)冒險(xiǎn)和動(dòng)態(tài)冒險(xiǎn)。
- 靜態(tài)冒險(xiǎn):輸入有變化,而輸出不應(yīng)變化是產(chǎn)生的單個(gè)窄脈沖
-
動(dòng)態(tài)冒險(xiǎn):輸入有變化時(shí),輸出也應(yīng)該變化時(shí)產(chǎn)生的冒險(xiǎn)
動(dòng)態(tài)冒險(xiǎn)是由靜態(tài)冒險(xiǎn)引起的,所以存在動(dòng)態(tài)冒險(xiǎn)的電路也存在靜態(tài)冒險(xiǎn)。
靜態(tài)冒險(xiǎn)根據(jù)產(chǎn)生條件的不同,又可以分為功能冒險(xiǎn)和邏輯冒險(xiǎn)。
功能冒險(xiǎn):兩個(gè)或兩個(gè)以上輸入信號(hào)同時(shí)變化時(shí),在輸出端口產(chǎn)生毛刺
邏輯冒險(xiǎn):只有一個(gè)變量產(chǎn)生變化時(shí)出現(xiàn)的冒險(xiǎn)。(同一個(gè)輸入信號(hào),經(jīng)過不同路徑與延遲到達(dá)輸入端,產(chǎn)生的競(jìng)爭(zhēng)引起的冒險(xiǎn)。)
3. 靜態(tài)冒險(xiǎn)產(chǎn)生的判斷
代數(shù)法
在輸入變量每次只有一個(gè)改變狀態(tài)的簡(jiǎn)單情況下,可以通過邏輯函數(shù)表達(dá)式判斷組合邏輯電路中是否存在競(jìng)爭(zhēng)-冒險(xiǎn)。
如果一個(gè)組合邏輯函數(shù)表達(dá)式 F,在某些條件下能化簡(jiǎn)成 F = A + A'
或 F = A'A
的形式,在 A 產(chǎn)生變化時(shí),就可能產(chǎn)生靜態(tài)邏輯冒險(xiǎn)。(其實(shí)就是輸出端連接的是一個(gè)與門或者是或門,然后輸入信號(hào)A沿著不同的路徑,經(jīng)過不同的延時(shí)之后,到達(dá)了該邏輯門的輸入端口,這樣就有可能產(chǎn)生毛刺。)
示例:
卡諾圖法
同一個(gè)輸入信號(hào),經(jīng)過不同路徑與延遲到達(dá)輸入端,產(chǎn)生的競(jìng)爭(zhēng)引起的冒險(xiǎn)
4. 毛刺的消除
首先確定競(jìng)爭(zhēng)和冒險(xiǎn)是否影響系統(tǒng),毛刺并不是對(duì)所有的輸入都有危害,例如 D 觸發(fā)器的D 輸入端,只要毛刺不出現(xiàn)在時(shí)鐘的上升沿并且滿足數(shù)據(jù)的建立和保持時(shí)間,就不會(huì)對(duì)系統(tǒng)造成危害,我們可以說D 觸發(fā)器的 D 輸入端對(duì)毛刺不敏感。
使用同步電路
根據(jù)這個(gè)特性,我們應(yīng)當(dāng)在系統(tǒng)中盡可能采用同步電路,這是因?yàn)橥诫娐沸盘?hào)的變化都發(fā)生在時(shí)鐘沿,只要毛刺不出現(xiàn)在時(shí)鐘的沿口并且滿足數(shù)據(jù)的建立和保持時(shí)間,就不會(huì)對(duì)系統(tǒng)造成危害。(由于毛刺很短,多為幾納秒,基本上都不可能滿足數(shù)據(jù)的建立和保持時(shí)間)因此我們可以通過改變?cè)O(shè)計(jì),破壞毛刺產(chǎn)生的條件,來減少毛刺的發(fā)生。
使用格雷碼計(jì)數(shù)器
例如,在數(shù)字電路設(shè)計(jì)中,常常采用格雷碼計(jì)數(shù)器取代普通的二進(jìn)制計(jì)數(shù)器,這是因?yàn)楦窭状a計(jì)數(shù)器的輸出每次只有一位跳變,消除了競(jìng)爭(zhēng)冒險(xiǎn)的發(fā)生條件,避免了毛刺的產(chǎn)生。
在遞加的計(jì)數(shù)中,有時(shí)會(huì)發(fā)生多bits的跳變,例如從11計(jì)數(shù)到12時(shí),對(duì)應(yīng)二進(jìn)制數(shù)字為4’b1011至4’b1100,后三個(gè)bit都需要發(fā)生變化,此時(shí)各個(gè)數(shù)據(jù)位的轉(zhuǎn)變可能導(dǎo)致延時(shí),舉個(gè)例子,上述情況下多bit的轉(zhuǎn)變過程可能為 4’b1011 > 4’b1111 > 4’b1110 > 4’b1100。此時(shí)則可能會(huì)出現(xiàn)尖峰脈沖,從而導(dǎo)致競(jìng)爭(zhēng)與冒險(xiǎn)發(fā)生。
而格雷碼計(jì)數(shù)器在計(jì)數(shù)時(shí)相鄰數(shù)之間只有一個(gè)bit會(huì)發(fā)生變化,因此可以有效避免競(jìng)爭(zhēng)與冒險(xiǎn)。
增加濾波電容
在輸出端并接一個(gè)很小的濾波電容。
簡(jiǎn)單易行,但是同時(shí)會(huì)增加輸出電壓波形的上升時(shí)間和下降時(shí)間,使波形變壞。
增加冗余項(xiàng),消除邏輯冒險(xiǎn)
引入選通脈沖
消除競(jìng)爭(zhēng)冒險(xiǎn)選通脈沖是當(dāng)電路輸出端達(dá)到新的穩(wěn)定狀態(tài)之后,引人選通脈沖,從而使輸出信號(hào)是正確的邏輯信號(hào)而不包含
干擾脈沖。
文章來源:http://www.zghlxwxcb.cn/news/detail-613157.html
如圖所示,取樣脈沖(選通脈沖)通常為0, 使電路處于封鎖狀態(tài)。當(dāng)接收了輸入信號(hào),并且電路達(dá)到穩(wěn)態(tài)時(shí),取樣脈沖為1,輸入信號(hào)只有在這時(shí)才有效。這就避免了競(jìng)爭(zhēng)和冒險(xiǎn)帶來的影響。文章來源地址http://www.zghlxwxcb.cn/news/detail-613157.html
到了這里,關(guān)于【數(shù)字IC基礎(chǔ)】競(jìng)爭(zhēng)與冒險(xiǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!