組合邏輯電路中的競(jìng)爭(zhēng)冒險(xiǎn)
。由于這個(gè)原因,可能會(huì)使邏輯電路產(chǎn)生錯(cuò)誤輸出。通常把這種現(xiàn)象稱為競(jìng)爭(zhēng)冒險(xiǎn)。
一、產(chǎn)生競(jìng)爭(zhēng)冒險(xiǎn)的原因
首先來(lái)分析下圖所示電路的工作情況,可以建立競(jìng)爭(zhēng)冒險(xiǎn)的概念
。
在圖中,與門(mén)G2的輸入是A和兩個(gè)互補(bǔ)信號(hào)。由于G1的延遲,的下降沿要滯后于A的上升沿,因此在很短的時(shí)間間隔內(nèi),G2的兩個(gè)輸入端都會(huì)出現(xiàn)高電平,致使它的輸出出現(xiàn)一個(gè)高電平窄脈沖(它是按邏輯設(shè)計(jì)要求不應(yīng)出現(xiàn)的干擾脈沖),見(jiàn)圖中的波形部分所示。與門(mén)G2的2個(gè)輸入信號(hào)分別由G1和A端兩個(gè)路徑在不同的時(shí)刻到達(dá)的現(xiàn)象,通常稱為競(jìng)爭(zhēng),由此而產(chǎn)生輸出干擾脈沖的現(xiàn)象稱為冒險(xiǎn)。
下面進(jìn)一步分析組合邏輯電路產(chǎn)生競(jìng)爭(zhēng)冒險(xiǎn)的原因。
設(shè)有一個(gè)邏輯電路如上圖所示,其工作波形如下圖所示。它的輸出邏輯表達(dá)式為。由此式可知,當(dāng)A和B都為1時(shí),L=1,與C的狀態(tài)無(wú)關(guān)。但是,由波形圖可以看出,在C由1變0時(shí),C由0變1有一延遲時(shí)間,在這個(gè)時(shí)間間隔內(nèi),G2和G3的輸出AC和同時(shí)為0,而使輸出出現(xiàn)一負(fù)跳變的窄脈沖,即冒險(xiǎn)現(xiàn)象。這是產(chǎn)生競(jìng)爭(zhēng)冒險(xiǎn)的原因之一,其他原因這里不作詳述。
由以上分析可知,當(dāng)電路中存在由反相器產(chǎn)生的互補(bǔ)信號(hào),且在互補(bǔ)信號(hào)的狀態(tài)發(fā)生變化時(shí)可能出現(xiàn)冒險(xiǎn)現(xiàn)象
二、消去競(jìng)爭(zhēng)冒險(xiǎn)的方法
針對(duì)上述原因,可以采取以下措施消去競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象。
1.發(fā)現(xiàn)并消掉互補(bǔ)變量
例如,函數(shù)式,在B=C=0時(shí),
。若直接根據(jù)這個(gè)邏輯表達(dá)式組成邏輯電路,則可能出現(xiàn)競(jìng)爭(zhēng)冒險(xiǎn)??梢詫⒃撌阶儞Q為,這里已將消掉。根據(jù)這個(gè)表達(dá)式組成邏輯電路就不會(huì)出現(xiàn)競(jìng)爭(zhēng)冒險(xiǎn)。
2.增加乘積項(xiàng)
對(duì)于下圖中所示的邏輯電路(a),可以根據(jù)邏輯代數(shù)中的常用恒等式,在其輸出邏輯表達(dá)式中增加乘積項(xiàng)AB。這時(shí),
,對(duì)應(yīng)的邏輯電路如圖(b)所示。由前面的分析可知,出現(xiàn)負(fù)跳變窄脈沖處,正是A和B均為1時(shí)。顯然,對(duì)于圖(b)所示電路,當(dāng)A=B=1時(shí),G5輸出為1,G4輸出亦為1,這就消除了C跳變時(shí)對(duì)輸出狀態(tài)的影響,從而消去了競(jìng)爭(zhēng)冒險(xiǎn)。
(a)
(b)
3. 輸出端并聯(lián)電容器
如果邏輯電路在較慢速度下工作,為了消去競(jìng)爭(zhēng)冒險(xiǎn),可以在輸出端并聯(lián)——電容器,其容量為4~20pF之間,比如可以在右圖的電路的輸出端并聯(lián)一個(gè)電容C,如下圖所示。由于或門(mén)G4存在——輸出電阻R0,致使輸出波形上升沿和下降沿的變化變得比較緩慢。因此對(duì)于很窄的負(fù)跳變脈沖起到平滑的作用,如下圖中的波形所示。顯然,這時(shí)在輸出端不會(huì)出現(xiàn)邏輯錯(cuò)誤。
評(píng)論