Archive for the Electronics Category

Setup & Hold Time in Digital Circuit

Posted in Electronics on 2007 年 09 月 02 日 by Kun-Yi

今天看到幾個問題

  • Hold Time 為啥會有負值?
  • 在Multicycle 時,為啥hold time 不是 (setup time – 1)
  • 為啥Hold time與 Clock 週期無關? (可能是可以改變 Clock Pulse 的 Hi-Low 比例達到要求)

這幾個問題我都沒搞清楚過 >_<

理論上
Hold time 是 一個input 要求需要保持資料狀態的時間,不然會產生 metastable現象
Setup time 則是要求在Input 的Trigger edge到達前,資料狀態就需要穩定的時間,不然會發生不知道Trigger 時的取樣資料處於哪一個狀態。
所以 hold time 為負值不知道有啥意義應該說為0還有可能,當Clock Edge 的瞬間取樣就可以了吧?
還是 latch 本身結構的關係? 這可能要在深入研究 Logic Gate 構成latch時,看看Circuit Delay 有啥影響吧?
不過 Setup & Hold Time 的長短跟輸出Current Driver 與輸入的 Load Capacitor 有直接關聯性。

Update: Hold time 為負值的原因有可能是 FPGA or IC 內部的 Routing 關係造成信號延遲, 所以當Hold time 為負值或是0時表示外部信號能與 clcok同步時, 取樣一定成功

廣告