220 likes | 373 Views
Circuit Simulation using Matrix Exponential Method. Shih-Hung Weng, Quan Chen and Chung-Kuan Cheng CSE Department, UC San Diego, CA 92130 Contact: ckcheng@ucsd.edu. Outline. Introduction Computation of Matrix Exponential Method Krylov Subspace Approximation Adaptive Time Step Control
E N D
Circuit Simulation using Matrix Exponential Method Shih-Hung Weng, Quan Chen and Chung-Kuan Cheng CSE Department, UC San Diego, CA 92130 Contact: ckcheng@ucsd.edu
Outline • Introduction • Computation of Matrix Exponential Method • Krylov Subspace Approximation • Adaptive Time Step Control • Experimental Results • Conclusions
Circuit Simulation • Numerical integration • Approximate with rational functions • Explicit: simplified computation vs. small time steps • Implicit: linear system derivation vs. large time steps • Trade off between stability and performance • Time step of both methods still suffer from accuracy • Truncation error from low-order rational approximation • Method beyond low-order approximation? • Require: scalable and accurate for modern design
Statement of Problem • Linear circuit formulation • Let A=-C-1G, b=C-1u, the analytical solution is • Let input be piecewise linear
Statement of Problem • Integration Methods • Explicit (Forward Euler): eAh => (I+Ah) “Simpler” computation but smaller time steps • Implicit (Backward Euler): eAh => (I-Ah)-1 Direct matrix solver (LU Decomp) with complexity O(n1.4) where n=#nodes • Error derived from Taylor’s expansion
Statement of Problem • Integration Methods Error of low order polynomial approximation Local Truncation Error Low order approx. voltage time tn tn+1
Approach • Parallel Processing: Avoid LU decomp matrix solver • Matrix Exponential Operator: • Stability: Good • Operation: Matrix vector multiplications • Assumption • C-1v exits and is easy to derive • Regularization when C is singular
Matrix Exponential Method • Krylov subspace approximation • Orthogonalization: Better conditions • High order polynomial • Adaptive time step control • Dynamic order adjustment • Optimal tuning of parameters • Better convergence with coefficient 1/k! at kth term eA= I + A + ½ A2 + … + 1/k! Ak +… (I-A)-1= I + A + A2 +…+ Ak +…
Krylov Subspace Approximation (1/2) • Krylov subspace • K(A, v,m)={v, Av, A2v, …, Amv} • Matrix vector multiplication Av=-C-1(Gv) • Orthogonalization (Arnoldi Process): Vm=[v1 v2 … vm] • Matrix exponential operator • Size of Hm is about 10~30 while size of A can be millions • Ease of computation of eHm • Posteriori Error Estimation • Evaluate without extra overhead
RC circuit of 500 nodes, random cap ranges 1e-11~1e-16, h = 1e-13
Krylov Subspace Approximation (2/2) • Matrix exponential method • Error estimation for matrix exponential method v1 v2 Krylov space Approximation
Adaptive Time Step Control • Strategy: • Maximize step size with a given error budget • Error are from Krylov space method and nonlinear component • Step size adjustment • Krylov subspace approximation • Require only to scale Hm: αA→αHm • Backward Euler • (C+hG)-1 changes as h changes
Experimental Results • EXP (matrix exp.) and BE (Backward Euler) in MATLAB • Machine • Linux Platform • Xeon 3.0 GHz and 16GB memory • Test cases
Stability and Accuracy • BE requires smaller time steps • EXP can leap large steps Test case: D2
Performance at fixed time step sizes • Reference: BE with small step size href • EXP runs faster under the same error tol. • D2: 20x • D3: 4x • D4: inf • Scalable for large cases • Case D4: BE runs out of memory (4M nodes)
Adaptive Time Step – Linear Circuits • Strategy: • Enlarge by 1.25 • Shrink by 0.8 • Adaptive EXP • Speedup by large step • Efficient re-evaluation • Adaptive BE • Smaller step for accuracy • Slow down by re-solving linear system • 10X speedup for D2 Test case: D2
Adaptive Time Step – Nonlinear • Strategy: • Enlarge by 1.25 • Shrink by 0.8 • Adaptive BE • Multiple Newton iterations for convergence • Up to 7X speedup Test case: D7
Summary 1 Nc* for C-1; 2 Variable order BDF is not considered here; 3 Cost of re-evaluation for a new step size
Summary • Matrix exponential method is scalable • Stability: Good • Accuracy: SPICE • Krylov subspace approximation • Reduce the complexity • Preliminary results • Up to 10X and 7X for linear and nonlinear, respectively • Limitations of matrix exponential method • Singularity of C • Stiffness of C-1G
Future Works • Scalable Parallel Processing • Integration • Matrix Operations • Applications • Power Ground Network Analysis • Substrate Noises • Memory Analysis • Tera Hertz Circuit Simulation