前面分析組合邏輯電路時,都沒有考慮門電路的延遲時間對電路產生的影響。實際上,從信號輸入到穩定輸出需要一定的時間。由于從輸入到輸出的過程中,不同通路上門的級數不同,或者門電路平均延遲時間的差異,使信號從輸人經不同通路傳輸到輸出級的時間不同
。由于這個原因,可能會使邏輯電路產生錯誤輸出。通常把這種現象稱為競爭冒險。
一、產生競爭冒險的原因
首先來分析下圖所示電路的工作情況,可以建立競爭冒險的概念
。
在圖中,與門G2的輸入是A和兩個互補信號。由于G1的延遲,
的下降沿要滯后于A的上升沿,因此在很短的時間間隔內,G2的兩個輸入端都會出現高電平,致使它的輸出出現一個高電平窄脈沖(它是按邏輯設計要求不應出現的干擾脈沖),見圖中的波形部分所示。與門G2的2個輸入信號分別由G1和A端兩個路徑在不同的時刻到達的現象,通常稱為競爭,由此而產生輸出干擾脈沖的現象稱為冒險。
下面進一步分析組合邏輯電路產生競爭冒險的原因。
設有一個邏輯電路如上圖所示,其工作波形如下圖所示。它的輸出邏輯表達式為。由此式可知,當A和B都為1時,L=1,與C的狀態無關。但是,由波形圖可以看出,在C由1變0時,C由0變1有一延遲時間,在這個時間間隔內,G2和G3的輸出AC和
同時為0,而使輸出出現一負跳變的窄脈沖,即冒險現象。這是產生競爭冒險的原因之一,其他原因這里不作詳述。
由以上分析可知,當電路中存在由反相器產生的互補信號,且在互補信號的狀態發生變化時可能出現冒險現象
二、消去競爭冒險的方法
針對上述原因,可以采取以下措施消去競爭冒險現象。
1.發現并消掉互補變量
例如,函數式,在B=C=0時,
。若直接根據這個邏輯表達式組成邏輯電路,則可能出現競爭冒險。可以將該式變換為,這里已將
消掉。根據這個表達式組成邏輯電路就不會出現競爭冒險。
2.增加乘積項
對于下圖中所示的邏輯電路(a),可以根據邏輯代數中的常用恒等式,在其輸出邏輯表達式中增加乘積項AB。這時,
,對應的邏輯電路如圖(b)所示。由前面的分析可知,出現負跳變窄脈沖處,正是A和B均為1時。顯然,對于圖(b)所示電路,當A=B=1時,G5輸出為1,G4輸出亦為1,這就消除了C跳變時對輸出狀態的影響,從而消去了競爭冒險。
(a)
(b)
3. 輸出端并聯電容器
如果邏輯電路在較慢速度下工作,為了消去競爭冒險,可以在輸出端并聯——電容器,其容量為4~20pF之間,比如可以在右圖的電路的輸出端并聯一個電容C,如下圖所示。由于或門G4存在——輸出電阻R0,致使輸出波形上升沿和下降沿的變化變得比較緩慢。因此對于很窄的負跳變脈沖起到平滑的作用,如下圖中的波形所示。顯然,這時在輸出端不會出現邏輯錯誤。