400 likes | 423 Views
Two Dimensional Monte Carlo Device Simulation. Jason Harris http://www.goodnet.com/~smegtra Arizona State University Faculty Advisor: Dragica Vasileska. Presentation Overview. Project Schedule Overview of Completed Work Discussion of Coding Benefits Description of New Approaches
E N D
Two Dimensional Monte Carlo Device Simulation Jason Harris http://www.goodnet.com/~smegtra Arizona State University Faculty Advisor: Dragica Vasileska
Presentation Overview • Project Schedule • Overview of Completed Work • Discussion of Coding Benefits • Description of New Approaches • Overview of Remaining Work
Project Schedule • Spring, 1999: Learn theory, write a bulk Monte Carlo simulator for GaAs, write a 1-D Poisson solver • Summer 1999: Write a 2-D Poisson solver, convert Monte Carlo simulator to use non-parabolic bands • Fall 1999: Couple the Monte Carlo simulator and the Poisson solver and perform device simulations
Bulk Monte Carlo Simulator • Object-Oriented coding is very flexible • Non-Parabolic band model • One scattering table for each equivalent dispersion valley
Scattering Mechanisms • Acoustic Deformation Potential • Polar Optical Phonon Absorption/Emission • Intervalley Absorption/Emission • Intravalley Absorption/Emission • Fictitious Self-Scattering
One Dimensional Poisson Solver • Object-Oriented coding is very flexible • Uses LU-Decomposition • Dirichlet and Neumann boundary conditions • Uses uniform mesh spacing
Two-Dimensional Poisson Solver • Object-Oriented design promotes code flexibility • Uses SOR to solve Poisson’s Equation • Uniform mesh spacing • Code is present for 3-D mesh with non-uniform mesh spacing
Mesh Object FacilitatesCreating Devices • Construct object with a description of the bulk material • Create rectangular solids within the device with arbitrary material properties • Creating the “pseudo-dot” requires only six function calls
Mesh Object is Flexible • Mesh points can have multiple boundary conditions associated with them • ‘Smart’ mesh edges makes creating devices easier • Code is designed for non-uniform, three dimensional meshes
Node Points are Comprehensive • Intrinsic concentration (code is ready for heterostructures) • Dielectric constant • Doping profile • Temperature
Pointers are my Friends • Mesh point material descriptions • Scattering tables • Measurement methods • C++ dynamic memory allocation used for carrier injection
‘Smart’ Pointers Used Extensively • Keep track of objects accessing a particular memory location in order to avoid memory leaks • Free memory location only after last accessor has released it • Ten assembly language instructions for creating • Four assembly language instructions for copy • Six assembly language instructions for deleting
Carrier Object • Position vector (three-dimensional) • Momentum vector (three-dimensional) • Associated scattering table • Can be mixed with the Mesh object to easily pinpoint device region transitions
Encapsulated Scattering Tables • Encapsulate a complete scattering table inside of another scattering table in order to speed up processing and reduce computation • For example, devices with non-uniform doping
Encapsulation in a GaAs Device • Valley-Dependent mechanisms - there are three choices • Ionized Impurity - as many choices as there are doping regions • Fictitious Self-Scattering
Using EncapsulatedScattering Tables • Concrete mechanism • Meta-Mechanism • Root Mechanism
Fractional Meta-Carriers • Carriers in a two-dimensional Monte Carlo are actually meta-carriers composed of many statistically identical carriers • Scattering tables give the statistical behavior of a single carrier, but they are also valid for a meta-carrier composed of statistically similar individual carriers
Fractional Meta-Carriers • Free-Flight routine should use the meta-carrier’s mass and charge instead of an individual carrier’s mass & charge • Since we need to track the number of individual carriers in each meta-carrier anyway, why not simplify the charge assignment scheme?
Fractional Meta-Carriers • When solving Poisson’s Equation, meta-carriers are split and placed on the nodes • Split the meta-carriers into smaller meta-carriers and place these on the nodes • Combine with any other new meta-carriers placed on that node which is in the same valley
Remaining Work • Charge assignment scheme • Carrier injection • Transfer Poisson solver from continuity model to device model • Debugging - simulate a text-book MOSFET
Two Dimensional Monte Carlo Device Simulation Jason Harris http://www.goodnet.com/~smegtra Arizona State University Faculty Advisor: Dragica Vasileska