Manuals >User's Guide >Using Transforms and Functions
Print version of this Book (PDF file)
prevnext

Using Transforms and Functions

An IC-CAP transform is a framework for mathematical or logical functions that operate on data. A transform can operate on any combination of data sets, parameters, and variables. These inputs are used to calculate either a new data set or new values for parameters and variables.

IC-CAP provides a comprehensive list of functions that can be used in a transform. These functions range from simple functions, such as addition and subtraction, to advanced functions that perform parameter extractions and optimizations. Extraction functions are supplied for all standard models contained in the system.

By defining IC-CAP transforms, you can analyze data in forms other than those provided by direct measurement or simulation and transform the data into new domains. A new transform can use an existing function or a new expression or series of expressions. Many functions such as log (natural logarithmic function), and derivative (for calculating first or second derivative), are available. More complicated expressions such as $IS · (exp(vd / 0.026) - 1)$ can be defined using the equation or program functions.

Some of the ways you can use IC-CAP transforms are:

    • Divide two data sets to create a third data set. Then view the new data set on a plot.
    • Calculate the values of several model parameters based on the inputs and outputs contained in a setup.
    • Calculate linear regression information for a particular output.
    • Run a fast simulation by programming model equations directly into a transform.

Since transforms can operate on all data sets, the output of one transform can be used as input to another transform. For example, you can use this feature to:

    • Perform extractions or optimizations on the calculated gain of a device.
    • Convert 2-port data from the network analyzer to a different domain, correct the data, then convert the corrected data back to the original domain.

While certain transforms, such as those that perform extractions, are executed with menu selections, many transforms are executed automatically when the input data sets change. For example, a transform that calculates the gain of a MOSFET is executed automatically when the measured or simulated outputs of the device change. For complete information on this topic, refer to Performing Transforms and Automatic Transform Execution.

You can create new functions by writing programs using IC-CAP's Parameter Extraction Language (PEL) or by using C language. Functions written in C language provide total flexibility for manipulating the data. Use this feature for many applications, such as implementing a new algorithm for extracting model parameters or reading data from another application into the IC-CAP system.

This chapter contains procedures for creating, editing, and using IC-CAP transforms and functions and describes how to augment IC-CAP's standard function library by writing additional functions in the C language. For details on writing programs using IC-CAP's Parameter Extraction Language (PEL), refer to Chapter 9, "Parameter Extraction Language," in the Reference manual.

Implementing New Extractions

You can implement new extraction algorithms by using the Program2 or Program Transform. This Transform provides a powerful method for accessing measured data and calculating model parameters from this data. IC-CAP also includes a number of functions that greatly simplify this operation. For example, a number of rather tedious operations are replaced by functions that calculate derivatives, or least-squares fit to the data. You can create new extractions simply by assembling a series of existing IC-CAP functions.

C functions can be used to increase both the performance and functionality of the above operations. Most of IC-CAP's existing extraction functions are implemented in the C language.

The optimizer can also be used for extracting model parameters. To do this, define Optimize Transforms for the Setups and specify in them the model parameters to be optimized. For further information, refer to Chapter 7, "Optimizing."


prevnext