數字電路中的競爭與冒險出現在組合邏輯電路中。
組合邏輯電路中,同一信號經不同的路徑傳輸後,到達電路中某一會合點的時間有先有後,這種現象稱為邏輯競爭,而因此產生輸出干擾脈衝的現象稱為冒險。
基本介紹
- 中文名:競爭冒險
- 外文名:Race condition, Race hazard
- 位置:數字電路
- 類型:組合邏輯電路
名詞解釋,判別方法,消除方法,修改設計法:,選通法:,常用消除方法:,
名詞解釋
競爭(Competition): 在組合邏輯電路中,某個輸入變數通過兩條或兩條以上的途徑傳到輸出端,由於每條途徑延遲時間不同,到達輸出門的時間就有先有後,這種現象稱為競爭。把不會產生錯誤輸出的競爭的現象稱為非臨界競爭。把產生暫時性的或永久性錯誤輸出的競爭現象稱為臨界競爭。
冒險(risk):信號在器件內部通過連線和邏輯單元時,都有一定的延時。延時的大小與連線的長短和邏輯單元的數目有關,同時還受器件的製造工藝、工作電壓、溫度等條件的影響。信號的高低電平轉換也需要一定的過渡時間。由於存在這兩方面因素,多路信號的電平值發生變化時,在信號變化的瞬間,組合邏輯的輸出有先後順序,並不是同時變化,往往會出現一些不正確的尖峰信號,這些尖峰信號稱為"毛刺"。如果一個組合邏輯電路中有"毛刺"出現,就說明該電路存在冒險。
競爭冒險(Competition risk)產生原因:由於延遲時間的存在,當一個輸入信號經過多條路徑傳送後又重新會合到某個門上,由於不同路徑上門的級數不同,或者門電路延遲時間的差異,導致到達會合點的時間有先有後,從而產生瞬間的錯誤輸出。
判別方法
1、代數法:邏輯函式表達式中,若某個變數同時以原變數和反變數兩種形式出現,就具備了競爭條件。去掉其它變數,留下有競爭能力的變數,如果表達式為:F=A+A’,就會產生“0”冒險;F=A*A‘,就會產生“1”冒險。
消除方法
修改設計法:
a、代數法,在產生冒險現象的邏輯表達式上,加上冗餘項或乘上冗餘因子;
b、卡諾圖法,將卡諾圖中相切的圈用一個多餘的圈連線起來。
選通法:
在電路中加入選通信號,在輸出信號穩定後,選通允許輸出,從而產生正確輸出。
濾出法: 由於冒險脈衝是一個非常窄的脈衝,可以在輸出端接一個幾百微法的電容將其濾出掉。
常用消除方法:
1、輸出端接入濾波電容;
2、輸入端引入選通脈衝;
3、增加冗餘項,修改邏輯設計;
4、利用可靠性編碼;
5、引入封鎖脈衝。