SemiMatrix / TOPICS / SPICE SIMULATION
CIRCUIT ANALYSIS & MODELING ENGINES

SPICE Circuit Simulation Engines
Modified Nodal Analysis, BSIM-CMG & Statistical Signoff

อ่าน 32 นาที อัปเดต 2026–2028 Standard Analog & RF Verification

เจาะลึกกลไกภายในของโปรแกรมจำลองวงจรอิเล็กทรอนิกส์มาตรฐานระดับโลก: การตั้งสมการเมทริกซ์ Modified Nodal Analysis (MNA), การแก้สมการเชิงอนุพันธ์ด้วยระเบียบวิธีเชิงตัวเลข (Backward Euler, Trapezoidal, Gear 2), เทคนิคการแก้ปัญหา Non-Convergence ของ Newton-Raphson, โครงสร้างแบบจำลองทรานซิสเตอร์ BSIM4/BSIM-CMG และการวิเคราะห์ทางสถิติ Monte Carlo ตามกฎของเพลกรอม (Pelgrom's Law)

01 บทบาทและประวัติศาสตร์ของ SPICE ในวงการเซมิคอนดักเตอร์

SPICE (ย่อมาจาก Simulation Program with Integrated Circuit Emphasis) คือซอฟต์แวร์จำลองพฤติกรรมของวงจรอิเล็กทรอนิกส์ในระดับแอนะล็อกและฟิสิกส์ ที่ได้รับการพัฒนาขึ้นครั้งแรกที่มหาวิทยาลัยแคลิฟอร์เนีย เบิร์กลีย์ (UC Berkeley) ในปี 1973 โดย Larry Nagel ภายใต้การดูแลของศาสตราจารย์ Donald Pederson

ตลอดเวลากว่า 5 ทศวรรษที่ผ่านมา SPICE ได้กลายเป็น "Gold Standard" (มาตรฐานทองคำ) ที่ไม่มีวิศวกรออกแบบวงจรรวมคนใดสามารถข้ามผ่านได้ ไม่ว่าจะเป็นชิปไมโครโพรเซสเซอร์, หน่วยความจำ HBM, วงจรความถี่สูง 5G/6G RF, หรือวงจรสวิตชิ่งไฟฟ้ากำลังสูง เครื่องมือ SPICE ชั้นนำในปัจจุบันประกอบด้วย Cadence Spectre, Synopsys HSPICE / FineSim, Siemens Eldo, และโปรแกรมเปิดเผยรหัสอย่าง Ngspice และ LTspice

💡
ทำไมวงจรรวมต้องพึ่งพา SPICE Simulation?
การผลิตชิปจริงใน Fab มีต้นทุนค่า Mask Set หลายล้านดอลลาร์สหรัฐและใช้เวลานานนับเดือน หากชิปมีความผิดพลาดเพียงจุดเดียวจะไม่สามารถแกะซ่อมแซมได้ SPICE ทำหน้าที่เป็นห้องทดลองเสมือนจริงที่ทำนายแรงดัน (Voltage), กระแส (Current), แบนด์วิดท์ (Bandwidth), ความผิดเพี้ยน (Distortion), และความแปรปรวนจากการผลิต (Process Variation) ได้อย่างแม่นยำในระดับทศนิยมก่อนการส่งผลิตจริง
📍 CAREER ROADMAP CONTEXT
STAGE 01 — FOUNDATION: Semiconductor & Circuit Fundamentals
เข้าใจ band theory, PN junction, MOSFET I-V characteristics, threshold voltage, carrier transport — พื้นฐานที่ทุก IC designer ต้องรู้
Tools: Cadence Spectre, Synopsys HSPICE, Keysight ADS, LTspice
Related: Device Physics · MOSFET Fundamentals · EDA Tools & PDK
Path: Analog IC Designer, RFIC Engineer, Memory Circuit Designer, PDK Development Engineer

02 กลไก Modified Nodal Analysis (MNA) และการจัดรูปสมการเมทริกซ์

SPICE แปลงแผนผังวงจรไฟฟ้า (Schematic Netlist) ไปเป็นระบบสมการเชิงอนุพันธ์และพีชคณิต (Differential-Algebraic Equations - DAEs) โดยใช้ระเบียบวิธี Modified Nodal Analysis (MNA) ซึ่งต่อยอดมาจาก Nodal Analysis ทั่วไป เพื่อให้สามารถรองรับแหล่งจ่ายแรงดันอิสระ (Independent Voltage Sources) และตัวเหนี่ยวนำ (Inductors) ได้อย่างไร้รอยต่อ:

MNA DIFFERENTIAL-ALGEBRAIC MATRIX EQUATION
$$ \mathbf{G} \cdot \mathbf{x}(t) + \mathbf{C} \cdot \frac{d\mathbf{x}(t)}{dt} = \mathbf{b}(t) $$
เมื่อ $\mathbf{G}$ คือเมทริกซ์ความนำไฟฟ้า (Conductance Matrix), $\mathbf{C}$ คือเมทริกซ์ความจุไฟฟ้าและความเหนี่ยวนำ (Capacitance/Inductance Matrix), $\mathbf{x}(t) = [\mathbf{v}_n(t), \mathbf{i}_v(t)]^T$ คือเวกเตอร์ตัวแปรสถานะที่ประกอบด้วยแรงดันที่โนดและกระแสที่ผ่านแหล่งจ่ายแรงดัน, และ $\mathbf{b}(t)$ คือเวกเตอร์กระตุ้นจากภายนอก

การเติมค่าลงในเมทริกซ์ทำผ่านกลไก MNA Element Stamps โดยอุปกรณ์แต่ละตัวจะมีรูปแบบการประทับค่าลงในแถวและคอลัมน์ของเมทริกซ์อย่างเป็นระบบ ตัวอย่างเช่น ตัวต้านทาน $R$ ระหว่างโนด $j$ และ $k$ จะประทับค่า Conductance $g = 1/R$ ลงที่ตำแหน่ง $(j, j)$, $(k, k)$ เป็นบวก และ $(j, k)$, $(k, j)$ เป็นลบ

03 ระเบียบวิธีเชิงตัวเลขใน Transient Analysis (Euler, Trapezoidal, Gear)

ในการจำลองแบบตอบสนองเชิงเวลา (.tran) อนุพันธ์ $\frac{d\mathbf{x}}{dt}$ จะถูกแทนที่ด้วยการประมาณค่าผลต่างสืบเนื่อง (Finite Difference Approximations) ณ แต่ละช่วงเวลา (Timestep $h_n = t_n - t_{n-1}$):

อัลกอริทึมการอินทิเกรต สมการประมาณค่าอนุพันธ์ ($dx/dt$) ความแม่นยำ (Order) & ความเสถียร ข้อดี / ปัญหาที่พบบ่อย
Backward Euler (BE) $\dot{x}_n = \frac{x_n - x_{n-1}}{h_n}$ First-Order, L-Stable (เสถียรยิ่งยวด) เกิดแรงหน่วงเทียม (Artificial Numerical Damping) ทำให้วงจรกรองหรือสัญญาณแกว่งมลายหายไปเร็วกว่าความเป็นจริง
Trapezoidal Rule (TRAP) $\dot{x}_n = \frac{2}{h_n}(x_n - x_{n-1}) - \dot{x}_{n-1}$ Second-Order, A-Stable (อนุรักษ์พลังงาน) แม่นยำสูง แต่ไวต่อการเกิดสัญญาณสั่นเทียม (Trapezoidal Ringing) ในวงจรที่มีการสวิตช์ชันจัด
Gear 2 (BDF2) $\dot{x}_n = \frac{2h_n + h_{n-1}}{h_n(h_n + h_{n-1})} x_n - \dots$ Second-Order, Stiffly Stable เหมาะสำหรับวงจรที่มีค่าคงที่เวลาต่างกันมาก (Stiff Systems) นิยมใช้ในวงจร Power Electronics และ Digital Gates
ADAPTIVE TIMESTEP CONTROL & LOCAL TRUNCATION ERROR
$$ \text{LTE} = \frac{h_n^3}{12} \left| \frac{d^3 x}{dt^3} \right| \le \text{TRTOL} \cdot (\text{RELTOL} \cdot |x_n| + \text{ABSTOL}) $$
$$ h_{next} = h_{current} \times \sqrt[3]{\frac{\text{Allowed LTE}}{\text{Calculated LTE}}} $$
SPICE ปรับขนาด Timestep โดยอัตโนมัติ — ในช่วงที่สัญญาณนิ่งจะขยาย $h$ ให้กว้างขึ้นเพื่อประหยัดเวลา และในช่วงที่สัญญาณสลับสถานะรวดเร็วจะบีบ $h$ ให้เล็กลงสู่ระดับ Femtoseconds เพื่อรักษาความแม่นยำ

04 อัลกอริทึม Newton-Raphson และการแก้ปัญหาความไม่ลู่เข้า (Non-Convergence)

เนื่องจากอุปกรณ์สารกึ่งตัวนำ (ไดโอด, ทรานซิสเตอร์) มีสมการกระแส-แรงดันแบบไม่เป็นเชิงเส้น (Nonlinear $I$-$V$) ในแต่ละขั้นตอนเวลา SPICE จะต้องแก้ระบบสมการไม่เป็นเชิงเส้น $\mathbf{f}(\mathbf{x}) = \mathbf{0}$ ด้วยการทำซ้ำแบบ Newton-Raphson (NR):

NEWTON-RAPHSON JACOBIAN MATRIX ITERATION
$$ \mathbf{J}(\mathbf{x}^{(k)}) \cdot \Delta \mathbf{x}^{(k+1)} = -\mathbf{f}(\mathbf{x}^{(k)}) $$
$$ \mathbf{x}^{(k+1)} = \mathbf{x}^{(k)} + \Delta \mathbf{x}^{(k+1)} $$
เมื่อ $\mathbf{J}(\mathbf{x}) = \frac{\partial \mathbf{f}}{\partial \mathbf{x}}$ คือ Jacobian Matrix ซึ่งประกอบด้วยค่า Small-Signal Conductance ($g_m, g_{ds}, g_\pi$) ของอุปกรณ์ ณ จุดทำงานชั่วขณะนั้น

สาเหตุและแนวทางแก้ไขเมื่อ SPICE ฟ้อง "Time step too small" หรือ "No convergence"

  1. GMIN Stepping: เชื่อมต่อตัวนำขนาดจิ๋ว ($GMIN = 10^{-12}\ \Omega^{-1}$) ขนานเข้ากับรอยต่อ PN ทุกจุดเพื่อป้องกันไม่ให้อนุพันธ์ชันเกินไป และค่อยๆ ปรับลดค่า $GMIN$ ลงจนเป็นศูนย์
  2. Source Stepping: ปรับลดแรงดันไฟเลี้ยง $V_{DD}$ และแหล่งจ่ายทั้งหมดลงเหลือ $0\text{ V}$ เพื่อหาจุดตั้งต้นที่ลู่เข้าแน่นอน แล้วค่อยๆ เพิ่มขึ้นทีละสเต็ป ($0.1, 0.2, \dots, 1.0$)
  3. Pseudo-Transient Continuation: ต่อตัวเก็บประจุจำลองขนาดเล็กขนานทุกโนด แปลงปัญหา DC Operating Point ให้กลายเป็น Transient Analysis เพื่อปล่อยให้ประจุไหลเข้าสู่สภาวะสมดุลตามเวลาจริง

05 วิวัฒนาการแบบจำลองทรานซิสเตอร์ (BSIM Family Genealogy)

หัวใจที่ทำให้ผลการจำลองใน SPICE ตรงกับพฤติกรรมของชิปจริงจาก Fab คือ Compact Model ซึ่งเป็นสมการคณิตศาสตร์วิเคราะห์เชิงฟิสิกส์ที่ได้รับการรับรองโดยองค์กร Compact Model Coalition (CMC):

ชื่อแบบจำลอง (Compact Model) เทคโนโลยีเป้าหมาย (Target Node) ฟิสิกส์แกนกลางที่จำลอง (Core Physics) จำนวนพารามิเตอร์
Level 1 (Shichman-Hodges) ยุคบุกเบิก (> 3 μm) สมการพาราโบลาดั้งเดิม Square-Law, ไม่คิด Velocity Saturation ~10–15 ตัว
BSIM3v3 / BSIM4 Planar CMOS (180nm – 28nm) Short-channel effects, DIBL, Gate tunneling leakage, Stress effects ~400–600 ตัว
BSIM-CMG (Common Multi-Gate) FinFET, GAA Nanosheet, CFET (16nm – Sub-2nm) Surface Potential Based, ควบคุมเกตรอบทิศ 3D Electrostatics, Quantum Confinement ~800–1,200 ตัว
ASM-HEMT / MVSG GaN RF & Power Devices ฟิสิกส์ 2DEG Gas Density, Spontaneous & Piezoelectric Polarization ~300 ตัว

06 การวิเคราะห์ทางสถิติ Monte Carlo และขอบเขตการผลิต (PVT Corners)

ในการผลิตชิปจริง พารามิเตอร์ทางกายภาพ (เช่น ความหนาเกตออกไซด์ $t_{ox}$, ความยาวแชนเนล $L$, ความกว้าง $W$, และความเข้มข้นสารเจือ $N_A$) จะมีความคลาดเคลื่อนแบบสุ่มตามการแจกแจงแบบเกาส์เซียน (Gaussian Distribution):

PELGROM'S LAW FOR TRANSISTOR MISMATCH
$$ \sigma(\Delta V_{th}) = \frac{A_{VT}}{\sqrt{W \cdot L}} $$
เมื่อ $A_{VT}$ คือค่าคงที่ความแปรปรวนของกระบวนการผลิต (Pelgrom Coefficient) — แสดงให้เห็นว่ายิ่งทรานซิสเตอร์มีขนาดเล็ก ความไม่เข้าคู่กัน (Mismatch) ระหว่างทรานซิสเตอร์สองตัวข้างเคียงจะยิ่งพุ่งสูงขึ้น
GLOBAL CORNER SIGN-OFF
PVT Process Corners (TT, FF, SS, FS, SF)
จำลองจุดสุดขั้วของการผลิต: TT (Typical NMOS / Typical PMOS), FF (Fast NMOS / Fast PMOS - กินไฟสูงสุด), SS (Slow NMOS / Slow PMOS - ช้าที่สุด เสี่ยง Setup Timing), FS / SF (Skewed Cross Corners) ภายใต้อุณหภูมิตั้งแต่ $-40^\circ\text{C}$ ถึง $+125^\circ\text{C}$ และแรงดัน $\pm 10\%$
STATISTICAL SIMULATION
Monte Carlo High-Sigma Analysis
สุ่มค่าตัวแปรระดับอะตอมนับพันถึงหมื่นรอบ เพื่อประเมินอัตราผลผลิต (Yield) ของวงจรวิกฤต เช่น 6T SRAM Bitcell ซึ่งต้องการความทนทานในระดับ $6\sigma$ (ความล้มเหลวต่ำกว่า 3.4 บิตในหนึ่งพันล้านบิต)

07 เทคโนโลยี FastSPICE และการเร่งความเร็วด้วย Multi-GPU

เมื่อวงจรรวมขยายตัวสู่ระดับหลายสิบล้านทรานซิสเตอร์ (เช่น หน่วยความจำ DRAM/Flash ขนาดใหญ่ หรือชิปประมวลผลทั้งคอร์) การรัน SPICE แบบเต็มรูป (Full SPICE Matrix) จะใช้เวลานานเกินไป อุตสาหกรรมจึงแบ่งการจำลองออกเป็นสองกลุ่ม:

  • Golden SPICE (Spectre, HSPICE): คำนวณแมทริกซ์เต็มรูปโดยไม่ตัดทอนรายละเอียด เหมาะสำหรับวงจร Analog/RF ไครติคอล, PLL, และ I/O Transceiver
  • FastSPICE (Spectre X, FineSim, NanoSim): ใช้อัลกอริทึมแบ่งวงจรออกเป็นบล็อกย่อยที่มีปฏิสัมพันธ์ต่อกันน้อย (Hierarchical Circuit Partitioning), ข้ามการคำนวณในบล็อกที่ไม่มีการสลับสถานะ (Event-Driven Simulation), และใช้ตารางค่าตารางจำลอง (Table Look-Up) เพื่อเพิ่มความเร็วขึ้น $10\text{–}100$ เท่า
  • Multi-GPU Parallel Acceleration: ถ่ายโอนการแยกตัวประกอบเมทริกซ์แบบเบาบาง (Sparse Matrix Factorization: LU Decomposition) ไปยังการ์ดประมวลผลกราฟิก (NVIDIA H100/H200 Tensor Cores) ทำให้สามารถจำลองวงจรขนาดใหญ่พร้อม Parasitic Extraction ระดับล้านตัวต้านทาน-ตัวเก็บประจุได้ภายในไม่กี่ชั่วโมง

08 ไวยากรณ์และการเขียน Netlist มาตรฐาน (SPICE Syntax Example)

ตัวอย่างการเขียน SPICE Netlist สำหรับวงจรขยายเชิงผลต่าง (Differential Pair Amplifier) พร้อมคำสั่งรัน Operating Point, AC Frequency Sweep, และคำสั่งวัดค่าทางวิศวกรรมอัตโนมัติ (Automated Measurement Statements):

* ==============================================================================
* CMOS DIFFERENTIAL PAIR OP-AMP SIMULATION (Cadence Spectre / HSPICE Standard)
* ==============================================================================

.include "tsmc_n28_compact_models.lib"  * รวมไลบรารี BSIM4 PDK

* --- คำจำกัดความขั้วต่อของอุปกรณ์ (Instances) ---
M1 out_n inp v_tail v_tail NMOS_28 W=4u L=100n  * Input Pair Transistor Positive
M2 out_p inm v_tail v_tail NMOS_28 W=4u L=100n  * Input Pair Transistor Negative
M3 out_n out_n vdd  vdd    PMOS_28 W=8u L=150n  * Active Current Mirror Load 1
M4 out_p out_n vdd  vdd    PMOS_28 W=8u L=150n  * Active Current Mirror Load 2
M_TAIL v_tail v_bias 0 0   NMOS_28 W=10u L=200n * Tail Current Source

* --- แหล่งจ่ายพลังงานและสัญญาณทดสอบ (Sources) ---
V_DD  vdd  0 DC 1.05
V_BIAS v_bias 0 DC 0.45
V_CM  v_cm 0 DC 0.60
V_INP inp v_cm DC 0.0 AC 0.5 0    * Differential Input 0.5V phase 0
V_INM inm v_cm DC 0.0 AC 0.5 180  * Differential Input 0.5V phase 180
C_LOAD out_p 0 100f               * Output Load Capacitance 100 fF

* --- คำสั่งจำลอง (Analysis Commands) ---
.op                                   * คำนวณ DC Operating Point
.ac dec 50 100 100G                   * กวาดความถี่ AC 100 Hz ถึง 100 GHz (50 จุด/ทศวรรษ)

* --- คำสั่งวัดค่าอัตโนมัติ (Measurement Statements) ---
.measure ac dc_gain_db MAX vdb(out_p)               * วัดอัตราขยายสูงสุด (dB)
.measure ac ugb_hz     WHEN vdb(out_p)=0.0 FALL=1   * วัด Unity-Gain Bandwidth
.measure ac phase_deg  FIND vp(out_p) WHEN vdb(out_p)=0.0
.measure ac phase_margin PARAM='180 + phase_deg'     * คำนวณ Phase Margin

.end
// QUICK CONCEPT CHECK
ในการจำลอง Transient Analysis ของวงจรไฟฟ้ากำลังที่มีการสลับสถานะรวดเร็วมาก เหตุใดวิศวกรมักเลือกใช้อัลกอริทึม Gear 2 แทนที่ Trapezoidal Rule?