|
|||||||||||||
Home
Product Map
Product Examples
TCAD
Process Simulation
Device Simulation
Stress Simulation
Interactive Tools
Virtual Wafer Fab
TCAD Videos
Analog / AMS / RF
Custom IC CAD
Interconnect Modeling
Digital CAD
Downloads & Support
Licensing
Overview
TCAD Unlimited
Universal Tokens
Token Card
TCAD Omni
Term-Based
Perpetual
EDA Academic Suite
PDK Design Flows
Overview
Available PDKs
Foundry Partners
Quality and Testing
Maintainability
PDK Development Services
Documentation & Training
Migration to Silvaco PDKs
Technical Library
Services
Overview
TCAD Services
SPICE Modeling
Parasitic Extraction
PDK Development
Cell Libraries and Blocks
University Program
Government Programs
Locations/Contact Us
Corporate
|
Hints, Tips and Solutions
Q: How To: Is it possible to pass a variable from an ATLAS deck into a C-Interpreter function? A: Yes it is. All you have to do is to add just a few simple statements. Background The Silvaco C-Interpreter (SCI) allows convenient and flexible definition of physical models and material parameters via an ANSI standard C-language interface. The SCI uses sophisticated techniques to assemble user defined functions at run time, while maintaining fast execution time. ATLAS supports a wide range of SCI functions such as doping, composition fraction, defect density of state, temperature and composition dependent band parameters, as well as mobility, recombination and generation models. To provide additional flexibility it is now possible to pass variables from a deck into the SCI file. As a stand-alone enhancement this opens a whole new range of possibilities. Combine this feature with a deck used in VWF, either in the Design Of Experiments (DOE) or Optimization environment and the possibilities for enhanced, efficient, highly customized experiments become almost limitless.
The ExampleThe example considered here was used to simulate an organic TFT (OTFT). Mobility modelling is somewhat different in organic material in comparison to inorganic material. For the specific example considered here the original authors wanted to model the bulk mobility in the OTFT as being dependent on the concentration of carriers and the parallel electric field as shown in Equation 1:
Where μn is the concentration dependent parallel electric field dependent mobility to be calculated μo is the bulk mobility, EII is the parallel electric field, n is the carrier concentration, no is the bulk carrier concentration and γ is a fitting parameter. All of the parameters are known or calculated except the fitting parameter γ. To this end γ needs to be varied in the SCI file. With the new passing feature the variable can now be defined in the ATLAS deck and passed to the SCI file where the mobility model was defined.
Figure 1 shows the more pertinent parts of the SCI file used in this example. To pass in a variable there are two key statements. The firsts:
This gives the SCI file access to the function that has been created to enable the passing of variables. The second key statement in the SCI file for this example is:
This statement grabs the variable (named gamma1 in this instance) from the ATLAS deck and renames it (to gam1) for subsequent use in the SCI function as can be seen towards the bottom of the deck with such statements as:
Figure 2 shows the ATLAS deck. Some of the values are parameterized with SET statements including the variable that is to be passed to the SCI file.
The key statement in the ATLAS deck is:
The value of $gamma is fixed in the SET statement at the beginning of the deck making the deck easy and flexible to use in conjunction with dbIntenal or VWF. This value is then given the variable name gamma1 and can then be called into the SCI file. As shown in Figure 1.
Further PossibilitiesThe options statement for the passed variable could be embedded in the solve statements enabling the value to be changed during simulation. For example:
In the first solve gamma1 (and thus gam1 in the SCI function) has the value 0.1, but in the second solve gamma1 has the value of 0.2. CINT.CHAR, CINT.INT are also available, enabling the passing of integers and strings as well. Only one global parameter may be defined per OPTIONS statement but multiple option statements are permitted.
|
||||||||||||
Copyright © 1984 -
SILVACO, Inc. -
Trademarks - Privacy Policy
|
|||||||||||||