理解數位電路時序: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 專區快速獲取這些知識。
持續學習
PCB Thermal Relief Pad 設計指南:Spoke、散熱與焊接可靠度
重點摘要 預防焊接缺陷:Thermal Relief Spoke 可以限制熱量快速流入大面積銅箔,降低冷焊風險,並減少小型元件立碑。 功率焊墊不要使用 Thermal Relief:裸露散熱焊墊以及持續電流超過 3 A 的走線應使用實心連接,以獲得最大的散熱能力並降低壓降。 依元件調整 Spoke 幾何尺寸:小型被動元件可使用較窄的 0.10–0.20 mm Spoke,一般 SMD 則可使用較寬的 0.20–0.30 mm Spoke。 預留蝕刻裕量:Spoke 寬度建議至少比 PCB 製造商公布的最小能力增加約 30%,以降低量產過度蝕刻造成斷路的風險。 您可能從來沒有手動修改過 Thermal Relief Pad 的設定。PCB 設計軟體在安裝時就已經替您選好預設 Spoke Width,而之後每一片 PCB 上的每一個 Ground Pin,可能都一直默默沿用同一個數值。 如果 Thermal Relief Pad 中保留了太多銅,烙鐵可能無法把焊點加熱到足夠溫度,最後形成冷焊,甚至在產品投入使用六個月後才發生故障。反過來,如果保留的銅太少,功率焊墊可能過熱或產生無法接受的壓降。 本指南......
軟性 PCB 成本完整指南:Flex PCB 價格、報價因素與降本方法
軟性 PCB 的成本,往往是讓許多專案停下腳步的第一個數字。您完成了一份乾淨的 Polyimide(聚醯亞胺)設計、上傳 Gerber 檔案,卻發現報價比相同電路採用 FR-4 製作高出數倍。了解究竟是哪些項目推高了價格,才能真正有效降低軟性 PCB 的製造成本。 在本指南中,您將了解: 軟性 PCB 原型與量產的實際價格範圍 最容易影響 FPC 報價的主要因素 層數與訂購數量如何改變單片 PCB 成本 為什麼軟性 PCB 比剛性 PCB 更昂貴,以及什麼情況下值得使用 如何理解軟性 PCB 成本計算器 實際可行的製造成本降低方法 了解軟性 PCB 成本以及價格為何會產生差異 剛性 PCB 的報價有點像按照每平方公尺購買地板,而軟性 PCB 的報價則更像訂製一套西裝:材料本身比較昂貴、裁切與加工更複雜,而且很大一部分成本都來自如何讓材料精確符合設計需求。因此,即使電路板外形完全相同,不同設計條件下的兩份報價仍可能相差五倍。 哪些因素決定軟性 PCB 的成本? 軟性 PCB 的成本主要由五個因素決定:設計在生產拼板上占用的面積、PCB 層數、訂購數量、製造特徵的難度,以及表面處理與其他加工選項。 其......
剛性 PCB 設計指南:高密度佈線、FR-4、成本與軟性 PCB 比較
重點摘要 結構剛性:剛性 PCB 的厚度增加一倍,抗彎剛性可提高至約八倍。 FR-4 的作用:玻璃纖維提供機械強度,而環氧樹脂則對熱膨脹特性具有重要影響。 防止裂紋:陶瓷電容應與 V-Cut 分板線保持約 5 mm 距離,以降低電路板彎曲造成的損壞風險。 成本與用途:剛性 PCB 成本通常較低,也能承載較重的元件;只有真正需要彎折時才應考慮軟性 PCB。 工廠公差:設計時應預留約 10% 的板厚變化以及 20% 的走線寬度變化。 剛性 PCB 不只是用來安裝元件的基板。它同時會成為產品結構的一部分,負責承載訊號、維持平整、承受組裝過程,並在成品預期使用壽命內承受日常操作帶來的機械應力。這項結構功能的表現,很大程度上取決於 PCB 的材料疊構。 FR-4、玻璃纖維織布、樹脂含量、銅厚以及整體板材結構,都會決定 PCB 的剛性、尺寸穩定性以及製造成本。當需要在同一產品空間中比較剛性 PCB 與軟性 PCB 時,這些材料選擇尤其重要。 在本指南中,您將了解: 什麼是剛性 PCB,以及真正讓它具有剛性的因素 FR-4 玻璃纖維織布與樹脂含量如何決定板厚與強度 哪些特性可以讓電路板在回流焊與實際使用期間保持......
PCB 電路板套件完整指南:製作、組裝、測試與量產
重點摘要 完整套件的必要內容:一套可正常使用的 PCB 套件應包含裸板、元件、組裝指南、測試規範以及防靜電(ESD)包裝。 最佳組裝順序:手工組裝時應由最低矮的元件焊到最高的元件,讓零件在焊接過程中能穩定貼合電路板。 4 步驟測試:依序進行目視檢查、短路檢測、限流上電以及功能測試。 超越麵包板:客製化 PCB 套件可提供完整接地平面,並避免麵包板常見的雜訊與寄生效應。 善用 SMT 預組裝:間距小於 0.65 mm 的細間距元件可先由工廠完成組裝,再由使用者手工焊接通孔元件。 一套 PCB 電路板套件送到您的工作台時,通常包含一片裸板、一包元件以及一份組裝說明。這三個部分組合起來,應該能完成一個可以正常運作的電路。這類套件常見於課堂教學、焊接練習板,也可作為工程團隊提供給客戶的展示硬體。 只有當電路板、物料清單(BOM)、組裝資訊以及測試程序彼此一致時,套件才真正具有實用價值。Footprint 或極性不匹配,都可能讓原本可以避免的問題變成組裝故障。本指南將介紹一套實用 PCB 套件應包含的內容、製造與組裝流程,以及客製化套件正式推出之前需要完成的檢查。 什麼是 PCB 電路板套件?為什麼工程師會......
PCB 導熱墊片指南:種類、散熱原理與選擇技巧
前言 在不同電子系統中維持理想溫度,導熱墊片(Thermal Pad)扮演著關鍵角色,也是電子設備有效散熱的重要組成。作為熱介面材料(Thermal Interface Material,TIM),導熱墊片能確保電子元件與散熱器或其他冷卻系統之間有效傳遞熱量。隨著現代電子產品的功率密度不斷提高、設計持續小型化,導熱墊片對維持裝置可靠度與性能的重要性更是不容忽視。本文將介紹導熱墊片的價值、不同類型、應用,以及安裝與選擇時的最佳實務。 什麼是導熱墊片? 導熱墊片是一種柔軟且具有服貼性的聚合物材料,設計用來填補電子元件與散熱器或金屬外殼等散熱元件之間的間隙。它能確保 CPU、GPU 與功率電晶體等元件產生的熱量有效傳遞至冷卻系統,進而避免過熱。與導熱膏不同,導熱墊片屬於固態材料,因此更容易操作與安裝。其接觸面具有均勻的導熱性能,尤其適合需要填補較大或不規則間隙的應用。 導熱墊片的類型 矽膠基導熱墊片 矽膠基導熱墊片是最常使用的類型,其特色包括良好的柔軟性、容易安裝以及不錯的導熱性能。由於兼具成本效益與性能,因此在消費性電子產品中相當普遍。 石墨導熱墊片 石墨導熱墊片具有優異的導熱性能,非常適合用於需要高......
高功率電子熱管理指南:散熱、熱阻與 PCB 熱設計
熱管理在確保高功率電子產品的可靠度與性能方面扮演著關鍵角色。過多熱量可能對電子元件造成不利影響,導致效率下降、使用壽命縮短,甚至發生潛在故障。接下來就一起了解熱管理的基本概念,以及電子系統中用來有效控制熱量的各種策略與技術! 熱量如何影響電子元件: 熱量一直是電子產品長期面對的敵人,主要會造成以下影響: 1. 半導體行為:溫度升高可能導致半導體工作狀態不穩定,造成不可預期的性能表現以及潛在故障。 2. 材料疲勞:持續的溫度變化可能造成材料疲勞,加速元件隨時間產生磨損與劣化。 3. 電遷移:極端溫度可能導致電遷移現象,也就是金屬導電路徑中的原子因熱應力而發生移動,進而可能影響電路的結構完整性。 高功率應用中的熱管理挑戰: 高功率電子產品需要消散大量熱通量,有時甚至會超過 100 W/cm2。隨著功率提高,散熱難度也會持續增加。高功率應用中的熱管理挑戰主要來自以下幾個因素: 1. 低導熱係數:電子元件中使用的許多材料,例如模封材料與印刷電路板(PCB),其導熱係數相對較低。這可能阻礙熱量有效地從關鍵元件傳出,並在散熱路徑中形成瓶頸。 2. 功率密度:高功率密度會形成局部熱點,使大量熱量集中在狹小區域。......