-
冒險現象
鎖定
冒險現象定義
信號在器件內部通過連線和邏輯單元時,都有一定的延時。延時的大小與連線的長短和邏輯單元的數目有關,同時還受器件的製造工藝、工作電壓、温度等條件的影響。信號的高低電平轉換也需要一定的過渡時間。由於存在這兩方面因素,多路信號的電平值發生變化時,在信號變化的瞬間,組合邏輯的輸出有先後順序,並不是同時變化,往往會出現一些不正確的尖峯信號,這些尖峯信號稱為"毛刺"。如果一個組合邏輯電路中有"毛刺"出現,就説明該電路存在冒險。
毛刺並不是對所有的輸入都有危害,例如D觸發器的D輸入端,只要毛刺不出現在時鐘的上升沿並且滿足數據的建立和保持時間,就不會對系統造成危害,所以D觸發器的D輸入端對毛刺不敏感。根據這個特性,在系統設計時儘可能採用同步電路,這是因為同步電路信號的變化都發生在時鐘沿,只要毛刺不出現在時鐘的沿口並且不滿足數據的建立和保持時間,就不會對系統造成危害。實際上,由於毛刺很短,多為幾納秒,基本上都不可能滿足數據的建立和保持時間。
[1]
冒險現象分類
最常見的三種冒險現象分別是靜態險象、動態險象和功能險象。
冒險現象靜態冒險
輸入信號的改變只引起一個錯誤信號脈衝。組合邏輯電路即使在輸入邏輯值沒有發生變化的情況下也可能發生躍變,產生這些非預期的干擾脈衝“假信號”。稱可能發生假信號脈衝的電路存在冒險。如果輸入有變化而輸出不應發生變化的情況下,出現了單個窄脈衝,稱為電路產生了靜態冒險。只有存在靜態冒險才可能導致動態冒險。
冒險現象動態冒險
dynamichazard,輸入信號的改變引起多個錯誤信號脈衝
冒險現象功能冒險
functionhazard,多個輸入信號變化不同步產生的錯誤信號
輸出信號毛刺為負向脈衝的為0型險象,通常在與或、與非、與或非型電路中出現;輸出信號為正向脈衝的為1型險象,通常在或與、或非型電路中出現。
冒險現象競爭冒險的判斷
在組合電路的設計中,為克服冒險,應對競爭冒險的可能性加以判斷,判斷方法大致有兩種。
冒險現象代數法
冒險現象卡諾圖法
冒險現象消除方法
冒險現象是一種臨時性的問題,因為電路最終會穩定在所需要的功能信號上。儘管這樣,消除險象還是十分必要,特別是當信號需要接入下一級系統裏時。
在對組合邏輯電路進行分析及設計時,通常沒有考慮器件的延時問題,而實際的器件是存在延時的,競爭冒險現象就是由於器件的延時造成的。為了保證電路工作的穩定性及可靠性,必須設法消除競爭冒險。在現代電子設計中,冒險現象突出表現為毛刺,必須加以消除。
[2]
冒險現象設計無險象的電路
設計一個不發生險象的數字電路是消除險象的最理想的辦法。但是,這種方式對於一些複雜的電路來説,設計出的電路會比較複雜,使電路變得更為複雜,甚至導致成本的上升。簡單電路的靜態險象則可以應用卡諾圖方法。
在卡諾圖中圈選“1”或“1”的時候,如果可以避免某一個所選區域與另一個區域相切,即可避免冒險現象的發生。不過,這種卡諾圖圈選方式雖然可以消除因邏輯設計產生的險象,以上圈選方式得到的最小項積之和式或最大項和之積式很可能不是最簡與或式或最簡或與式,即產生了冗餘項。
冒險現象選通法
險象通常是在輸入信號改變後的較短時間內發生,如果在錯誤信號的脈衝消退後再進行讀值,也能避免錯誤信號造成的危害。實際可以使用選通電路來實現此功能。
冒險現象使用濾波電路
採用額外的濾波電路也可以緩解錯誤信號的脈衝。通常,錯誤信號脈衝都是高頻信號,和正常的、所需要的信號頻率差別較大,可以通過濾波電路進行消除。這種方式的缺點則在於,錯誤信號雖然被消除了,但是輸出信號的上升沿和下降沿也隨之被破壞。