SemiMatrix / TOPICS / CLOCK TREE SYNTHESIS (CTS)
PHYSICAL DESIGN — CLOCK DISTRIBUTION

Clock Tree Synthesis (CTS)
H-Tree, Clock Mesh, Useful Skew & Cadence CCOpt

Cadence Innovus CCOpt Synopsys ICC2 ClockOpt Useful Skew Optimization Clock Mesh Architecture

สัญญาณนาฬิกา (Clock Signal) คือหัวใจเต้นของระบบดิจิทัลที่กินพลังงานมากกว่า 30-40% ของชิปทั้งตัว Clock Tree Synthesis (CTS) คือขั้นตอนการสร้างโครงข่ายบัฟเฟอร์และสายลวดแบบสมมาตรเพื่อกระจายสัญญาณนาฬิกา จากแหล่งกำเนิด (PLL/Oscillator) ไปยัง Sequential Elements นับสิบล้านตัวทั่วทั้ง Die โดยควบคุมค่า Skew และ Jitter ให้อยู่ในระดับพิโกวินาที (Picoseconds)

📍 CAREER ROADMAP CONTEXT
STAGE 05 — PHYSICAL DESIGN: Clock Tree Synthesis & Timing Closure
กำหนด CTS Spec, สร้าง Clock Tree Topology (H-Tree / Mesh), รัน CCOpt เพื่อปรับแต่ง Useful Skew ร่วมกับ Data Path, ใส่ Non-Default Routing (2W2S) และขจัด Common Path Pessimism (CPPR) ด้วย Cadence Innovus หรือ Synopsys IC Compiler II
Industry Tools: Cadence Innovus (CCOpt), Synopsys IC Compiler II (ICC2), Siemens Aprisa
Related: Floorplanning & Power Mesh · Place & Route Flow · STA & SDC Constraints · Layout Inspector Lab
Role: Physical Design Engineer / Clock Tree Specialist / Place & Route Lead

01 ทำไมสัญญาณนาฬิกาจึงไม่สามารถเดินสายเหมือนสัญญาณทั่วไป?

ในขั้นตอน Place & Route สัญญาณข้อมูล (Data Nets) จะถูกเดินสายเชื่อมต่อแบบ Point-to-Point ตามเส้นทางที่สั้นที่สุด แต่สำหรับสัญญาณนาฬิกา (Clock Net):

  • Fanout มหาศาล: สัญญาณนาฬิกาต้องขับโหลด Flip-Flop นับล้านตัว หากใช้บัฟเฟอร์ตัวเดียว สัญญาณจะมีความลาดชันแย่มาก ($t_{\text{slew}} \to \infty$) และพังทลายทันที
  • ความอ่อนไหวต่อ Skew: หากสัญญาณนาฬิกาไปถึง Flip-Flop ตัวหนึ่งเร็วกว่าอีกตัวหนึ่งเพียง $50\text{ ps}$ จะทำให้เกิด Hold Time Violation ทันที ซึ่งแก้ไขไม่ได้หลังชิปผลิตเสร็จ

02 ตัวชี้วัดสำคัญของโครงข่ายสัญญาณนาฬิกา (CTS Metrics & Formulas)

วิศวกร Physical Design จะประเมินคุณภาพของ Clock Tree ตามตัวชี้วัดต่อไปนี้:

1. CLOCK INSERTION DELAY & GLOBAL SKEW
\text{Insertion Delay (Latency)} = T_{\text{sink}} - T_{\text{source}}
\text{Global Skew} = \max_{i}(T_{\text{latency}, i}) - \min_{j}(T_{\text{latency}, j})
เป้าหมายของ CTS คือการควบคุมให้ Global Skew มีค่าน้อยที่สุด (เช่น < 20-50 ps) ในขณะที่รักษา Insertion Delay ให้อยู่ในระดับสั้นที่สุดเพื่อลดผลกระทบของ On-Chip Variation (OCV)
2. CLOCK NETWORK POWER DISSIPATION
P_{\text{clock}} = C_{\text{clock\_tree\_total}} \cdot V_{dd}^2 \cdot f_{\text{clk}} + \sum_{\text{buffers}} I_{\text{sc}} \cdot V_{dd}
เนื่องจากสัญญาณนาฬิกามี Switching Activity Factor $\alpha = 1$ ตลอดเวลา (สวิตช์ 2 ครั้งต่อ 1 คาบ) โครงข่าย Clock Tree จึงเป็นตัวการกินไฟสูงสุด การควบคุม Slew Rate และการยุบบัฟเฟอร์จึงมีความสำคัญยิ่งยวด

03 สถาปัตยกรรมการกระจายสัญญาณ: H-Tree, Mesh & Multi-Source

การเลือกรูปแบบสถาปัตยกรรมขึ้นอยู่กับระดับความถี่และงบประมาณพลังงานของชิป:

