Manual
FLOOXS Main Page
FLOODS/FLOOPS Introduction
This manual is broken into several sections describing the commands that make up the FLorida Object Oriented Device and Process Simulator. FLOOXS uses the old unix wild card convention of x taking the place of either "P" or "D". The codes are built as a single executable and are configured with different sets of default variables for each purpose. New work in the Reliability MURI is aimed at combining the codes to understand device operation driven failure modes.
Commands in the manual are documented individually. It is best to start with examples that are similar to what you wish to do. These are linked to individual command descriptions for more detailed followup. The command list is also provided as a reference directly, if you are interested in more detail on the commands.
All of FLOODS/FLOOPS is built using tcl. A familiarity with tcl commands is essential for understanding how to do anything complex in FLOOPS and FLOODS. You can find many great tcl reference books and tcl command documentation is also available.
It is helpful to understand the alagator command language which is further described in the "Commands" section.
Workflow: How to create and run a FLOOXS simulation
1. Grid Generation
These are worked examples of grid generation concepts. Build 1D, 2D, and 3D structures for simulation.
2. Choose Simulation Type
- Device Models - FLOODS
- Process Models - FLOOPS
3. Post Processing
Although not as fancy as commercial tools, there are a wide range of ways to examine output results. Examples of analysis can be found in this section.
- Selection Examples
- Printing Examples
- Plotting Examples - new short version
- BltPlot Examples - old version
- Old Style Command Interface Plot Examples
Device Examples
Examples that use alagator to investigate device performance.
Contacts and advanced device physics models (mobility, high-field effects, recombination, etc.) are available in the following section.
Process Examples
Examples that use alagator and default scripts to simulate IC processing.
FLOOPS Homework Problems These are good introductory problems for beginners. Being able to work through these will introduce most simple concepts to users.
Convergence
Having problems with convergence? If so, refer to this page.
Alagator
Alagator is the scripting language that controls the physics of the simulation. This is where the real power of floops and floods lies. These commands allow the user to control and set up alagator scripts for creating user models for diffusion. The scripting language has multiple components that are called during execution of a diffusion command. The basic element is a description of a differential equation. The diffusion calls several procedures for a solution that allow these equations to be constructed at run time.
- Alagator Language Description, A description of the recognized keywords and symbols in building an equation.
- Callback Procedures, A description of the procedures that are looked for and called by the diffusion code.
- Alagator Tutorial, Tutorial examples that help users get started.
- Complex Examples, Complex Examples for device and process
Support Commands
- equation, The command that allows syntax checking and resolution checking of equation strings.
- solution, Create and control generic solutions.
- term, Create, control, and delete subexpressions used in the equation scripts.
Command Reference
This contains a command reference, in Unix man page style for each command in the program.
Command Conventions
Some basic ideas on how commands work and are used.
Grid Commands
Commands to control grid generation and refinement.
- fs creating and control of new fieldservers - expert use only!
- line - Controls placement of gridlines for rectilinear meshes
- region - Allows rectangular materials to be created
- init - Initializes the grid structure from rectangular commands or a saved file
- struct - Allows the grid and solution values to be saved or read from a file
- Smooth - smooths the grid and attempts to make equilaterial elements
- grid - access to many grid information / manipulation actions
Post Processing Commands
Commands to analyze data.
Most common post processing commands:
Application Specific Commands
Commands to solve systems of equations, deposit materials, and more!
Process Commands
- deposit The deposit command allows new material to be deposited on the wafer surface. This command is all new for the 2002 release.
- diffuse Simulate all types of thermal steps, including anneals, oxidations, and silicidations.
- etch This command is used with a specific etch to evolve the surface according to the type of etching specified.
- furnace This is a simplified interface to the diffuse command for furnace anneals.
- implant Implant a dopant and add it to the existing distributions.
- mask This command is used to create a mask. It can be used subsequently with an implant or etch command..
- rta This is a simplified interface to the diffuse command and temperature ramps for rta anneals.
- strip This command removes a specified surface material in its entirety.
Device Commands
- contact This command allows contacts to be added to an existing structure. It can also be used to fetch contact information - like current.
- device This is the main simulation command and supports DC, AC, and noise analysis.
Other Commands
Miscellaneous commands that aren't really categorizable. There are many useful commands here!
- profile This allows the reading in of a one-dimensional profile
- math Controls the numerical analysis options - not for the faint hearted
- pdb These control the access and values in the parameter data base.
Development
- New Developments - A brief list of the new enhancements since the last release.
- Bugs - A list of current FLOOXS Bugs that need action
- "To Do" List - Needed code enhancements for specific actions
Installation
- Installation Directions - Installation help and notes created as I did a clean install on a linux system. Your mileage may vary.
Copyright and Redistribution
This software and manual is copyrighted by the Mark Law, University of Florida Electrical and Computer Engineering department. It is intended for internal educational and research and development purposes only. Any use of any part of this software in any commercial package needs to be negotiated separately. Several of the implant models are copyrighted by Al Tasch from The University of Texas at Austin.
The UMFPACK package is copyrighted by Tim Davis, University of Florida, Computer and Information Sciences Department. (davis@cis.ufl.edu). Please contact Tim directly about redistribution of the UMFPACK software.
The tcl/tk package is in the public domain, and was developed by John Ousterhout at the University of California Berkeley.
Various included linear algebra packages are also public domain.
Contributors
Faculty
Mark Law, University of Florida
Students and Post-Docs
- Deodatta (Kumar) Apte, M.S. 1991
- Lahir Adam, Ph.D. 2001
- Ibrahim Avci, Ph.D. 2002
- Renata Camillo-Castillo, Ph.D. 2006
- Ed Carstens, M.S. 1995
- Steve Cea, Ph.D. 1996
- Samir Chaudhry, Ph.D. 1996
- Ming-Yeh Chuang, Ph.D. 1997
- H. Omer Dokumaci, Ph.D. 1997
- Susan Earles, Ph.D. 2002
- Michelle Griglione, Post-Doc, 1999-2000, 2007-
- Mohsan Habibi, B.S., 2003
- Yaser Haddara, Post-Doc, 1997-1998
- Minchang Liang, Ph.D. 1994
- Aaron Lilak, Ph.D. 2001
- Chih-Chuan Lin, Ph.D. 1995
- Vikas Meka, B.S. 1999
- Misty Northridge, B.S. 2000
- Heemyong Park, Ph.D. 1993
- Ljubo Radic, Ph.D. 2005
- Hernan Reuda, Ph.D. 1998
- Russ Robison, Ph.D. 2006
Intel Development Team
Martin Giles, Stephen Cea, Hal Kennel, Aaron Lilak, and Patrick Keys. Intel is feeding back bug fixes and enhancements. Steve Morris - we miss you!
Collaborators
Rex Lowther, Harris
- Grid and diffusion discretizations, Cylindrical Coordinates
Mike Morris, Steve Morris, Al Tasch, University of Texas, Austin
- Dual pearson implant models for boron, bf2, and arsenic
Goodwin Chin, IBM
- Original ideas for hierarchical mesh
Tim Davis, University of Florida
- the UMF factorization code
Getting started with Wiki
Consult the User's Guide for information on using the wiki software.