JK觸發器中的競爭冒險現象
在討論競爭冒險現象之前,讓我們先簡要介紹一下JK觸發器及其方框圖和真值表。
JK觸發器
JK觸發器是一種一位儲存器件,具有兩個穩定狀態。圖1顯示了JK觸發器的方框圖表示。

它有兩個輸入,分別用“J”和“K”表示,一個用於電路同步的時鐘輸入,以及兩個輸出,分別用Q和Q'表示。
當時鍾訊號不存在時,JK觸發器的輸出與輸入J和K無關。當時鍾訊號存在時,JK觸發器的輸出根據輸入J和K發生變化。
JK觸發器的操作可以透過其真值表來研究,如下所示:
| 輸入 | 前一狀態 | 輸出(下一狀態) | 註釋 | |
|---|---|---|---|---|
| J | K | Qn | Qn+1 | |
| 0 | 0 | 0 | 0 | 無變化 |
| 0 | 0 | 1 | 1 | 無變化 |
| 0 | 1 | 0 | 0 | 復位 |
| 0 | 1 | 1 | 0 | 復位 |
| 1 | 0 | 0 | 1 | 置位 |
| 1 | 0 | 1 | 1 | 置位 |
| 1 | 1 | 0 | 1 | 翻轉 |
| 1 | 1 | 1 | 0 | 翻轉 |
現在,讓我們討論JK觸發器中的競爭冒險現象。
JK觸發器中的競爭冒險現象
從上面JK觸發器的真值表可以看出,當J=1且K=1時,輸出Qn+1=Qn',這意味著對於輸入J=1和K=1,JK觸發器充當一個翻轉開關。
讓我們考慮輸入J=1和K=1,以及輸出Q=0。在觸發器的傳播延遲(設為Δt)之後,JK觸發器的輸出從0變為1。眾所周知,JK觸發器的輸出連線到其輸入。因此,輸出也充當輸入,因此在下一次延遲(Δt)之後,輸出將從1變為0。這個過程將持續到應用的時鐘訊號結束。因此,JK觸發器的輸出是不確定的。JK觸發器的這種狀態稱為競爭冒險現象。
圖2顯示了JK觸發器中的競爭冒險現象,其中T是時鐘脈衝的總持續時間。

如何避免競爭冒險現象?
在觸發器中,如果輸入在時鐘脈衝期間不發生變化,則不存在競爭冒險現象的問題。但是,在JK觸發器的情況下,由於輸入和輸出之間存在反饋路徑,因此輸入在時鐘脈衝期間會發生變化。因此,在JK觸發器中,競爭冒險現象是一個主要問題。
可以透過增加觸發器的延遲來避免競爭冒險現象和輸出不確定性的問題。為此,觸發器的延遲必須大於時鐘訊號的持續時間,即Δt > T。換句話說,應用的時鐘訊號的持續時間(T)必須減小,使其小於觸發器的延遲(Δt)。
但是,增加觸發器的延遲並不是一個好的做法,因為它會降低系統的速度。另一方面,將時鐘脈衝的持續時間(T)減少到低於觸發器的延遲(Δt)也很困難。這是因為,JK觸發器的延遲(Δt)大約為納秒級。
因此,解決JK觸發器中競爭冒險現象的最實用方法是使用主從模式下的JK觸發器。在JK觸發器的主從模式中,兩個JK觸發器級聯在一起。
這就是關於JK觸發器中競爭冒險現象及其解決方法的所有內容。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP