Semiconductor Device Simulation Using DEVSIM Juan Sanchez July 2, - PowerPoint PPT Presentation
Semiconductor Device Simulation Using DEVSIM Juan Sanchez July 2, 2018 Introduction PDE semiconductor device simulator Finite volume method Solves 1D, 2D, and 3D structures External meshing tools or internal mesher Symbolic
Semiconductor Device Simulation Using DEVSIM Juan Sanchez July 2, 2018
Introduction • PDE semiconductor device simulator • Finite volume method • Solves 1D, 2D, and 3D structures • External meshing tools or internal mesher • Symbolic model evaluation • Visualization using standard output formats 2
Examples Magnetic Potential Capacitance 3
Device Equations • Drift-diffusion equations ∇ 2 ϕ = q ( p − n + N D − N A ) (Poisson) ∂ n q ∇ · � 1 ∂ t = J n + G n − R n (Electron Continuity) ∂ p q ∇ · � ∂ t = − 1 J p + G p − R p (Hole Continuity) 4
Example – 1D Diode 5
Example – 2D MOSFET 6
Example – 2D MOSFET 7
Introduction • Project started in 2008 • Open source since 2013 https://devsim.org • C++ using STL, C++-11, and templates • Platform Agnostic (Linux, OS X, Windows) • Uses Python scripting to set up equations and control simulation • Approximately 64,000 lines of code https://www.openhub.net/p/devsim 8
Architecture – Analysis • Nonlinear simulation – dc – transient • Linear analysis – small-signal ac – sensitivity (impedance field) – noise 9
Architecture – Scripting • Models implemented using scripting – Faster development cycle – Design for efficiency • Symbolic differentiation – Faster development time – Add derivatives w.r.t. new variables – Common subexpression elimination 10
Architecture – Python • well defined and consistent • avoids domain specific languages with limited debugging • provides users more control • has numerous libraries for analysis and visualization 11
Architecture – Numerics • BLAS and LAPACK – Used for dense matrix and vector operations, geometric processing – Optimized for most platforms – Called by sparse matrix factorization • SuperLU, MKL Pardiso used for sparse matrix factorization • Iterative Math Library used for GMRES 12
SYMDIFF • Symbolic differentiation library • Open source https://symdiff.org • String based approach with dynamic binding of names to referred quantities – Constants – Independent variables – Models 13
SYMDIFF – Parser • Uses rules of precedence and associativity • Has simplify algorithm to reduce cost <<<< diff(a + b + cˆ2, c) (2 * c) <<<< diff(xˆx, x) (((x * (xˆ(-1))) + log(x)) * (xˆx)) <<<< simplify(diff(xˆx,x)) ((1 + log(x)) * (xˆx)) 14
SYMDIFF – User functions • Defining functions requires specification of new function and derivatives w.r.t. each named variable argument > define(sqrt(x),0.5 * xˆ(-0.5)) sqrt(x) > diff(sqrt(x*y),y) ((0.5 * ((x * y)ˆ(-0.5))) * x) 15
SYMDIFF – Models • Models allow – creation of new PDEs – hierarchy for sub-expression elimination – ability to specify or generate derivatives • Models dynamically bound by name – diff(Model,x) is Model:x 16
Element Assembly • Expressions evaluated at run time • Symbolic derivatives of models for Jacobian assembly • Assembles bulk, interface, and contact equations • Circuit boundary conditions 17
Node Models NodeVolume EdgeCouple 18
Node Models – Shockley Read Hall np − n 2 i U SRH = τ p ( n + n 1 )+ τ n ( p + p 1 ) USRH="(Electrons*Holes - n_iˆ2)/ \ (taup*(Electrons + n1) + taun*(Holes + p1))" Gn = "-ElectronCharge * USRH" Gp = "+ElectronCharge * USRH" NodeModel("USRH", USRH) NodeModel("ElectronGeneration", Gn) NodeModel("HoleGeneration", Gp) for i in ("Electrons", "Holes"): NodeModelDerivative("USRH", USRH, i) NodeModelDerivative("Gn", Gn, i) NodeModelDerivative("Gp", Gp, i) 19
Node Models – Shockley Read Hall 20
Edge Models EdgeCouple EdgeLength n0 n1 21
Edge Models • Electric field ( E ) w.r.t potential ( ϕ ) edge_model(device=device, region=region, name=’ E ’, equation=’( ϕ @n0 - ϕ @n1)*EdgeInverseLength’) edge_model(device=device, region=region, name=’ E : ϕ @n0’, equation=’EdgeInverseLength’) edge_model (device=device, region=region, name=’ E : ϕ @n1’, equation=’-EdgeInverseLength’) 22
Element Edge Models en2 ElementEdgeCouple en0 en1 ElementNodeVolume EdgeLength 23
2D MOSFET Mobility • Element models are used to simulate mobility with respect to electric field normal and perpendicular to current flow 24
BJT Example Available https://github.com/devsim/devsim_bjt_example 25
BJT – DC Analysis 4 2 0.009 10 10 β 1 10 I c 0 10 0.008 I b -1 10 3 10 -2 10 0.007 -3 10 -4 10 0.006 I c (A/cm) -5 10 A/cm 2 10 -6 10 0.005 -7 10 -8 10 0.004 -9 10 1 10 -10 10 0.003 -11 10 -12 10 0 -13 0.002 10 10 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 V be (V) V ce (V) 26
BJT – AC Analysis 1e9 4 1.8 10 0.1 0.2 1.6 0.3 3 10 1.4 0.4 0.5 1.2 0.6 2 10 0.7 1.0 f T (Hz) 0.8 | β | 0.9 0.8 1.0 1 10 0.6 0.4 0 10 0.2 -1 0.0 10 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 I c (A/cm) f (Hz) 27
Density Gradient • Quantum correction method for carrier density near interfaces • Carrier quantization effects ∇ 2 √ n Λ e = − b n √ n ∇ 2 √ n � 2 ( ∇ log n ) 2 � ∇ 2 log n + 1 1 = √ n 2 Using n = exp ( u ) � � � Λ e ∂ v = − b n ∇ u · ∂ s + 1 + b n ox � � ( ∇ u ) 2 ∂ v σ int 2 2 x n 28
Density Gradient 29
Density Gradient CV Curves t ox =3 (nm) 12 10 8 C (fF/ m) 6 N A =10 17 (#/cm 3 ) 4 DG N A =10 18 (#/cm 3 ) DG 2 N A =10 19 (#/cm 3 ) DG 0 1 0 1 2 3 4 5 V g (V) 30
Recommend
More recommend
Explore More Topics
Stay informed with curated content and fresh updates.