我對建立時間和保持時間的理解

2021-07-04 06:57:19 字數 1816 閱讀 5996

這篇文章主要是談談我對建立時間和保持時間的理解,文中前四張是引用特權同學《fpga實戰演練邏輯篇51:建立時間和保持時間》 (出處: 中國電子技術論壇)一書。我將以這四張及其延伸為例,進行推導。

先說一下建立時間和保持時間的定義。定義都是一致,無異議的,即:

建立時間(tsu)是指在時鐘上公升沿到來之前資料必須保持穩定的時間。

保持時間(th)是指在時鐘上公升沿到來以後資料必須保持穩定的時間。

它們的存在其實就是為了保證在取樣點附近的資料是穩定的,所以對取樣點前後的穩態時間做出了要求。

圖1圖1是硬體電路圖。

圖2 正常工作時的時序邏輯

圖2是能滿足建立時間和保持時間要求、正常工作時圖1中電路的時序邏輯。其中clk為暫存器reg1和reg2的同步時鐘,reg1out是暫存器reg1的輸出,reg2out是暫存器reg2的輸出,它們也同時是與門的輸入。reg3in是與門的輸出,同時也是暫存器reg3的輸入。clk_r3是暫存器reg3的時鐘,本來應該與clk是同步的,但是因為線路延遲所以會落後clk一點。reg3out是暫存器reg3的輸出。所有的暫存器都是在時鐘上公升沿對輸入端的資料進行鎖存。在clk_r3的上公升沿上以及前後共有三條虛線,前兩條構成的區間代表晶元要求的建立時間,後兩條為保持時間,它們都是保證邏輯正常的最小值,可以從晶元的datasheet中查到。

圖3 建立時間正常示意圖

圖3中用紅色線段標註了5個時間點,從左往右依次為a-e。區間ab是data delay,即資料延遲;區間ce是time delay,即時鐘延遲;區間de即為建立時間(保證工作的最小值)。前兩者是實際存在的,可以測量。由此我們可以寫出以下公式。

由此四個式子可以推出:

這就是我們判斷建立時間是否違規的依據。若不滿足該不等式,則建立時間違規。

圖4 建立時間違規

圖4是建立時間違規的例子。可以看到紅圈內部reg3in在建立時間的區間內發生了改變,這會導致取樣結果不確定。

圖5 建立時間違規示意圖

圖5中不滿足上述不等式,所以違規。

同理進行保持時間的推導。

圖6 保持時間正常示意圖

圖6中區間ab為data delay;區間cd為time delay;區間de為保持時間(保證正常工作的最小值)。

由此推出:

這是我們判斷保持時間是否違規的依據。若不滿足這個不等式,則保持時間違規。

圖7 保持時間違規

圖7中紅圈內部保持時間違規。

圖8 保持時間違規示意圖

圖8不滿足上述不等式,故違規。 



建立時間和保持時間

概念 對於乙個數字系統而言,建立時間和保持時間可以說是基礎中的基礎,這兩個概念就像是數位電路的地基,整個系統的穩定性絕大部分都取決於是否滿足建立時間和保持時間。但是對於絕大部分包括我在內的初學者來說,建立時間和保持時間的理解一直都是乙個很大的困擾,儘管概念背得住,但是卻沒有理解這其中的精髓。這篇文章...

建立時間和保持時間

一 概念 建立時間和保持時間都是針對觸發器的特性說的。時序圖如下 建立時間 tsu set up time 是指在觸發器的時鐘訊號上公升沿到來以前,資料穩定不變的時間,如果建立時間不夠,資料將不能在這個時鐘上公升沿被穩定的打入觸發器,tsu就是指這個最小的穩定時間。保持時間 th hold time...

建立時間和保持時間

1 模型分析 理解建立時間保持時間需要乙個模型,如下圖所示。圖 觸發器時鐘和資料模型 時鐘沿到來時取樣資料d,將採到的資料寄存下來,並輸出到q端,所以如果沒有新的時鐘沿到來,則q端輸出的一直是上次取樣的資料,每來乙個時鐘沿,取樣一次資料d。那麼分析這個建立時間和保持時間,我們分兩種情況,一種是clk...