理解數位電路時序:Setup、Hold、污染延遲與時脈偏移
1 分鐘
- 數位設計中的時序參數:
- 傳播延遲 vs 污染延遲:
- 時脈偏移:
- Setup 時間:
- Hold 時間:
- 數位電路中的時序路徑:
- 時序公式:
- 數值範例(單週期路徑):
- 違規的常見原因與實用解法
- 設計技巧(有用偏移、多週期路徑、重定時)
- 結論
這是關於數位電路傳播延遲系列的第二篇文章。設計數位電路時,我們必須確保兩件事:第一是功能性,第二是時序。我們已在另一篇文章中介紹過基本模組。在電子領域,時間就是時脈的滴答聲,所有動作都基於這些時脈週期,它決定了電子電路的運作頻率、速度等。我們先前看過的電路只有在與時脈同步時才會運作,稱為時序電路。使用微控制器、FPGA 或 ASIC 時,必須符合時序限制,才能確保電路正確運作。今天我們將探討有哪些時序限制需要注意。本指南涵蓋基礎:setup 時間、hold 時間、污染(最小)延遲與時脈偏移,並說明它們如何在時序公式與實際設計中互動。
數位設計中的時序參數:
組合邏輯區塊有兩個重要的延遲指標:
- Tpd(傳播延遲,最大值):由組合邏輯元件所造成的最長可能延遲,用於 setup 檢查。
- Tcd(污染延遲,最小值):最短可能延遲,用於 hold 檢查。
- 時脈週期(Tclk):用於某路徑之連續時脈邊緣之間的時間。
傳播延遲 vs 污染延遲:
- 傳播延遲(Tpd,最大值):閘極/邏輯區塊的最壞情況(最長)延遲,用於 setup 檢查,以確保最晚資料仍能滿足 setup。
- 污染/最小延遲(Tcd,最小值):閘極/邏輯區塊的最佳情況(最短)延遲,用於 hold 檢查,以考量訊號最早可能改變的時間。
時脈偏移:
來源正反器與目的正反器之間的時脈到達時間差。可能由時脈到正反器 A 與 B 的長系統線造成。由於訊號無法同時到達所有正反器,會造成時序不匹配。主要來源包括時脈樹不平衡、佈線差異、緩衝器、合成/CTS 選擇、本地時脈閘控、PLL/BUF 插入抖動。
- 正偏移:擷取時脈比另一邏輯區塊晚到。
- 負偏移:擷取時脈比另一邏輯區塊早到。
為了改善時序,有時會故意引入偏移(通常用來放鬆關鍵路徑的 setup),同時確保 hold 限制仍被滿足。
Setup 時間:
Setup 時間(Tsu)是在正反器的有效時脈邊緣之前,輸入資料必須穩定的最短時間間隔。若資料在該時脈邊緣前的指定區間內未穩定,就會發生 setup 時間違規。若資料到達太晚,擷取正反器可能會取樣到錯誤值。
時序檢查:Setup 時間違規多由不當的傳播延遲造成。若從第一個正反器出發的傳播延遲超過下一個時脈邊緣,資料將無法被擷取,或與時脈同時出現,導致正反器進入亞穩態。
Hold 時間:
Hold 時間(Thold)是在有效時脈邊緣之後,輸入資料必須維持穩定的最短時間間隔。若資料在發射邊緣後太快改變,並在擷取正反器內部取樣鎖存器完成 hold 之前到達,擷取正反器可能會取樣到錯誤值。
時序檢查:新資料最早可能在 Tcq + Tcd 時到達,該時間必須晚於擷取正反器完成 hold 所需的時間。
數位電路中的時序路徑:
典型的同步時序路徑如下。我們將逐一檢視每個部分:
發射邊緣(正反器 A)→ Tcq(clock-to-Q)→ 組合邏輯 → Tpd/Tcd(傳播/污染延遲)→ 擷取正反器 B → Setup/Hold 檢查
- 發射事件:正反器 A 在時脈事件後產生新的資料值,輸出固定為該值,並通過組合邏輯傳播。
- 擷取事件:該資料作為正反器 B 的輸入,將在下一個相關時脈邊緣取樣。
發射與擷取是時序路徑的開始與結束,但中間還有許多細節,將於下一節討論。
時序公式:
Setup:
Hold:
其中 Jclk 為時脈抖動(保守地將正抖動加入 setup 公式,並在 hold 中適當加減作為安全裕度。抖動視為可用時序裕度的減少。)
數值範例(單週期路徑):
給定(典型數值):
- Tclk = 5.0 ns(目標週期)
- Tskew = +0.10 ns(擷取時脈晚到 0.1 ns)
- Tcx (Tcq) = 0.12 ns(clock-to-Q)
- Tpd = 2.80 ns(最大組合邏輯傳播延遲)
- Tsu = 0.08 ns(setup 時間)
- Tcd = 0.02 ns(污染/最小延遲)
- Thold = 0.05 ns(正反器 hold 需求)
Setup 檢查:
所需週期:Tcq + Tpd + Tsu - Tskew = 0.12 + 2.80 + 0.08 - 0.10 = 2.90 ns
Slack_setup = Tclk - 2.90 = 5.00 - 2.90 = 2.10 ns → PASS(充裕裕度)。
Hold 檢查:
允許 hold = Tcq + Tcd - Tskew = 0.12 + 0.02 - 0.10 = 0.04 ns
Slack_hold = 0.04 - Thold = 0.04 - 0.05 = -0.01 ns → HOLD 違規 10 ps。
該路徑輕鬆通過 setup(大裕度),但極快的路徑導致 hold 違規。這在實際設計中很常見:setup 充裕而 hold 失敗。
違規的常見原因與實用解法
Setup 違規(常見解法):
- 路徑過長:可插入流水線/暫存器、減少邏輯深度,或重構演算法。
- 製程角慢:使用更快元件庫(更高驅動能力)、提高 VDD、優化佈線以減少 Tpd。
Hold 違規(常見解法):
- 路徑過快:故意加入延遲(插入緩衝器/反相器)、在佈線階段使用最小延遲插入,或拉長佈線。
- 多週期路徑:若功能允許,可將該路徑設為多週期(在 STA 工具中正確標記)。
設計技巧(有用偏移、多週期路徑、重定時)
- 有用偏移:故意引入偏移以放鬆關鍵路徑的 setup,同時確保 hold 安全。此為需謹慎分析的高階技巧。
- 多週期路徑:若架構允許路徑跨多個週期,請在 STA 中標記為多週期,並設定適當限制,而非強制單週期時序。
結論
本文深入探討了 setup 與 hold 時間,並結合範例說明污染延遲與時脈偏移如何與時序公式相互關聯。Setup 由最壞情況(最大)延遲決定,而 hold 則由最佳情況(最小)延遲決定。我們也分享了一些設計技巧及常見違規與解法。對於數位電路而言,不僅功能性重要,時序也同等關鍵。本系列未來將繼續探討更多數位設計與時序相關概念。請造訪JLCPCB 專區快速獲取這些知識。
持續學習
了解 IPC-6012 標準:高可靠性剛性 PCB 製造指南
重點摘要 IPC-6012 與 IPC-A-600:IPC-6012 是具約束力的性能規範,而 IPC-A-600 僅作為外觀驗收參考文件。 Class 2 與 Class 3:Class 3 要求更厚的孔壁銅厚(25 μm,而 Class 2 為 20 μm),並且不允許鍍層空洞。 測試驗證:品質透過對拼板上的測試 coupon 進行熱應力測試後,再進行微切片分析確認。 提前指定等級:必須在製造圖紙中提前標註所需等級,電路板製造完成後無法再升級為更高等級。 IPC-6012 是決定 PCB 製造商可以交付什麼品質電路板的重要規範。許多設計者會在製造圖紙中標註「依 IPC-6012 Class 2 製造」後便繼續下一步,但製造商會仔細閱讀這項要求,因為它將成為檢驗人員判定是否合格的依據。 裸 PCB 並不是僅靠外觀即可判定是否合格。為確認鍍通孔品質,製造商會從樣品板中切取通孔截面,研磨拋光後,使用顯微鏡測量孔壁銅厚。 圖 1:金相顯微鏡下的鍍通孔微切片 PCB 等級並不會改變您的設計,因此 Class 3 電路板並不是「更聰明」或設計更好的電路板。它只是同一份設計圖稿,在更嚴格的驗收標準下進行評估......
電容 ESR 完整指南:定義、合適數值與量測方法
重點摘要 定義:電容 ESR(等效串聯電阻)以單一電阻值表示實際電容內部的損耗,包括來自電極、端接結構、電解質與介電材料的損耗。 重要性:漣波電流流經 ESR 時,會在電源軌上產生漣波電壓跳變,並在電容內部造成 I²R 發熱,進而限制電容的額定漣波電流與使用壽命。 測試條件:ESR 會隨頻率、溫度、電容量、封裝尺寸與技術類型而變化,因此只有同時註明測試頻率與溫度,ESR 數值才具有意義。 量測方式:ESR 電表適合快速檢查;搭配四線式 Kelvin(克爾文)接線的 LCR 電表,則可用於依規格書核對元件。一般萬用電表無法量測 ESR。 並非越低越好:部分線性穩壓器依賴輸出電容的 ESR 維持迴路穩定性,並規定最低 ESR,因此替換成低 ESR 元件之前,請先查看穩壓器規格書。 電容 ESR(等效串聯電阻)是實際電容阻抗中的電阻性成分,會將漣波電流轉化為漣波電壓與熱量。即使每顆電容量測出的電容量都正確,ESR 仍可能是電源供應器過熱,或輸出漣波高於設計預期的常見原因。 本指南將帶您了解: 什麼是電容 ESR,以及它的來源。 ESR 為何會影響漣波電壓、自發熱與穩壓器穩定性。 不同電容技術應具備什麼樣......
掌握 PCB 走線寬度設計,預防熱失效與訊號失效
重點摘要 預防焊接缺陷:熱隔離輻條可保留焊接熱量,避免冷焊點,並防止小型元件出現立碑現象。 電源焊墊避免使用熱隔離:散熱焊墊與承載超過 3 A 電流的走線應採用實心連接,以最大限度散熱並降低壓降。 選擇合適的輻條尺寸:被動元件使用較細的輻條(0.10–0.20 mm),一般 SMD 元件則使用較寬的輻條(0.20–0.30 mm)。 預留蝕刻餘裕:輻條寬度應比板廠的最小製造能力增加 30%,以承受生產過程中的過度蝕刻。 談到尺寸,電路板上有一項尺寸直接關係到實際電流、發熱與失效風險,那就是 PCB 走線寬度。您只需幾秒鐘就能在佈線時設定線寬,但它究竟能否承受負載,結果截然不同。如果設定錯誤,銅線路可能過熱、防焊層變成褐色、邏輯電源軌的電壓降至臨界值以下,最後讓電路板不是在您的工作台上,而是在客戶手中失效! 本指南將說明走線寬度如何影響電氣性能,透過一個完整計算範例介紹標準線寬公式,解釋計算器何時有幫助、何時可能誤導您,以及為什麼內層與外層需要不同線寬,並介紹板廠實際能夠蝕刻出的線路尺寸。 PCB 走線寬度選擇錯誤的隱藏風險 您可以將銅走線想像成延長線。較細的延長線可以整天為桌燈供電而沒有問題;但如......
裸 PCB 品質解析:滿足關鍵應用的可靠度要求
重點摘要 及早發現缺陷:在裸板階段發現問題,損失通常僅限於 PCB 本身,可避免後續浪費元件及增加返工成本。 萬用洞洞板的風險:萬用洞洞板(Zero PCB)缺乏參考平面與金屬化孔,在 10–20 MHz 以上可能出現訊號雜訊,且容易發生焊墊剝離。 關鍵材料規格:可靠度取決於孔壁銅厚(20–25 µm),以及 Tg、Td 與 CTI 等級是否符合實際使用環境。 表面處理與保存期限:HASL 與 ENIG 的保存期限約為 12 個月,OSP、化學沉銀與化學沉錫則約為 6 個月。 完整檢測:AOI 可發現可見的形狀缺陷,而依據網表進行的電氣測試,則能驗證實際電路的連接關係。 裸 PCB 階段,是在製造缺陷演變成昂貴的組裝故障之前,發現問題的最後機會。在這個階段修正小缺陷,可能只需付出一片電路板的成本。一旦元件已經焊接,相同的缺陷就可能造成元件浪費、需要返工,並延誤製作進度。因此,在開始元件組裝之前,這個製造流程的最後檢查關卡值得您仔細關注。銅厚、基材特性、表面處理與電氣測試,共同決定成品電路板能否順利組裝,以及能否在整個使用壽命期間持續正常運作。 透過本指南,您將了解: 什麼是裸 PCB,以及它在製板......
掌握 PCB 翹曲控制:了解經驗證的成因、預防技術及專業製造方案
PCB 翹曲一直是現代電子製造中最常見且最棘手的挑戰之一。即使平面度出現輕微偏差,也可能干擾自動化組裝生產線、導致焊點失效,並損害高密度設計的長期可靠性。有效的 PCB 翹曲控制,始於了解其根本機制,並在設計至製造的各個階段採用經驗證的工程方法。領先的製造商會結合對稱佈局、熱穩定材料,以及嚴格控制的層壓工藝,以取得一致的結果。 本文將探討翹曲的定義與測量方法、主要成因、實際影響及實用的預防技術,最後說明專業製造技術如何在大批量生產中交付無翹曲的電路板。 了解 PCB 翹曲:定義、類型與測量 PCB 翹曲也稱為弓曲或扭曲,是指製成的電路板因內部應力而偏離完全平面的狀態。工程師通常區分兩種主要類型: 弓曲(Bow) — 沿電路板長度方向呈現均勻曲率(四個角均接觸平面,而中心位置翹起)。 扭曲(Twist) — 出現對角線方向的變形(一個角翹起,而另外三個角保持平整)。 業界測量依循 IPC-TM-650 2.4.22。標準程序是將電路板放在花崗岩表面平台上,記錄最大偏差高度。翹曲百分比的計算方式如下: 翹曲率(%)=(最大偏差高度 ÷ 對角線長度)× 100 根據 IPC-6012 及 IPC-A-6......
PCB 自動佈線器真的能交付可直接生產的設計嗎?
重點摘要 規則優先於 DRC:乾淨的 DRC 只證明已遵守規則,並不代表電路板能正常運作。 佈局優先:自動佈線器無法彌補元件佈局不當。 選擇性自動化:電源、類比及高速走線應手動佈線;自動佈線只用於重複或低速網路。 DFM 驗證:將檔案送交生產前,確認實際製造公差。 每個 PCB 自動佈線器都在兜售同一個承諾:按下一個按鈕,看著飛線變成銅箔。對簡單的雙層引出板,它通常做得到。對於配備細間距 BGA 和開關式穩壓器的混合訊號電路板,結果往往是你絕不會手動畫出的樣子。 圖 1:密集的自動佈線 PCB 佈局 你的設計規則就是那張地圖,而任何你沒有編碼的內容都會對演算法不可見。這就是為什麼自動佈線的電路板可以通過每一項 設計規則檢查,卻仍然可能出現振鈴、輻射或在負載下電壓下陷。本指南將介紹自動佈線真正擅長的工作、它在哪些地方失效以及失效原因,並說明如何公平比較自動佈線軟件。最後,我們也會介紹自動佈線電路板在安全製造前必須完成的工作。 什麼是 PCB 自動佈線器?它如何運作? 自動佈線是一個偽裝成佈局工具的約束求解器。它把你的規則轉化為銅箔,因此大部分品質在你按下按鈕之前就已經決定。 什麼是 PCB 自動佈線......