數(shù)字電路中的競爭與冒險
在了解競爭與冒險之前,先從一個很簡單的電路入手。
本文引用地址:http://www.ex-cimer.com/article/270364.htm上面這個電路中,整個電路由非門G1和與門G2構(gòu)成,輸入輸出之間不存在任何形式的反饋,亦不存在存儲電路,所以這個電路是個組合邏輯電路。
輸入信號為A,輸出信號為L,G1門的輸出為 。
每個門電路從輸入激勵出現(xiàn)到輸出響應,會有一定的時間延遲,這個時間通常叫做門電路的開關(guān)延遲時間。
制造工藝、門的種類甚至制造時微小的工藝偏差,都會引起這個開關(guān)延遲時間的變化,是一個非常隨機離散的常量,這里只需要知道有這么個時間差存在。
OK,回到電路中來,了解數(shù)字電路的朋友應該很快會得到輸出的表達式: ,按照這個表達式,L應該輸出一個恒定的低電平或者說邏輯“0”才對。
可是實際情況真的是這樣嗎?
如果考慮上面提到的門電路延遲時間,可以發(fā)現(xiàn),一切都變了,如下圖:
信號A通過G1門,由于G1門的延遲時間的存在,會導致G1門的輸出 會落后于A一個極微小的時間到達G2門的輸出端,這樣就導致A和 的信號波形之間有一個極小的“錯位”,正是由于這個“錯位”的存在,使得輸出L在“錯位”的瞬間輸出了理論上本不應該出現(xiàn)的高電平(邏輯“1”),如圖中虛線對應的紅色電平區(qū)域。這種窄脈沖或者叫毛刺的出現(xiàn),會對后級邏輯電路產(chǎn)生不可預計的影響,特別是在一些高速的數(shù)字電路中。
從上面的分析,不難得出結(jié)論,如果門電路的多個輸入信號到達輸入端的時間不同,就有可能引起輸出邏輯的錯亂。
為什么會到達時間不同呢?不外乎就是,不同信號通過的路徑不同,相同工藝制造條件下,輸入信號傳輸?shù)街付ㄝ斎攵说膫鬏斅窂缴系拈T電路越多,需要消耗的時間也就越多,如果每個信號的路徑差異都比較大,到達指定輸入端的信號就會有先后,輸出就有可能出現(xiàn)邏輯錯誤。當然,一些PCB走線的寄生效應也會引起這種現(xiàn)象,這里不討論。
OK,把上面的思考歸納一下。
在數(shù)字電路中,信號由于經(jīng)由不同路徑傳輸達到某一匯合點的時間有先有后的現(xiàn)象,就稱之為競爭,英文名Race;由于競爭現(xiàn)象所引起的電路輸出發(fā)生瞬間錯誤的現(xiàn)象,就稱之為冒險,英文名Hazard或者Risk。英文名字還是相對比較好理解,想象一下,兩個成績完全一樣的跨欄運動員(racer),同時跑110米欄,一個跑11個欄,一個跑20個欄,最后肯定不會同時到達終點;而Hazard或者Risk,則指未來可能存在的危機和風險。不得不感慨,有些東西,還是看鳥文比較好理解。
但是需要注意的是,競爭和冒險之間的關(guān)系。有競爭不一定有冒險,但出現(xiàn)了冒險就一定存在競爭。如果信號的傳輸途徑不同,或各信號延時時間的差異,信號變化的互補性等原因都很容易產(chǎn)生冒險現(xiàn)象。
該如何規(guī)避這種競爭與冒險所帶來的電路設計失敗風險呢?下次再聊。
電路相關(guān)文章:電路分析基礎(chǔ)
數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評論