Manual

From Flooxs
Revision as of 19:53, 25 February 2010 by Danieljc (talk | contribs)
Jump to navigation Jump to search

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

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.

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.

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.