重慶做企業(yè)網(wǎng)站網(wǎng)站流量排行
建立時間
在時鐘有效沿到來之前,數(shù)據(jù)必須維持一段時間保持不變,這段時間就是建立時間 Tsetup
1 基本概念
建立時間(Setup Time):
????????在 SystemVerilog 中,建立時間是指在時鐘信號的有效邊沿(例如上升沿或者下降沿,取決于電路設(shè)計)到來之前,數(shù)據(jù)信號必須保持穩(wěn)定的最小時間。這個時間是為了確保在時鐘邊沿到達(dá)時,數(shù)據(jù)能夠被正確地采樣和存儲。就好像一個運動員在起跑槍響(時鐘有效邊沿)之前,需要提前站在起跑線上(數(shù)據(jù)穩(wěn)定)準(zhǔn)備起跑,這個提前準(zhǔn)備的時間就是建立時間。
保持時間(Hold Time):
????????保持時間是指在時鐘信號的有效邊沿到來之后,數(shù)據(jù)信號必須保持穩(wěn)定的最小時間。它保證了在時鐘邊沿對數(shù)據(jù)采樣之后,數(shù)據(jù)不會因為變化太快而導(dǎo)致錯誤的存儲。例如,就像拍照時,在按下快門(時鐘有效邊沿)之后,拍攝對象(數(shù)據(jù))需要保持靜止一小段時間,這樣才能拍出清晰的照片,這個拍攝對象保持靜止的時間就是保持時間。
2 示例??
-
- 示例電路:假設(shè)有一個簡單的 D 觸發(fā)器,時鐘信號為
clk
,數(shù)據(jù)輸入信號為d
,輸出信號為q
。D 觸發(fā)器的工作原理是在clk
的上升沿對d
進(jìn)行采樣,并將采樣的值輸出到q
。 - 建立時間計算:設(shè) D 觸發(fā)器的建立時間為
T_setup
,時鐘周期為T_clk
。如果d
信號在clk
上升沿之前的T_setup
時間內(nèi)發(fā)生變化,那么就可能導(dǎo)致數(shù)據(jù)采樣錯誤。例如,T_clk = 10ns
,T_setup = 2ns
,那么在clk
上升沿到來前的 2ns 內(nèi),d
信號必須保持穩(wěn)定。 - 保持時間計算:設(shè)保持時間為
T_hold
。在clk
上升沿之后的T_hold
時間內(nèi),d
信號也需要保持穩(wěn)定。例如,T_hold = 1ns
,那么在clk
上升沿后的 1ns 內(nèi),d
信號不能發(fā)生變化,否則可能會使 D 觸發(fā)器存儲錯誤的數(shù)據(jù)。
- 示例電路:假設(shè)有一個簡單的 D 觸發(fā)器,時鐘信號為
3?違反建立時間和保持時間的后果
- 亞穩(wěn)態(tài)(Metastability):如果數(shù)據(jù)信號沒有滿足建立時間和保持時間的要求,就可能導(dǎo)致 D 觸發(fā)器進(jìn)入亞穩(wěn)態(tài)。亞穩(wěn)態(tài)是一種不穩(wěn)定的狀態(tài),此時觸發(fā)器的輸出可能會在一個不確定的時間內(nèi)處于一個不確定的電平。這種不確定的電平可能會導(dǎo)致后續(xù)電路出現(xiàn)錯誤的操作,因為后續(xù)電路可能會將這個不確定的電平當(dāng)作有效的邏輯電平進(jìn)行處理。
- 數(shù)據(jù)錯誤:除了亞穩(wěn)態(tài)之外,違反建立時間和保持時間還可能直接導(dǎo)致數(shù)據(jù)錯誤。例如,本來應(yīng)該存儲為 “0” 的數(shù)據(jù),由于數(shù)據(jù)在不適當(dāng)?shù)臅r間發(fā)生變化,可能會被錯誤地存儲為 “1”,從而影響整個數(shù)字系統(tǒng)的功能。