สถาปัตยกรรม (Topology) ลักษณะโครงสร้าง ข้อดีและข้อเสีย (Trade-offs)
Symmetric H-Tree แตกกิ่งเป็นรูปตัว H แบบ Fractal สมมาตรทั้งความยาวและความจุไฟฟ้า Skew ต่ำมากในเชิงทฤษฎี แต่ปรับตัวเข้ากับ Floorplan ที่มี Macro ขวางกั้นได้ยาก
Clock Mesh / Grid วางตะแกรงโลหะความหนาแน่นสูง (Mesh) ลัดวงจรทั่วทั้ง Core ขับด้วย Mesh Drivers ขนานกัน ทนทานต่อ OCV สูงสุด Skew ต่ำมาก (< 5-10 ps) เหมาะกับ High-End CPU/GPU แต่กินไฟมหาศาล
Multi-Source CTS (MSCTS) ผสมผสาน H-Tree ด้านบนเพื่อจ่ายสัญญาณสู่จุด Tap แล้วใช้ Local Tree สั้นๆ ด้านล่าง จุดสมดุลที่ดีที่สุดระหว่าง Skew ต่ำและการประหยัดพลังงาน เป็นมาตรฐานหลักในโหนด Sub-5nm

04 Useful Skew Scheduling & Time Borrowing

ในอดีต เป้าหมายของ CTS คือ Zero Skew (สัญญาณนาฬิกาไปถึงทุกจุดพร้อมกัน) แต่วิศวกรรมยุคใหม่ใช้ Useful Skew Scheduling:

USEFUL SKEW TIME BORROWING PRINCIPLE
\text{Setup Margin}_{\text{Stage 1}} = T_{\text{period}} + \Delta T_{\text{skew}} - T_{\text{data 1}} - T_{\text{setup}}
\text{Setup Margin}_{\text{Stage 2}} = T_{\text{period}} - \Delta T_{\text{skew}} - T_{\text{data 2}} - T_{\text{setup}}
หากเส้นทาง Stage 1 มี Data Delay ยาวมากจนติดลบ (Setup Violation) แต่ Stage 2 มี Slack เหลือเฟือ วิศวกรสามารถจงใจหน่วงสัญญาณนาฬิกาของ Flip-Flop คั่นกลางให้มาช้าลง ($\Delta T_{\text{skew}} > 0$) เพื่อ "ยืมเวลา" จาก Stage 2 มาช่วย Stage 1 ทำให้วงจรปิด Timing ได้โดยไม่ต้องลดความถี่สัญญาณนาฬิกา

05 CPPR / CRPR & OCV Variation Control

เมื่อทำการวิเคราะห์ On-Chip Variation (OCV) เครื่องมือจะใส่ Derate ให้ Launch Clock วิ่งช้าและ Capture Clock วิ่งเร็ว แต่สำหรับ Common Clock Path (เส้นทางบัฟเฟอร์ต้นไม้ร่วมกันก่อนถึงจุดแยกกิ่ง):

  • บัฟเฟอร์ตัวเดียวกัน ณ ขณะเวลาเดียวกัน ไม่สามารถมีสถานะทั้งเร็วและช้าพร้อมกันได้ทางกายภาพ
  • เครื่องมือ STA จะทำการคำนวณ Common Path Pessimism Removal (CPPR หรือ CRPR) เพื่อลบค่าวาเรียชันเกินจริงนี้ทิ้งไป ช่วยกู้คืน Setup/Hold Slack ได้ถึง $20-60\text{ ps}$

06 Concurrent Clock and Data (CCOpt) Flow

ในเครื่องมือชั้นนำ เช่น Cadence Innovus CCOpt หรือ Synopsys ICC2 ClockOpt การสร้าง Clock Tree ไม่ได้แยกขาดจากการวาง Data Path อีกต่อไป แต่จะทำ Co-Optimization:

  1. วิเคราะห์ Timing Slack ของ Data Path ทั้งหมดพร้อมกัน
  2. คำนวณพิกัดการแทรก Clock Inverters และ Clock Buffers เพื่อสร้าง Useful Skew อัตโนมัติ
  3. ปรับแต่งขนาดไดรเวอร์ของ Logic Gates (Data Sizing) ควบคู่กับการสลับ Multi-Vth Cells เพื่อให้ได้ PPA สูงสุด

07 กฎการเดินสาย NDR (Non-Default Routing) & Shielding

เพื่อป้องกันสัญญาณรบกวนแม่เหล็กไฟฟ้า (Crosstalk Induced Jitter) บนสายสัญญาณนาฬิกาหลัก:

1. 2W2S Routing Rule

ขยายความกว้างของสาย Clock เป็น 2 เท่า (Double Width) เพื่อลดความต้านทาน $R$ และเว้นระยะห่าง 2 เท่า (Double Spacing) เพื่อลด Coupling Capacitance $C_c$ ลงมากกว่า 60%

2. VSS Shielding Traces

เดินสายกราวด์ (VSS Shielding) ประกบคู่ขนานไปกับสาย Trunk Clock ตั้งแต่ต้นทางจนถึง Leaf Pins เพื่อกักสนามไฟฟ้าเหนี่ยวนำให้ลงกราวด์ 100%

08 ปฏิบัติการจำลองบน Layout & Multi-Layer Inspector Lab

คุณสามารถฝึกฝนการสำรวจโครงข่ายเลเยอร์โลหะบนชิป และสังเกตการวางแนวสายสัญญาณนาฬิกาในเลเยอร์ระดับบน (Top Metal Layers) ได้ในห้องแล็บจำลองของเรา:

IC Layout & Multi-Layer GDSII Inspector

สำรวจโครงสร้างสแต็กเลเยอร์โลหะ 7 ชั้น, ทดลองเปิด-ปิดเลเยอร์ Metal 1 ถึง Metal 5 และสังเกตการกระจายตัวของทรานซิสเตอร์ในเบราว์เซอร์

เปิดห้องแล็บเลย์เอาต์ →