建立時間與保持時間的差異:定義、延遲、頻率、修正方式比較

兩者都是正反器正確擷取資料所需的時間條件,但要遵守的方向相反。建立時間是在時脈邊緣之前讓資料先行確定的時間,用來確認資料是否太慢。保持時間是在邊緣之後仍讓資料維持不變的時間,用來確認資料是否太快。建立條件中包含時脈週期,因此只要放慢時脈就能修正;但保持是同一個邊緣之間的比較,因此即使降低頻率也無法修正。

項目建立時間保持時間
定義在時脈的有效邊緣之前,讓資料先行確定的最短時間在時脈的有效邊緣之後,仍讓資料維持不變的最短時間
確認的事項資料是否太慢。能否趕上下一個邊緣資料是否太快。新資料是否會在同一個邊緣被擷取進去
比較的邊緣發送端的邊緣,與 1 個週期後接收端的邊緣發送端與接收端的同一個邊緣
檢查所用的延遲最大(max)延遲。最慢的路徑最小(min)延遲。最快的路徑
條件式(參考)tcq(max) + tlogic(max) + tsu ≤ T + tskewtcq(min) + tlogic(min) ≥ th + tskew(tskew 以接收端時脈延遲的方向為正)
與時脈頻率的關係式中包含週期 T。決定最大操作頻率式中不包含週期。與頻率無關
時脈偏斜的影響接收端時脈延遲時,餘裕增加接收端時脈延遲時,餘裕減少
違規的修正方式減少邏輯級數、換成驅動能力大或臨界電壓低的快速單元、將配置拉近、以管線化分割路徑、放慢時脈在資料路徑中插入延遲用緩衝器、換成臨界電壓高的慢速單元、調整時脈偏斜
容易違規的角落慢速條件。慢速製程、低電壓、高溫(在微細製程中,有時低溫反而較慢)快速條件。快速製程、高電壓、低溫等
晶片完成後才發現時放慢時脈就能動作。性能會下降即使降低頻率也無法修正,無法正確動作。修正多半需要變更設計

數值為具代表性的大致參考值,會因世代或產品而異。

適用於什麼情況

建立時間
決定最大操作頻率時、尋找慢速路徑並加快時。在靜態時序分析中,以 max 延遲與慢速角落確認。
保持時間
正反器之間的路徑很短時、時脈偏斜很大時。以 min 延遲與快速角落確認,通常在建立時脈樹之後修正。
搭配使用
修正其中一方時,另一方有時會變差。為了修正保持而插入過多緩衝器,會使建立的餘裕減少,因此必須在所有角落同時滿足兩者。

常見問題

為什麼保持違規即使放慢時脈也無法修正?

因為保持條件比較的是發送端與接收端的同一個時脈邊緣,式中不包含時脈週期。要以在資料路徑中插入緩衝器延遲等方式,改變路徑本身的延遲來修正。

為什麼確認建立時使用 max 延遲,確認保持時使用 min 延遲?

建立的問題在於資料最慢到達時能否趕上下一個邊緣,因此以最大延遲確認。保持的問題在於新資料最早到達時是否會破壞先前的資料,因此以最小延遲確認。

無法遵守建立時間或保持時間會發生什麼事?

正反器會擷取錯誤的值,或輸出在一段時間內既不是 0 也不是 1,處於亞穩態。非同步訊號無法完全避免這種情況,因此以 2 級以上的正反器同步後再接收。

理解度檢測

下列哪一項是對正反器設置時間的正確說明?

  1. A時脈邊緣之後,資料必須持續保持的最短時間
  2. B時脈邊緣之前,資料輸入必須保持穩定的最短時間
  3. C從開啟電源到開始動作的時間
查看答案與解析

正確答案:B. 時脈邊緣之前,資料輸入必須保持穩定的最短時間

正反器要正確取入資料,資料必須從時脈邊緣前一段時間起就保持穩定,這就是設置時間。當資料路徑的延遲超過時脈週期減去設置時間的值時即違規,放慢時脈即可解決。邊緣之後資料必須保持的時間是保持時間,只要有一項不滿足,就會造成取入錯誤的值或亞穩態。

下列哪一項是對正反器保持時間的正確說明?

  1. A時脈有效邊緣之前,必須先確定資料輸入的時間
  2. B從輸入時脈到輸出改變的時間
  3. C時脈有效邊緣之後,資料輸入也必須保持不變的時間
查看答案與解析

正確答案:C. 時脈有效邊緣之後,資料輸入也必須保持不變的時間

保持時間是時脈邊緣之後,資料必須保持穩定的最短時間。若從前一級正反器到下一級的路徑太短,在同一個邊緣更新的新資料會太早到達下一級而違規。由於與週期無關,放慢時脈也無法改善,對策是在資料路徑插入緩衝器以增加延遲。若在製造後才發現,晶片就無法使用,因此設計時的驗證很重要。

下列哪一項是對同步式電路「時脈偏斜」的正確說明?

  1. A時脈的頻率隨時間變動
  2. B時脈訊號到達各正反器的時間差
  3. C時脈訊號的電壓高於電源電壓
查看答案與解析

正確答案:B. 時脈訊號到達各正反器的時間差

時脈偏斜是同一個時脈因佈線長度或負載的差異,到達各正反器的時間不同所產生的差距。接收端的時脈延遲時,對設置有利但對保持不利,反之亦然。以CTS(時脈樹合成)設計涵蓋整個晶片的時脈樹,並統一緩衝器的配置與佈線長度,將偏斜抑制在數十ps以下。週期在時間上的抖動則是時脈抖動(jitter)。

  1. 在靜態時序分析中,訊號在時脈邊緣之後變化得太快,導致正反器無法正確保持先前資料的時序違反為下列何者?
  2. 靜態時序分析要以改變製程變異、電源電壓、溫度組合的多種條件來進行,其理由下列何者正確?
  3. 確認是否滿足接收端的保持時間時,發送端的時脈→輸出延遲應使用哪一個數值?

前往邏輯電路的練習題

相關名詞的解說

設定時間
正反器中,在時脈有效邊緣之前,必須先確定資料輸入的最短時間。無法滿足的路徑會限制電路的最高動作頻率。
保持時間
正反器中,在時脈有效邊緣之後,資料輸入必須維持不變的最短時間。違反時即使降低時脈頻率也無法修正,因此以追加延遲來因應。
時脈偏斜
同一個時脈訊號到達各個正反器的時間差異。由於會改變設定與保持的餘裕,因此在時脈樹合成時將其壓低。
STA(靜態時序分析)
不使用測試向量,而是計算電路中各路徑的延遲,驗證是否滿足時序限制的方法。
亞穩態
正反器未遵守設定時間或保持時間時,輸出在一段時間內既不是 0 也不是 1 而無法確定的狀態。對於非同步訊號,以兩級正反器同步化來因應。

相關的比較