門電路的兩個輸入信號同時向相反的邏輯電平跳變的現象叫做 競爭 ,這種競爭可能在電路的輸出端產生尖峰脈沖,這種現象稱為 競爭冒險 。
競爭冒險產生的根本原因是輸入信號通過兩條或兩條以上的路徑傳輸到輸出端,每條路徑的延時不同,從而導致信號不能同時到達輸出端。接下來,我們就通過幾個簡單的電路了解一下競爭冒險現象。
1、移位寄存器
首先來看下面一個電路,這個電路簡單描述了移位寄存器的工作原理,當時鐘上升沿來臨的時候,數據會整體向右移動一位。但是現在的問題是:每次時鐘有效時,為什么數據只移動一位?
要想解釋上面的問題,就需要具體了解一下構成移位寄存器的最小單元—D觸發器的行為。下圖是一個D觸發器的原理圖,當有效時鐘邊沿到來時,其輸入端D的值會存入輸出端Q。
對上述D觸發器進行功能仿真,仿真結果如下圖所示,可以看出,當時鐘上升沿到來時,觸發器的輸出Q會等于輸入D。
接下來,對D觸發器進行更接近真實情況的門級仿真,通過仿真結果可以看到,當時鐘上升沿到來時,觸發器的輸出并沒有立馬發生變化,而是等待一段時間之后其輸出Q才會與輸入D相等。
這一段延時稱為觸發器的 Tco時間,即輸出延時,指從觸發器有效邊沿到來到觸發器輸出有效的時間差 。這也是移位寄存器每次只能移動一位的原因。
2、計數器
接下來再看另一個電路—計數器電路,該電路由多個邏輯門組合而成,可以實現十六進制計數功能。
對該電路進行功能仿真,可以看出電路功能正常。
同樣,對電路進行門級仿真,結果如下,將仿真圖放大可以發現,在計數值由0001變為0010的過程中,出現了短暫的0011的計數值。
之所以出現0011這樣的計數值,是因為每一位分別由多個不同的邏輯門電路控制,因此,每一位的變化存在一定的延時,這一延時稱為 Tpd時間,即傳輸延時,指****從輸入信號有效到輸出信號穩定時的時間差 。
但是,不同位的控制電路的延時是不同的,以上面的現象為例,該計數器第三位的控制電路的延時要比第四位短,因此,第三位先變為1,第四位后變為0,兩個變化之間的延時差就導致出現了0011這樣的現象,這就是競爭冒險現象。
以當前的時鐘頻率,上面的現象是不會導致系統出現問題的,因為不穩定狀態持續的時間非常短,不會被時鐘采樣到,但是,如果時鐘頻率太高,該狀態就有可能被采樣到,導致系統出錯,這就是某些代碼運行時時鐘頻率不能太高的原因之一。
以上就是本次分享的全部內容,謝謝大家!
-
寄存器
+關注
關注
31文章
5336瀏覽量
120232 -
仿真
+關注
關注
50文章
4070瀏覽量
133552 -
門電路
+關注
關注
7文章
199瀏覽量
40160 -
數字電路
+關注
關注
193文章
1605瀏覽量
80580 -
輸入信號
+關注
關注
0文章
455瀏覽量
12547
發布評論請先 登錄
相關推薦
評論