Static Timing Analysis & Constraints
01 บทนำ: Static Timing Analysis & Constraints คืออะไร
ในขั้นตอนการออกแบบวงจรรวม (Integrated Circuit Design) การเปลี่ยนผ่านจากภาษาจำลองพฤติกรรมอย่าง RTL (Register-Transfer Level) ไปสู่โครงสร้างเกตในระดับกายภาพ (Gate-Level Netlist) ที่มีความเร็ว พลังงาน และพื้นที่ (PPA - Power, Performance, Area) ที่เหมาะสมที่สุดนั้น ถือเป็นหัวใจสำคัญที่กำหนดความสำเร็จของชิปเซ็ต ในกระบวนการนี้ Static Timing Analysis (STA) และการกำหนดเงื่อนไขการทำงานผ่าน SDC (Synopsys Design Constraints) เปรียบเสมือนเข็มทิศและกฎเหล็กที่ควบคุมไม่ให้เกิดความล้มเหลวทางกายภาพ (Silicon Failure) ในกระบวนการผลิตจริง
Static Timing Analysis (STA) คือระเบียบวิธีทางคณิตศาสตร์ที่ใช้วิเคราะห์ประสิทธิภาพด้านเวลา (Timing Performance) ของวงจรดิจิทัลทั้งหมดโดยไม่จำเป็นต้องอาศัยสัญญาณจำลอง (Simulation Vectors) วิธีนี้ช่วยให้วิศวกรสามารถตรวจพบปัญหาการละเมิดจังหวะเวลา (Timing Violations) ทั้งหมดในทุกๆ เส้นทางสัญญาณ (Timing Path) ภายใต้กรอบเวลาที่รวดเร็วระดับ $O(n)$ เมื่อเทียบกับการทำ Dynamic Simulation ที่ต้องใช้เวลามหาศาลแบบ Exponential และยังไม่รับประกันว่าจะสามารถครอบคลุมสัญญาณทดสอบทุกรูปแบบได้ครบถ้วน (Testbench Coverage)
แปลง RTL เป็น gate-level netlist ด้วย Design Compiler กำหนด SDC constraints, วิเคราะห์ timing path, fix hold/setup violations, clock gating
Tools: Synopsys Design Compiler / Genus, PrimeTime, Formality
Related: Logic Synthesis (DC/Genus) · SDC Constraints · Equivalence Checking
Path: IC Design Engineer
02 หลักการพื้นฐาน
รากฐานทางวิศวกรรมของ STA ตั้งอยู่บนกฎเกณฑ์สองประการคือ Setup Time (เวลาเตรียมพร้อมสัญญาณ) และ Hold Time (เวลารักษาสถานะสัญญาณ) ซึ่งทำงานสอดรับกับสถาปัตยกรรมแบบ Synchronous Register-to-Register Path โดยในทุกๆ เส้นทางสัญญาณจะมี Launch Register ที่ส่งข้อมูลออกไปเมื่อได้รับขอบสัญญาณนาฬิกาต้นทาง และ Capture Register ที่คอยรับข้อมูลนั้นเมื่อสัญญาณนาฬิกาปลายทางมาถึง
Setup Time ($T_{setup}$) คือช่วงเวลาขั้นต่ำสุดที่ข้อมูลในสายสัญญาณต้องเสถียร (Stable) ก่อนที่ขอบสัญญาณนาฬิกาตัวถัดไป (Capture Clock Edge) จะมาถึง เพื่อให้มั่นใจว่าหน่วยความจำสามารถเก็บค่าข้อมูลที่ถูกต้องได้อย่างแม่นยำ สมการสำหรับตรวจสอบเงื่อนไข Setup มีดังนี้:
และหากจัดรูปเพื่อคำนวณค่า Setup Slack ($S_{setup}$) จะได้สมการดังนี้:
หากค่า Slack เป็นลบแสดงว่าเกิด Setup Violation ซึ่งวิศวกรสามารถแก้ไขเบื้องต้นด้วยการลดความถี่ของสัญญาณนาฬิกา (เพิ่มค่า $T_{cycle}$)
ในทางตรงกันข้าม Hold Time ($T_{hold}$) คือช่วงเวลาน้อยที่สุดที่ข้อมูลในสายสัญญาณต้องคงสถานะเดิมไว้อย่างต่อเนื่องหลังจากขอบสัญญาณนาฬิกา (Capture Clock Edge) มาถึงแล้ว เพื่อป้องกันไม่ให้ข้อมูลใหม่ที่เคลื่อนที่เร็วเกินไปเข้ามาทดแทนหรือเขียนทับข้อมูลชุดเดิม เงื่อนไขของ Hold Time สามารถเขียนในรูปความสัมพันธ์ได้ดังนี้:
และสูตรการคำนวณ Hold Slack ($S_{hold}$) คือ:
03 วิธีการและเทคนิค
กระบวนการทำงานด้าน Timing และ Synthesis ในอุตสาหกรรมจะดำเนินงานในรูปแบบวงจรปิด (Feedback Loop) เริ่มต้นจากการแปลง RTL และ Physical Library (.lib) ผ่านโปรแกรมสังเคราะห์วงจร (Synthesis Compiler) เพื่อสร้างเป็น Gate-level Netlist ที่สัมพันธ์กับกระบวนการผลิตทางกายภาพจริง โดยมีขั้นตอนที่ต้องดำเนินไปตามลำดับดังนี้:
- Constraint Definition (การจำกัดเงื่อนไขเวลา): วิศวกรจะใช้คำสั่งใน SDC เพื่อประกาศคุณลักษณะของสัญญาณนาฬิกาหลัก เช่น
create_clockและcreate_generated_clockกำหนดค่าสัญญาณรบกวนผ่านset_clock_uncertaintyรวมถึงการระบุข้อจำกัดที่ขาอินพุต/เอาต์พุตด้วยset_input_delayและset_output_delayร่วมกับการประกาศข้อยกเว้นพิเศษ เช่นset_false_pathสำหรับเส้นทางที่ไม่จำเป็นต้องวิเคราะห์ และset_multicycle_pathสำหรับระบบที่ต้องการเวลาทำงานมากกว่าหนึ่งคาบนาฬิกา - Timing Analysis (การรันและตรวจวิเคราะห์เชิงลึก): การใช้คำสั่งในเครื่องมือ STA เพื่อดึงรายงานออกมาตรวจสอบ เช่น
report_timing -delay maxสำหรับวิเคราะห์เส้นทาง Setup และreport_timing -delay minสำหรับตรวจสอบ Hold โดยพารามิเตอร์สำคัญที่ต้องนำมาวิเคราะห์เปรียบเทียบคือ Worst Negative Slack (WNS) ซึ่งเป็นค่าติดลบที่รุนแรงที่สุดในหนึ่ง Path และ Total Negative Slack (TNS) ซึ่งเป็นผลรวมของค่าความล่าช้าที่ติดลบในทุกๆ Path - Fixing Violations (การกำจัดจุดผิดพลาด): สำหรับวิกฤตด้าน Setup วิศวกรจะใช้วิธี Gate Sizing (ขยายขนาดทรานซิสเตอร์เพื่อขยายช่องสัญญาณ) และการปรับลดความจุแฝงของลายเส้นผ่านเทคนิค CTS (Clock Tree Synthesis) ส่วนการแก้ไข Hold มักเกี่ยวข้องกับการใส่ Buffer Insertion เพื่อชะลอสัญญาณให้เหมาะสม
- Equivalence Checking (การตรวจสอบความถูกต้องเชิงตรรกะ): เพื่อให้แน่ใจว่าการปรับแต่ง Gate-level Netlist ในระหว่างการทำ Synthesis และการแก้ Timing ไม่ส่งผลให้ฟังก์ชันการทำงานเปลี่ยนแปลงไป วิศวกรจะใช้เครื่องมือ Logic Equivalence Checking (LEC) เปรียบเทียบ RTL เริ่มต้นกับ Netlist ผลลัพธ์ว่าตรงกันทุกประการ
04 เทคนิคขั้นสูง
เมื่อก้าวเข้าสู่การออกแบบชิปที่โหนดระดับนาโนเมตรที่เล็กมาก เช่น sub-7nm, 5nm และ 3nm ตัวแปรทางกายภาพที่ไม่คงที่อันเนื่องมาจากกระบวนการผลิต ความร้อน และแรงดันไฟฟ้า (PVT Variations - Process, Voltage, Temperature) รวมถึงการใช้สถาปัตยกรรมใหม่อย่าง FinFET และ GAA (Gate-All-Around) ทำให้เกิดความท้าทายระดับรุนแรงต่อกระบวนการวิเคราะห์เวลา
ในโหนดแบบดั้งเดิม การจำลองความไม่แน่นอนจะใช้โมเดล On-Chip Variation (OCV) แบบราบเดี่ยว (Flat Derate) ซึ่งจะลดทอนความเร็วลงด้วยค่าเปอร์เซ็นต์คงที่ ทว่าวิธีนี้สร้างความตึงเครียดให้กับดีไซน์แบบมองโลกในแง่ร้ายเกินไป (Pessimistic Guard Band) จนส่งผลต่อ PPA ดังนั้นในปัจจุบันจึงต้องประยุกต์ใช้โมเดลขั้นสูงขึ้นเป็นลำดับ:
- Advanced OCV (AOCV): ปรับเปลี่ยนค่าดีเรท (Derating Factor) ตามความลึกทางตรรกะ (Logic Depth) และระยะห่างเชิงกายภาพของอุปกรณ์ (Spatial Distance) ทำให้อุปกรณ์ที่เชื่อมโยงกันลึกและใกล้ มีการชดเชยที่สมเหตุสมผลมากขึ้น
- Parametric OCV (POCV) / Statistical OCV (SOCV): เป็นแนวทางการวิเคราะห์เชิงสถิติ (Statistical STA) โดยจำลองพฤติกรรมความไม่แน่นอนของความล่าช้า (Propagation Delay) ของแต่ละเซลล์เป็นเส้นโค้งระฆังคว่ำตามหลักการทางสถิติ (Gaussian Distribution) แทนการคำนวณแบบจำกัดมุมอับ (Deterministic Corners) วิธีนี้กลายเป็นมาตรฐานภาคบังคับในโหนดระดับ 5nm และต่ำกว่าเพื่อกำจัดผลกระทบของ Pessimism และลดปริมาณ Guard Band ให้ไม่สิ้นเปลืองพื้นที่ซิลิคอน
05 เครื่องมือและอุปกรณ์
เครื่องมือซอฟต์แวร์วิเคราะห์และออกแบบ (Electronic Design Automation - EDA Tools) เป็นรากฐานสำคัญในห่วงโซ่อุปทานของการผลิตเซมิคอนดักเตอร์ โดยมีกลุ่มบริษัทชั้นนำสองรายครองตลาดอุตสาหกรรมในส่วนของการประมวลผล Static Timing Analysis และ Synthesis อย่างเด็ดขาด
Synopsys Inc. ถือเป็นผู้นำที่ครองตำแหน่งระดับอุตสาหกรรมด้วยเครื่องมือหลักอย่าง Design Compiler (DC) สำหรับแปลงสถาปัตยกรรมตรรกะ และมี PrimeTime (PT) ซึ่งเป็น "Gold Standard" หรือมาตรฐานทองคำที่ฟาวน์ดรีผลิตชิปทั่วโลกให้การยอมรับสูงสุดสำหรับการทำ STA Signoff ก่อนการส่งมอบแบบพิมพ์ นอกจากนี้ยังมี Formality ที่ใช้ตรวจสอบ Equivalence Checking ของรหัสวงจร
ทางด้านของคู่แข่งสำคัญอย่าง Cadence Design Systems ได้นำเสนอโซลูชัน Genus Synthesis Solution สำหรับการสังเคราะห์วงจรความเร็วสูง และมี Tempus Timing Signoff Solution ที่ได้รับความนิยมอย่างสูงจากสถาปัตยกรรมการประมวลผลคู่ขนานขนาดใหญ่ (Massively Parallel Processing) ซึ่งสามารถคำนวณ Timing ของการออกแบบระดับ SoC ขนาดใหญ่ที่มีขนาดเกตนับพันล้านตัวได้อย่างรวดเร็วและใช้หน่วยความจำน้อยลง นอกจากนี้ยังมี Conformal ที่สอดประสานด้านงานวิเคราะห์ทางตรรกะ
ในขั้นตอนการสกัดหาค่าความจุและแรงต้านทานทางฟิสิกส์ (RC Extraction) เครื่องมือจาก Siemens EDA (Mentor Graphics) ตระกูล Calibre จะถูกนำมาใช้เพื่อดึงค่า Parasitic ในรูปแบบไฟล์ SPEF (Standard Parasitic Exchange Format) เพื่อป้อนกลับเข้าสู่โปรแกรมวิเคราะห์ Timing อย่าง PrimeTime หรือ Tempus ให้ได้ค่าที่สอดคล้องกับสภาพความเป็นจริงหลังการจัดวาง (Post-Layout Simulation) มากที่สุด
06 การประยุกต์ใช้ในอุตสาหกรรม
ในภาคอุตสาหกรรมเซมิคอนดักเตอร์ยุคปัจจุบัน การส่งมอบพิมพ์เขียวเกตตรรกะที่ได้รับการตรวจสอบเสร็จสมบูรณ์เข้าสู่กระบวนการผลิตจริงของโรงงานรับจ้างผลิต (Foundry) เช่น TSMC, Samsung Foundry, และ Intel Foundry เรียกว่าขั้นตอน Tape-out ขั้นตอนนี้คือจุดที่ไม่อาจย้อนกลับได้ (Point of No Return) หากมีข้อผิดพลาดทางตรรกะหรือทางด้านเวลาหลุดรอดไปเพียงเล็กน้อย ค่าใช้จ่ายในการแก้ไขและทำหน้ากากผลิตใหม่ (Photomask Re-spin) สำหรับเทคโนโลยีระดับ FinFET หรือ GAA จะมีมูลค่าสูงตั้งแต่สิบล้านดอลลาร์ไปจนถึงเกือบหนึ่งร้อยล้านดอลลาร์สหรัฐ อีกทั้งยังสูญเสียโอกาสทางธุรกิจจากการส่งมอบสินค้าล่าช้า (Time-to-Market Delay)
ด้วยเหตุนี้ ข้อกำหนดสำหรับการทำ Timing Signoff จึงมีความเข้มงวดอย่างยิ่ง โดยดีไซน์ทั้งหมดจะต้องมีค่า Violation เป็นศูนย์ (0 Setup and Hold Violations) ภายใต้กระบวนการวิเคราะห์เชิงลึกแบบ Multi-Corner Multi-Mode (MCMM) ซึ่งจะตรวจเช็คพฤติกรรมการทำงานทุกๆ เงื่อนไขการสลับโหมดของชิป (เช่น Active Mode, Sleep Mode, Test Mode) ร่วมกับสภาวะแวดล้อมทางอุณหภูมิ แรงดันไฟฟ้า และสภาพเนื้อซิลิคอนที่ต่างกันหลายสิบรูปแบบ
ยิ่งไปกว่านั้น ในตลาดยานยนต์อัจฉริยะ (Automotive SoC) และอุปกรณ์ทางการแพทย์ ซึ่งต้องการความปลอดภัยระดับสูง ชิปเหล่านี้จะต้องสอดคล้องกับมาตรฐานอุตสาหกรรมระดับสากล เช่น AEC-Q100 และมาตรฐานความปลอดภัยทางระบบไฟฟ้าอิเล็กทรอนิกส์ยานยนต์ ISO 26262 ASIL-D การออกแบบและการทำ Static Timing Analysis จึงต้องเพิ่มกรอบวิเคราะห์ที่เผื่อรับกรณีอุปกรณ์ชราภาพ (Device Aging) และการทำงานภายใต้สภาพแวดล้อมที่โหดร้ายเป็นเวลานานนับทศวรรษ เพื่อเป็นเกราะป้องกันความปลอดภัยของผู้ใช้งานในโลกความเป็นจริง