?感覺過了好久。。一直在忙核磁共振的數(shù)據分析。今天繼續(xù)之前的話題,就是關于觸發(fā)器FF的時序分析問題。為什么要分析FF的時序?答案很簡單-FF不是要接受一個時鐘信號么~那個時鐘的延遲和FF內部的延遲關系怎么決定,我們怎么優(yōu)化速度?所以就用這個時序分析的手法來解決。看例子:
這里假設實際中給上幾節(jié)里介紹的D觸發(fā)器提供如下圖的時序和數(shù)據輸入(注意圖的水平方向是時間軸,省略不畫)
不要說這個圖看不懂~解釋一下:在t1時刻CLK處于上升沿,同時無數(shù)據(或數(shù)據0)輸入。t1到t3之間CLK保持高電平,而D在t2時刻開始有數(shù)據輸入。。。。以此類推。現(xiàn)在看看Latch和FF的輸出Q都是怎么變化的。這里為了大家方便,把上節(jié)的圖拿過來:
?
開始分析Latch?
? ? ? ?Step1:t1時刻以前: CLK=0--也就是閉鎖狀態(tài),D=0,~D=1.R=0,S=0.所以Q=0或1(SR鎖記憶初始的Q值)
? ? ? ?Step2:t1時刻到t2時刻: t1臨界時刻:CLK從0到1轉變時,這個轉變通過AND門但是必須經歷一段延遲。此時由于D不發(fā)生變化,所以~D=0。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?t1到t2時間:CLK過了AND的延遲CLK傳播到R輸出,此時R=1,S=0,所以Q輸出0
? ? ? ?Step3:t2到t3:t2臨界時刻:CLK保持1,即Latch開放狀態(tài),此時D開始轉變。而~D經過一段NOT門延時后進行變化,在經過一個AND延時后影響R輸出。
? ? ? ? ? ? ? ? ? ? ? t2到t3時間:D經過傳播延遲后影響了R和S輸出。此時R=0,S=1,也就是Q=1
?Step4:t3臨界:CLK從1正在轉向0此時由于還沒有影響R或S所以輸出無變化
? ? ? ?。。。。剩下的交給大家
同樣開始分析FF:
??Step1:t1時刻以前:?CLK=0 master的鎖開放.輸入D為0根據上面的Latch分析,master里的R輸出為1,所以master的Q為0,通過導線N
? ? ? ? ?傳播給slave。所以此時slave的CLK和D均為0,最終輸出記錄Slave的初始狀態(tài)(0或1)。
???????Step2:t1時刻到t2時刻:?t1臨界時刻:CLK從0到1轉變時,這個轉變通過NOT門,master的AND門 經歷一段延遲。此時由于D不發(fā)生變化,所以master的Q暫時保持原值。
???????????????????????????????t1到t2時間:CLK=0過了AND的延遲CLK傳播到master的R輸出,此時R=0,S=0,所以master的Q輸出上一次的0。而此時slave的CLK=1,D=0所以slave的R被設定,導致輸出結果為0.
???????Step3:t2到t3:t2臨界時刻:CLK保持1,master無動作,此時D開始轉變。而此時master閉鎖,所以D就是逆天也改不了最終輸出。
??????????????????????t2到t3時間:無影響。。。
? ? ? ? ? ?Step4:t3臨界:master開鎖,由于D為1所以master的S被設定,導致master的Q=1但是Slave閉鎖,所以輸出仍無影響。。?
???????。。。。剩下的交給大家
?
最后總結一下時序圖:
這里注意Q(flop)圖中的一個上升沿,如果能明白那個上升沿是t3時刻存進去的就算過關了。
總而言之~FF只在時鐘上升沿的時候拷貝數(shù)據D而Latch則是只要CLK=1時候就會記錄D的變化
下面我給出一個習題,大家復習時序分析:
?畫出其時序圖~