|
建立時間和保持時間 本文節(jié)選自特權同學的圖書《FPGA設計實戰(zhàn)演練(邏輯篇)》 配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt 在這個波形中,我們看到clk_r3的前后各有一條虛線,前一條虛線到clk_r3上升沿的這段時間即建立時間,clk_r3上升沿到后一條虛線的這段時間即保持時間。前面對建立時間和保持時間下定義時提到過,在這段時間內不能夠有數(shù)據(jù)的變化,數(shù)據(jù)必須保持穩(wěn)定。而在這個波形中,也確實沒有看到在建立時間和保持時間內,reg3in的數(shù)據(jù)有任何的變化,因此我們可以穩(wěn)定的將reg3in的數(shù)據(jù)鎖存到reg3的輸出reg3out中。(特權同學,版權所有)
圖8.10 建立時間和保持時間都滿足要求的情況 如圖8.11所示的波形,同樣的一些信號,但我們發(fā)現(xiàn)reg3in在clk_r3的建立時間內發(fā)生了變化,這帶來的后果就是clk_r3上升沿鎖存到的reg3in數(shù)據(jù)不確定,那么隨后的reg3out值也會處于一個不確定狀態(tài)。比如第一個時鐘周期,原本reg3in應該是穩(wěn)定的低電平,但是由于整個路徑上的延時時間過長,導致了reg3in在clk_r3的建立時間內數(shù)據(jù)還未能穩(wěn)定下來,在建立時間內出現(xiàn)了電平正處于從高到低的變化,即不穩(wěn)定的狀態(tài),那么導致的后果就是reg3out的最終輸出不是確定的狀態(tài),很可能是忽高忽低的亞穩(wěn)態(tài),而不是原本期望的低電平。(特權同學,版權所有)
圖8.11 建立時間違規(guī)的情況 我們再來看看保持時間違規(guī)的情況,如圖8.12所示,這次是數(shù)據(jù)傳輸?shù)锰炝耍緫撓乱粋時鐘周期到達clk_r3的數(shù)據(jù)竟然在clk_r3的前一個時鐘周期的保持時間還未過去就來到了。因此,它出現(xiàn)的最終危害也是后端輸出的reg3out處于不確定的狀態(tài)。(特權同學,版權所有)
圖8.12 保持時間違規(guī)的情況 |