【數字晶片前端】STA時序分析的小練習1

moon9999發表於2020-10-29

前言

最近又從驗證崗轉回設計崗,對設計方向的東西關注又變多了。最近想把之前看過的一些小知識和電路歸納下,以備萬一。

繼續上次的這兩個題來寫一寫,哈哈起始就是引個流。

setup time的一些思考點

hold time的一些思考點

這次的題目是偶然看到的,楞憑著小腦袋瓜記了住,分享一下。

題目

電路圖如上所示,時鐘週期為Tcyc,其他時序資訊已在途中標註,已知兩個暫存器是相同規格器件,那麼求解暫存器的setup time和hold time要滿足的條件。

分析

要確定滿足的關係呢,我發現必須得定一個0時刻,這樣後面分析起來都會順很多,那麼就定D1上升沿時刻為0時刻。

之後觀察D2暫存器:

資料到達時刻為——T1+T2

時鐘到達時刻為——Tcyc+T3

那麼對於D2暫存器,可以得到兩個需要滿足的條件:

1.時鐘到達時間 - 資料到達時間 > Tsetup

即Tcyc+T3-T1-T2 > Tsetup

2.時鐘週期 - 資料setup > Thold

即Tcyc - (Tcyc+T3-T1-T2)> Thold

進一步求解為:

Tsetup < Tcyc + T3 - T1 - T2

Thold < T1 + T2 - T3

推進

上面這個式子的左側是要求的setup/hold time,右側是實際的setup/hold time,上學時候老師跟我們說過的:

時鐘最早的到達時間 - 資料最晚要求的到達時間 = 實際的Tsetup

時鐘週期 - (時鐘最晚的到達時間 - 資料最早要求的到達時間)= 實際的Thold

當然了,左右一減,也就得到了另外一個公式:

Setup slack = 實際的Tsetup - 要求的Tsetup

Hold slack = 實際的Thold - 要求的Thold

 

相關文章