理解數位電路時序: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 專區快速獲取這些知識。
持續學習
了解導熱墊在電子設備散熱中的作用
介紹 在各種電子系統中維持理想溫度,關鍵取決於導熱墊,它們也是有效冷卻電子設備的基本組成部分。 作為一種導熱介面材料 (TIM),這些導熱墊能確保熱量在散熱器或其他冷卻系統與電子元件之間有效傳遞。鑑於當代電子產品日益增長的功率密度和精巧設計,導熱墊在維持設備可靠性和效能方面的重要性,再怎麼強調也不為過。本文將探討導熱墊的價值、其種類、用途以及放置和選擇的最佳實務。 什麼是導熱墊? 導熱墊 導熱墊是一種柔軟、可順應的聚合物,旨在填補電子元件與散熱元件(如散熱器或金屬外殼)之間的空隙。它們能確保 CPU、GPU 和功率電晶體產生的熱量有效傳輸至冷卻系統,從而防止過熱。與導熱膏不同,導熱墊是固態的,這使得處理和應用更加簡便。它們在整個接觸面上提供均勻的導熱性,因此在需要填補較大或不規則間隙的情況下特別有用。 導熱墊的種類 市面上有幾種導熱墊,每種都因其材料構成和預期用途而具有特定的優點: 矽膠基導熱墊: 最常使用的導熱墊類型,矽膠基導熱墊的特點是其靈活性、易於應用和良好的導熱性。它們在效能和成本效益之間取得平衡,因此在消費性電子產品中相當受歡迎。 石墨導熱墊: 石墨導熱墊具有優異的導熱性,非常適合高效熱......
什麼是 PCB 導孔?您應該選擇哪種類型?
印刷電路板(PCB)設計是電子產品開發中的關鍵環節。PCB 為電子元件提供了井然有序且緊湊的佈局,實現高效的信號傳輸,並將電氣干擾的風險降至最低。PCB 設計中的一個基本要素是導孔(via),它是在電路板上鑽出的小孔,用於實現電路板不同層之間的電氣連接。 在本文中,我們將全面概述 PCB 導孔,包括其類型、設計考量與應用。我們還將討論為 PCB 設計選擇正確導孔類型的重要性,以及它如何影響產品的效能和可靠性。 什麼是導孔? 導孔是在 PCB 上鑽出的小孔,用於連接電路板的不同層。導孔內壁襯有導電材料(如銅),允許電流通過孔洞,從而在各層之間建立連接。導孔在多層 PCB 設計中至關重要,因為它們為電路板不同層之間的電氣和熱連接提供了途徑。 導孔可以貫穿電路板的整個厚度,連接所有層,也可以僅部分鑽穿電路板,只連接其中幾層。導孔的尺寸和形狀取決於具體的應用和設計要求。導孔可以是圓形或非圓形,其直徑可以從幾密耳到幾百密耳不等。 導孔的放置位置在PCB 設計中也很關鍵。導孔通常放置在沒有關鍵元件或走線的區域,因為它們可能會干擾信號或產生電氣雜訊。此外,導孔的位置會影響電路板的散熱效能,因此在放置導孔時,考慮......
電路板維修入門指南
電路板是現代電子產品的骨幹,懂得如何維修它們是一項寶貴的技能。在這份初學者指南中,我們將提供詳細的說明,協助您成功維修電路板。無論您是需要對故障裝置進行疑難排解,還是想挽救一塊貴重的電路板,本指南都將賦予您能力。從了解電路板元件到掌握焊接技術,您將獲得自信地處理電路板維修所需的知識。 了解電路板元件 要有效維修電路板,了解不同的元件至關重要。電阻、電容、電晶體和積體電路是電路板上常見的一些元件。每個元件都有特定的功能,當其發生故障時,都可能導致電路失效。 範例: 在檢查電路板時,您可能會遇到一個鼓包的電容器。這表示該電容器已失效,需要更換。了解電容器的角色有助於您識別此問題並採取適當的措施。 識別常見的電路板問題 診斷常見問題是電路板維修的關鍵步驟。一些常見問題包括短路、損壞的走線或焊盤、故障元件以及電源相關問題。透過使用萬用表和示波器等各種測試方法和工具,您可以準確地識別這些問題。 範例:假設您正在對一塊沒有產生任何聲音的電路板進行疑難排解。透過使用示波器,您可以測量音訊電路中不同點的輸出訊號,以精確定位訊號在哪裡丟失或失真。 電路板維修的工具與設備 擁有正確的工具和設備對於成功的電路板維修至關......
PCB 板類型:規格與應用場景終極指南
印刷電路板(PCB)由絕緣層與導電層壓合而成,用於連接多個電子元件。可以把 PCB 想像成玻璃纖維與環氧樹脂疊成的複合板材,上面蝕刻出銅線路,作為訊號與電源的導電路徑。PCB 可以是單層、雙層(兩層導電層)或多層(三層以上導電層),在極小空間內容納大量電路。根據 IPC 的定義,PCB 是由導電與非導電材料經壓合後,形成電氣組件所需的電路。 官方 IPC 定義與層次結構 實務上,PCB 是由交替的介電層與銅箔層構成。銅層上佈有線路、平面、焊墊與通孔,用於連接元件。典型的 4 層 PCB 疊構可能如下: 銅層 – 預浸料或芯材 – 銅層 – 芯材 – 銅層 所有層次都經壓合固定。樹脂/玻璃基材提供機械強度與絕緣。IPC-2221 與 IPC-4101 標準規範了疊構幾何與材料特性。簡單來說,PCB 就是一塊多層三明治板,銅片(線路)負責導電,而非起司。 12 種核心 PCB 類型(2025 版) 工程師通常依結構與用途分類 PCB。以下為 2025 年最常見的 12 種基礎 PCB 類型: 單面 / 雙面 / 多層 單面板:僅有一層銅線路,成本最低,用於基本消費電子,如玩具、簡單電源電路。 雙面板:......
PCB 層數解析:透過智慧疊構、標準與設計實踐打造更優質的電路板
PCB 是由銅箔與絕緣層層疊而成的「三明治」,用來形成電路板。每一層都有特定功能:有些負責承載訊號(連接元件的走線),有些則作為完整的電源或接地平面。可以把 PCB 層想像成大樓的樓層,每層扮演不同角色,例如一層是辦公室(訊號),另一層是倉庫(接地/電源)。層數依設計複雜度而定,從單層到十幾層的高階電子產品都有。本文將說明如何有效安排這些層,降低 EMI 並提升訊號完整性,關鍵就在於佈線與配置的規劃。 單層與多層 PCB 的定義 最基礎的是單層 PCB,只有一面銅箔,製造成本低,適合 LED 驅動等低成本電路。 業界主流是雙層 PCB,上下兩面都有銅箔,走線選擇翻倍,兩層間透過稱為「過孔」的小孔互連訊號。 多層 PCB則使用三層以上銅箔,內部通常夾有電源與接地平面,並位於訊號層之間。手機、筆電、醫療設備等高密度產品都採用多層板,以滿足嚴格的雜訊管理需求。 從簡單到複雜的層配置演進 早期電子產品單雙層板即可應付,但隨著功能複雜與速度提升,設計者必須增加層數。每多一層就多出佈線空間,避免交叉。實際應用上,低階產品為成本考量維持 2–4 層;中階設計常見 6 層;高速高階系統則普遍 8 層以上。8 層板......
在 PCB 中整合間隔柱:機械可靠性與效能的關鍵考量
Standoff 間隔柱本質上是小型支柱,用於支撐電路板。它們遠不止是 PCB 組裝中的小零件。這些元件透過將 PCB 稍微抬高,讓空氣得以流通,從而提供更好的絕緣與機械支撐。Standoff 能固定電路板,防止其與其他零件接觸。選擇合適的 standoff 確實能帶來改變;它確保設備正常運作,而非故障或鬆脫。如此一來,它們能在零件下方創造空氣循環空間,這是合理的設計選擇。在密集排列中保持適當間距對於散熱與安全都極為重要。 確保穩固安裝與抗振能力 金屬 standoff 能在工業控制器與伺服器機殼之間穩定並支撐電路板,防止因移動而彎曲或斷裂。金屬 standoff 透過為電路板提供金屬支撐,防止大型電路板因過度移動而彎曲。緊固件(主要是螺絲)通常會搭配墊圈,為緊固接頭提供額外保護,防止過度鎖緊。為了妥善固定電路板,必須以能讓電路板承受多次負載與跌落等衝擊而不受損的方式放置緊固件與 standoff。Standoff 可視為避震器,為電路板提供安全的固定點。若電路板未使用 standoff,PCB 將因裂縫與短路而受損。 在密集布局中支援散熱與 EMI 屏蔽 透過將 PCB 抬離安裝表面,stand......