複製鏈接
請複製以下鏈接發送給好友

毛刺

(電路設計中的術語)

鎖定
毛刺,電路設計中常用詞,應該注意的是毛刺並不是對所有的輸入都有危害。
中文名
毛刺
所屬學科
電路設計
注意事項
毛刺並不是對所有的輸入都有危害
術語簡介
數字電路中常將毛刺定義為採樣間越過邏輯門限一次以上的任何跳變,主要是指電路輸出波形中含有時間很短有規律或沒有規律的脈衝而又對設計沒有用處或產生其他影響,一般都要考慮去除毛刺。通常可以通過加某些元件(如電容濾波)或者改變電路設計實現消除毛刺。
詳細:
信號在FPGA器件內部通過連線和邏輯單元時,都有一定的延時。延時的大小與連線的長短和邏輯單元的數目有關,同時還受器件的製造工藝、工作電壓、温度等條件的影響。信號的高低電平轉換也需要一定的過渡時間。由於存在這兩方面因素,多路信號的電平值發生變化時,在信號變化的瞬間,組合邏輯的輸出有先後順序,並不是同時變化,往往會出現一些不正確的尖峯信號,這些尖峯信號稱為"毛刺"。如果一個組合邏輯電路中有"毛刺"出現,就説明該電路存在"冒險"。(與分立元件不同,由於PLD內部不存在寄生電容電感,這些毛刺將被完整的保留並向下一級傳遞,因此毛刺現象在LD、FPGA設計中尤為突出)
圖6.21給出了一個邏輯冒險的例子,從圖6.22的仿真波形可以看出,"A、B、C、D"四個輸入信號經過佈線延時以後,高低電平變換不是同時發生的,這導致輸出信號"OUT"出現了毛刺。(我們無法保證所有連線的長度一致,所以即使四個輸入信號在輸入端同時變化,但經過PLD內部的走線,到達或門的時間也是不一樣的,毛刺必然產生)。可以概括的講,只要輸入信號同時變化,(經過內部走線)組合邏輯必將產生毛刺。 將它們的輸出直接連接到時鐘輸入端、清零或置位端口的設計方法是錯誤的,這可能會導致嚴重的後果。 所以我們必須檢查設計中所有時鐘、清零和置位等對毛刺敏感的輸入端口,確保輸入不會含有任何毛刺
存在邏輯冒險的電路示例 存在邏輯冒險的電路示例
圖6.21 存在邏輯冒險的電路示例
毛刺 毛刺
圖6.22 圖6.21所示電路的仿真波形冒險往往會影響到邏輯電路的穩定性。時鐘端口、清零和置位端口對毛刺信號十分敏感,任何一點毛刺都可能會使系統出錯,因此判斷邏輯電路中是否存在冒險以及如何避免冒險是設計人員必須要考慮的問題。
判斷一個邏輯電路在某些輸入信號發生變化時是否會產生冒險,首先要判斷信號是否會同時變化,然後判斷在信號同時變化的時候,是否會產生冒險,這可以通過邏輯函數卡諾圖或邏輯函數表達式來進行判斷。對此問題感興趣的讀者可以參考有關脈衝與數字電路方面的書籍和文章。
如何處理毛刺 [1] 
我們可以通過改變設計,破壞毛刺產生的條件,來減少毛刺的發生。例如,在數字電路設計中,常常採用格雷碼計數器取代普通的二進制計數器,這是因為格雷碼計數器的輸出每次只有一位跳變,消除了競爭冒險的發生條件,避免了毛刺的產生。
毛刺並不是對所有的輸入都有危害,例如D觸發器的D輸入端,只要毛刺不出現在時鐘的上升沿並且滿足數據的建立和保持時間,就不會對系統造成危害,我們可以説D觸發器的D輸入端對毛刺不敏感。 根據這個特性,我們應當在系統中儘可能採用同步電路,這是因為同步電路信號的變化都發生在時鐘沿,只要毛刺不出現在時鐘的沿口並且不滿足數據的建立和保持時間,就不會對系統造成危害。 (由於毛刺很短,多為幾納秒,基本上都不可能滿足數據的建立和保持時間)
以上方法可以大大減少毛刺,但它並不能完全消除毛刺,有時,我們必須手工修改電路來去除毛刺。我們通常使用"採樣"的方法。 一般説來,冒險出現在信號發生電平轉換的時刻,也就是説在輸出信號的建立時間內會發生冒險,而在輸出信號的保持時間內是不會有毛刺信號出現的。如果在輸出信號的保持時間內對其進行"採樣",就可以消除毛刺信號的影響。
兩種基本的採樣方法 兩種基本的採樣方法
有兩種基本的採樣方法:一種方法是在輸出信號的保持時間內,用一定寬度的高電平脈衝與輸出信號做邏輯"與"運算,由此獲取輸出信號的電平值。圖6.23説明了這種方法,採樣脈衝信號從輸入引腳"SAMPLE"引入。從圖6.24的仿真波形上可以看出,毛刺信號出現在"TEST"引腳上,而"OUT"引腳上的毛刺已被消除了.
圖6.23 消除毛刺信號的方法之一
消除毛刺信號的方法之一 消除毛刺信號的方法之一
圖6.24 圖6.23所示電路的仿真波形上述方法的一個缺點是必須人為的保證sample信號必須在合適的時間中產生,另一種更常見的方法是利用D觸發器的D輸入端對毛刺信號不敏感的特點,在輸出信號的保持時間內,用觸發器讀取組合邏輯的輸出信號,這種方法類似於將異步電路轉化為同步電路。 圖6.25給出了這種方法的示範電路,圖6.26是仿真波形。
消除毛刺信號方法之二 消除毛刺信號方法之二
圖6.25 消除毛刺信號方法之二
電路的仿真波形在仿真時 電路的仿真波形在仿真時
圖6.26 圖6.25所示電路的仿真波形在仿真時,我們也可能會發現在FPGA器件對外輸出引腳上有輸出毛刺,但由於毛刺很短,加上PCB本身的寄生參數,大多數情況下,毛刺通過PCB走線,基本可以自然被慮除,不用再外加阻容濾波。
參考資料