What Happens in Smoke Analysis

In Smoke analysis you run a transient analysis with real operating conditions. Smoke then determines if any maximum operating value (MOV) has been exceeded. Smoke maximum parameters are specified for each of the important conditions. For example, an NPN has a smoke parameter, PDM for the maximum power dissipation and IC for the maximum collector current and eleven other parameters for maximum values of base current, emitter current, and collector emitter voltage and others.


Smoke Guidelines

To get the best results from Smoke follow these guidelines.

Get your circuit working first: Running Smoke on a tenative design is probably a waste of time.

Smoke is only as good as your test circuit: Set up the circuit elements and transient analysis limits to reflect the expected operating conditions, otherwise the results will not be useful.

Use appropriate Smoke parameters: Check the parameters against a data sheet. The parameters in the supplied Smoke and Smoke2 libraries are approximate and in many cases simply guesswork. You can change the Smoke.lib and/or Smoke2.lib files as needed by loading it using Micro-Cap and editing it. The files are located at MC12 / LIBRARY.

Use appropriate derating: You may want to create derating libraries for special categories like consumer, industrial, military, and aerospace. The derating values in the supplied Standard.dlib are for illustration only and do not reflect the values you may need in your application. You can change the Standard.dlib file as needed by loading the file using Micro-Cap and editing it. The file is located at MC12 / LIBRARY.

Parts modeled by subcircuits: There is no general purpose way to adequately test parts modeled by subcircuits or macros. These usually do not contain the actual components used in the production part.

Use of defined parameters: Variables can be defined for use in many .Smoke statements. For example:

.define vrr vcemax

.smoke PNP1 pnp (vce=vcemax...)

.smoke PNP2 pnp (vce=vcemax...)

This is a convenient way to simultaneously change parameters in different .Smoke statements.

Polarities: Peak means the following:

For the reverse parameters, diode vr, diode irmx, igbt vger, mosfet vgsr, Peak finds the largest negative value and retains the sign. This code is used:

MINR(X)

For all other parameters (x), Peak finds the largest positive or negative value and retains the sign. This code is used:

IF(ABS(PEAK(X))>ABS(MINR(X)),PEAK(X),MINR(X))


The Smoke Display

The coulmns in the Smoke display are these:

Valid: This specifies whether the test is valid or not.You may be interested in a particular result without it being a valid test. For instance, you may want to have a valid test for the RMS value of a waveform, but not for the average value.

Part: This is the part's name.

Parameter: This is the patameter's name.

Type: This the type of measurement (Average, RMS or Peak).

Rated: This is the rated value for the parameter.

Derating: This is the derating percentage for reliability.

Derated-R: This is the rated value derated by the derating percentage.

Derated-RT: This is the derated-R value further derated for temperature.

Measured: This is the measured value from the transient analysis run.

Percent: This is the ratio of measured to derated-RT expressed as a percentage.


Smoke Options Page

The Smoke display is very crowded. How do you manage the display of so many parameters? One way is the Properties dialog box, accessed from the Smoke display with F10. It has these tabs:

• Option: This tab controls what will show in the Smoke display.

Show Parts With No Smoke Statement: This identifies parts that lack a Smoke statement.

Show Mouse Tracker: This enables a small information box when the mouse is placed over any item in the Parameter column.

Show Non Valid: This shows non-valid parameters.

Show Measured Value Signs: This shows the sign of the measured value.

Show These Parts: This lets you pick the parts and types you want to display.

Show These Parameters: This lets you pick the parameters you want displayed.


The Smoke Right-click Menu

Right-click anywhere in the Smoke display and you'll see a menu of choices that let you manage the display and its properties. The menu provides these features:

• Valid: Clicking here toggles the valid state. An invalid state means the measurement is not considered useful or appropriate. If the Properties option Show Non-valid is enabled then the row will be removed from the display. If the Properties option Show Non-valid is disabled then the row will be shown but the measure bar will be colored gray.

• All Valid

Clicking here sets all rows to valid.

• All Non-Valid

Clicking here sets all rows to non-valid.

• Show / Hide Peak for {part name} {parameter name}

Clicking here shows or hides the peak measurement for the row's part and parameter name.

• Show / Hide Average for {part name} {parameter name}

Clicking here shows or hides the average measurement for the row's part and parameter name.

• Show / Hide RMS for {part name} {parameter name}

Clicking here shows or hides the RMS measurement for the row's part and parameter name.

• Show All Peaks

Clicking here shows all peak measurements.

• Hide All Peaks

Clicking here hides all peak measurements.

• Show All Averages

Clicking here shows all average measurements.

• Hide All Averages

Clicking here hides all average measurements.

• Show All RMS

Clicking here shows all RMS measurements.

• Hide All RMS

Clicking here hides all RMS measurements.

• Auto Scale F6

Clicking here or pressing F6 auto scales the column widths.

• Find in Circuit

Clicking here displays the row's part in the schematic.

• Properties F10

Clicking here or pressing F10 accesses the Smoke Properties page.

• Export Data

Clicking here accesses the data export dialog box from where you can export the Smoke table to Excel, the clipboard, or to a text file.


Smoke Derating Libraries

A derating library tells Smoke how much to derate or reduce the standard rated value. The format is like this:

BEGIN DEVICETYPE

PARAMETER_NAME DERATING_PERCENTAGE

PARAMETER_NAME DERATING_PERCENTAGE

...

END

PARAMETER_NAME is the standard Smoke parameter name.

DERATING_PERCENTAGE is the derating percentage to use.

Here is a typical entry for an NPN device.

BEGIN NPN

IB 80

IC 60

PDM 50

VCB 50

VCE 50

END

This tells Smoke to use 80% of the IB parameter, 60% of the IC parameter, 50% of the PDM parameter, 50% of the VCB parameter, and 50% of the VCE parameter.

Smoke comes with a generic derating library called Standard.dlib saved in the MC12 / LIBRARY folder.


Smoke Parameter Libraries

Two Smoke parameter libraries are provided. Smoke.lib is a sample library of each type with some typical .Smoke statements. Smoke2.lib is a library with Smoke statements for each primitive part (e.g. diode, NPN, MOSFET) in the main Component library. It was created by scanning the library and extracting Smoke parameters from the Memo text. Usually no more than three parameters are available this way, so the others are defaults. Here is a sample from Smoke.lib.

* DIODES

.SMOKE 1N4001 D (IF=1 VR=50 PDM=1.0 TJ=150 RCA=25 RJC=75)

.SMOKE 1N4002 D (IF=1 VR=100 PDM=1.0 TJ=150 RCA=25 RJC=75)

.SMOKE 1N4148 D (IF=.3 VR=100 PDM=0.5 TJ=150 RCA=150 RJC=200)

* BIPOLAR TRANSISTORS

.SMOKE 2N2222A NPN (IB=0.01 IC=1 PDM=625m RCA=126.7 RJC=83.3

TJ=150 VCB=75 VCE=40 VEB=6)

*IGBTS

.SMOKE IGBT1 NIGBT (IC=1 IG=200m RCA=100 RJC=100 TJ=170

VCE=200 VCG=200 VGEF=47 VGER=100)

The .Smoke statement is syntactically similar to the .Model statement. Smoke.lib and Smoke2.lib can be found in the MC12 / LIBRARY folder. Both files can be edited as needed. User-created Smoke libraries may be added to the LIBRARY folder but will only be accessible if an entry is made to the NOM.LIB file. A typical entry might be like this:

.LIB "My_Smoke.LIB"

The Smoke parameters are referenced here. Smoke Parameters:


Smoke Parameters

The Smoke parameters specify the maximum values that are tested for. These are specified in a .Smoke statement or via the Smoke Attribute. Here are the parameters and their default values.

Capacitor

CI Current 1A

CV Voltage 50V

SLP Temperature derating slope 5mV/C

TBRK Breakpoint temperature 125 C

TMAX Temperature 125 C

Inductor

LI Current 5A

LV Voltage 300V

Resistor

PDM Power dissipation 0.25W

RBA Slope of power vs. temperature 5mW/C

RV Voltage 100V

TMAX or TB Temperature 200 C

Voltage source

VI Current 1A

Current source

IV Voltage 12V

Diode

IF Forward current 0.5A

IFS Forward current zener 0.5A

IRMX Reverse current 10mA

PDM Power dissipation 250mW

RCA Thermal resistance case to amb. 250C/W

RJC Thermal resistance junction to case 100C/W

TJ Junction temperature 175C

VR Reverse voltage 75

BJT

IB Base current 10mA

IC Collector current 200mA

PDM Power dissipation 625mW

RCA Thermal resistance case to ambient 100C/W

RJC Thermal resistance junction to case 100C/W

SBINT Secondary breakdown intercept 0 A

SBMIN Derated percent at TJ 0

SBSLP Temperature derating slope 0

TJ Junction temperature 150C

VCB Collector-base voltage 40V

VCE Collector-emitter voltage 40V

VEB Emitter-base voltage 5V

MOSFET

ID Drain current 1A

IG Gate current 100mA

PDM Power dissipation 1W

RCA Thermal resistance case to ambient 150C/W

RJC Thermal resistance junction to case 20C/W

TJ Junction temperature 150C

VDG Drain-gate voltage 20V

VDS Drain-source voltage 50V

VGSF Forward gate-source voltage 20V

VGSR Reverse gate-source voltage 20V

JFET or GAASFET

ID Drain current 100mA

IG Gate current 50mA

PDM Power dissipation 250W

RCA Thermal resistance case to ambient 100C/W

RJC Thermal resistance junction to case 100C/W

TJ Junction temperature 150C

VDG Drain-gate voltage 30V

VDS Drain-source voltage 30V

VGS Gate-source voltage 30V

IGBT

ID Drain current 25A

IG Gate current 100mA

PDM Power dissipation 1W

RCA Thermal resistance case to ambient 100C/W

RJC Thermal resistance junction to case 100C/W

TJ Junction temperature 175C

VCE Collector-emitter voltage 100V

VCG Collector-gate 100V

VGEF Gate-emitter forward voltage 20V

VGER Gate-emitter reverse voltage 20V

OPAMP

IPLUS Non-inverting input current 1uA

IMINUS Inverting input current 1uA

IOUT Maximum Output current 200mA

VDIFF Differential input voltage 40V

VSMAX Maximum supply voltage 22V

VSMIN Minimum supply voltage 5V

VPMAX Maximum input voltage (plus pin) 40V

VPMIN Minimum input voltage (plus pin) 1V

VMMAX Maximum input voltage (minus pin) 40V

VMMIN Minimum input voltage (minus pin) 1V


What happens in Transient analysis

Transient analysis predicts the time-domain behavior of a circuit. It tries to predict what would happen if you built the circuit in the lab, hooked up power supplies and signal sources, and looked at the curves with a scope or a logic analyzer.

The program assumes that the circuit is fully nonlinear, though it can handle linear circuits as well. It begins by first constructing a set of nonlinear, time-varying, differential equations to represent the circuit. The remaining process is comprised of three steps:

Initialization of state variables

DC operating point (optional)

Main transient analysis

Initialization of state variables:

The initialization process is dependent on the settings for the state variables. State variables include node voltages, inductor currents, and digital node states.

Optional DC operating point:

The purpose of the operating point is to establish, by iterative calculation, a stable set of state variable values that represent the steady state condition the circuit is assumed to have for the Time = 0 starting point of the transient analysis. The operating point is calculated by treating capacitors as open circuits and inductors as shorts. Using a DC nonlinear model for the other devices in the circuit, the program linearizes the model about the last set of state variable values. Linearizing means replacing the nonlinear model with simple numeric constants that express a linear relationship between the terminal voltages and currents of the device. These numeric constants are usually obtained by differentiating the state variables with respect to their controlling variables. The linear model is assumed to hold over the interval of one iteration. The program then solves for the incremental voltages and currents. It adds these increments to the prior state values, and checks to see if they have stabilized, or converged. When all state variables have converged, the operating point is complete and the program starts the main transient analysis.

Main transient analysis:

The main transient analysis begins with the state variables computed during the operating point, or the initialized values if the operating point was skipped. Using a standard nonlinear time-domain model for each device in the circuit, the program linearizes the models about the last set of state variable values. It then solves a set of linear equations for incremental voltages and currents. It adds these linear increments to the prior state variable values and checks to see if they have stabilized. When all of the state variables have stabilized, convergence at this data point is achieved and the data point is evaluated to see if the local truncation error (LTE) is acceptable. If so, the time point is accepted and added to the plot, time is incremented, and the next data point is attempted. If the LTE is not acceptable, the data point is discarded, the time step is reduced, and a new data point is attempted. This process continues until the time variable equals the specified tmax.

To summarize, the basic conceptual sequence for Transient analysis is as follows:

1. Initialize state variables.

2. Optionally calculate the DC operating point.

3. Set Tlast = T = tmin and DT = minimum time step.

4. Solve for all state variables.

5. If variables have converged go to step 6, else go to step 4.

6. If LTE of state variables is acceptable go to step 8.

7. Discard time point: DT = DT/2, set T = Tlast , and go to step 4.

8. Plot or print requested variables. Set Tlast = T.

9. If Time equals tmax, quit.

10. Time = Time + time step.

11. Go to step 4.


3D Plotting

When stepping a variable, it can be difficult to visualize the effect of the stepping in the two dimensional analysis window. For this, Micro-Cap provides 3D graphs for plotting and visualizing simulation results. At least one variable must be stepped in order to produce a 3D graph. Run the circuits 3D1 and 3D2 to view examples of 3D plotting.

In a 3D plot there are three variables. Each is associated with one of three mutually orthogonal axes, X, Y, and Z. The Z axis may be thought of as pointing out from the paper toward the user. The X and Y axes are coplanar with the paper. The Y axis can plot one of two things: any expression plotted during the run or a performance function using expressions plotted during the run.

Expressions can be plotted if either temperature stepping or parameter stepping has been employed during the run.

Performance functions can be plotted if at least two variables have been stepped. One of the two can be temperature.

The first stepped variable is plotted along the Z axis. For example, if you stepped temperature and chose to plot V(1) on the Y axis, then T (time) would normally be plotted on the X axis, and the stepped variable, temperature, would normally be plotted on the Z axis. If you stepped R(R1) and you chose to plot V(1) on the Y axis, then T (time) would normally be plotted on the X axis, and the stepped variable, R(R1), would normally be plotted on the Z axis.

The second stepped variable is plotted along the X axis. For example, if you stepped R(R1) and C(C1), then you could plot an expression like V(1) vs T on the X axis and either R(R1) or C(C1) on the Z axis, or a performance function like Rise_Time vs. R(R1) on the X axis and C(C1) on the Z axis.

The choice of scaling is determined entirely by the range of axis variables. There is no user control of scaling.

New properties

3D Properties dialog box

Cursor mode in 3D

Changing the plot orientation


Fourier

Fourier Windows/Plots

An Fourier plot is available through two methods. The first one is to just plot the waveform directly through the analysis limits dialog box. The expression Harm(V(Out)) can be entered into the Y Expression field to plot this along with any other expressions. Plotting Fourier functions can be complicated so to make the job a little easier you can use an Fourier window as the second method. Once a transient simulation is finished, an Fourier window can be invoked by right clicking on a waveform name and selecting Add Fourier Window or by selecting the Transient / Fourier Windows / Add Fourier Window menu sequence. The Fourier Window can perform such plots as magnitude, dB, phase, real, and imaginary on any of the time based expressions that have been plotted. More complex Fourier expressions need to be plotted through the first method.

Eliminating a transient

Fourier accuracy

Fourier page

Fourier speed

Fourier Window Properties dialog box

Fourier basics

Fourier operators


Initialization

State variables define the state or condition of the mathematical system that represents the circuit at any instant. These variables must be initialized to some value prior to starting the analysis run. Here is how Micro-Cap does the initialization:

Setup initialization:

When you first select an analysis, all state variables are set to zero and all digital level to X. This is called the setup initialization.

Run initialization:

Each new run evokes the run initialization based upon the State Variables option from the Analysis Limits dialog box. This includes every run, whether initiated by pressing F2, clicking on the Run button, stepping parameters, using Monte Carlo, or stepping temperature. There are several choices:

Zero: The analog state variables, node voltages, and inductor currents are set to 0. Digital levels are set to X, or in the case of flip-flop Q and QB outputs, set to '0', '1', or 'X' depending upon the value of the global value DIGINITSTATE. This value is defined in the Global Settings dialog box. This is the only option in DC analysis.

Read: Micro-Cap simply reads the variables from a file, CIRCUITNAME.TOP. The file is created by the State Variables Editor.

Leave: Micro-Cap does nothing to the state variables. It simply leaves them alone. The state variables it uses can be viewed in the State Variables Editor. There are three possibilities:

First run: If the variables have not been edited with the State Variables Editor, they still retain the setup initialization values.

Later run: If the variables have not been edited with the State Variables Editor, they retain the ending values from the last run.

Edited: If the variables have been edited with the State Variables Editor, they are the values shown in the editor.

Retrace: Micro-Cap does nothing to the initial state variables. It simply leaves them alone.

Device initialization:

Device initialization is the third step. It is always done for the first run and for subsequent runs if Retrace is disabled.

After the State Variables option has been processed, .IC statements are processed. Device IC statements, such as those for inductor current and capacitor voltage, override .IC statements if they are in conflict.

Note that .IC statements specify values that persist throughout the initial bias point calculation.

They are more resilient than simple initial values which can (and usually do) change after the first iteration of the bias point. This may be good or bad depending upon what you are trying to achieve.

Using these initial values, an optional operating point calculation may be done and the state variables may change. If no operating point is done, the state variables are left unchanged from the initialization procedure. If an operating point only is done, the ending state variable values are equal to the operating point values.

The transient analysis begins after the setup, run, and device initializations are complete.

At first glance, you might think Retrace mode could be used to do eye diagrams, but there is a much easier way. Simply use an X expression like this

T MOD Period

instead of the usual T. Period is the expected period of the waveform so a typical X expression might be:

T MOD 2n

See the circuit EYE_DIAGRAM.CIR for an example of how to do this.


Monte Carlo

After successfully simulating a circuit, a user may want to know how the circuit performance is affected by parameter variation. Monte Carlo analysis provides a means of answering that question.

During Monte Carlo analysis, multiple runs are performed. For each run, a new circuit is generated from components whose numerical parameter values are randomly selected. The selection process is based upon user-specified parameter tolerances and distribution types. Micro-Cap extracts performance characteristics from each run and displays the information graphically in the form of histograms and numerically in the form of statistical parameters. Stepping must be disabled to run Monte Carlo. Micro-Cap saves all X and Y expression values of each plotted curve at each data point for each run, so you can create histograms after the runs are done by picking a performance function and an expression. The performance function calculates a single number from the selected expression waveform or curve for each analysis run. All the numbers are combined to form a population which is statistically analyzed and its histogram is displayed. Ideally, the histograms and population statistics will reveal expected variations in the performance function when the circuit is manufactured. View the Carlo series of circuits for examples.

To create a histogram, choose Add Histograms from the Histogram section of the Monte Carlo menu.

Distributions

Histograms

How Monte Carlo works

How to tolerance an impedance element

Monte Carlo Properties dialog box

Monte Carlo Options dialog box

Performance functions

Statistics

Tolerance and public vs. private libraries

Tolerances dialog box

Tolerancing symbolic parameters


Numeric Output

Numeric output may be obtained for each curve by enabling the Numeric Output button [image] in the curve row of the Analysis limits. The content of the numeric output is controlled from the Numeric Output page of the Properties dialog box (F10). Numeric output is of several types.

Analysis Limits Summary: This is a printout of the main analysis limits from the Analysis Limits, Stepping, and Monte Carlo dialog boxes.

Operating point information: This is a printout of the DC operating point values for each device in the circuit. It includes a selection of device currents, voltages, conductances, and capacitances. This is available in Numeric output for transient and AC analysis.

Curve tables: This is a tabular printout of the value of each X and Y expression of each selected waveform. Duplicated X expressions are eliminated. The values are interpolated from the actual data points. The Number of Points value from the Analysis Limits dialog box determines the number of points printed in the table. This is available in Numeric output for transient, AC, and DC.

Digital warnings: Digital hazard and constraint violation warnings are placed in this page. This is available only in transient Numeric Output.

Output is saved to the following files depending on the type of analysis performed:

Analysis Filename

Transient CIRCUITNAME.TNO

AC CIRCUITNAME.ANO

DC CIRCUITNAME.DNO

Dynamic DC CIRCUITNAME.DDNO

Dynamic AC CIRCUITNAME.DANO

Harmonic Distortion CIRCUITNAME.HNO

Intermodulation Distortion CIRCUITNAME.INO

Stability CIRCUITNAME.SNO

Output is also printed to the Numeric Output window. This window is accessible after the run from the Transient, AC, DC, Harmonic Distortion, and Intermodulation Distortion menus, by hitting F5, or by clicking on the [image] button.


Operating Point Methods

The operating point calculation methods and the order in which they are tried is user controllable from the Operating Point Methods dialog box, available from the Transient or AC menu.

There are five basic methods:

Standard Newton-Raphson: This is the simplest, and still the most often successful method for solving for the operating point.

Source Stepping: This is the first of the continuation methods that all attempt to set a control parameter to a value to solve an easier problem, and then gradually move the targeted parameter towards its final 100% value. In this case the parameter is a scale factor which multiplies all DC voltage sources. It starts with a small value and, when convergence is achieved, increases the factor until convergence is achieved with the factor at 100%.

Diagonal Gmin Stepping: This method adds a small conductance to the diagonal of the solution matrix and when convergence is achieved decreases it until convergence is achieved with the conductance set to zero.

Junction Gmin Stepping: Gmin is a conductance which is normally added across the junctions of many devices. This method sets Gmin to a large value. If convergence is achieved, it decreases the Gmin value until convergence is achieved with Gmin set to the Global Settings value.

Pseudo Transient: In this method, time-varying sources are set to their T=0 value, and a fixed capacitor is added from each node to ground. A transient analysis is then run until the circuit stabilizes. The stable set of voltages then becomes the operating point. This method works slowly but very well for most circuits. It does not usually work on unstable or oscillatory circuits.

The Operating Point Methods dialog box lets you select which methods will be used and the order in which they are used. The top method is used first, and so on to the end of the list. The dialog box also provides a means to test for the best methods and adjusts the order accordingly.


Optimizer

The optimizer systematically changes user-specified parameters to maximize, minimize, or equate a chosen performance function, while keeping the parameters within prescribed limits and conforming to any specified constraints.

It works in any analysis mode, letting you optimize transient, AC small-signal or DC characteristics. Anything that can be measured in any analysis mode by any performance function can be maximized, minimized, or equated. Equating is the process of matching specified points on a curve. A typical application would be trying to match points on a Bode plot gain curve.

For examples using the optimizer, view the OPT1 through OPT4 circuits.

Optimize dialog box


Worst Case Analysis

Worst Case analysis is an overlay that runs in AC, DC Transfer, and transient analysis. Its dialog box looks like this, Worst Case dialog box. It estimates several measures of worst case circuit performance. These measures are:

• Root Sum Squared (RSS) RSS is an approximation to the more general Monte Carlo statistical process. In RSS, input parameters are set to their high

and low tolerance values and the change in the output function values are squared and summed. Finally the square root is taken and the change and level

results are shown for both RSS Low and RSS High.

• Monte Carlo Analysis (MCA) In MCA, the circuit is run the number of times specified in the Monte Carlo dialog box. A histogram with a distribution of

output values is obtained. The standard deviation (sigma) from this distribution is then multiplied by SD (number of deviations in the tolerance band) to

get the change in the output function. The change and level results are shown for both MCA Low and MCA High.

• Extreme Value Analysis (EVA)

In EVA, the sensitivities of the specified outputs are computed. If the sensitivity of a particular input parameter is positive, it is set to low to compute the

low output value and to high to compute the high output value. If the sensitivity of the parameter is negative, the parameter is set to high to compute the

low output value and to low to compute the high output value. The change and level results are shown for both EVA Low and EVA High. As a general rule,

RSS and Monte Carlo generally produce similar results and both are generally lower than the EVA results. EVA represents extremes that are not often seen

but that can theoretically happen and so may be a better measure of worst case when there is no possibility of repair or where safety is of paramount concern.

You can access the Worst Case routines from the AC, DC, DC Transfer, and transient analysis menus or with ALT+6.


Performance Plots/Functions

Micro-Cap provides a group of functions for measuring performance-related curve characteristics. These functions let you measure performance related values such as rise time, fall time, pulse width, frequency, period, and many others. The functions may be used to analyze any waveform or curve generated during the course of an analysis. Performance functions may be used as follows:

Immediate mode: In this mode, you click on the Performance button, [image], and select a function from the list. The function is then applied to the curve specified in the Expression list box curve and the numeric result printed in the dialog box.

Performance Tag: In this mode, the left mouse button is used to place a performance tag which measures a performance parameter for the current plot and the plots of any subsequent runs. This includes stepped runs, Monte Carlo runs, or even simple dynamic edits. In each case the tag measures the quantity dynamically and adapts its display to show the new value.

Performance plots: In this mode, you do multiple runs by stepping numeric parameters and then create a plot showing how the performance function varies with the stepped variables. You can create two and three dimensional performance plots.

Monte Carlo plots: In this mode, you run multiple Monte Carlo runs and then create a histogram showing how the performance function varies statistically.

All performance functions share one trait. They extract a single number (the performance function) from a group of numbers (the plot or curve). So performance functions are a kind of data reduction. They reduce an array of points, e.g. the plot of V(OUT) vs. Time, to a single number, e.g. RiseTime.

Go To Performance dialog box

Performance Functions

Performance function properties

Performance Window Properties dialog box


Periodic Steady State

Periodic Steady State uses techniques pioneered by Aprille and Trick to calculate the periodic steady state, removing any short term transients from the time-domain waveforms, greatly simplifying many types of circuit analysis problems. It is available for use in

Transient, Harmonic, and Intermodulation analyses.

Periodic Steady State assumptions

Periodic Steady State dialog box

Periodic Steady State overview


Analysis Plot Properties dialog box

This dialog box, which is used to change an analysis window, controls all aspects of the plot. This dialog box is invoked by clicking on the Properties command button in the Analysis limits, by clicking on the Properties button, [image], in the tool bar, by double clicking on the analysis window when in Select mode, or by hitting the F10 hotkey. It consists of the following:

Plot page

Scales and Formats page

Colors, Fonts, and Lines page

Scope page

Fourier page

Header page

Numeric Output page

Save Curves page

Tool Bar page

OK: This accepts any changes made and exits the dialog box.

Cancel: This ignores any changes made and exits the dialog box.

Apply: This redraws the plot behind the dialog box using the current settings so you can view what the settings look like before committing to them.

Help: This accesses the help topic for this dialog box.

Default Values

Many of the Properties panels have two buttons to allow selection and definition of default values:

Default: This button copies the current set of default parameters/options to the panel, overwriting any changes you have made.

Set Default: This button makes the current set of parameters/options the standard defaults for the panel. This alters the standard defaults for this panel only but it does so for all future uses of the Default button and for all newly created circuits as well, so use it carefully.

To restore the original defaults go to:

Options menu / Default Properties for New Circuits

Select the appropriate property panel and click on the Default button. This restores the default values on the F10 Properties panel to the original values.


Probe

Probe is another way to view simulation results. It lets you point to a location in a schematic and see the curves associated with the node or component at that point. It functions exactly like a normal simulation, but accesses all of the variables for each solution point from a disk file. When you first invoke Probe, the program determines if there is an up-to-date simulation file in the working data directory. If not, it runs the analysis and creates the simulation file. When you click the mouse at a particular place in the schematic, Probe determines where the mouse pointer is, extracts from the file the appropriate variable for both the vertical and horizontal axes, and plots the resulting curve.

The simulation or analysis run is conducted according to the values set in the Probe Transient Analysis Limits dialog box, Probe AC Analysis Limits dialog box, or Probe DC Analysis Limits dialog box. These dialog boxes can be accessed by hitting F9 when in Probe. For example, in transient analysis, one of the important values is Time Range, which determines how long the analysis will run. To change this or any other value, press F9 to access the dialog box. This will present an abbreviated version of the standard dialog box. You can edit the fields as needed. Press F2 to rerun the analysis.

Plots are constructed using the properties from Options / Default Properties for New Circuits / Analysis Plots. Numeric scales and Cursor mode values are formatted using the Scales and Formats settings. Plot text, line properties, and colors are taken from the Colors, Fonts, and Lines settings. Tool bar choices are taken from the Tool Bar settings.

You can temporarily change plot properties from the Properties dialog box (F10). These changes are used during the current Probe session and are discarded after exiting Probe. Subsequent invocations of Probe will start again with the settings from Options / Default Properties for New Circuits / Analysis Plots.

AC analysis variables

DC analysis variables

Editing the schematic in Probe

Probe Properties dialog box

Probe menu

Probe regions

Probing a SPICE file

Probing macros and subcircuits

Transient analysis variables


Scope

Scope is a term for the collection of tools for displaying, analyzing, and annotating the analysis plot and its curves. It is available in transient, AC, DC, and Distortion analysis. It lets you expand, contract, pan, manipulate curves, and display their numeric values. Cursors are available with commands to locate local curve peaks, valleys, maxima, minima, slopes, inflection points, and specific values. Tags, text, and graphics are available to annotate and document the plot.

Adding graphics to the analysis plot

Adding text to the analysis plot

Analysis plot modes

Analysis Plot Properties dialog box

Panning the analysis plot

Scaling the analysis plot

Scope menu

Simulation control

Tagging the analysis plot

View commands


Sliders

Sliders are graphical controls used to alter component values or model parameters in a direct and immediate way. Like stepping, they show how parameter values affect the analysis curve, but a slider does it in a spontaneous and intuitive way. Sliders are available in all analysis modes.

Slider Windows dialog box

Slider dialog box


State Variables Editor

The State Variables Editor is used to review or edit the values of the state variables. The editor displays lists of node voltages, inductor currents, and digital node levels. The scroll bars may be used to review values not visible on the display. Any value may be edited.

The command buttons function as follows:

Close: This exits the dialog box.

Clear: This immediately sets all analog values to zero. Digital node levels are set to 'X'.

Format: This lets you set the numeric format to be used in the Write, Print, and .IC commands.

Read: This prompts for a file name to import the state variables from. The most common name is CIRCUITNAME.TOP, but it can be any file that has the same numbered and named variables. This file must have previously been created with the State Variables Editor Write command.

Write: This immediately writes the displayed values to a disk file using a user-supplied file name. This file is available for a simulation through the Read option available in the Transient Analysis Limits dialog box Run Options. The Read option uses the values stored in this file at the Run initialization stage. To use the Read options with this file, the .TOP file must have a name in the format CIRCUITNAME.TOP.

Print: This copies the values to a file called CIRCUITNAME.SVV. To send the values to a printer, you must perform a print operation from that file.

.IC: This command translates the existing state variables into .IC statements and saves them in the circuit's text area. The following translations are made:

State variable IC statement

Node voltage .IC V(Node name) = Node voltage

Inductor current .IC I(Inductor name) = Inductor current

Digital node state .IC D(Digital node name) = Digital node state

The purpose of this command is to provide a handy way to create .IC statements, which some prefer as a means of initializing state variables.

NODESET: This statement works in the same manner as the .IC statement, but produces a .NODESET statement. .IC statements hold the specified initial condition throughout the operating point. .NODESET statement initial cinditions hold for one iteration only.

Help: This accesses the State Variables Editor help topic.

It is important to note that the clear and read commands, and all manual edits result in immediate changes, as opposed to the delayed changes made by the Analysis Limits options. The Zero, Read, and Leave options from the Analysis Limits dialog box affect the values at the start of the simulation (Run initialization).


Stepping

Stepping is the process of varying a parameter value to see its effect on circuit behavior. Stepping systematically alters the value of one or more parameters of one or more components and then runs the analysis, drawing multiple branches for each waveform. Earlier versions of the program placed restrictions on changing some variables, such as the model level and parasitic resistances. Most parameter types can now be stepped, including attribute parameters like the resistance of a resistor, model parameters like a transistor beta, and symbolic parameters created with a .define or a .param command. If the parameter changes the equation matrix, Micro-Cap simply recreates the equations. For each parameter set, a run is made and the specified waveforms plotted. Transient, AC, DC, Distortion, Dynamic AC, and Dynamic DC analysis all provide the Stepping feature. This feature cannot be used simultaneously with Monte Carlo analysis, so make sure it is disabled.

Stepped waveforms are plotted on the same graph. To distinguish one from the other, use Cursor mode and the UP ARROW/DOWN ARROW cursor keys to switch between branches. You can also hold the ALT key down and click the left or right mouse button, and the curve nearest the mouse click will be selected with the associated cursor. As the selected branch of the waveform changes, the window title changes showing the value of the stepped parameters (if Auto is enabled in the Plot page of the Properties dialog box).

How stepping works

How to step multiple resistors

Public vs. Private Libraries

Stepping dialog box

Stepping guidelines


Transient Analysis Limits dialog box

When you select Transient from the Analysis menu, Micro-Cap parses the circuit for errors and prepares the internal structures for a transient analysis. If no errors are found, it presents the Analysis Limits dialog box. This dialog box lets you make last minute decisions about the run, like time range for the run, maximum time step, what to plot and print, and various operating, run, and initialization options. The Analysis Limits dialog box is divided into five areas: the Command buttons, Numeric Limits, Waveform Options, Expressions, and Options.

Command Buttons

Run: This command button starts the analysis run. Clicking the Tool Bar menu Run button [image] or pressing F2 will also start the run.

Add: This command adds another Curve options field and Expression field line after the line containing the text cursor. The scroll bar to the right of the expression field scrolls through the curves when there are more than can be displayed.

Delete: This command deletes the Curve option field and Expression field line where the text cursor is.

Expand: This command button expands the text field where the text cursor is into a large dialog box for editing or viewing. To use this feature, click the mouse in the desired text field, and then click the Expand button. This will invoke a text dialog box which lets you view more of the expression.

Stepping: This command invokes the Stepping dialog box .

PSS: This invokes the Periodic Steady State dialog box where you control PSS parameters.

Properties: This command invokes the Properties dialog box which lets you control the analysis plot window and the way curves are displayed.

Help: This command invokes the Help topic for the Transient Analysis Limits dialog box.

Copy: This button [image] invokes saves the non-waveform analysis limits to the clipboard.

Paste: This button [image] pastes the non-waveform analysis limits that have been saved in the clipboard.

Undo: This command [image] undoes prior edits. It is a multistage undo for edits to the data fields. It does not undo part additions/deletions.

Redo: This command [image] restores prior edits. It is a multistage redo for edits to the data fields. It does not redo part additions/deletions.

Numeric Limits

Time Range This field determines the start and stop time for the analysis. The format of the field is:

<tmax> [,<tstart>]

The run starts with time equal to zero and ends when time equals <tmax>. Data capture begins for both printing and plotting at <tstart>.

Maximum Time Step: This field specifies a maximum time step for the run. Micro-Cap will choose as large a time step as possible, consistent with maintaining the specified error tolerance, RELTOL . Error tolerance is primarily determined by monitoring the time rate of change of the charge and flux. For circuits containing capacitance or inductance, the time step control routine will eventually increase the time step to the specified Maximum Time Step value. By selecting a small Maximum Time Step value, more data points are produced and hence smoother waveforms are generated. This does not necessarily imply greater accuracy, just smoother waveforms. Accuracy is controlled by the internal LTE (Local Truncation Error) time step control algorithms. The default value for Maximum Time Step is (tmax-tmin)/50.

Number of points: The contents of this field determine the number of printed values in the numeric output. It determines the actual number of rows in the printout table. The values in the numeric output table are interpolated from the actual waveform values. If no waveform has numeric output specified then this field will have no effect. The default value is 51. Note that this number is usually set to an odd value to produce an even print interval. The print interval is determined by:

print interval = (tmax-tmin)/(<number of points>-1)

The Number of Points field will be disabled unless at least one of the waveforms specified in the analysis limits has its Numeric Output icon enabled. The Numeric Output icon is located in the Curve Options which is the group of icons located to the left of each waveform line.

Temperature: This field specifies the global temperature of the run. The values are specified in degrees Celsius. This temperature is used for each device unless individual device temperatures are specified. If the Temperature list box shows Linear or Log, the format is:

<high>[,<low>[,<step>]]

Temperature is stepped from Low to High in increments of Step for Linear or Low is multiplied by Step until High is reached for Log. One complete analysis is performed for each temperature value. If a single value is entered, the analysis is run at that temperature. Omitting Step produces two analyses, one at High and one at Low. If the Temperature list box shows List, the format is:

<t1>[,<t2>[,<t3>[,...]]]

where <t1>,<t2>,<t3>,... are individual values of temperature. One analysis is done at each specified temperature. The analysis temperature can be used as a variable in expressions. The TEMP variable, when used in expressions, takes on the values prescribed in this field.

Retrace Runs: This field specifies the number of runs that will be performed when Retrace is selected in the State Variables option. For the first run, normal initialization is done and, if requested, the operating point is calculated. Initial conditions are retained for subsequent runs, whether invoked manually with F2 or automatically by using a number greater than 1 in the Retrace Runs field.

Curve Options

These fields are located below the Numeric Limits field and to the left of the Expressions field. Each waveform option affects only the waveform in its row. The options function as follows:

Save/Plot: The first option toggles between Save and Plot [image], Save and Don't Plot [image], and Don't Save or Plot [image]. If you save but don't plot, you can later add the plot back to the display from the Properties (F10) dialog box.

X Log/Linear Scale: This toggles the X-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Y Log/Linear Scale: This toggles the Y-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Color: The [image] option accesses the Color menu. There are 64 possible color choices for an individual waveform. The button reflects the selected color.

Numeric Output: The [image] button selects curves for numeric output. Numeric output is directed to a file named CIRCUITNAME.TNO and is also displayed in the Numeric Output window. The number of values printed is determined by the value placed in the 'Number of Points' field in the Numeric Limits. The Numeric Output window is accessed from the Transient menu.

More: Allows manipulating waveforms (moving, deleting, copying, pasting, and inserting).

Page: This field lets you organize waveforms into different pages which can be selected for viewing from the tabs at the bottom of the plot window when the simulation is finished. Waveforms that share the same page name will be placed on the same page. Any unspecified entries are assigned to a page called "Main".

Plot Group: A number from 1 to 9 in this column arranges the waveforms into different plot groups. All waveforms with like numbers are placed in the same plot group. If the field is blank the waveform is not plotted.

Expressions

These fields specify the horizontal (X) and vertical (Y) scale ranges and expressions. Micro-Cap can evaluate and plot a wide variety of expressions for either axis. Usually these are simple, one variable affairs like T (time), V(1) (voltage at node 1), or D(1) (digital state of node 1). They may, however, be more complicated expressions like V(2)*I(V1)*sin(2*PI*1E6*T).

Clicking the right mouse button in the Y expression field invokes the Variables list which lets you select variables, constants, functions, operators, and curves, or expand the field to allow editing long expressions. Clicking the right mouse button in the other fields invokes a simpler menu showing suitable choices.

X Expression: The fields in this column are used to specify the expressions for the X-axis variables. Usually this column contains the simple expression, T for (Time), but more complicated expressions like H(K1) (H field of core K1) can be used.

Y Expression: The fields in this column are used to specify the expressions for the Y-axis variables. Typically, this field contains simple expressions for node voltage like V(12,11), or source current like I(V1), but more complex expressions like V(VCC)*I(VCC) (power flow from the VCC source) are often used.

X Range: The X Range specifies the numeric scales to be used when plotting the X expressions.

The format is:

<high> [,<low>] [,<grid spacing>] [,<bold grid spacing>]

<low> defaults to zero. [,<grid spacing>] sets the spacing between grids. [,<bold grid spacing>] sets the spacing between bold grids. Placing "AUTO" in the scale range calculates that individual range automatically. The Auto Scale Ranges option calculates scales for all ranges during the simulation run and updates the X Range fields. The Auto Scale (F6) command immediately scales all curves, without changing the range values, letting you restore them with CTRL + HOME if desired. Note that <grid spacing> and <bold grid spacing> are used only on linear scales. Logarithmic scales use a natural grid spacing of 1/10 of the next major grid value and bold is not used. Auto Scale uses the number of grids specified in the Properties dialog box (F10) / Scales and Formats / Auto/Static Grids field.

Y Range: The fields in this column are used to set the scale ranges for the Y waveforms using the same format as above.

Options

The transient options are to the right of the Numeric Limits field. These options are controlled through either a drop-down list or a check box. The Run options and State variables are controlled by a drop-down list and can be accessed two ways. Clicking the mouse on the drop-down arrow button will bring up the list of options. The list can also be activated by pressing ALT + (the underscored letter in the list title), and the list can then be scrolled by the cursor keys. The other options have check boxes. Clicking the mouse in the box will toggle the options on or off with an X in the box indicating that the option is enabled.

The options available from here include:

Run Options

Normal: This runs the simulation without saving it to disk.

Save: This runs the simulation and saves it to disk, using the same format as in Probe. The file name is CIRCUITNAME.TSA.

Save V and I Only: During a run, Micro-Cap generates many variables. Saving them all to disk for display by Probe can create huge files. This option saves space and lowers access time by saving only time, frequency, digital states, voltage, and current variables. It discards the remainder, including power, charge, flux, capacitance, inductance, resistance, and magnetic field values.

Retrieve: This loads a previously saved simulation and plots and prints it as if it were a new run. The data file read is CIRCUITNAME.TSA.

State Variables

Zero: This sets the initial values of the state variables (node voltages, inductor currents, digital states) to zero or 'X'.

Read: This reads a previously saved set of state variables and uses them as the initial values for the run. The default data file read is CIRCUITNAME.TOP. These files are created in the State Variables Editor .

Leave: This leaves the current values of the state variables alone. They retain their last values. If this is the first run, they are zero. If you have just run an analysis without returning to the Schematic Editor, they are the values at the end of the run. If the run was an operating point only run, the values are the DC operating point.

Retrace: This runs the analysis N times, where N is the number in the Retrace Runs field. For the first run, normal initialization is done and, if requested, the operating point is calculated. Initial conditions are retained for subsequent runs, whether invoked manually with F2 or automatically by using a number greater than 1 in the Retrace Runs field.

If the circuit contains a lossy transmission line component, the Leave and Retrace options are not available.

Operating Point: This calculates a DC operating point. It uses the initial state variables as a starting point and calculates a new set that represents the DC steady state response of the circuit to the T=0 values of all sources.

Operating Point Only: This calculates a DC operating point only. No transient run is made. The state variables are left with the final operating point values. This is the way you set up the values prior to using the Schematic Editor's 'View Node Voltages/States' option to display the operating point voltages directly on the schematic.

Auto Scale Ranges: This sets the X and Y range to 'AUTO' for each new analysis run. If disabled, the existing scale values from the Range fields are used.

Accumulate Plots: This accumulates waveforms or curves that result from editing the circuit. The Clear Accumulated Plots [image] command clears accumulated plots.

Fixed Time Step: This option forces the program to use a fixed time step equal to the specified Maximum Time Step. This feature is made available for theoretical study and is not often used. The native variable time step based upon local truncation error theory is far more efficient.

Periodic Steady State: This option uses a shooting method to eliminate transients and produce steady state waveforms. Transient-free waveforms are essential for accurate results in harmonic and intermodulation distortion, switch-mode, and RF circuits. If the option is enabled, the program runs a series of full transient analyses, with each iteration ideally producing a more stable waveform. You can watch the progress on the screen as each plotted waveform is shown and on the status bar where the periodicity error is shown for each iteration. The bottom of the Schematic Info page also recaps the PSS iteration and error history.

Ignore Expression Errors: This option ignores plot expression errors. This is handy when circuit regions are temporarily enabled and disabled, creating errors in the plot expressions due to missing components or nodes.

The Run Options, State Variables, and Analysis Options affect the simulation results. To see the effect of changes of these options you must run a simulation.

Resizing: The Analysis Limits dialog box can be resized in a variety of ways.

Field size adjustment: Adjust the field sizes by dragging the lines that separate the column titles (e.g. X Expression, Y Expression, etc.).

Auto-size: Click the auto-size button to the right of the Y Range field to automatically adjust the field sizes to match existing expression lengths.

Grow: Drag the Grow icon in the lower right corner of the dialog box to change the shape / size of the dialog box.


Transient menu

The Transient menu provides these options:

Run: (F2) This starts the analysis run. It performs the same function as clicking the Run command button in the Analysis Limits dialog box.

Limits: (F9) This accesses the Analysis Limits dialog box.

Stepping: (F11) This accesses the Stepping dialog box.

Optimize: (Ctrl+F11) This accesses the Optimize dialog box.

Worst Case: (Alt+6) This accesses the Worst Case dialog box.

Analysis Window: (F4) This shows the analysis plot. It is used to re-display the analysis plot after the Numeric Output window has been displayed.

Watch: (Ctrl+W) This displays the Watch window where you define expressions or variables to watch during a breakpoint invocation.

Breakpoints: (Alt+F9) This accesses the Breakpoints dialog box. Breakpoints are Boolean expressions that define when the program will enter single-step mode so that you can watch specific variables or expressions. Typical breakpoints are T>=100ns AND T<=10ns, or V(OUT)>5.5.

Operating Point Methods (Ctrl + Shift + O): This accesses the Operating Point Methods dialog box which lets you select the operating point method to be used and the order in which each is tried.

3D Windows

Add 3D Window: This invokes the 3D Properties dialog box which lets you add a 3D plot.

3D Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more 3D plots.

Available 3D Windows: This is a list of all available 3D windows that have been created with this circuit.

Performance Windows

Add Performance Window: This invokes the Performance Window Properties dialog box which lets you add a performance plot.

Performance Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more Performance plots.

Available Performance Windows: This is a list of all available Performance windows that have been created with this circuit.

FFT Windows

Add FFT Window: This invokes the FFT Window Properties dialog box which lets you add a FFT plot.

FFT Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more FFT plots.

Available FFT Windows: This is a list of all available FFT windows that have been created with this circuit.

Slider

Add Slider: This invokes the Slider dialog box which lets you assign a circuit parameter to a slider as a way to modify the parameter's value and see the plot update accordingly.

Slider Windows: This invokes the Slider Windows dialog box which lets you show, close, and delete existing sliders.

Available Sliders: This is a list of all available sliders that have been created with this circuit.

Numeric Output: (F5) This shows the Numeric Output window.

State Variables Editor: (F12) This accesses the State Variables Editor. This editor displays the final time value for all nodes.

Reduce Data Points: This invokes the Data Point Reduction dialog box. It lets you discard every n'th data point. This is useful when you use very small time steps, but do not need all of the resulting data points produced. Once deleted, the data points cannot be recovered.

Smoke: This invokes the Smoke analysis window. Smoke tests device operating conditions against user-defined limits and displays a color-coded chart depicting how close each device is to exceeding the limits.

Exit Analysis: (F3) This closes all of the analysis windows and returns you to the schematic.


Using the P Key

During a simulation run, the value of the expressions for each curve can be seen by pressing the 'P' key. This key toggles the printing of the numeric values on the analysis plot adjacent to the expressions. This is a convenient way to check the course of a new, lengthy simulation when the initial plot scales are unknown. This feature may significantly slow the simulation, so only use it to "peek" at the numeric results, then toggle it off with the 'P' key.

You can adjust the frequency at which the P key prints at Circuit Properties / Print Values. This number defaults to 1 so that the program prints every data point. Setting this value to 10 will cuase it to print every 10'th data point.


AC Analysis description

AC analysis is small-signal or linear analysis. This means that all circuit variables are assumed to be linearly related. If you double one voltage, you double any related voltages. When you plot or print V(1), you are seeing the small-signal linear voltage between node 1 and the ground node.

Using a small-signal model of each device in the circuit, the program constructs a set of linear network equations and solves for every voltage and current in the circuit over the specified frequency range. The program obtains the small-signal models for each device about the operating point values by linearizing each device in the circuit about the state variable values. These are usually the result of an operating point calculation, but may also result from a read, from edits in the State Variables editor, or may simply be left over from the last run depending upon the selected State Variables option..

Linearizing means replacing a device's nonlinear model with a simple constant that expresses a linear relationship between the terminal voltages and currents of the device. The linear model is assumed to hold for small signal changes about the point at which the linearization takes place, which is usually the DC operating point.

Digital devices are treated as open circuits during the linearization process.

For linear resistors, capacitors, and inductors, the linearized AC value is the same as the constant time-domain value.

For nonlinear passive components whose value changes with bias, the linearized AC value is the time-domain resistance, capacitance, or inductance computed at the operating point. This means in a resistor with a value expression of 1+2*V(10), the V(10) means the time-domain V(10), not the AC small signal V(10). If the operating point calculation produces a DC value of 2 volts for V(10), then the value of this resistor during AC analysis will be 1+2*2 = 5 Ohms. During the small-signal AC analysis, the resistance, capacitance, or inductance does not change. There is an exception to this rule however.

If the component's FREQ attribute is specified, then the FREQ expression is the AC resistance, capacitance, or inductance, and is allowed to be a function of frequency. This attribute is available for resistors, capacitors, inductors, NFV, and NFI components.

For nonlinear components like diodes, JFETs, MOSFETs, and bipolar transistors, the conductances, capacitances, and controlled sources that comprise the AC model are obtained by partial derivatives evaluated at the operating point value. These values are also constant during AC small-signal analysis.

The only devices whose transfer function or impedance can change during AC small signal analysis are the Z transform, Laplace function and table sources, and the components with FREQ attributes. The Z transform and Laplace sources use the complex frequency variable S (j*2*PI*frequency) in their transfer function, so the transfer function changes with frequency during the run.

For waveform sources, the small signal model is simply an AC voltage or current source. The AC value of the source is determined from the parameter line for SPICE components and from the appropriate attribute value for schematic components.

SPICE V or I sources:

The AC magnitude value is specified as a part of the device parameter. For example, consider the VALUE attribute for a V component:

DC 5.5 AC 2.0 120

This source has an AC magnitude of 2.0 volts and AC phase of 120 degrees.

Pulse and sine sources:

All of these sources have their AC magnitude fixed at 1.0 volt.

User sources:

User sources provide a signal comprised of the real and imaginary parts specified in their files. The signal that the User source is using must be defined for AC analysis. If not defined, the AC magnitude will be fixed at 1.0 volt.

Function sources:

These sources create an AC signal only if the FREQ attribute has been specified.

Because AC analysis is linear, it doesn't matter whether the AC amplitude of a single input source is 1.0 volt or 500 volts. If you are interested in relative gain from one part of the circuit to another, then plot V(OUT)/V(IN). This ratio will be the same regardless of the value of V(IN). If the input AC source voltage is 1.0 then it is not necessary to plot ratios, since V(OUT)/V(IN) = V(OUT)/1 = V(OUT). If there is more than one input source with a nonzero AC value, then you can't meaningfully look at gains from one of the source nodes to another node.

The basic sequence for AC analysis is this:

1. Optionally calculate the DC operating point.

2. Compose the linear equivalent AC model for every device.

3. Construct a set of linearized circuit equations.

4. Set frequency to fmin.

5. Solve for all voltages and currents in the linearized model.

6. Plot or print requested variables.

7. Increment frequency.

8. If frequency equals fmax, quit, else increment frequency and go to step 5.


Noise

Micro-Cap, like SPICE, models three types of noise:

Thermal noise

Shot noise

Flicker noise

Thermal noise, produced by the random thermal motion of electrons, is always associated with resistance. Discrete resistors and the parasitic resistance of active devices contribute thermal noise.

Shot noise is caused by a random variation in current, usually due to recombination and injection. Normally, shot noise is associated with the dependent current sources used in the active device models. All semiconductor devices generate shot noise.

Flicker noise originates from a variety of sources. In BJTs, the source is normally contamination traps and other crystal defects that randomly release their captured carriers.

Noise analysis measures the contribution from all of these noise sources as seen at the input and output. Output noise is calculated across the output node(s) specified in the Noise Output field of the AC Analysis Limits dialog box. To plot or print it, specify 'ONOISE' as the Y expression. Similarly, input noise is calculated across the same output nodes, but is divided by the gain from the input source to the output node. To plot or print input noise, specify 'INOISE' as the Y expression.

Because the network equations are structured differently for noise, it is not possible to simultaneously plot noise variables and other types of variables such as voltage and current. If you attempt to plot both noise and other variables, the program will issue an error message.

Because noise is an essentially random process, there is no phase information. Noise is defined as an RMS quantity so the phase (PH) and group delay (GD) operators should not be used.

Individual contributions of noise can be viewed in the numeric output page.

Noise is measured in units of Volts per root Hertz.


Troubleshooting AC

Here are some useful things to remember for AC analysis:

The magnitude of the expression is plotted:

If you ask for a plot of V(OUT), you might wonder what gets plotted as V(OUT) has both an imaginary and a real part. The program plots the magnitude defined as follows:

Condition What is Printed or Plotted

1) IM(V(OUT)) is zero RE(V(OUT))

2) IM(V(OUT)) is not zero MAG(V(OUT))

If the expression is real (i.e. its imaginary part is zero) you get the real part. If the expression is complex (i.e. its imaginary part is nonzero) you get the magnitude of the real part and imaginary parts.

Condition 1 lets you see polarities as the real part can be negative. Condition 2 necessarily masks negative real parts as it requires squaring the real part.

Plotting complex power:

Power expressions in AC plot complex AC power. For example

AC power dissipated in R1 PD(R1)

AC power stored in C1 PS(C1)

AC power stored in diode D1 PS(D1)

AC power dissipated in diode D1 PD(D1)

AC power generated in source V1 PG(V1)

Total power generated PGT

Total power stored PST

Total power dissipated PDT

Unexpected output when bypassing the operating point:

If your circuit is producing strange results and you are not doing an operating point, make sure that the initial conditions you've supplied are correct. You must supply all node voltages, inductor currents, and digital states if you skip the operating point in order to get meaningful results.

Zero output:

If your circuit is producing zero voltages and currents it is probably because the sources are absent or have zero AC magnitudes. Only the PULSE and SIN sources have a nonzero 1.0 default AC magnitude. The User source supplies what its file specifies. Function sources generate an AC excitation equal to the value of their FREQ expression, if any. The other sources either have no AC magnitude at all or else have a 0.0 volt default AC magnitude.

Simultaneous Auto Frequency step and Auto Scale:

If you select both Auto frequency stepping and Auto Scale, the first plot will probably be course. Auto frequency stepping uses the plot scale employed during the run to make dynamic decisions about a suitable frequency step. If Auto Scale is in effect, the plot scale employed during the run is preset to a very course scale. The frequency steps are not referenced to the actual range of the waveform, since it is known only after the run. The solution is to make two runs, and turn off the Auto Scale option after the first run. The second run will have the benefit of knowing the true range of the waveform and will produce a smoother plot.

Flat curves:

If your circuit is a very narrow band reject filter and your gain plot is flat, it is probably because the frequency step control is not sampling in the notch. This can happen when the sweep starts at a frequency far to the left of the notch. Since the plot is very flat, the frequency step is quickly increased to the maximum. By the time the frequency nears the notch, the step exceeds the notch width and the sweep jumps over the notch. The solution is to set the fmin much nearer the expected notch, or use the Log or Linear frequency step methods. If you use a fixed step, make sure the frequency step is smaller than the notch. This can be accomplished by increasing the Number of Points value or decreasing the frequency range and centering it near the expected notch frequency.


DC Analysis Limits dialog box

When you select DC Analysis from the Analysis menu, Micro-Cap parses the circuit for errors and prepares the internal structures for an analysis. If no errors are found, it presents the DC Analysis Limits dialog box. This dialog box lets you make last minute decisions about the run, like variable range, maximum change, and what to print and plot. The Analysis Limits dialog box is divided into five areas: the Command buttons, Numeric Limits, Curve Options, Expressions, and Options.

Command Buttons

Run: This command button starts the analysis run. Clicking the Tool menu Run button [image] or pressing F2 will also start the run.

Add: This command button adds another curve row after the row containing the cursor. A curve row consists of a Curve option field and an expression field. The scroll bar to the right of the expression field scrolls through the curve rows when there are more than can be displayed.

Delete: This command button deletes the curve row where the text cursor is.

Expand: This command button expands the text field where the text cursor is into a large dialog box for editing or viewing. To use this feature, click the mouse in the desired text field, and then click the Expand button. This will invoke a text dialog box which lets you view more of the expression.

Stepping: This command invokes the Stepping dialog box

Properties: This command invokes the Properties dialog box which lets you control the analysis plot window and the way waveforms are displayed.

Help: This command invokes the Help topic for the DC Analysis Limits dialog box.

Copy: This button [image] invokes saves the non-waveform analysis limits to the clipboard.

Paste: This button [image] pastes the non-waveform analysis limits that have been saved in the clipboard.

Numeric Limits

Variable1: This row specifies the Method, Name, and Range fields for variable 1. Its value is usually plotted along the X axis. Each value produces a minimum of one data point per curve. There are four column fields for this variable.

Method: This field specified one of four methods for sweeping the variable:

Auto: In Auto mode the rate of step size is adjusted to keep the point-to-point change less than Maximum Change % value.

Linear: Linear mode uses the following syntax in the Range column:

<final>[,<initial>[,<step>]]

<Initial> defaults to 0.0. <Step> defaults to (<final>-<initial>)/50. Variable 1 starts at <initial>. Subsequent values are computed by adding <step> until <final> is reached.

Log: Log mode uses the following syntax in the Range column:

<final>[,<initial>[,<multiplier>]]

<initial> defaults to <final>/10. <multiplier> defaults to exp(ln(<final>/<initial>)/10). Variable 1 starts at <initial>. Subsequent values are computed by multiplying by <multiplier> until <final> is reached.

List: List mode uses the following syntax in the Range column:

<v1>[, <v2>[, <v3>[, ...[,<vn>]]]]

The variable is simply set to each of the values <v1>, <v2>, ...<vn>.

Name: This field specifies the name of variable 1. The variable itself may be a voltage source, current source, temperature, a model parameter, or a symbolic parameter. If a model is chosen, a parameter must be specified in its accompanying field. For example, if a resistor value is to be swept, the model name for the specified resistor should be selected. Then in the second column, the R (resistance multiplier) parameter should be selected.

Range: This field specifies the numeric range for the variable. The range syntax depends upon the Method field described above.

Variable 2: This row specifies the Method, Name, and Range fields for Variable 2. The syntax is the same as for Variable 1, except that the stepping method options include None and exclude Auto. Each value of Variable 2 produces one complete curve.

Temperature: This field specifies the temperature values to be used during the analysis runs. The values are specified in degrees Celsius. This temperature is used for each device unless individual device temperatures are specified. If the Temperature list box shows Linear or Log the format is:

<high>[,<low>[,<step>]]

Temperature is stepped from Low to High in increments of Step for Linear and Low is multiplied by Step until High is reached for Log. One complete analysis is performed for each temperature value. If a single value is entered, the analysis is run at that temperature. Omitting Step produces two analyses, one at High and one at Low. If the Temperature list box shows List, the format is:

<t1>[,<t2>[,<t3>[,...]]]

where <t1>,<t2>,<t3>,... are individual values of temperature. One analysis is done at each specified temperature. The analysis temperature can be used as a variable in expressions. The TEMP variable, when used in expressions, takes on the values prescribed in this field.

Number of points: The Number of Points field specifies how many points are to be printed if numeric output is enabled. It determines the actual number of rows in the printout table. The values in the numeric output table are interpolated from the actual waveform values. If no waveform has numeric output specified then this field will have no effect. The default value is 51. The print interval is determined by:

print interval = (<final1>-<initial1>)/(<number of points>-1)

<Number of points> values are printed for each value of the Variable 2 source.

The Number of Points field will be disabled unless at least one of the waveforms specified in the analysis limits has its Numeric Output icon enabled. The Numeric Output icon is located in the Curve Options which is the group of icons located to the left of each waveform line.

Maximum change %: This field specifies a limit on the rate of change of the first waveform. This is useful for producing smooth curves. The value entered is interpreted as a percentage. This is used only if Auto is selected as the step method for Variable 1.

Curve Options

These fields are located below the Numeric Limits field and to the left of the Expressions field. Each curve option affects only the curve in its row. The options function as follows:

Save/Plot: The first option toggles between Save and Plot [image], Save and Don't Plot [image], and Don't Save or Plot [image]. If you save but don't plot, you can later add the plot back to the display from the Properties (F10) dialog box.

X Log/Linear Scale: This toggles the X-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Y Log/Linear Scale: This toggles the Y-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Color: The [image] option accesses the Color menu. There are 64 possible color choices for an individual waveform. The button reflects the selected color.

Numeric Output: The [image] button selects curves for numeric output. Numeric output is directed to a file named CIRCUITNAME.TNO and is also displayed in the Numeric Output window. The number of values printed is determined by the value placed in the 'Number of Points' field in the Numeric Limits. The Numeric Output window is accessed from the Transient menu.

Page: This field lets you organize waveforms into different pages which can be selected for viewing from the tabs at the bottom of the plot window when the simulation is finished. Waveforms that share the same page name will be placed on the same page. Any unspecified entries are assigned to a page called "Main".

Plot Group: A number from 1 to 9 in this column arranges the curves into different plot groups. All curves with like numbers are placed in the same plot group. If the field is blank the curve is not printed or plotted.

Expressions

The Expressions field is used to specify the horizontal (X) and vertical (Y) scale ranges and expressions. Some common expressions used are VCE(Q1) (collector to emitter voltage of transistor Q1) or IB(Q1) (base current of transistor Q1).

X Expression: The fields in this column are used to specify the expressions for the X-axis variables.

Y Expression: The fields in this column are used to specify the expressions for the Y-axis variables.

X Range: The fields in this column set the scale ranges for the X waveforms.

<high> [,<low>] [,<grid spacing>] [,<bold grid spacing>]

<low> defaults to zero. [,<grid spacing>] sets the spacing between grids. [,<bold grid spacing>] sets the spacing between bold grids. Placing "AUTO" in the scale range calculates that individual range automatically. The Auto Scale Ranges option calculates scales for all ranges during the simulation run and updates the X and Y Range fields. The Auto Scale (F6) command immediately scales all curves, without changing the range values, letting you restore them with CTRL + HOME if desired. Note that <grid spacing> and <bold grid spacing> are used only on linear scales. Logarithmic scales use a natural grid spacing of 1/10 of the next major grid value and bold is not used. The Auto Scale command uses the Preferences / Auto Scale Grids value to set the grid spacing.

Y Range: The fields in this column are used to set the scale ranges for the Y waveforms using the same format as the X Range.

Variables List: Clicking the right mouse button in the Y Expression fields invokes the Variables List which lets you select variables, constants, functions, and operators, or expand the field to allow editing long expressions. Clicking the right mouse button in the other fields invokes a simpler menu showing suitable choices.

Options

The DC options are to the right of the Numeric Limits field. These options are controlled through either a drop-down list or a check box. The Run options are controlled by a drop-down list and can be accessed two ways. Clicking the mouse on the drop-down arrow button will bring up the list of options. The list can also be activated by pressing ALT + (the underscored letter in the list title), and the list can then be scrolled by the cursor keys. The other options have check boxes. Clicking the mouse in the box will toggle the options on or off with a mark in the box indicating that the option is enabled.

The options available from here include:

Run Options

Normal: This runs the simulation without saving it to disk.

Save: This runs the simulation and saves it to disk. The data file written is CIRCUITNAME.DSA.

Retrieve: This loads a previously saved simulation and plots and prints it as if it were a new run. The data file read is CIRCUITNAME.DSA.

Auto Scale Ranges: This sets the X and Y range to 'AUTO' for each new analysis run. If disabled, the existing scale values from the Range fields are used.

Accumulate Plots: This accumulates waveforms or curves that result from editing the circuit. The Clear Accumulated Plots [image] command clears accumulated plots.

Ignore Expression Errors: This option ignores plot expression errors. This is handy when circuit regions are temporarily enabled and disabled, creating errors in the plot expressions due to missing components or nodes.

The Run Options affect the simulation results. To see the effect of changing these options you must run a simulation.

Resizing

The Analysis Limits dialog box can be resized in a variety of ways.

Field size adjustment: Adjust the field sizes by dragging the lines that separate the column titles (e.g. X Expression, Y Expression, etc.).

Auto-size: Click the auto-size button to the right of the Y Range field to automatically adjust the field sizes to match existing expression lengths.

Grow: Drag the Grow icon in the lower right corner of the dialog box to change the shape / size of the dialog box.


DC menu

The DC menu provides these options:

Run: (F2) This starts the analysis run. It performs the same function as pressing F2 or clicking the Run command button.

Limits: (F9) This accesses the DC Analysis Limits dialog box.

Stepping: (F11) This accesses the Stepping dialog box.

Optimize: (Ctrl+F11) This accesses the Optimize dialog box.

Worst Case: (Alt+6) This accesses the Worst Case dialog box.

Analysis Window: (F4) This shows the analysis plot. It is used to re-display the analysis plot after the Numeric Output window has been displayed. F4 may also be used.

Watch: (Ctrl+W) This displays the Watch window where you define expressions or variables to watch during a breakpoint invocation.

Breakpoints: (Alt+F9) This accesses the Breakpoints dialog box. Breakpoints are Boolean expressions that define when the program will enter single-step mode so that you can watch specific variables or expressions. Typical breakpoints are IC(Q1) <= 10m or V(OUT)>5.5.

Operating Point Methods: This command is not available in DC analysis.

3D Windows

Add 3D Window: This invokes the 3D Properties dialog box which lets you add a 3D plot.

3D Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more 3D plots.

Available 3D Windows: This is a list of all available 3D windows that have been created with this circuit.

Performance Windows

Add Performance Window: This invokes the Performance Window Properties dialog box which lets you add a performance plot.

Performance Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more Performance plots.

Available Performance Windows: This is a list of all available Performance windows that have been created with this circuit.

Slider

Add Slider: This invokes the Slider dialog box which lets you assign a circuit parameter to a slider as a way to modify the parameter's value and see the plot update accordingly.

Slider Windows: This invokes the Slider Windows dialog box which lets you show, close, and delete existing sliders.

Available Sliders: This is a list of all available sliders that have been created with this circuit.

Numeric Output: (F5) This displays the Numeric Output window. The Numeric Output is stored in a file called CIRCUITNAME.DNO.

State Variables Editor: (F12) This accesses the State Variables Editor. The Clear, Read, Write, and .IC buttons are disabled in DC analysis. All you can do is view and print the state variables that result from the last data point of the DC analysis.

Reduce Data Points: This invokes the Data Point Reduction dialog box. It lets you discard every n'th data point. This is useful when you use very small timesteps but do not need all of the resulting data points produced. Once deleted, the data points cannot be recovered.

Exit Analysis: (F3) This quits the analysis and returns to the Schematic Editor.


Troubleshooting DC

Here are some useful things to remember for DC analysis:

IV curves:

To generate IV curves for a device, place a voltage source across the output leads and sweep its horizontal voltage using the Variable 1 source. Place a voltage or current source at the base or gate and step its voltage or current with the Variable 2 source. Load the IVBJT sample circuit for an example of how to do this.

No convergence during a sweep

DC analysis is the most difficult of all the analysis modes, because it does not benefit from the converging effects of capacitors and inductors, as transient analysis does. If convergence fails, especially during a sweep, try changing the starting and/or step value to avoid the problem area.


What happens in Dynamic DC analysis

Dynamic DC is an interactive process in which the user modifies the circuit and the program calculates the DC response immediately and displays one or more measures of the DC state. The process looks like this:

User modifies the circuit

Micro-Cap finds the DC solution

The schematic display is updated

The schematic has four optional display buttons for displaying the circuit's time domain quantities. Each can be individually enabled.

When the Dynamic DC mode is invoked, the Voltages/states button is enabled, so that, at a minimum, the schematic shows these values. To display current, power, or condition you must click these buttons separately.

You can make any kind of change to the schematic and the program will respond by calculating the new DC state. You can add components, rewire, delete components, change parameter values or model statements, in short, any edit you wish.

In addition, the battery, V source, I source, and resistor DC values can be adjusted in one of two ways:

By selecting a device and dragging the slider which appears next to it. The presence of the slider can be enabled or disabled from the Component Slider option in the Slider section of the Preferences dialog box (SHIFT + CTRL + P). By default it is off.

By selecting one of these devices (clicking on it in Select mode) you can use the UP ARROW and DOWN ARROW keys to increase or decrease the source value. One or more parts may be selected for simultaneous manipulation in this way. Each key press changes the value by a fixed percentage value of the high (3 times the original value) and low (-1 times the original value). The percentage value is set in the Limits dialog box.

In addition to these two methods, any circuit parameter can be assigned to its own individual slider through the Slider option under the Dynamic DC menu.

Note that if you drag a component away from a circuit and drop it in an empty space, Micro-Cap will normally object during the analysis setup since this creates one or more nodes with no DC path to ground. Since this is likely to temporarily occur during Dynamic DC, the program always enables the Add DC Path to Ground option during Dynamic DC. After the Dynamic DC mode is exited, the option's original status is restored.


Dynamic DC Display Options

Dynamic AC/DC Display Options

The schematic has four optional display buttons for displaying the circuit's time domain quantities. Each can be individually enabled.

Node voltages / digital states

Device pin currents

Device power (instantaneous)

Device condition (ON, OFF, SAT, LIN, etc.)

When the Dynamic DC or Dynamic AC mode is invoked, the Voltages/states button is enabled, so that, at a minimum, the schematic shows these values. If you wish to display the other quantities (current, power, and condition) you must click these buttons separately.

Note that the display buttons show the indicated quantities for all analysis modes, not just Dynamic DC and Dynamic AC.

After a transient analysis, the buttons display the ending conditions of the transient analysis, which typically is not the DC operating point but the last transient analysis time point. It also has the option to show the RMS, Average, and Peak values that were calculated during the transient analysis. These options need to be enabled in the View page of the schematic's Properties dialog box prior to running the transient analysis. If any of these options were enabled to be calculated, the [image] button lets you choose which measurement to display. These schematic displays would be the result of the transient analysis operating point if the Operating Point Only option has been selected. Note that for RMS power, this is an RMS measurement of the power expression. It is not a measurement such as Vrms * Irms that is frequently used to measure average AC power.

After an AC analysis, the buttons show the results of the last DC operating point performed during the analysis, if one was performed. The DC operating point is recommended but optional in AC.

After a DC analysis, the buttons show the results of the last DC sweep point.


Dynamic DC Limits dialog box

When Dynamic DC mode is invoked, its Analysis Limits dialog box is presented to let you set up or change the analysis conditions. It consists of the following:

Display buttons: There are several buttons for controlling the display. Each can be individually enabled, from within the dialog box or, after it is closed, from the tool bar.

Grid Text

Attribute text

Node numbers

DC node voltages/ states

DC pin currents

DC power terms

Conditions

Pin connections

Temperature: This is the temperature at which the analysis is to be run.

Slider Percentage Step Size: This is the percent change that occurs for each key press that increases (Up Arrow) or decreases (Down Arrow) the value of a selected resistor or source.

Place Text: This check box enables the placement of grid text in the schematic showing the Dynamic DC parameters.

OK: This exits the dialog box, but Dynamic DC mode is still in effect. Edits to the schematic now produce dynamic updates to the selected DC quantities.

Cancel: This exits the dialog box, and ignores any changes to the dialog box contents. Dynamic DC mode is still in effect. Edits to the schematic now produce dynamic updates to the selected DC quantities.

Help: This accesses help information for the dialog box.

Copy: This button [image] invokes saves the non-waveform analysis limits to the clipboard.

Paste: This button [image] pastes the non-waveform analysis limits that have been saved in the clipboard.

Dynamic DC values are always shown with a clear fill to readily distinguish them from Dynamic AC quantities which are shown with a shaded fill.


Dynamic DC menu

Limits: (F9) This accesses the Analysis Limits dialog box.

Stepping: (F11) This accesses the Stepping dialog box.

Optimize: (Ctrl+F11) This accesses the Optimize dialog box.

Operating Point Methods (Ctrl + Shift + O): This accesses the Operating Point Methods dialog box which lets you select the operating point method to be used and the order in which each is tried.

Numeric Output: (F5) This shows the Numeric Output window.

Slider

Add Slider: This invokes the Slider dialog box which lets you assign a circuit parameter to a slider as a way to modify the parameter's value and see the display values update accordingly.

Slider Windows: This invokes the Slider Windows dialog box which lets you show, close, and delete existing sliders.

Available Sliders: This is a list of all available sliders that have been created with this circuit.

Exit Analysis (Shift+F3): This exits the analysis.


Dynamic DC Optimize dialog box

Dynamic AC/DC Optimize dialog box

This dialog box defines all of the settings and displays the results for any optimization performed. It consists of the following:

Find:

-: This removes the corresponding parameter row.

+: This adds a new parameter row.

Get: This invokes a dialog box that lets you select a parameter available for optimization.

Parameter: This is where you select the parameter to be optimized. Click on the Get button to select a parameter. The choice of parameters is the same as in the Stepping dialog box.

Low: This is the lower limit on the parameter value.

Initial: This shows the initial value of the parameter.

High: This is the upper limit on the parameter value.

Current: The current value of the parameter is displayed here during the optimization process.

Optimized: The most optimal value of the parameter found so far is displayed here during the optimization process.

That:

Maximizes, Minimizes, Equates list box: This is where you select one or more optimizing criteria. You can maximize or minimize the chosen expression. You can also match a curve by using the equate option together with the Y-Level performance function.

-: This removes the optimizing criterion for the current row.

+: This adds a new optimizing criterion at the end of the list. You can have multiple maximize or minimize criteria, or multiple equate criteria, but you cannot mix maximize / minimize criteria with equate criteria. Each criterion carries equal weight.

Expression: This field defines the expression that the optimizer will try to minimize, maximize, or equate.

To: The optimizer will try to match the specified expression to this value if equate is selected.

Current: The current value of the expression is displayed here during the optimization process.

Optimized: The most optimal value of the expression found so far is displayed here during the optimization process.

Error: The shows a measure of the error for the row criteria.

Value to Start With:

Initial: This sets the starting values of the parameters to be optimized with the value shown in the Initial column, at the beginning of each optimization method. The methods do not use the optimized value from the prior method.

Existing: This leaves the starting values of the parameters to be optimized with their ending values from any prior optimization method. Each method except the first, gains the advantage of using an already optimized value from the prior method.

Random: This randomly chooses one of the N grid points (High - Low) / N.

Step All: This chooses each of the N grid points (High - Low) / N.

Minimize Dialog: This option minimizes the dialog box so the optimized plot can be seen.

Update Plot: This option updates the plot for each optimization value to show progress towards the optimization goal.

Time: This field shows the cumulative time spent optimizing.

RMS Error: This shows the sum of all criteria errors. In equate optimization, it shows the square root of the sum of the squares of the differences between the target and actual values.

Percent Error: For equate optimizations, this shows the average percentage error.

Optimize: This button starts the optimizer.

Stop: This button stops the optimizer.

Apply: This button modifies the circuit by changing its parameters to the optimized values.

Format: This button lets you choose the numeric format of the displayed values.

Settings: This button invokes the Optimizer Settings dialog box.

Constraints: This button opens up a dialog box to enter constraints. There are four fields for constraints. Each constraint is entered as a Boolean statement. Here are some examples.

PD(R1)<=100m

V(OUT)>=1.2

VCE(Q1)*IC(Q1)<=200m

These constraints force the optimizer to operate within specified bounds.

Close: This button closes the Optimize dialog box.

Help: This button invokes this help topic.


Dynamic DC Stepping dialog box

Dynamic AC/DC Stepping dialog box

This dialog box is invoked from within an analysis by pressing the F11 function key or by selecting it from the Dynamic DC or Dynamic AC menu. The dialog box has four numeric data fields and three radio button options.

Parameter Panels: The dialog box provides tabs for up to twenty parameters, although two or three is a practical maximum. Each tab accesses a panel which controls a single parameter. Stepping for each parameter is enabled when its Step It option is set to Yes. The tab will display the name of the parameter being stepped. When the Step It option is set to Yes, a check mark will also appear in the tab.

Step What: The left Step What list box in each parameter panel specifies the name of the model parameter, component, or symbolic variable value to be stepped. Since dissimilar parts may share the same model name, the electrical definition is shown along with the name. Clicking on the list box displays a list of the items available for stepping. The right Step What list box in each panel specifies the name of the parameter to be stepped. The contents of the list box depends upon whether the Parameter Type option is Component, Model, or Symbolic. Clicking on the list box displays a list of the available parameters. To select a parameter, click on it.

Component: In this case, the left list box shows a list of all part names.

Model: In this case, the left list box shows a list of all model names.

Symbolic: In this case, the left list box shows all available .define parameters.

Temperature: In this case, the left list box is defined with the Temperature variable.

For Model stepping, since dissimilar parts such as NPNs and MOSFETs may use the same model name, the electrical definition accompanies the name, as in this case, 'NMOS Q2'. This specifies that we want to step one of the parameters in all NMOS devices using the model name 'Q2'. Clicking on the list box displays a list of the models or components available for stepping. To select a model, click on it.

The second list box specifies the name of the model parameter to be stepped. Clicking on the list box displays a list of the parameters available for stepping. To select a parameter, click on it.

From: This field specifies the initial value of the parameter to be stepped. When a log step is chosen, this value cannot zero. When List is chosen as the Method, this field contains all of the values the parameter is to be stepped through. Each value needs to be separated by a comma.

To: This field specifies the final value of the parameter to be stepped. When a log step is chosen, this value cannot be equal to zero.

Step Value: The step value either adds to (linear step) or multiplies (log step) the initial value, depending on the choice of stepping method. The Step Value must be a positive number.

Step It

Yes: This enables stepping for the parameter, so that it is active for the next analysis run.

No: This disables stepping for the parameter, so that it is inactive for the next analysis run.

Method

Linear: In the linear method, the step value is added to the initial value until the final value is reached. For example, a 'From' value of 20, a 'To' value of 30, and a 'Step Value' of 5, produces parameter values of 20, 25, and 30.

Log: In the log method, the step value multiplies the initial value until the final value is reached. For example, a 'From' value of 2, a 'To' value of 16, and a 'Step Value' of 2, produces parameter values of 2, 4, 8, and 16.

List: List stepping lets you enter a comma-delimited set of specific values in the From field. An example is, '4,7,8.5,12'.

Parameter Type

Component: This selects Component mode and fills the left 'Step What' list box with the names of all components whose parameters can be stepped. Component stepping lets you step all parameters unique to the component and its private model parameters. It does not step the parameters of other components that use the same model name. For this option to work, each individual component must have its own private copy of the model parameters. Thus the PRIVATEANALOG / PRIVATEDIGITAL preference flags must be enabled for this option to work. If it is not enabled, this option behaves exactly the same as the Model option, it steps all parts that use the model name.

Model: This selects the Model mode and fills the 'Step What' list box with all of the model names used in the circuit. Model stepping changes the selected parameter of all components that use the specified model name. This can potentially effect many devices, and is less selective than Component mode.

Symbolic: Symbols are variables created with a .DEFINE or a .PARAM statement. They can be used in component value parameters or in model parameters. Stepping them is a powerful way of controlling many parameter values. For example, you can control the W and L of many MOSFET devices with this:

.DEFINE W1 2U

.DEFINE L1 0.3U

.MODEL NM1 NMOS (W=W1 L=L1...)

This lets you selectively step only the W and L of the devices that use the symbols W1 and L1.

Temperature: This selects Temperature as the variable to be stepped.

Change: The Change option only comes into play if you are stepping multiple parameters.

Step all variables simultaneously: In this type of change, all parameters change value simultaneously, so you get a small set of matched parameter values. Each parameter must contain the same number of steps. Use simultaneous stepping when you want only specific combinations.

Step variables in nested loops: In this type of change, each parameter changes value independently, so you get all combinations of the specified values. Use nested stepping when you want all combinations of parameter variation.

For example, suppose you step L1 through the values 1u and 2u and you step C1 from 1n to 2n. Simultaneous stepping, will produce two runs, and nested stepping will produce four runs as shown below.

Nested Simultaneous

L1=1u C1=1n L1=1u C1=1n

L1=1u C1=2n L1=2u C1=2n

L1=2u C1=1n

L1=2u C1=2n

Simultaneous stepping requires an equal number of steps for each parameter. If the parameter panels specify different numbers of steps, an error message will be issued. Use nested stepping when you want all combinations of parameter variation. Use simultaneous stepping when you want only specific combinations.

All On: This button turns on the Step It flag for all active panels.

All Off: This button turns off the Step It flag for all active panels.

Start (Next): This calculates the Dynamic DC or Dynamic AC results of the circuit with the values specified in the dialog box. The circuit will be updated in the background. Start will calculate the initial stepped value. Next will then calculate each subsequent value.

Stop: This exits the stepping loop.

Default: This button creates a set of step values ranging from 1/2 to twice the nominal parameter value.

Close: This button exits the dialog box.

Help: This accesses the help topic for this dialog box.


What Happens in Dynamic AC Analysis

This analysis mode displays AC voltage, current, and power terms directly in the schematic as frequency is stepped. It can also display AC values responding dynamically to schematic edits.

In Dynamic AC, the program runs AC analysis for a list of frequency values and then displays AC voltages, currents, and power terms on the schematic.

When the Dynamic AC mode is invoked, the Analysis Limits dialog box is presented to let you set up or change the analysis conditions.


Dynamic AC Limits dialog box

The Dynamic AC Limits dialog box controls the parameters of the Dynamic AC analysis. It consists of the following:

Display buttons: There are several buttons for controlling the display. Each can be individually enabled, from within the dialog box or, after it is closed, from the tool bar.

Grid Text

Attribute text

Node numbers

AC node voltages

AC pin currents

AC power terms

Pin connections

Frequency List: This is list of the frequency values to simulate. Dynamic AC always uses a fixed list of discrete frequencies, rather than a linear or log frequency range.

Temperature List: This is the temperature at which the analysis is to be run. A comma delimited list of temperatures can also be placed in this field. The entire list of frequencies will be analyzed for each value of the temperature entered here.

Slider Percentage Step Size: This is the percent change that occurs for each key press that increases (Up Arrow) or decreases (Down Arrow) the value of a selected resistor or battery.

Complex Value Display: First Value: Complex AC values are generally shown with two numbers. This lets you select what to display in the first number position:

Magnitude: This shows the magnitude of the real and imaginary parts.

Magnitude in dB: This shows the magnitude of the real and imaginary parts in decibels.

Real Part: This shows the real part.

None: This shows nothing in the first position.

Complex Value Display: Second Value: This lets you select what to display in the second number position:

Phase in Degrees: This shows the phase in degrees.

Phase in Radians: This shows the phase in radians.

Imaginary Part: This shows the imaginary part.

None: This shows nothing in the second position.

Place Text: This check box enables the placement of grid text in the schematic showing the Dynamic AC parameters, including frequency, temperature, and the complex number format used.

Start: This starts the analysis. Each press of the button produces one analysis at one of the frequency values. When the end of the list is reached, it starts over at the first frequency in the list. After the first value the button name changes to Next.

Previous: Each press of this button produces one analysis at the prior frequency value.

Stop: Pressing this button stops the analysis at the last frequency, disables the Previous button and restores the name of the Next button to Start.

OK: This exits the dialog box, but Dynamic AC mode is still in effect. Edits to the schematic now produce dynamic updates to the selected AC quantities at the last frequency.

Cancel: This exits the dialog box, and ignores any changes to the dialog box contents. Dynamic AC mode is still in effect. Edits to the schematic now produce dynamic updates to the selected AC quantities at the last frequency.

Help: This accesses help information for the dialog box.

In summary the operation is as follows:

While the Analysis Limits dialog box is displayed:

For each press of the Start/Next or Previous buttons, one frequency point is calculated and the selected AC results displayed on the schematic. Press the OK button to exit the dialog box.

When the Analysis Limits dialog box is not displayed:

The program responds dynamically to edits by running a new analysis and then updating the AC values on the schematic. Any change to the schematic, such as adding or deleting parts, as well as using the cursor keys to control the value of selected resistors, capacitors, inductors, and batteries, SPICE V and I sources, produce a new analysis at the last frequency.

Dynamic AC values are always shown with a shaded fill to readily distinguish them from Dynamic DC quantities which are shown with a clear fill.


Dynamic AC menu

Limits: (F9) This accesses the Analysis Limits dialog box.

Stepping: (F11) This accesses the Stepping dialog box.

Optimize: (Ctrl+F11) This accesses the Optimize dialog box.

Operating Point Methods (Ctrl + Shift + O): This accesses the Operating Point Methods dialog box which lets you select the operating point method to be used and the order in which each is tried.

Numeric Output: (F5) This shows the Numeric Output window.

Slider

Add Slider: This invokes the Slider dialog box which lets you assign a circuit parameter to a slider as a way to modify the parameter's value and see the display values update accordingly.

Slider Windows: This invokes the Slider Windows dialog box which lets you show, close, and delete existing sliders.

Available Sliders: This is a list of all available sliders that have been created with this circuit.

Exit Analysis (Shift+F3): This exits the analysis.


Transfer Function dialog box

Transfer Function analysis dialog box

The dialog box provides the following input fields:

Output Expression: This is where you specify the desired output expression. It can be any legal expression involving any number of DC time-domain variables and functions. Usually it's a simple expression like V(A,B) or I(R1).

Input Source Name: This is the part name of the input source.

The results are placed in these three fields:

Transfer Function: This is the field where the program places the result of the transfer function calculation.

Input Impedance: This is the field where the program places the result of the input impedance calculation.

Output Impedance: This is the field where the program places the result of the output impedance calculation.

Place Text: If this box is checked, then the numeric results are placed into the schematic as grid text when the Calculate button is clicked.

Calculate: This command button calculates the transfer function.

Close: This command button closes the dialog box.

Help: This command accesses the help topic.


What happens in Transfer Function analysis

Transfer function analysis calculates the small-signal DC transfer function from a specified input source to a specified output expression. Depending upon the input source and the output expression the transfer function calculated can be:

Voltage gain: Input voltage source and output expression = V(OUT)

Current gain: Input current source and output expression = I(RL)

Transconductance: Input voltage source and output expression = I(RL)

Transadmittance: Input current source and output expression = V(OUT)

This analysis mode also calculates the small-signal input and output impedances.

To measure the transfer function, the program makes a very small change in the input source DC value and measures the resulting change in the specified output expression value. The ratio of these two quantities produces the transfer function.

To measure the input impedance, the program makes a very small change in the input source DC value and measures the resulting change in the input current or voltage value. The ratio of these changes produces the input impedance.

To measure the output impedance, the program first adds a test voltage source across the node set implicit in the output expression. For example, an output expression such as "V(10,20)" would result in a voltage source between the nodes 10 and 20. If the output expression has no implicit output node set specified, as would be true with an expression like "IB(Q1)", the output impedance will not be calculated and the result N/A (meaning not available) supplied for the answer. If the output nodes fall across a battery, inductor, or other voltage-defined device, the answer 0.0 will be returned, since the DC resistances of these are all zero. Finally a small DC change is made in the output test source and the resulting change in its current noted. The ratio of these two quantities produces the output impedance result.


Worst Case dialog box

The dialog box provides the following input fields:

Inputs: This field shows all circuit parameters that have a LOT tolerance.

Outputs: This field defines one or more output expressions. In DC OP Worst Case Analysis, because there is a single value for any expression, these can be simple expressions like V(OUT) (the DC voltage on node OUT). In AC, DC Transfer, or transient analysis, the output expression must be a performance function like Y_Level(V(A),1,1,10K) (the AC voltage on node A at F=10K). Performance functions extract a single value from a curve of many points. You can right-click in this field to edit existing functions or to add new ones.

Sort By: This option sorts the results from low to high by the selected item.

Check boxes:

Tile Windows: This option tiles the dialog box and the result windows.Otherwise the windows remain as the user has arranged them.

Write to Excel: This creates an Excel file similar to the text file output.

Update Plot: This enables or disables the plot update. If checked, the plots and histograms will be dynamically updated during the runs. If unchecked, the plots are disabled and the Worst Case execution proceeds faster.

Estimate RSS: This option causes the program to estimate the RSS dv (change in output function) as the product of sensitivity and the toleranced value. Otherwise, the dv (function change) is calculated exactly by changing the toleranced quantity to its limit and then running the simulation to see what the dv actually is.

SENS: This option causes the program to compute and show sensitivities in the output window.

RSS: This option causes the program to compute the RSS values.

EVA: This option causes the program to compute the EVA values in the standard way using sensitivities. This method is fast and for the most part reliable, but can be fooled by non-monotonic functions and by cases where the sensitivities change sign over the tolerance band. See wc_ac4.cir for an example of the former, and wc_dc_op4.cir for an example of the latter.

EVA (Optimizer): This option causes the program to compute EVA values by using the Optimizer. It generally is more reliable than the standard EVA method, but substantially slower.

MCA: This option causes the program to compute the Monte Carlo analysis values. There are several options for what to include in the output:

RSS Table: This option prints a table of the tolerances, parameters, variances, and sensitivities associated with the RSS computation.

EVA Table: This option prints a table of the tolerances, parameters, and sensitivities associated with the EVA computation.

Monte Carlo Detail: This option prints the low and high means and standard deviations from the Monte Carlo runs.

Worst Case Change Table: This option prints a table of the worst case overall change in the output function(s).

Worst Case Value Table: This option prints a table of the worst case values in the output function(s).

Worst Case Percent Table: This option prints a table of the worst case percentage change in the output function(s).

Buttons:

Calculate (F2): This starts the calculations and puts the results in the output window and Excel file, if selected.

Properties: This lets you manage numeric formats, bias tolerance libraries, and bias tolerance categories.

Close: This closes the dialog box and saves any changes.

Cancel: This closes the dialog box without saving any changes.

Help: This command accesses the help topic.


Harmonic Distortion Analysis

Harmonic distortion is a type of transient analysis that applies a sinusoidal signal to a named input source, applying specified frequencies and amplitudes, and then measures the resulting distortion in the specified load resistor using the HARM function.

If a pure, single frequency, sine wave signal is applied to the circuit input and if the circuit is perfectly linear, the output will be a sinusoid at the same frequency. The spectral content of the input and output will be the same except possibly in amplitude and phase. There will be no distortion.

If the circuit isn't perfectly linear, some output signal level will be found at frequencies other than the input frequency. In other words, distortion will occur. The Harm function shows the signal level at each harmonic frequency (a frequency which is an integer multiple of the input frequency). If there is significant signal level at these frequencies we usually call it distortion and seek ways to minimize it. However, in an RF circuit such as a mixer, detector, or frequency multiplier, we actually want and expect a frequency-shifted signal.

Many of the things done in distortion analysis could also be done in transient analysis, although the plots would have to be done outside of Micro-Cap using data provided by the transient analysis. Harmonic Distortion automates the setup and creates the appropriate plots to show distortion results easily.

For Harmonic Distortion, a Sin source or a Voltage Source or Current Source of type SINE must be connected to the circuit input. Its frequency and amplitude will be set by values from the Harmonic Distortion Analysis Limits dialog box.

Guidelines:

• Distortion accuracy is sensitive to initial transients: If not using PSS, use Max Simulation Cycles to insure that transients have settled. Start with 10 periods and then increase the number until the plots no longer change.

• Distortion accuracy is sensitive to maximum time steps: Occasionally you can use a maximum time step that is as large as .01/F0 but .001/F0 is sometimes required to generate clean THD plots.

• If you are only concerned with the largest THDs that occur at the highest input signal levels, then you can use larger timesteps to accelerate the run. Larger THD values have smaller relative errors.


Harmonic Distortion Analysis Limits dialog box

The Harmonic Distortion Analysis Limits dialog box controls the settings for the harmonic distortion analysis. It consists of the following:

Command Buttons

Run: This command button starts the analysis run. Clicking the Tool Bar menu Run button [image] or pressing F2 will also start the run.

Add: This command adds another Curve options field and Expression field line after the line containing the text cursor. The scroll bar to the right of the expression field scrolls through the curves when there are more than can be displayed.

Delete: This command deletes the Curve option field and Expression field line where the text cursor is.

Expand: This command button expands the text field where the text cursor is into a large dialog box for editing or viewing. To use this feature, click the mouse in the desired text field, and then click the Expand button. This will invoke a text dialog box which lets you view more of the expression.

Stepping: This command invokes the Stepping dialog box .

PSS: This invokes the Periodic Steady State dialog box where you control PSS parameters.

Properties: This command invokes the Properties dialog box which lets you control the analysis plot window and the way curves are displayed.

Help: This command invokes the Help topic for the Transient Analysis Limits dialog box.

Copy: This button [image] invokes saves the non-waveform analysis limits to the clipboard.

Paste: This button [image] pastes the non-waveform analysis limits that have been saved in the clipboard.

Fundamental Frequency: This is the set of fundamental frequencies (F0) to be used in the analysis. The frequency of the source driving the input will be set to these values. The usual stepping formats are provided:

List: A comma delimited list of values. Example 1K,5K,10K

Linear: End, Start, Step. Example 20K, 1K, 1K

Log: End, Start, Multiplier. Example 20K, 1K, 2

Name of Input Source: This is the name of the source to be used as input. It must be either a Sine Source, or a Voltage Source or Current Source of type SIN. In order to run distortion analysis, one of these sources must be present in the schematic and should be connected to the circuit input.

Input Source Amplitude: This is the amplitude of the input sinusoid. The usual stepping formats are provided.

Name of Load Resistor: This is the name of the load resistor to be used to measure distortion (e.g. RL, RLOAD, R23).

Noise Frequency Range: This is the frequency range over which the noise will be measured. Noise is measured by running AC analysis and computing SQRT(SD(ONOISE*ONOISE)) with the integration limits specified in this field. The noise calculation is used only in THDN (THD+NOISE), SINAD (1/THDN), and SNR.

Temperature: This is the operating temperature for the simulation. It has the usual stepping options.

These next two options are used only if the Periodic Steady State option is disabled.

Max Simulation Cycles: This is the number of fundamental frequency periods that the simulation will run for. It should be long enough to get past any initial transients. A suitable number for most circuits is 50-1000. Note that even though Micro-Cap might run the simulation for the specified number of cycles, it only uses the last full cycle for FFT calculations. For example, if you specified a fundamental frequency of 1kHz and 50 for this field, Micro-Cap would run the simulation for tmax = 50/F0 = 50/1K = 50mS. It would then use that part of the waveform from the end of the 49'th cycle (49mS) to the end of the 50'th cycle (50mS) for the FFT calculations. This truncated waveform can be seen in the plots and is labeled V(RL), if RL is the name of the resistive load.

Steady State Tolerance: Use this value to specify the THD relative change tolerance, below which the program will exit prior to completing the Max Simulation Cycles. Set it to zero if you want the program to complete all of the Max Simulation Cycles.

Time Step Ratio: Use this value to control the maximum time step to be used in the analysis. This value is typically set to 1e-3. It sets the maximum time step to (Time Step Ratio)/F0..

Highest Harmonic in THD: Use this value to specify the largest harmonic to be used in the calculation on THD. It rarely needs to be set larger than 7.

Number of Time Points: This is the number of data points in the numeric output for the transient run. The numeric output for each of the Harmonic plots is controlled by their Properties window (F10) settings. The number of points is set by the number of frequencies times the number of amplitudes.

Number of Frequency Points: This is the number of data points in the AC Analysis run used for noise calculations. It is also used for numeric output for frequency-based curves such as HARM(V(RL)).

Run Options

Normal: This runs the simulation without saving it to disk.

Save: This runs the simulation and saves it to disk, using the same format as in Probe. The file name is CIRCUITNAME.TSA.

Retrieve: This loads a previously saved simulation and plots and prints it as if it were a new run. The data file read is CIRCUITNAME.TSA.

State Variables

Zero: This sets the initial values of the state variables (node voltages, inductor currents, digital states) to zero or 'X'.

Read: This reads a previously saved set of state variables and uses them as the initial values for the run. The default data file read is CIRCUITNAME.TOP. These files are created in the State Variables Editor .

Leave: This leaves the current values of the state variables alone. They retain their last values. If this is the first run, they are zero. If you have just run an analysis without returning to the Schematic Editor, they are the values at the end of the run. If the run was an operating point only run, the values are the DC operating point.

Operating Point: This calculates a DC operating point. It uses the initial state variables as a starting point and calculates a new set that represents the DC steady state response of the circuit to the T=0 values of all sources.

Auto Scale Ranges: This sets the X and Y range to 'AUTO' for each new analysis run. If disabled, the existing scale values from the Range fields are used.

Accumulate Plots: This accumulates waveforms or curves that result from editing the circuit. The Clear Accumulated Plots [image] command clears accumulated plots.

Periodic Steady State: This option uses a shooting method to eliminate transients and produce steady state waveforms. Transient-free waveforms are essential for accurate results in harmonic and intermodulation distortion, switch-mode, and RF circuits. If the option is enabled, the program runs a series of full transient analyses, with each iteration ideally producing a more stable waveform. You can watch the progress on the screen as each plotted waveform is shown and on the status bar where the periodicity error is shown for each iteration. The bottom of the Schematic Info page also recaps the PSS iteration and error history.

Ignore Expression Errors: This option ignores plot expression errors. This is handy when circuit regions are temporarily enabled and disabled, creating errors in the plot expressions due to missing components or nodes.

The Run Options, State Variables, and Analysis Options affect the simulation results. To see the effect of changes of these options you must run a simulation.

Curve Options

These fields are located below the Numeric Limits field and to the left of the Expressions field. Each waveform option affects only the waveform in its row. The options function as follows:

Save/Plot: The first option toggles between Save and Plot [image], Save and Don't Plot [image], and Don't Save or Plot [image]. If you save but don't plot, you can later add the plot back to the display from the Properties (F10) dialog box.

X Log/Linear Scale: This toggles the X-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Y Log/Linear Scale: This toggles the Y-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Color: The [image] option accesses the Color menu. There are 64 possible color choices for an individual waveform. The button reflects the selected color.

Numeric Output: The [image] button selects curves for numeric output. Numeric output is directed to a file named CIRCUITNAME.TNO and is also displayed in the Numeric Output window. The number of values printed is determined by the value placed in the 'Number of Points' field in the Numeric Limits. The Numeric Output window is accessed from the Transient menu.

Page: This field lets you organize waveforms into different pages which can be selected for viewing from the tabs at the bottom of the plot window when the simulation is finished. Waveforms that share the same page name will be placed on the same page. Any unspecified entries are assigned to a page called "Main".

Plot Group: A number from 1 to 9 in this column arranges the waveforms into different plot groups. All waveforms with like numbers are placed in the same plot group. If the field is blank the waveform is not plotted.

Expressions: The plot expressions required for the distortion plots are automatically supplied. You can add additional plots by enabling the disabled plots (by supplying a plot number) or by using the Add button to plot new expressions.

X range: The X Range specifies the numeric scales to be used when plotting the X expressions.

The format is:

<high> [,<low>] [,<grid spacing>] [,<bold grid spacing>]

<low> defaults to zero. [,<grid spacing>] sets the spacing between grids. [,<bold grid spacing>] sets the spacing between bold grids. Placing "AUTO" in the scale range calculates that individual range automatically. The Auto Scale Ranges option calculates scales for all ranges during the simulation run and updates the X Range fields. The Auto Scale (F6) command immediately scales all curves, without changing the range values, letting you restore them with CTRL + HOME if desired. Note that <grid spacing> and <bold grid spacing> are used only on linear scales. Logarithmic scales use a natural grid spacing of 1/10 of the next major grid value and bold is not used. The Auto Scale command uses the Preferences / Auto Scale Grids value to set the grid spacing.

Y range: The fields in this column are used to set the scale ranges for the Y waveforms using the same format as above.

Micro-Cap provides two methods for determining the steady state waveforms from which the FFT extracts distortion numbers.

  • Run a lot of cycles until the initial transients are gone. This is the option used if PSS is not selected. It works robustly if the input signal amplitude is low and the attendant distortion numbers are also low and also when the circuit has an intrinsically fast settling time.

  • Periodic Steady State. This option uses a shooting method to eliminate transients and produce steady state waveforms. If the option is enabled, the program runs a series of full transient analyses, with each iteration producing a more stable waveform. You can watch the progress on the screen as each plotted waveform is shown and on the status bar where the periodicity error is shown for each iteration.

Periodic Steady State (PSS) option is usually the best choice, especially if you are running analyses with a very low level of distortion. It will nearly always yield a more accurate set of plots with a shorter run time.

Resizing: The Analysis Limits dialog box can be resized in a variety of ways.

Field size adjustment: Adjust the field sizes by dragging the lines that separate the column titles (e.g. X Expression, Y Expression, etc.).

Auto-size: Click the auto-size button to the right of the Y Range field to automatically adjust the field sizes to match existing expression lengths.

Grow: Drag the Grow icon in the lower right corner of the dialog box to change the shape / size of the dialog box.


Harmonic Distortion menu

The Harmonic Distortion menu provides these options:

Run: (F2) This starts the analysis run. It performs the same function as clicking the Run command button in the Analysis Limits dialog box.

Limits: (F9) This accesses the Analysis Limits dialog box .

Stepping: (F11) This accesses the Stepping dialog box.

Optimize: (Ctrl+F11) This accesses the Optimize dialog box.

Analysis Window: (F4) This shows the analysis plot. It is used to re-display the analysis plot after the Numeric Output window has been displayed.

Watch: (Ctrl+W) This displays the Watch window where you define expressions or variables to watch during a breakpoint invocation.

Breakpoints: (Alt+F9) This accesses the Breakpoints dialog box. Breakpoints are Boolean expressions that define when the program will enter single-step mode so that you can watch specific variables or expressions. Typical breakpoints are T>=100ns AND T<=10ns, or V(OUT)>5.5.

Operating Point Methods (Ctrl + Shift + O): This accesses the Operating Point Methods dialog box which lets you select the operating point method to be used and the order in which each is tried.

3D Windows

Add 3D Window: This invokes the 3D Properties dialog box which lets you add a 3D plot.

3D Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more 3D plots.

Available 3D Windows: This is a list of all available 3D windows that have been created with this circuit.

Harmonic Distortion Windows

Add Harmonic Distortion Window: This invokes the Harmonic Distortion Properties dialog box which lets you add a performance plot.

Harmonic Distortion Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more Performance plots.

Available Harmonic Distortion Windows: This is a list of all available Performance windows that have been created with this circuit.

Slider

Add Slider: This invokes the Slider dialog box which lets you assign a circuit parameter to a slider as a way to modify the parameter's value and see the plot update accordingly.

Slider Windows: This invokes the Slider Windows dialog box which lets you show, close, and delete existing sliders.

Available Sliders: This is a list of all available sliders that have been created with this circuit.

Numeric Output: (F5) This displays the numeric output for the basic transient waveforms. If a Harmonic Distortion window is active, it invokes the Harmonic Distortion Numeric Output page that lets you create numeric output for the distortion variables.

State Variables Editor: (F12) This accesses the State Variables Editor. This editor displays the final time value for all nodes.

Reduce Data Points: This invokes the Data Point Reduction dialog box. It lets you discard every n'th data point. This is useful when you use very small time steps, but do not need all of the resulting data points produced. Once deleted, the data points cannot be recovered.

Exit Analysis: (F3) This closes all of the analysis windows and returns you to the schematic.


Harmonic Distortion Properties dialog box

This dialog box, which is used to add or change a Harmonic Distortion plot window, controls all aspects of the window. This dialog box is used to edit the plot window when it is invoked by choosing Add Harmonic Distortion Window under the Harmonic Distortion menu, by double clicking on the Harmonic Distortion plot window, by hitting the F10 hotkey, or by clicking on the Properties button, [image]. It consists of the following:

Plot page

Scales and Formats page

Colors, Fonts, and Lines page

Scope page

Header page

Numeric Output page

Tool Bar page

OK: This accepts any changes made and exits the dialog box.

Cancel: This ignores any changes made and exits the dialog box.

Apply: This displays the performance window using the current settings in the dialog box to show how the display would be affected by changes. The changes are still tentative, until the OK button is clicked.

Help: This accesses the help topic for this dialog box.


Intermodulation Distortion Analysis

Intermodulation Distortion analysis is also a type of transient analysis. It applies two sinusoidal signals to the named input source with user-specified non-harmonic frequencies and amplitudes, and then measures the resulting distortion in the specified load resistor using the HARM function.

For the FFT routines to function properly, the transient analysis must run for a period of time equal to an integer multiple of the periods of all frequencies. Depending upon the two frequencies chosen, this requirement can and sometimes does require a long run time. For example, for the two standard CCIF frequencies F1 = 13kHz, and F2 = 14kHz, the requirement is minimally met with a run time of 4ms as this provides 52 periods of F1 and 56 periods of F2. However, for the two standard SMPTE frequencies F1 = 60Hz, and F2 = 7kHz, a run time of 200ms is required as this provides 1400 periods of F2 and 12 periods of F1.

Sometimes you can ease the problem by shifting one of the frequencies. In this case using F1=70, and F2=7K requires only 100ms for 7 periods of 70Hz and 700 periods of 7kHz. The intermodulation distortion is unlikely to change much when F1 changes from 60 to 70 but the run time is halved.

For mixers, the ratio of the two frequencies can approach unity. If this happens the required number of cycles gets very large. For example, with F1=920MHz and F2=921MHz, a tmax of 1us is required to provide 920 cycles of F1 and 921 cycles of F2. That is manageable, but if F1 is changed to 920.99MHz, then a tmax of 0.1ms is required, necessitating more than 1E8 timesteps. As a practical limit, the ratio of F1 to F2 should be less than 0.999.

If PSS is selected the actual run time is the number of PSS iterations times the minimum run time. This is nearly always the best choice. The only time PSS is not used is when a circuit does not converge under PSS, which is rare.

If PSS isn't selected the actual run time is the product of the minimum run time multiplied by the Max Simulation Cycles. Its purpose is to allow sufficient total run time for the transients to settle. Because of the requirement of an integer multiple of each sinusoid's periods, the minimal run time is usually large, so the Max Simulation Cycles value does not need to be as large as in Harmonic Distortion.

For Intermodulation Distortion, a Sin source or a Voltage Source or Current Source of type SIN must be connected to the circuit input. Its two frequencies and amplitude(s) will be set by values from the Analysis Limits dialog box.


Intermodulation Distortion Analysis Limits dialog box

The Harmonic Distortion Analysis Limits dialog box controls the settings for the harmonic distortion analysis. It consists of the following:

Command Buttons

Run: This command button starts the analysis run. Clicking the Tool Bar menu Run button [image] or pressing F2 will also start the run.

Add: This command adds another Curve options field and Expression field line after the line containing the text cursor. The scroll bar to the right of the expression field scrolls through the curves when there are more than can be displayed.

Delete: This command deletes the Curve option field and Expression field line where the text cursor is.

Expand: This command button expands the text field where the text cursor is into a large dialog box for editing or viewing. To use this feature, click the mouse in the desired text field, and then click the Expand button. This will invoke a text dialog box which lets you view more of the expression.

Stepping: This command invokes the Stepping dialog box .

PSS: This invokes the Periodic Steady State dialog box where you control PSS parameters.

Properties: This command invokes the Properties dialog box which lets you control the analysis plot window and the way curves are displayed.

Help: This command invokes the Help topic for the Transient Analysis Limits dialog box.

Copy: This button [image] invokes saves the non-waveform analysis limits to the clipboard.

Paste: This button [image] pastes the non-waveform analysis limits that have been saved in the clipboard.

F1 Frequency: This is the value of the low frequency to be used.

F2 Frequency: This is the value of the high frequency to be used.

Name of LO Source: This is the name of the local oscillator source, if any. It must be either a Sine Source, or a Voltage Source or Current Source of type SIN. It's specified in RF circuits so that its frequency (FL) may be added or subtracted from the H1, IM2, and IM3 frequencies. Addition or subtraction is specified in the Intermodulation Properties (F10) window.

Name of Input Source: This is the name of the source to be used as input. It must be either a Sine Source, or a Voltage Source or Current Source of type SIN. In order to run distortion analysis, one of these sources must be present in the schematic and should be connected to the circuit input.

F1/F2 Level Ratio: This is the ratio of the amplitude of the low frequency sinusoid (F1) to the amplitude of the high frequency sinusoid (F2).

F2 Level: This is the amplitude of the high frequency sinusoid. It can be a single value or a list of values. It has the usual stepping options.

Name of Source Resistor: This is the name of the source resistor for the input port. Its resistance is used in RF circuits to calculate the input power, PIN = (V/2)*(V/2)/RSOURCE. If the None option is selected, then the usual audio convention for input power is used instead, PIN = VIN*IIN.

Name of Load Resistor: This is the name of the load resistor to be used to measure distortion (e.g. RL, RLOAD, R23). It is used to calculate the output power, POUT = V*V/RLOAD.

Noise Frequency Range: This is the frequency range over which the noise will be measured. Noise is measured by running AC analysis and computing SQRT(SD(ONOISE*ONOISE)) with the integration limits specified in this field. Note the noise contribution is used only when the Include Noise option from the distortion window Properties dialog box is checked.

Temperature: This is the operating temperature for the simulation. It has the usual stepping options.

Max Simulation Cycles: This is the multiplier of the minimum run time that determines how long the simulation will run for. It should be long enough to get past any initial transients. A suitable number for most circuits is 10-100. The minimum value is 4.

Time Step Ratio: Use this value to control the maximum time step to be used in the analysis. This value is typically set to 1e-3. It sets the maximum time step to (Time Step Ratio)/F2.

Number of Time Points: This is the number of data points in the numeric output for the transient run. The numeric output for each of the Harmonic plots is controlled by their Properties window (F10) settings. The number of points is set by the number of frequencies times the number of amplitudes.

Number of Frequency Points: This is the number of data points in the AC Analysis run used for noise calculations. It is also used for numeric output for frequency-based curves such as HARM(V(RL)).

Run Options

Normal: This runs the simulation without saving it to disk.

Save: This runs the simulation and saves it to disk, using the same format as in Probe. The file name is CIRCUITNAME.TSA.

Retrieve: This loads a previously saved simulation and plots and prints it as if it were a new run. The data file read is CIRCUITNAME.TSA.

State Variables

Zero: This sets the initial values of the state variables (node voltages, inductor currents, digital states) to zero or 'X'.

Read: This reads a previously saved set of state variables and uses them as the initial values for the run. The default data file read is CIRCUITNAME.TOP. These files are created in the State Variables Editor .

Leave: This leaves the current values of the state variables alone. They retain their last values. If this is the first run, they are zero. If you have just run an analysis without returning to the Schematic Editor, they are the values at the end of the run. If the run was an operating point only run, the values are the DC operating point.

Operating Point: This calculates a DC operating point. It uses the initial state variables as a starting point and calculates a new set that represents the DC steady state response of the circuit to the T=0 values of all sources.

Auto Scale Ranges: This sets the X and Y range to 'AUTO' for each new analysis run. If disabled, the existing scale values from the Range fields are used.

Accumulate Plots: This accumulates waveforms or curves that result from editing the circuit. The Clear Accumulated Plots [image] command clears accumulated plots.

Periodic Steady State: This option uses a shooting method to eliminate transients and produce steady state waveforms. Transient-free waveforms are essential for accurate results in harmonic and intermodulation distortion, switch-mode, and RF circuits. If the option is enabled, the program runs a series of full transient analyses, with each iteration ideally producing a more stable waveform. You can watch the progress on the screen as each plotted waveform is shown and on the status bar where the periodicity error is shown for each iteration. The bottom of the Schematic Info page also recaps the PSS iteration and error history.

Standards: Use these buttons to select the specific values for amplitude and frequency specified by the SMPTE, DIN, and CCIF standards.

Ignore Expression Errors: This option ignores plot expression errors. This is handy when circuit regions are temporarily enabled and disabled, creating errors in the plot expressions due to missing components or nodes.

The Run Options, State Variables, and Analysis Options affect the simulation results. To see the effect of changes of these options you must run a simulation.

Curve Options

These fields are located below the Numeric Limits field and to the left of the Expressions field. Each waveform option affects only the waveform in its row. The options function as follows:

Save/Plot: The first option toggles between Save and Plot [image], Save and Don't Plot [image], and Don't Save or Plot [image]. If you save but don't plot, you can later add the plot back to the display from the Properties (F10) dialog box.

X Log/Linear Scale: This toggles the X-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Y Log/Linear Scale: This toggles the Y-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Color: The [image] option accesses the Color menu. There are 64 possible color choices for an individual waveform. The button reflects the selected color.

Numeric Output: The [image] button selects curves for numeric output. Numeric output is directed to a file named CIRCUITNAME.TNO and is also displayed in the Numeric Output window. The number of values printed is determined by the value placed in the 'Number of Points' field in the Numeric Limits. The Numeric Output window is accessed from the Transient menu.

Page: This field lets you organize waveforms into different pages which can be selected for viewing from the tabs at the bottom of the plot window when the simulation is finished. Waveforms that share the same page name will be placed on the same page. Any unspecified entries are assigned to a page called "Main".

Plot Group: A number from 1 to 9 in this column arranges the waveforms into different plot groups. All waveforms with like numbers are placed in the same plot group. If the field is blank the waveform is not plotted.

Expressions: The plot expressions required for the distortion plots are automatically supplied. You can add additional plots by enabling the disabled plots (by supplying a plot number) or by using the Add button to plot new expressions.

X range: The X Range specifies the numeric scales to be used when plotting the X expressions.

The format is:

<high> [,<low>] [,<grid spacing>] [,<bold grid spacing>]

<low> defaults to zero. [,<grid spacing>] sets the spacing between grids. [,<bold grid spacing>] sets the spacing between bold grids. Placing "AUTO" in the scale range calculates that individual range automatically. The Auto Scale Ranges option calculates scales for all ranges during the simulation run and updates the X Range fields. The Auto Scale (F6) command immediately scales all curves, without changing the range values, letting you restore them with CTRL + HOME if desired. Note that <grid spacing> and <bold grid spacing> are used only on linear scales. Logarithmic scales use a natural grid spacing of 1/10 of the next major grid value and bold is not used. The Auto Scale command uses the Preferences / Auto Scale Grids value to set the grid spacing.

Y range: The fields in this column are used to set the scale ranges for the Y waveforms using the same format as above.

Micro-Cap provides two methods for determining the steady state waveforms from which the FFT extracts distortion numbers.

  • Run a lot of cycles until the initial transients are gone. This is the option used if PSS is not selected. It works robustly if the input signal amplitude is low and the attendant distortion numbers are also low and also when the circuit has an intrinsically fast settling time.

  • Periodic Steady State. This option uses a shooting method to eliminate transients and produce steady state waveforms. If the option is enabled, the program runs a series of full transient analyses, with each iteration producing a more stable waveform. You can watch the progress on the screen as each plotted waveform is shown and on the status bar where the periodicity error is shown for each iteration.

Periodic Steady State (PSS) option is usually the best choice, especially if you are running analyses with a very low level of distortion. It will nearly always yield a more accurate set of plots with a shorter run time.

Resizing: The Analysis Limits dialog box can be resized in a variety of ways.

Field size adjustment: Adjust the field sizes by dragging the lines that separate the column titles (e.g. X Expression, Y Expression, etc.).

Auto-size: Click the auto-size button to the right of the Y Range field to automatically adjust the field sizes to match existing expression lengths.

Grow: Drag the Grow icon in the lower right corner of the dialog box to change the shape / size of the dialog box.


Intermodulation Distortion menu

The Intermodulation Distortion menu provides these options:

Run: (F2) This starts the analysis run. It performs the same function as clicking the Run command button in the Analysis Limits dialog box.

Limits: (F9) This accesses the Analysis Limits dialog box .

Stepping: (F11) This accesses the Stepping dialog box.

Optimize: (Ctrl+F11) This accesses the Optimize dialog box.

Analysis Window: (F4) This shows the analysis plot. It is used to re-display the analysis plot after the Numeric Output window has been displayed.

Watch: (Ctrl+W) This displays the Watch window where you define expressions or variables to watch during a breakpoint invocation.

Breakpoints: (Alt+F9) This accesses the Breakpoints dialog box. Breakpoints are Boolean expressions that define when the program will enter single-step mode so that you can watch specific variables or expressions. Typical breakpoints are T>=100ns AND T<=10ns, or V(OUT)>5.5.

Operating Point Methods (Ctrl + Shift + O): This accesses the Operating Point Methods dialog box which lets you select the operating point method to be used and the order in which each is tried.

3D Windows

Add 3D Window: This invokes the 3D Properties dialog box which lets you add a 3D plot.

3D Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more 3D plots.

Available 3D Windows: This is a list of all available 3D windows that have been created with this circuit.

Intermodulation Distortion Windows

Add Intermodulation Distortion Window: This invokes the Intermodulation Distortion Properties dialog box which lets you add a performance plot.

Intermodulation Distortion Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more Performance plots.

Available Intermodulation Distortion Windows: This is a list of all available Performance windows that have been created with this circuit.

Slider

Add Slider: This invokes the Slider dialog box which lets you assign a circuit parameter to a slider as a way to modify the parameter's value and see the plot update accordingly.

Slider Windows: This invokes the Slider Windows dialog box which lets you show, close, and delete existing sliders.

Available Sliders: This is a list of all available sliders that have been created with this circuit.

Numeric Output: (F5) This displays the numeric output for the basic transient waveforms. If an Intermodulation Distortion window is active, it invokes the Distortion Numeric Output page that lets you create numeric output for the distortion variables.

State Variables Editor: (F12) This accesses the State Variables Editor. This editor displays the final time value for all nodes.

Reduce Data Points: This invokes the Data Point Reduction dialog box. It lets you discard every n'th data point. This is useful when you use very small time steps, but do not need all of the resulting data points produced. Once deleted, the data points cannot be recovered.

Exit Analysis: (F3) This closes all of the analysis windows and returns you to the schematic.


Intermodulation Distortion Properties dialog box

This dialog box, which is used to add or change an Intermodulation Distortion plot window, controls all aspects of the window. This dialog box is used to edit the plot window when it is invoked by choosing Add Harmonic Distortion Window under the Harmonic Distortion menu, by double clicking on the Harmonic Distortion plot window, by hitting the F10 hotkey, or by clicking on the Properties button, [image]. It consists of the following:

Plot page

Scales and Formats page

Colors, Fonts, and Lines page

Scope page

Header page

Numeric Output page

Tool Bar page

OK: This accepts any changes made and exits the dialog box.

Cancel: This ignores any changes made and exits the dialog box.

Apply: This displays the performance window using the current settings in the dialog box to show how the display would be affected by changes. The changes are still tentative, until the OK button is clicked.

Help: This accesses the help topic for this dialog box.


Stability Analysis description

Stability is a variation of AC analysis that uses either the Middlebrook or Tian method to calculate the closed loop Gain Margin and Phase Margin. To use this method the user chooses a place in the circuit to insert a probe. The program breaks the loop at this probe point and measures the appropriate parameters needed in the calculation.

For those who would like to read more of the theory behind these methods consult these references:

1) Tian Method:

"Striving for Small-Signal Stability", Michael Tian, V. Visvanathan, Jeffrey Hantgan,

and Kenneth Kundert, Circuits & Devices, January 2001.

2) Middlebrook Method:

"Measurement of Loop Gain in Feedback Systems", David Middlebrook, International

Journal of Electronics (volume 38, no. 4, pages 485-512, April 1975).


Stability Analysis Limits dialog box

When you select Stability Analysis from the Analysis menu, Micro-Cap parses the circuit for errors and prepares the internal structures for an analysis. If no errors are found, it presents the Stability Analysis Limits dialog box. This dialog box, which is very similar to the AC dialog box, lets you make decisions about the run, like frequency range, maximum change %, and what to print and plot. The Analysis Limits dialog box is divided into five areas: the Command buttons, Numeric Limits, Curve Options, Expressions, and Options.

Command Buttons

Run: This command button starts the analysis run. Clicking the Tool Bar Run button [image] or pressing F2 will also start the run.

Add: This command button adds another curve row after the row containing the cursor. A curve row consists of a curve option field and an expression field. The scroll bar to the right of the expression field scrolls through the curve rows when there are more than can be displayed.

Delete: This command button deletes the curve row where the text cursor is.

Expand: This command button expands the text field where the text cursor is into a large dialog box for editing or viewing. To use this feature, click the mouse in the desired text field, and then click the Expand button. This will invoke a text dialog box which lets you view more of the expression.

Stepping: This command invokes the Stepping dialog box

Properties: This command invokes the Properties dialog box which lets you control the analysis plot window and the way waveforms are displayed.

Help: This command invokes the Help topic for the AC Analysis Limits dialog box.

Copy: This button [image] invokes saves the non-waveform analysis limits to the clipboard.

Paste: This button [image] pastes the non-waveform analysis limits that have been saved in the clipboard.

Numeric Limits

Frequency range: The contents of this field depend upon the type of frequency stepping selected from the adjacent list box. There are four stepping choices:

Linear: This method produces a frequency step such that, with a linear horizontal scale, the data points are equidistant horizontally. The Number of Points field sets the total number of data points employed.

Log: This method produces a frequency step such that with a log horizontal scale, the data points are equidistant horizontally. The Number of Points field sets the total number of data points employed.

List: This method uses a comma-delimited list of frequency points from the Frequency Range, as in 1E8, 1E7, 5E6. The Frequency Range field specifies the frequency range for the analysis.

For the List Option:

The syntax is <Frequency1> [, <Frequency2>] ... [, <FrequencyN>].

For Linear, and Log Options: The syntax is <Highest Frequency> [, <Lowest Frequency>]. If <Lowest Frequency> is unspecified, the program calculates a single data point at <Highest Frequency>.

For the List Options: The syntax is <Frequency1> [, <Frequency2>]...[, <FrequencyN>]

Number of Points: In AC analysis, the data points calculated are the same as the points printed out for Linear and Log frequency steps. If the Auto frequency step method is used, the number of points in the plot is controlled by the Maximum change % value, but the number of points printed in the numeric output is controlled by this field. If either the Linear or the Log step method is selected, the 'Number of points' field determines the number of printed values. The default is 1001. This number is usually set to an odd value to produce an even print interval. The frequency / print intervals are:

For the Linear method, the frequency step and the print interval are:

(fmax-fmin)/(Number of Points - 1)

For the Log method, the frequency step and the print interval are:

(fmax/fmin)^(1/(Number of points - 1))

For the List method, the Number of Points is only used for numeric output.

The Number of Points field will be disabled unless at least one of the waveforms specified in the analysis limits has its Numeric Output icon enabled or the frequency step method has been set to Linear or Log. The Numeric Output icon is located in the Curve Options which is the group of icons located to the left of each waveform line.

Temperature: This field specifies the temperature values to be used during the analysis runs. The values are specified in degrees Celsius. This temperature is used for each device unless individual device temperatures are specified. If the Temperature list box shows Linear or Log the format is:

<high>[,<low>[,<step>]]

Temperature is stepped from Low to High in increments of Step for Linear or Low is multiplied by Step until High is reached for Log. One complete analysis is performed for each temperature value. If a single value is entered, the analysis is run at that temperature. Omitting Step produces two analyses, one at High and one at Low. If the Temperature list box shows List, the format is:

<t1>[,<t2>[,<t3>[,...]]]

where <t1>,<t2>,<t3>,... are individual values of temperature. One analysis is done at each specified temperature. The analysis temperature can be used as a variable in expressions. The TEMP variable, when used in expressions, takes on the values prescribed in this field.

Probe Name: This field specifies the name of the Probe.

Method: This field specifies the method to be used: Middlebrook or Tian.

Curve Options

Save/Plot: The first option toggles between Save and Plot [image], Save and Don't Plot [image], and Don't Save or Plot [image]. If you save but don't plot, you can later add the plot back to the display from the Properties (F10) dialog box.

X Log/Linear Scale: This toggles the X-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Y Log/Linear Scale: This toggles the Y-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Color: The [image] option accesses the Color menu. There are 64 possible color choices for an individual waveform. The button reflects the selected color.

Numeric Output: The [image] button selects curves for numeric output. Numeric output is directed to a file named CIRCUITNAME.TNO and is also displayed in the Numeric Output window. The number of values printed is determined by the value placed in the 'Number of Points' field in the Numeric Limits. The Numeric Output window is accessed from the Transient menu.

Plot Type: This chooses the type of plot that the curve will use. The options are Rectangular, [image], Polar, [image], and Smith Chart, [image]. Clicking on this option toggles through the possible choices.

More: Allows manipulating waveforms (moving, deleting, copying, pasting, and inserting).

Page: This field lets you organize waveforms into different pages which can be selected for viewing from the tabs at the bottom of the plot window when the simulation is finished. Waveforms that share the same page name will be placed on the same page. Any unspecified entries are assigned to a page called "Main".

Plot Group: A number from 1 to 9 in this column arranges the waveforms into different plot groups. All waveforms with like numbers are placed in the same plot group. If the field is blank the waveform is not printed or plotted.

Expressions

The Expressions field specifies the horizontal (X) and vertical (Y) scale ranges and expressions. The expressions are treated as complex quantities. Some common expressions are F (frequency), db(v(1)) (voltage in decibels at node 1), and re(v(1)) (real voltage at node 1). Note that while the expressions are evaluated as complex quantities, only the magnitude of the Y expression vs. the magnitude of the X expression is plotted. If you plot the expression V(3)/V(2), Micro-Cap evaluates the expression as a complex quantity, then plots the magnitude of the final result. It is not possible to plot a complex quantity directly versus frequency. You can plot the imaginary part of an expression versus its real part (Nyquist plot), or you can plot the magnitude, real, or imaginary parts versus frequency (Bode plot).

X Expression: The fields in this column are used to specify the expressions for the X-axis variables. Usually this column contains the simple expression, F (for frequency), but more complicated expressions like I(L1) (AC current through L1) can be used.

Y Expression: The fields in this column are used to specify the expressions for the Y-axis variables. Typically, this field contains simple expressions for node voltage like V(10), or source current like I(V1), but more complex expressions like V(VCC)*I(VCC) (power flow from the VCC source) are often used.

X Range: The fields in this column set the scale ranges for the X waveforms.

<high> [,<low>] [,<grid spacing>] [,<bold grid spacing>]

<low> defaults to zero. [,<grid spacing>] sets the spacing between grids. [,<bold grid spacing>] sets the spacing between bold grids. Placing "AUTO" in the X or Y scale range calculates its range automatically. The Auto Scale Ranges option calculates scales for all ranges during the simulation run and updates the X and Y Range fields. The Auto Scale (F6) command immediately scales all curves, without changing the range values, letting you restore them with CTRL + HOME if desired. Note that <grid spacing> and <bold grid spacing> are used only on linear scales. Logarithmic scales use a natural grid spacing of 1/10 of the next major grid value and bold is not used. The Auto Scale command uses the Preferences / Auto Scale Grids value to set the grid spacing.

Y Range: The fields in this column are used to set the scale ranges for the Y waveforms using the same format as the X range.

Variables List: Clicking the right mouse button in any of the Y expression fields invokes the Variables List which lets you select variables, constants, functions, and operators, or expand the field to allow editing long expressions. Clicking the right mouse button in the other fields invokes a simpler menu showing suitable choices.

Options

The AC options are to the right of the Numeric Limits field. These options are controlled through either a drop-down list or a check box. The Run options and Frequency Step are controlled by a drop-down list and can be accessed two ways. Clicking the mouse on the drop-down arrow button will bring up the list of options. The list can also be activated by pressing ALT + (the underscored letter in the list title), and the list can then be scrolled by the cursor keys. The other options have check boxes. Clicking the mouse in the box will toggle the options on or off with a mark in the box indicating that the option is enabled.

The options available from here include:

Run Options

Normal: This runs the simulation without saving it to disk.

Save All: This runs the simulation and saves it to disk. The data file written is CIRCUITNAME.ASA.

Save V and I Only: During a run, Micro-Cap generates many variables. Saving them all to disk for display by Probe can create huge files. This option saves space and lowers access time by saving only time, frequency, digital states, voltage, and current variables. It discards the remainder, including power, charge, flux, capacitance, inductance, resistance, and magnetic field values.

Retrieve: This loads a previously saved simulation and plots and prints it as if it were a new run. The data file read is CIRCUITNAME.ASA.

State Variables

Zero: This sets the initial values of the state variables (node voltages, inductor currents, digital states) to zero or 'X'.

Read: This reads a previously saved set of state variables and uses them as the initial values for the run. The file is CIRCUITNAME.TOP. This file is created with the State Variables Editor.

Leave: This leaves the current values of the state variables alone. They retain the values present in the State Variables Editor.

Operating Point: This calculates a DC operating point, changing the time-domain state variables as a result. If an operating point is not done, the time domain variables are those resulting from the initialization step (leave, or read). The linearization for AC analysis is done using the state variables after this optional operating point. In a nonlinear circuit where no operating point is done, the validity of the small-signal analysis depends upon the accuracy of the state variables read from disk, edited manually, or enforced by device initial values or .IC statements. In this case, the responsibility of determining accurate and true state variables lies with the user. In other words, don't skip the operating point unless you know what you're doing. This option is disabled when Zero is selected in the State Variables.

Auto Scale Ranges: This sets the X and Y range to 'AUTO' for each new analysis run. If disabled, the existing scale values from the Range fields are used.

Accumulate Plots: This accumulates waveforms or curves that result from editing the circuit. The Clear Accumulated Plots command [image] clears accumulated plots.

Ignore Expression Errors: This option ignores plot expression errors. This is handy when circuit regions are temporarily enabled and disabled, creating errors in the plot expressions due to missing components or nodes.

The Run Options, State Variables, and Frequency Step options affect the simulation results. To see the effect of changing these options you must run a simulation.

Resizing

The Analysis Limits dialog box can be resized in a variety of ways.

Field size adjustment: Adjust the field sizes by dragging the lines that separate the column titles (e.g. X Expression, Y Expression, etc.).

Auto-size: Click the auto-size button to the right of the Y Range field to automatically adjust the field sizes to match existing expression lengths.

Grow: Drag the Grow icon in the lower right corner of the dialog box to change the shape / size of the dialog box.


Stability menu

The Stability menu provides these options:

Run: (F2) This starts the analysis run. It performs the same function as pressing F2 or clicking the Run command button.

Limits: (F9) This accesses the Stability Analysis Limits dialog box.

Stepping: (F11) This accesses the Stepping dialog box.

Optimize: (Ctrl+F11) This accesses the Optimize dialog box.

Analysis Window: (F4) This shows the analysis plot. It is used to re-display the analysis plot after the Numeric Output window has been displayed.

Watch: (Ctrl+W) This displays the Watch window where you define expressions or variables to watch during a breakpoint invocation.

Breakpoints: (Alt+F9) This accesses the Breakpoints dialog box. Breakpoints are Boolean expressions that define when the program will enter single-step mode so that you can watch specific variables or expressions. Typical breakpoints are f>=10k AND f<=100k, or V(OUT)>5.5.

3D Windows

Add 3D Window: This invokes the 3D Properties dialog box which lets you add a 3D plot.

3D Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more 3D plots.

Available 3D Windows: This is a list of all available 3D windows that have been created with this circuit.

Performance Windows

Add Performance Window: This invokes the Performance Window Properties dialog box which lets you add a performance plot.

Performance Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more Performance plots.

Available Performance Windows: This is a list of all available Performance windows that have been created with this circuit.

Slider

Add Slider: This invokes the Slider dialog box which lets you assign a circuit parameter to a slider as a way to modify the parameter's value and see the plot update accordingly.

Slider Windows: This invokes the Slider Windows dialog box which lets you show, close, and delete existing sliders.

Available Sliders: This is a list of all available sliders that have been created with this circuit.

Numeric Output: (F5) This displays the Numeric Output window. The Numeric Output is stored in a file called CIRCUITNAME.SNO.

State Variables Editor: (F12) This accesses the State Variables Editor used for editing the state variables for the beginning of a run.

Reduce Data Points: This invokes the Data Point Reduction dialog box. It lets you discard every n'th data point. This is useful when you use very small timesteps, but do not need all of the resulting data points produced. Once deleted, the data points cannot be recovered.

Exit Analysis: (F3) This quits the analysis and returns to the Schematic Editor.


Eliminating a transient

Some circuits, such as switching power and rectified supplies, have initial transients associated with their periodic behavior. One must simulate for a certain amount of time before it is possible to obtain a periodic waveform. This poses a minor obstacle should you want to use an operator that requires a periodic waveform. The way to bypass the transient is explained as follows. The following example assumes that a periodic waveform is available at 10us and that its period is 2us.

1. First, set the Time Range for 12us.

2. In the X expression, place an F for frequency, and in the Y expression place the desired signal processing operator.

3. Go to the Analysis Properties dialog box. You can click the Properties button in the Analysis Limits dialog box, or hit F10 if you are anywhere else in the analysis. Select the Fourier panel. Set the Upper Time Limit to 12us and the Lower Time Limit to 10us. The Number of Points may be set to a value such as 1024. The Number of Points must be a number that is binary such as 512, 1024, 2048.

4. Run the analysis.

5. Only the information that is within the 10us to 12us window will be saved after the analysis is completed. All other information is thrown away. The signal processing operator would then be used on the saved 2us portion of the waveform.

The other way to eliminate a transient is to use PSS, described here...Periodic Steady State overview Periodic Steady State overview.


Fourier accuracy

Accuracy of the lower harmonics is affected mainly by the size of the time or frequency step in the analysis run. If there are many high frequency components, then accuracy will be affected by N, since N determines fmax.

The table below summarizes how accuracy is affected by the time step in the circuit FFT1.CIR. This circuit contains a single source generating a pure mixture of DC, 1MHz, 2MHz, and 3MHz sine waves. The result below is for the HARM function applied to the source node, HARM(V(1)). Ideally, the HARM function should return 1.5, 1.0, 2.0, and 3.0 exactly. The extent to which the results differ from these exact values determines the accuracy.

The error in parts per billion (1E9) with N=1024 is as follows:

Max Time Step and % 1'st 2'nd 3'rd

of 1'st harmonic period harmonic harmonic harmonic

1ns (.1%) 3300 13000 30000

.1ns (0.01%) 33 130 300

.01ns (0.001%) 0.3 1.3 3.0

The error in decibels DB(ERROR) with N=1024 is as follows:

Max Time Step and % 1'st 2'nd 3'rd

of 1'st harmonic period harmonic harmonic harmonic

1ns (.1%) -109 -97 -91

.1ns (0.01%) -149 -137 -131

.01ns (0.001%) -191 -177 -170

N has virtually no effect on the accuracy of the lower harmonics.


Fourier page

This panel lets you select the default parameters for Fourier functions used in analysis plots, including number of points to use in the Fourier routine, and autoscaling options.

Upper Time or Frequency Limit: For transient analysis, this sets the upper time limit for Fourier functions. For AC analysis this sets the upper frequency limit that the Fourier functions will operate within.

Lower Time or Frequency Limit: For transient analysis, this sets the lower time limit for Fourier functions. For AC analysis this sets the lower frequency limit that the Fourier functions will operate within. Generally this is set to a value large enough to avoid startup transients in the target waveform. The difference between the upper and lower time periods must be an integral number of periods of the fundamental to avoid aliasing errors.

Frequency Step: This is the fundamental frequency computed from the difference in the upper and lower time limits. If you enter a value, then Micro-Cap computes a compatible value for the lower time limit. The formula used is:

Frequency Step = 1 / (Upper Time Limit - Lower Time Limit)

Number of Points: This sets the number of interpolated data points to use for FFT functions. Typically 1024, 2048, or 4096 are nearly always suitable choices.

Baseline (dB): This sets the lower limit on a dB plot. Any value below this level is set to this level, producing a floor in the plot.

Ignore Phase for dB Below: This sets the lower limit on a dB plot for which the phase plots will be calculated. If there is a dB() plot and a PH() plot then the PH() plot will stay at its last value when the dB() plot reaches this value.

Include DC Harmonic: This option includes the DC harmonic when auto scaling is done. Typically it is disabled.

Autoscale First X Harmonics: This field defines the number of harmonics that will be displayed when an autoscale is performed.

Method: This lets you select between FFT and Fourier Integral for calculating the Fourier series terms. This is usually set to FFT.

Default: This button copies the current set of default parameters/options to the panel, overwriting any changes you have made.

Set Default: This button makes the current set of parameters/options the standard defaults for the panel. This alters the standard defaults for this panel only but it does so for all future uses of the Default button and for all newly created circuits as well, so use it carefully. This button only appears when in the standard Properties dialog box.


Fourier speed

The speed of the Fourier routine is approximately a linear function of N. Always use a value of N that is as small as possible. A value of 1024 is nearly always a good choice. Remember, N affects only fmax, because fmax = N*DF. Sometimes you may want to increase the tmax to decrease DF to get finer frequency resolution. This has the side effect of lowering fmax, so you may need to increase N to maintain the desired fmax.


Fourier Window Properties dialog box

Plotting Fourier functions can be complicated so to make the job a little easier you can use an Fourier window. After a transient analysis is complete, select the Add Fourier Window option from Transient menu / Fourier Windows or right click on a waveform name and select Add Fourier Window. The dialog box consists of the following panels:

Plot page

Scales and Formats page

Colors, Fonts, and Lines page

Scope page

Fourier page

Numeric Output page

Tool Bar page

OK: This accepts any changes made and exits the dialog box.

Cancel: This ignores any changes made and exits the dialog box.

Apply: This displays the performance window using the current settings in the dialog box to show how the display would be affected by changes. The changes are still tentative, until the OK button is clicked.

Help: This accesses the help topic for this dialog box.


Fourier basics

The Fast Fourier Transforms (FFT) functions are a group of math functions for extracting frequency and time information from waveforms and AC curves. All of the functions employ the same internal Fast Fourier Transform (FFT) routine. That routine requires two basic parameters to do its work; N, the number of data points, and DF, the sampling frequency.

N: Number of data points

N is equal to the value in the Number of Points field in the Fourier panel of the Plot Properties (F10) dialog box. It is typically 1024. N must always be a power of two and is also constrained to the following range:

Minimum = 64

Maximum = 1048576

DF: Sampling frequency

The sampling frequency, DF, is calculated as follows:

Transient analysis:

DF = 1'st harmonic = 1 / (<Upper Time Limit> - <Lower Time Limit>)

where <Upper Time Limit> and <Lower Time Limit> are from the FFT panel of the Plot Properties (F10) dialog box.

AC analysis:

DT = Time Step = 1 / DF = N / <Upper Frequency Limit>

where <Upper Frequency Limit> is from the FFT panel of the Plot Properties (F10) dialog box.

DF is the interval between sample points in the output FFT and is also referred to as the first harmonic. The frequency range sampled is:

Data Point Contents

1 0 Hz or DC value

2 H1 = 1'st harmonic at F = DF

3 H2 = 2'nd harmonic at F = 2*DF

... ...

N HN = N-1'th harmonic at F = (N-1)*DF

The DSP functions can be used in both AC and transient analysis.

In transient analysis, time domain waveforms (curves of real voltage vs. time) are sampled and fed to the FFT routines which employ N samples of DF frequency steps to calculate, typically, an FFT or a HARM function.

In AC analysis, frequency spectra (curves of complex voltage vs. frequency) are sampled and fed to the FFT routines which employ N samples of the time step, DT, to calculate, typically, an IFT function where DT=1/DF.

Resolution, range, and accuracy are controlled by the Fourier parameters N and DF.

In transient analysis:

Increasing <tmax> in transient analysis decreases DF, resulting in finer frequency resolution and a lower maximum frequency, since fmax = (N-1)*DF. This assumes that the Fourier Page in the Properties dialog box has its time range set to cover the entire waveform.

Increasing N increases the upper frequency range.

In AC analysis:

Increasing <fmax> in AC analysis decreases the time step DT, resulting in a finer time step resolution and a lower tmax, since tmax = (N-1)*DT. This assumes that the Fourier Page in the Properties dialog box has its frequency range set to cover the entire waveform.

Increasing N increases the maximum time range.


Signal Processing / Fourier Operators

u and v are standard expressions such as V(10), S is a spectrum generated by one of the signal processing operators.

Signal processing

HARM(u[,BW]) Harmonics of waveform u. BW is an optional bandwidth parameter.

HARMN(u[,F]) Same as HARM but normalized to the reference frequency F. If F is missing, the reference frequency is taken as the first harmonic.

THD(S[,F]) Total harmonic distortion of the spectrum S as a percentage of the value at the reference frequency F. If F is missing, the reference frequency is taken as the first harmonic (1/tmax in transient analysis).

IHD(S[,F]) Individual harmonic distortion of spectrum S as a percent of the value at F. Similar to THD but not cumulative. If F is missing, the reference frequency is taken as the first harmonic (1/tmax in transient analysis).

FFT(u) Standard Forward Fourier transform of waveform u

FFTS(u[,BW]) Forward Fourier transform of waveform u, scaled so that RE(FFTS(u)) produces the Fourier series cosine coefficients and IM(FFTS(u)) produces the Fourier series sine coefficients. It is similar to the HARM() function. BW is an optional bandwidth parameter.

FS(u[,n1][,n2]]) Partial Fourier series representation of waveform u, compiled from the terms n1 through n2. N1 defaults to 0 and n2 defaults to the FFT Number of Points / 2.

RES(u[,n1][,n2]]) The residue function shows the waveform u minus the Fourier terms n1 through n2. N1 defaults to 0. N2 defaults to 1, so that RES(u) is RES(u,0,1) and thus essentially shows the distortion components due to the 2'nd and higher harmonics.

IFT(S) Standard Inverse Fourier transform of spectrum S

IFTS(S) Scaled inverse Fourier transform of spectrum S. Scaling is such that IFTS(FFTS(u)) = u.

CONJ(S) Conjugate of spectrum S

CS(u,v) Cross spectrum of waveforms u and v, CONJ(FFT(v))*FFT(u)*dt*dt

AS(u) Auto spectrum of waveform u, CS(u,u)

CC(u,v) Cross correlation of waveforms u and v, IFT(CONJ(FFT(v))*FFT(u))*dt

AC(u) Autocorrelation of u, IFT(CONJ(FFT(u))*FFT(u))*dt

COH(u,v) Coherence of u and v, CC(u,v)/sqrt(AC(u(0))*AC(v(0)))

REAL(S) Real part of spectrum S produced by FFT

IMAG(S) Imaginary part of spectrum S produced by FFT

MAG(S) Magnitude of spectrum S produced by FFT

PHASE(S) Phase of spectrum S produced by FFT

HA(u[,n1[,n2]]) Sums the magnitudes of all harmonics of the waveform u. n1 and n2 optionally define the starting and ending harmonics that the sum operates within.

HE(u[,n1[,n2]]) Sums the magnitudes of all even harmonics of the waveform u. n1 and n2 optionally define the starting and ending harmonics that the sum operates within.

HO(u[,n1[,n2]]) Sums the magnitudes of all odd harmonics of the waveform u. n1 and n2 optionally define the starting and ending harmonics that the sum operates within.

Windowing functions These are standard window functions usually applied to transient waveforms prior to doing a Fourier transform. They can be used in both transient analysis plots and Fourier windows.

Bar(u) Bartlett-Hann

Blk(u) Blackman

Bha(u) Blackman-Harris

Bn(u) Blackman-Nuttal

Co(u) Cosine

Ft(u) Flattop

Gau(u) Gaussian

Ham(u) Hamming

Han(u) Hanning

Kai(u) Kaiser

Lan(u) Lanscos

Nut(u) Nuttal

Tri(u) Triangular

Tuk(u) Tukey

In transient analysis, these functions may be applied without a Fourier function call. In a Fourier window, you need only select the window function and the program wraps the expression for you.


How the active filter designer works

The Micro-Cap active filter designer is selected from the Design menu. It lets you select the filter type, specifications, response, and circuit implementation, then creates the required filter circuit.

The basic filter types include:

Low pass

High pass

Bandpass

Notch

Delay

The first four are defined by their Bode plot characteristics. Delay filters are characterized by the time delay specification.

The available filter responses include:

Butterworth

Chebyshev

Bessel

Elliptic

Inverse-Chebyshev

Not all of these responses are available for every filter type. Bessel, for example, is available for delay filters only.

The implementations, or circuits, may be different for each stage and include:

Sallen-Key

MFB (Multiple Feedback)

Tow-Thomas

Fleischer-Tow

KHN

Acker-Mossberg

Tow-Thomas 2

DABP (Dual Amplifier Band Pass)

Not all of these circuits are available for all responses, since some of the circuits cannot achieve some responses. In general, the available circuits range from three to eight.


Active Filter Designer dialog box

The active filter designer is located on the Design menu. This dialog box controls all of the characteristics of the filter that is to be produced. The dialog box consists of:

Design page

Implementation page

Options page

Default: This command button returns all of the settings on each page to their default values.

Bode: This option displays a plot of the selected characteristic(s). These include gain, phase, and/or group delay, depending upon which of these items have been enabled from the Options panel. The plot is a graph of the ideal transfer function for the selected filter. It is not a plot of the actual transfer function that can be achieved with the chosen circuit(s). For that, you must run AC analysis on the completed circuit. If the specification mode is set to Mode 1, the plot includes a design polygon to show the allowed region for the curve, based upon the design specifications. This is a sample filter plot showing the design polygon.

Step: This shows the response of the filter to a step change in the input voltage from 0V to 1V. Here is a sample Step plot.

Impulse: This shows the response of the filter to an impulse on the input. The impulse is a pulse from 0V to 1E9V and lasts 1E-9 seconds. Here is a sample Impulse plot.

OK: This option builds the circuit to meet the chosen design, using the specified circuits for each stage. If the New Circuit option is enabled, it also sets up the AC analysis dialog box to be ready to plot the circuit output and the theoretical transfer function output over a suitable frequency or time scale. If the specification mode is set to Mode 1, it adds a design polygon to show the allowed region for the curve, based upon the design specifications. After creating the filter circuit, the program exits the dialog box.

Cancel: This closes the dialog box without creating the filter.

Help: This invokes the Help topic for the dialog box.


Component Lists Format

Circuits can be constructed from the exact values required to fit the specification exactly, or they can be constructed from nearest-fit values obtained from standard lists. The lists are kept in ASCII text files that use the extensions CAP for capacitors, IND for inductors (for passive filters), and RES for resistors. The format of these files is as follows:

TOLERANCE

<tolerance>[%]

DIGITS

<digit 1>

<digit 2>

...

<digit n>

MULTIPLIERS

<multiplier 1>

<multiplier 2>

...

<multiplier m>

ADD

<value 1>

<value 2>

...

<value p>

REMOVE

<value 1>

<value 2>

...

<value q>

The <tolerance> value is used when setting up the model statement for the components and affects only Monte Carlo analysis.

The program creates a list of acceptable values by forming all possible products of digits and multipliers, then adding any values found under the ADD keyword, and removing any values found under the REMOVE keyword.

For example:

TOLERANCE

1%

DIGITS

10

50

80

MULTIPLIERS

1

10

100

ADD

26

135

REMOVE

8000

In this example the program would first compile a tentative list from the DIGITS and MULTIPLIERS groups containing these elements:

10, 50, 80, 100, 500, 800, 1000, 5000, 8000

The program would then add the values 26 and 135 and remove the 8000 value to produce the final list:

10, 26, 50, 80, 100, 135, 500, 800, 1000, 5000

The list is constructed in this way to make specification of standard component values easier. Standard values frequently are created from a small list of values, multiplied by various powers of ten. There are often exceptions, usually at the high and low ends. DIGITS and MULTIPLIER keep the list specification concise, while ADD and REMOVE help with the exceptions. All keyword items are optional, so you could create a list using only the ADD elements.


Filter support files

The filter design program uses a file called FILTER.BIN, which is resident on the same directory as the MC10.EXE program file. It must not be removed, for it contains the generic circuit stages for each of the different circuit implementations used to build complete filter circuits. The filter program will be able to do only the mathematical portion of the design if this file is missing. That is, the program will not be able to create actual filter circuits without FILTER.BIN.

Micro-Cap also saves your last used settings from the dialog box in the ACTIVE.FLT and PASSIVE.FLT files. These settings can be restored to the original default settings by clicking on the Default button at the bottom of the dialog box.

When you press OK, if the Options / New Circuit option is selected, the program creates a circuit to implement the specified filter. It names it CIRCUITN, which can be renamed when it is saved to disk. If the Options / Current Circuit is enabled then the filter is placed in the currently open schematic.


How the passive filter designer works

The Micro-Cap passive filter designer is selected from the Design menu. It lets you select the filter type, specifications, response, and circuit implementation, then creates the required filter circuit.

The basic filter types include: Low pass, High pass, Bandpass, and Notch.

The filter responses include Butterworth, Chebyshev, and Elliptic.

The implementations are of two types: Standard and Dual.


Passive Filter Designer dialog box

The passive filter designer is located on the Design menu. This dialog box controls all of the characteristics of the filter that is to be produced. The dialog box consists of:

Design page

Implementation page

Options page

Default: This command button returns all of the settings on each page to their default values.

Bode: This option displays a plot of the selected characteristic(s). These include gain, phase, and/or group delay, depending upon which of these items have been enabled from the Options panel. The plot is a graph of the ideal transfer function for the selected filter. It is not a plot of the actual transfer function that can be achieved with the chosen circuit(s). For that, you must run AC analysis on the completed circuit. If the specification mode is set to Mode 1, the plot includes a design polygon to show the allowed region for the curve, based upon the design specifications. This is a sample filter plot showing the design polygon.

Step: This shows the response of the filter to a step change in the input voltage from 0V to 1V. Here is a sample Step plot.

Impulse: This shows the response of the filter to an impulse on the input. The impulse is a pulse from 0V to 1E9V and lasts 1E-9 seconds. Here is a sample Impulse plot.

OK: This option builds the circuit to meet the chosen design, using the specified circuits for each stage. If the New Circuit option is enabled, it also sets up the AC analysis dialog box to be ready to plot the circuit output and the theoretical transfer function output over a suitable frequency or time scale. If the specification mode is set to Mode 1, it adds a design polygon to show the allowed region for the curve, based upon the design specifications. After creating the filter circuit, the program exits the dialog box.

Cancel: This closes the dialog box without creating the filter.

Help: This invokes the Help topic for the dialog box.


Circuit Editor

The Circuit Editor provides access to all of the basic program functions, including circuit construction, analyses, and the various editors.

Adding and editing components

Adding and editing flags

Adding and editing graphics objects

Adding and editing grid text

Adding pictures

Adding wires to a schematic

Attribute dialog box

Circuit structure

Clipboard

Deleting schematic objects

Digital Path commands

Drag copying

Enabling and disabling schematic objects

Formula Text

Help command

Info command

Labeling Nodes

Mirroring schematic objects

Moving schematic objects

Navigating schematics

Node number assignment

Rotating schematic objects

Schematic modes

Schematic objects

Schematic Properties dialog box

Selecting and deselecting objects

Stepping schematic objects

Undo and Redo commands

Using the Bus


Component Editor overview

The Component editor manages the Component library. This library provides the circuit components used in Micro-Cap circuits. It stores the name of each component, the shape it uses, the electrical definition, component text placement, and pin information. All components, from resistors to macros and SPICE subcircuits are linked to Micro-Cap using the Component editor.

Adding Components to the Library

Component Editor dialog box

Component Library

Making Circuit Files Portable

Using Copy, Paste, and Replace

Using the Add Part Wizard

Using the Import Wizard


Model editor

The Model editor provides the means to create, delete, pack, copy, merge, edit, and review device models stored in binary model files that have the extension 'LBR'. To access the Model Editor, simply load a model library (*.LBR) from the File menu.

Command Buttons

Add: This adds a new model of the current device type to the current library. The new model is created with default values for all parameters. It appears as 'New' and is placed at the bottom of the list. Use this function to create a generic part which can then be edited.

Delete: This command deletes the selected model after prompting for confirmation.

Pack: This command orders the parts in the part list lexicographically and deletes any duplicate or parts named 'New'.

Copy: This command invokes the Copy Model dialog box which allows you to copy the selected part to another library.

Merge: This command invokes the Merge file dialog box. The 'LBR' file chosen in this box will be merged into the library that is currently loaded. The merged library is displayed but not automatically saved to disk.

Find: This button invokes the Find Model Parameter dialog box which locates parameter names and/or descriptions. Bipolar and MOSFET models have a great many model parameters. The Find command helps you locate them for editing or review. The find function for parts is available by clicking on the [image] button in the Tool bar.

Type selector

Many analog and all digital device types use model statements, but only analog model statements are supported by this editor. Each model library may contain analog parts of all types. Only parts of the selected type are displayed in the Model Name list box. Selecting NPN for example, displays all of the NPN bipolar transistors in the file.

Name and Memo fields

The Name and Memo fields are edited like any text field. The Name field holds the model name. An unspecified model name is indicated by the text 'New'. Any changes to this field affects the corresponding entry in the Model Name list. If the part has been imported from the MODEL program, this field is a copy of the Name text field.

The Memo field holds comments only, and has no effect upon model selection or electrical behavior. If the part has been imported from the MODEL program, this field is a copy of the Memo text field.

Show Binning check box: For MOSFET models that contain binning parameters, this option toggles whether the binning parameters will be displayed in the parameter list. Disabling this option makes the parameter list more manageable.

Part selector

This selects a part by name for display and possible editing. It provides a window to review the specific model values for the displayed part. If the number of part models exceeds the window limits, you can scroll to view parts further down in the list. Selecting a different model type may show other parts in the library.

Model Parameter Display

This display shows the model parameter values for the selected model name.

The Name, Memo, and the Model Parameter Display numeric fields may be edited by clicking in the field and typing in a new value.

The Translate/Binary Library to SPICE Text File command on the File menu creates a text file with one model statement for every part in the currently displayed model library. This provides a way of translating binary model libraries to the text model statement form.

The Find command invokes the Find dialog box which lets you search for a part name by the current type in the current library, by all types in the current library, and by all types in all libraries on the disk in the current directory.


Package Editor overview

The Package editor manages the Package library. This library provides the package information for the components in the Micro-Cap Component library and enables the program to create netlist files for use by external PCB programs. It stores the name of each package and the pin information for each package. All package information is linked to the components using the Package editor.

Adding a Basic Package

Adding a Complex Package

Package Editor dialog box

Package library


Shape Editor overview

This editor is used to build new shapes or change existing shapes. Shapes are used to represent components in a schematic. Each shape is composed of objects such as lines, circles, and rectangles. Upon exiting and saving changes, the shapes are available for use by the Component editor. That editor maintains the Component library, from which components are selected for use in schematics.

A large library of shapes is supplied with Micro-Cap, so most users will not need to use the Shape editor. For those who want to customize their shapes or add new ones, this editor would need to be used.

Shape Editor dialog box

Shape library


Title Block Editor

The Title Block editor is accessed from the Windows menu. It lets you create a library of title blocks for use in your circuit. It has the following fields:

Tool Bar: This tool bar, located at the top, is identical to the Title Block editor tool bar and thus provides all of the same drawing options.

New (Ctrl+N): This command opens up a new Title Block library file in the editor with one blank title block.

Open (Ctrl+O): This command loads an existing Title Block library file from the disk. Its title block designs are then available for use in schematics.

Save: This command saves the current title block library file under its existing name.

Save As: Closing the Title Block editor will prompt you to save all title block files loaded. However, this save option lets you change the name of the selected file.

Revert: This command reloads the current title block library file from the disk. It is a convenient way to restore the file and ignore any changes.

Remove: This command removes the selected Title Block library file from the editor. The title blocks in this file will not be accessible. At least one file must be present.

Add Title Block: This adds a new title block with a user-specified name to the currently selected title block group and title block file.

Add Group: This adds a new title block group with a user-specified name to the currently selected title block file.

Undo (Ctrl+Z): Most operations that change a title block may be reversed by using the Undo function. Multiple Undo commands are allowed.

Redo (Ctrl+Y): The Redo command cancels one Undo command. Multiple Redo commands are allowed.

Cut (Ctrl+X): This option deletes the selected title block objects and copies them to the clipboard.

Copy (Ctrl+C): This option copies selected title block objects to the clipboard.

Paste (Ctrl+V): This option copies in the contents of the clipboard starting at the last mouse click.

Clear (Delete): This option deletes the selected title block objects without copying them to the clipboard.

Select All (Ctrl+A): This option selects all objects within the present title block.

Select (Ctrl+E): This option enables the select mode. Individual objects of the title block can be selected by clicking on them. A double click on an object invokes the Object Editor. This lets you view or edit the title block object coordinates. A group of objects is selected by drawing a box around them. SHIFT + Left mouse button lets you add an item to a group which is already selected. SHIFT + Box lets you add a group of items to a group which is already selected.

Pan: Click this button to activate the Pan mode. Panning is used to move the display view to see different parts of a large title block. As usual, you can also use the keyboard or the mouse. Mouse panning involves dragging the right mouse button and can be done in any mode. Alternatively, you can select this mode and drag with the left mouse button.

Rectangle: This icon enables the rectangle drawing mode. Rectangles are added by clicking and dragging with the left mouse button. To change the shape of the rectangle, drag one of the eight handles (small black rectangles).

Diamond: This icon enables the diamond drawing mode. Diamonds are added by clicking and dragging with the left mouse button. To change the shape of the diamond, drag on one of the handles on its perimeter.

Ellipse: This icon enables the ellipse drawing mode. Ellipses are added by clicking and dragging with the left mouse button. To change the shape of the ellipse, drag on one of the handles on its perimeter. To create a circle, press the SHIFT key while dragging the mouse.

Arc: This icon enables the arc drawing mode. Arcs are added by clicking and dragging with the left mouse button. To change the shape of the arc, drag on one of the handles on its perimeter.

Line: This icon enables the line drawing mode. Lines are added by clicking and dragging with the left mouse button. To change the direction or length of the line, drag on one of the two handles.

Closed Polygon: This icon enables the closed polygon drawing mode. Click the left mouse button in the Title Block display to create a vertex. There is no limit to the number of vertices Clicking the right mouse button or double clicking the left mouse button will close the polygon. To change the dimensions, drag on one of the handles.

Open Polygon: This icon enables the open polygon drawing mode. Click the left mouse button in the Title Block display to create a vertex. There is no limit to the number of vertices Clicking the right mouse button or double clicking the left mouse button will end the polygon. To change the dimensions, drag on one of the handles.

Include Object Mode: This icon enables the include object mode. Clicking in the drawing region calls up a list of existing objects. Any of these may be imported into the active title block by clicking on its entry in the list. Once the object is included, it may be dragged about.

Text: This icon enables the text mode. Clicking in the drawing region invokes the text dialog box, allowing you to place text in the title block. To edit the text, double click it in select mode.

Import Picture: This icon selects the Import Picture dialog box which lets you import images as a part of your title block.

Align-Left: Left-aligns one or more selected pieces of attribute or grid text. Must select one piece as the anchor (CTRL+click).

Align-Right: Right-aligns one or more selected pieces of attribute or grid text. Must select one piece as the anchor (CTRL+click).

Align-Top: Top-aligns one or more selected pieces of attribute or grid text. Must select one piece as the anchor (CTRL+click).

Align-Bottom: Bottom-aligns one or more selected pieces of attribute or grid text. Must select one piece as the anchor (CTRL+click).

Line: This icon selects the outline color of the title block. You can also select the default or no color options.

Fill: This icon selects the fill color of the title block. You can also select the default or no color options.

Grid: This icon displays a grid. The grid is a two-dimensional array of locations where title block objects must originate and terminate if their nodes are accessible in a schematic.

Grid Snap: When enabled, this icon forces the coordinates of all title block objects to occur at a grid point. This ensures that the coordinate points will be usable as connecting points (pins) in a schematic.

Find: This command lets you locate title blocks by name. As you type the title block name, it fills the list box with all title blocks that match the string.

Zoom-Out: This option will zoom out on the drawing region. This does not affect the size of the image in the schematic.

Zoom-In: This option will zoom in on the drawing region. This does not affect the size of the image in the schematic.

Bring To Front: This option will send the selected object to the top of the stack. Each object has an area enclosing it in which a mouse may click to select the object. The selected object's area is given the highest priority in the case of overlapping areas.

Send To Back: This option will send the selected object to the bottom of the stack. The selected object's area is given the lowest priority in the case of overlapping areas.

Next Object: In the case of objects that are stacked on one another in the drawing region, this option will select the next object in the stack. Click the button until the one you want is selected.

Font: This option invokes the Font dialog box, which allows editing of the font, font style, size, and effects of any selected text.

Flip X: This option will flip any selected objects about the x-axis. The x-axis is considered to be the horizontal line in the middle of the selected region.

Flip Y: This option will flip any selected objects about the y-axis. The y-axis is considered to be the vertical line in the middle of the selected region.

Rotate: This option rotates all of the selected objects in a counterclockwise motion through 90 degree increments.

Mirror: This option creates a mirror image of the selected region. The region may be mirrored either vertically or horizontally. The Copy Text check box has no effect in the Title Block Editor.

Move Title Blocks: This lets you move title blocks from any title block group or file to another title block group or file.

Sort: This commands lets you sort title block names within a group or whole file alphanumerically or alphanumerically plus. You can sort title block names or group names, within a group or within a group and its children groups.

Help: This accesses the Help topic for the Title Block editor.

Title Block Type: This shows the selected title block type that is displayed.

Control buttons:

Add: This lets you create a new title block type.

Delete: This lets you delete a title block type.

Duplicate: This lets you create a new title block type that is a duplicate of an existing type.

Revert: This ignores all changes made in the current session and restores the library of title block types to those existing when the editor was started.

Editor: This invokes the Object editor to allow viewing and editing of the basic graphics and text primitives.

Close: This closes the Title Block editor.

Help: This accesses the help page you see before you.

Title Block Window: This region appears on the right side and shows the selected title block type.


File menu

The File menu

The File menu provides commands for the management of schematic circuit files, SPICE and document text circuit files, and model library files. Any equivalent icons appear next to the option below.

New (Ctrl+N): This option invokes the New File dialog box in order to create a new schematic, macro, SPICE file, text file, text library, binary library, or Model file.

Open (Ctrl+O): This option invokes the Open File dialog box in order to load an existing file. If a schematic file is selected, it may be viewed in the background window.

Save: This option saves the file to disk using the name and path shown in the title bar. Ctrl + S may also be used.

Save As: This option saves the file to disk after prompting the user for a new file name and (optionally) a new path

Encrypt / Decrypt: This option invokes the Encript File dialog box This lets a user encrypt a file with a password or decrypt an encrypted file by supplying its password. An encrypted file can only be opened for viewing / editing if the password is supplied. Encrypted files can be simulated without requiring the password. This option is used to protect proprietary macros (*.mac) and library files (*.lib). It can also be used on any schematic file. It cannot be used on binary files (*.mdl, *.lbr).

To decrypt a .lib file: Load the file. The program will display the file with the critical parts of any subcircuits encrypted. Invoke the Encrypt / Decrypt command. The program will ask for the password. When you supply the password the program will display and save to disk the decrypted file.

To decrypt a .mac or .cir file: Load the file and supply the password. The program displays the decrypted file. Use the Save command to save the file in standard format without encryption..

Paths: This option invokes the Path dialog box. This lets you specify one or more default paths for DATA (circuits), LIBRARY (model libraries and macros), PICTURE (picture files), and DOCUMENT (document files). If more than one path is specified, they must be separated by a semicolon (;). Micro-Cap first looks locally in the circuit for model data. It looks in the LIBRARY paths next, searching multiple paths in left to right order.

Cleanup: This option invokes the Clean Up dialog box that lets you remove clutter by deleting many working files created by Micro-Cap but usually of secondary importance. The most common files that need frequent deleting are the numeric output files (*.TNO, *.ANO, and *.DNO) and the probe data files (*.TSA, *.ASA, and *.DSA).

Migrate: This option invokes the Migrate wizard that lets you migrate selected files from an earlier version of Micro-Cap. After you specify the location of an older MCAP.DAT file, Micro-Cap reads it and makes a list of appropriate files that can be optionally copied to suitable Micro-Cap locations.

Translate:

Binary Library to SPICE Text File: This option translates a binary Micro-Cap library parameter, FILE.LBR, into a text file, FILE.LIB, containing .model statements. It will open the Save As dialog box to present the option of entering a new name or new path.

SPICE Text File to Binary Library: This option translates a SPICE text file, FILE.LIB, containing model statements, into a binary Micro-Cap library parameter file, FILE.LBR. It will open the Save As dialog box to present the option of entering a new name or new path.

Schematic to SPICE Text File: This option invokes the Translate to SPICE dialog box . This option saves a schematic as a SPICE netlist. Any or all analyses may be specified. The netlist may be compiled with or without expanding subcircuits. This option may also be used to create a SPICE subcircuit model out of the schematic.

Schematic to Printed Circuit Board: This option invokes the Printed Circuit Board dialog box . This command creates netlist files to be used as input to the Protel, Accel, OrCad, or PADS.

Schematic to Old Version: This option invokes the Save to Old Version dialog box which lets you convert schematic files into the formats used by previous versions of Micro-Cap.

Bill of Materials (Ctrl+Shift+B): This option invokes the Bill Of Materials dialog box which lets you create a bill of materials for the schematic listing part name, type, value, quantity, cost, and power budget.

Model to SPICE File: This option invokes the Model to SPICE dialog box which converts MODEL program data files into SPICE style model statements in a SPICE text file.

IBIS to SPICE File (Ctrl+Shift+I): This accesses the IBIS to SPICE dialog box which creates equivalent SPICE models from IBIS files. It also creates a SPICE file to run a transient simulation on the output buffers in either Standard Models format or Golden Waveforms Check format.

Touchstone Files: This option invokes the Convert Touchstone Files dialog box which converts Touchstone file parameters from S, Y, Z, G, or H format to any other format (S, Y, Z, G, or H).

Load MC File: This option invokes the Load Monte Carlo File dialog box which loads a circuit numeric output file (.tno, .ano, or .dno file) and scans the file for references to Monte Carlo performance function error reports. It then creates the circuits which caused the errors during the Monte Carlo run, letting you see each circuit with parameter values which caused failure. Failure means not meeting a performance function limit (like rise time or delay) specified in the Report When text field of the Monte Carlo Options dialog box.

Revert (Ctrl+Alt+R): This option reverts the active file to the saved version on disk.

Backup and Restore...: This command lets you create a backup file and later restore any file within. You can make multiple backups for extra security. Mainly this preserves the standard component and shape libraries, but there are other files in the backup as well (e.g. waveform buffer).

Close (Ctrl+F4): This option closes the active file. It will optionally ask if you want to save any changes on disk.

Close All: This command closes all active files.

Print Preview: This option invokes the Schematic Print Preview dialog box in the Circuit Editor or the Analysis Print Preview dialog box in an analysis. These dialog boxes offer previews of the printed document.

Print (Ctrl+P): This option prints a hardcopy of the document shown in Print Preview in accordance with the printer settings of Page Setup.

Print Window (Ctrl+Alt+P): This option bypasses the Print Preview and sends the active window directly to the printer.

Print Selected Region: This option prints the selected region of the schematic.

Print Setup: This option changes the printer settings and page layout. Its format will vary with different printers, but usually it lets you specify a particular printer to use along with the paper size, source, and orientation.

Edit Recent Files: This dialog box lets you manage the most recently used files list. You can pin any of them by check-marking its file name. The number of files is controlled by the File List Size field. The path usage is also controlled from here.

Exit (Alt+F4): This option exits the program, closing all windows in the process.


Edit menu

The Edit menu

This menu provides the following options. Any equivalent icons appear next to the option below.

Undo (Ctrl+Z): Micro-Cap has a multistage undo. It can undo the last N operations that change a circuit file. N is limited only by RAM memory and is usually greater than 20. Undo can also restore the last state of a text field, if the text cursor is still in the field.

Redo (Ctrl+Y): Redo operates in the opposite direction of Undo. It restores the prior circuit state. Like Undo, it can redo the last N operations that change a circuit file.

Cut (Ctrl+X): This command deletes the selected objects and copies them to the clipboard. Objects may include text from any user text fields, any element or region of a schematic, or any text in a file.

Copy (Ctrl+C): This command copies selected objects to the clipboard.

Paste (Ctrl+V): This command copies the contents of the clipboard starting at the current cursor position. If a group of characters in a text field is currently selected at the time of the Paste operation, they are replaced with the text in the clipboard. If the front window is a schematic, the paste is done from the last point in the schematic where the mouse was clicked.

Paste Image: This pastes the image stored in the clipboard that has been copied into the clipboard from other programs (like a browser).

Clear (Delete): This command deletes the selected items without copying them to the clipboard. This command deletes selected wires from their end points.

Clear Cut Wire (Ctrl+Delete): This command deletes selected wires by cutting them exactly at the sides of the select box.

Select All (Ctrl+A): This command selects all elements of the current circuit window or all text in the current text field or document.

Copy to Clipboard:

Copy to Clipboard List: This lets you copy the selected object or a group to the clipboard list.

Copy Image to Clipboard List: This lets you copy any image from the Windows clipboard to the clipboard list.

Paste Image From Clipboard List: This copies items from the clipboard list into your circuit.

Edit Clipboard List: This lets you view, delete, or rename the clipboard list objects.

Copy the Entire Window in EMF Format: This option copies all contents of the active window to the Windows clipboard in Enhanced Metafile format.

Export Graphic File: This option creates a graphics file in one of many available formats from the front window. The file can then be imported into Micro-Cap or other Windows applications.

Copy to Clipboard List: This option copies the selected item to the clipboard list. You can copy schematic fragments, standard or RTF text, analysis limits, and images (.BMP, .JPG, etc)

Copy Image to Clipboard List: This option copies external images from other programs (like browsers) to the list.

Paste From Clipboard List: This option copies items from the list into your circuit.

Edit Clipboard List: This option lets you rename and / or deletes items from the list.

Enable: This enables the selected circuit component or region to be available for a simulation.

Disable: This disables the selected circuit component or region. Circuitry that has been disabled will be ignored during a simulation.

Add Schematic Page: This option adds a new schematic page to the schematic. You can also add a new page by clicking with the right button on the page selector tabs or the left button on the page bar. Double clicking on the page selector tabs or right clicking and then choosing Rename opens up the Rename Page dialog box which lets you rename the page.

Add Text Page: This option adds a new text page to the schematic. You can also add a new page by clicking with the right button on the page selector tabs or the left button on the page bar. Double clicking on the page selector tabs or right clicking and then choosing Rename opens up the Rename Page dialog box which lets you rename the page.

• Localize File to Pages: This copies a selected data file to a text page in the circuit. The file is usually a source file like *.USR or *.WAV.

Delete Page: This option invokes the Delete Page dialog box in order to delete a page or pages from the schematic. You can also delete a page by clicking with the right button on a page selector tab and choosing Delete 'Page Name'.

Add Macro Section: This adds a new macro section to the schematic. A macro section can be used to create macro circuitry that would be local to just the schematic.

Localize Models: This option invokes the Localize dialog box. It localizes circuit model information by copying subckts, model statements, and macros from the libraries to the circuit. It is a handy way to embed model information in the file prior to sending a copy of the circuit to a colleague who may not have your models. It can also serve as a refresh step, restoring model information from the master libraries in case you have edited the models and want to restore them.

Build Command: This command invokes the Build Command dialog box . This dialog box helps you create some of the more complex .commands, like .MEASURE, .DEFINE, and .WARNING. It is only active if it sees .command text or if the text field is blank.

Box: The following commands appear under this option. These commands affect objects enclosed in the selected box region.

Step Box: This option invokes the Step Box dialog box in order to step the objects enclosed in a selected region a specified number of times. The region is specified by drawing a box around the desired area in select mode.

Mirror Box: This option invokes the Mirror dialog box in order to create a mirror image of the objects enclosed in a selected region. The region is specified by drawing a box around the desired area in select mode.

Rotate (Ctrl+R): This option rotates the objects in a selected region in a counterclockwise motion. The region is specified by drawing a box around the desired area in select mode. This will also work when just a single component is selected.

Flip X: This option flips the objects in a selected region about the x-axis. The x-axis is defined as the horizontal line that cuts the selected region in half. The region is specified by drawing a box around the desired area in select mode.

Flip Y: This option flips the objects in a selected region about the y-axis. The y-axis is defined as the vertical line that cuts the selected region in half. The region is specified by drawing a box around the desired area in select mode.

Make Macro (Ctrl+M): This option makes a macro circuit from the circuitry inside of the current box region. It first gathers the circuitry into a new circuit, labels the pin names, saves the circuit to disk under a name you choose in the Make Macro dialog box, records an entry in the Macro section of the Component library, and replaces the circuitry within the box region with an adjustable macro symbol representing the circuitry. After the macro command, the circuit will simulate just as before, but the schematic will have less clutter.

Change: These options let you change several schematic features:

Properties (F10): This option invokes the Schematic Properties dialog box from which you can change the color of any circuit feature such as wire or component color. Changes affect all objects rather than just selected objects. The title block and local tool bar may also be edited within this dialog box.

Graphic Object Properties: This accesses the Graphic Objects Properties dialog box for the graphic objects, analysis text, and analysis tags. From here you can change the properties like color, fill, and pattern. The changes affect the next graphic object added. To change an individual object's properties, double click on it and edit the property. This dialog box contains the settings of the last of these objects that was added or edited in Micro-Cap.

Attributes: This option invokes the Change Attributes dialog box which lets you change the values of attributes in the schematic, the Attribute Display status of the main attributes of all components in the circuit, and the Display options of all components.

Tolerances: This option invokes the Tolerances dialog box which lets you apply tolerances to all parameters of a model at once. You can apply LOT and DEV tolerances to any part that has a model statement. You can also save Tolerance sets for later use on other models of the same type.

Apply Display Properties: This command invokes the Apply Display Attributes dialog box which lets you copy the display properties of a selected part to all other parts with the same component name or object. It might be used, for example, to make all resistors appear blue and use Arial 12 point font for the RESISTANCE attribute and Courier 14 point font for the PART attribute. To apply it, edit a part to appear the way you like it, then use this command to make all other similar parts appear the same. The item in the menu will change its name depending on which part is selected.

Color: This option invokes the Color dialog box which allows you to change the color of any selected text, component, or graphical object.

Font: This option invokes the Font dialog box which allows you to change the font, font style, size, effects, and color of any selected text.

Rename Components: This option renames all component reference designators using standard naming conventions. It also reorders the components to make the node numbers flow from left to right or top to bottom. It updates the component names in expressions, so that R(RRX) changes to R(R5) if the part name is changed from RRX to R5. It does not update node numbers in expressions, however, so expressions like V(10) will not be changed to V(2) if node 10 gets changed to node 2.

Rename Defines: This option renames all .defined symbolic names where conflicts exist between node names and symbolic names. For example, if a node is named A and a .DEFINE A 2 statement exists, Micro-Cap would generate an error message when an analysis is attempted. This command would resolve these conflicts by adding an underscore to the .defines. For example, it would change .DEFINE A 2 to .DEFINE _A 2.

Reset Node Positions: The relative printing position of the node number, node voltage, current, power, and condition can be changed by dragging its text. This command provides a way to restore their original default positions.

Fit to Standard Value: This option invokes the Fit to Standard Values dialog box which lets you fit all of the resistors, capacitors, and inductors in the circuit to a single standard value or to a series / parallel combination of standard values.

Align: These options let you align grid or part attribute text. When multiple text strings are selected, the first string selected will have a black square in the upper left corner of its select region. This string is the control string and determines the point at which the alignment will take place.

Align Left: This aligns all pieces of text to the left side.

Align Right: This aligns all pieces of text to the right side.

Align Top: This aligns all pieces of text to the top side.

Align Bottom: This aligns all pieces of text to the bottom side.

Bring to Front: A mouse click on a stack of overlapping objects selects the front object in the stack. If the front object isn't the one you want, a way is needed to select other objects from the stack. This command makes the selected object the front object.

Send to Back: This option will make the selected object's area the back object in the case of overlapping areas.

Next Object: This selects the next object in an overlapping stack.

Go To Flag: This command invokes the Go To Flag dialog box. It lets you reposition the display on a flag. Select a flag and click on the OK button and the program redraws the schematic, with the selected flag at the center of the display. This item is enabled only when there are flags in the schematic.

Find (Ctrl+F): This option invokes the Find dialog box which is used to search the file for a variety of elements, including parameter text, grid text, node numbers, and components. There are four Find dialog boxes, one for schematics, one for text files, one for library files, and one for model files.

Repeat Last Find (F3): This option simply repeats the search and finds the next element in the circuit that matches the search criteria.

Replace: This option invokes the Replace dialog box which will conduct a search and replace for any text string.

Find in Files: This command invokes the Find in Files dialog box, which is used to search the disk for files. You can search for a specific piece of text (e.g. integrated Z80 mind warp generator), shape names (e.g. NOR3, OP9), definition names (e.g. NPN, Resistor), component names (e.g. 2N2222A, 1N914,) or any attribute value (e.g. 2.4K, TO5). The principal purpose of this command is to find a circuit whose name has been forgotten, but some small part of its content is still known (e.g. I remember I used a 2N4124 in it). You can search any kind of text file in any folder. It need not be a circuit file.


Component menu

The Component menu

This hierarchical menu shows the contents of the Component library. The library was created and can be edited by the Component Editor, although most users will not need to do much editing. The purpose of the Component menu is to let you select a component for adding to the schematic. It is designed to provide easy access to any of the more than 24,000 parts in the library. Access to more common generic parts is best done from a Component palette or a Component button. The menu contains these sections:

Analog Primitives: This submenu contains all of the general analog components placed in component groups such as Passive, Active, and Waveform Sources. These components are left for the user to define. Model statements can be accessed from the libraries for those components that need them. Components such as a resistor or pulse source can be selected here.

Analog Library: This submenu has models for commercial analog components. The values or model statements that define their electrical behavior are provided in the Model library. Specific components such as a 2N2222 or 1N4148 can be selected here.

Digital Primitives: This submenu contains all of the general digital components placed in component groups such as Standard Gates and Tri-State Gates. These components are all user defined and components such as a Nand2 or a JKFF can be selected here.

Digital Library: This section has models for commercial digital components. The values or model statements that define their electrical behavior are provided in the Model library. Specific digital components such as a 74107 or a 74HC393 can be selected here.

Animation: This section contains objects which change their display or respond to user clicks during a simulation. The objects include meters, seven-segment displays, LEDs, and a variety of digital and analog switches. They work with the Dynamic DC, Dynamic AC, and Animate modes. These objects are designed to operate in transient analysis in conjunction with the Animate mode. In this mode, a single analysis time step is taken and the states and animate devices updated on the schematic. Micro-Cap then waits for either a key press or a specified time delay before taking the next time step. The purpose is to slow the simulation down to show individual node voltage or state changes.

Import: This section is a temporary holding bay for Component library data from parts that have been imported from circuits. Once a part has been imported, its name appears on the Component menu and it is available for placement in other circuits. Part names can be dragged from here into other sections of the library.

Filters: This section is present if filter macros have been created by the filter design feature, accessible from the Design menu.

Macros: This section is present if macros have been created by the Make Macro command, accessible from Edit / Box / Make Macro.

Subckt: This section is present if a subcircuit has been created through the Schematic to SPICE Text File option under File / Translate.

Find Component (Ctrl+Shift+F): This command invokes the Find Component dialog box. The Find Component command lets you select a part by its name, shape, definition, or memo field. To select a component for placement, use the cursor keys or click the mouse on one of the parts on the Component menu items. When you select a component, Micro-Cap automatically changes the tool mode to Component. To actually place the component, click the left mouse button in the schematic, or click and drag the component to where you want it to be placed. To rotate the component, click the right button before the left button is released.

Last Used: This part of the menu shows the ten most recently selected parts.


Component Panel

There is an additional way to access components from the library, the Component panel. The advantage to the Component panel is that it is always up so you don't have to navigate through multiple menu layers.

The Browse panel presents the Component library in the same hierarchical manner that the Component menu does and shows the shape of the selected component.

The Search panel searches the library for matching text strings, much like the Find Component command (SHIFT + CTRL + F) does.

The Favorites panel provides a list of the most often used components. This list is based upon the number of times the user has placed a component in a schematic.

The panel can be toggled from Preferences / Panel/Window Tabs / Show and from Options / Panel. CTRL + ALT + X also toggles the panel display.

Double-clicking in the area above the panel tabs undocks the Component panel. Another double-click in the same area restores it to the docked position.


Windows menu

The Windows menu

The Windows menu contains options to manipulate the open windows and provide access to the Micro-Cap editors, the model program, and the calculator. Any equivalent icons appear next to the option below.

Cascade (Shift+F5): This command positions the open windows in a staggered, overlapping manner.

Tile Vertical (Shift+F4): This command vertically tiles the open circuit windows in a non-overlapping manner.

Tile Horizontal: This command horizontally tiles the open circuit windows in a non-overlapping manner.

Overlap: This command overlaps the circuit window and the analysis plot window. If the Plot on Top option is enabled in Options/Preferences/Common Options, the circuit is maximized and a 1/4 size analysis is placed on top, otherwise the analysis plot is maximized and a 1/4 size circuit is placed on top. This option is available only when a normal or Probe-mode transient, AC, or DC analysis is active.

Maximize: This command maximizes the size of the currently active window.

Arrange Icons: This command neatly arranges any minimized circuit window icons.

Maximize Over Multiple Monitors: This maximizes the selected window and spreads it out over two or more monitors. This is handy when you have two monitors with the same resolution and the same pixel count. The Tile Vertical or Tile Horizontal command then places the schematic on one monitor and the analysis window on another.

Zoom-In (Ctrl+Numeric pad +): If the active circuit window is a schematic, this command magnifies the schematic. This command affects only the display, not the printed size. If the active circuit window is a text window, this command draws the window using the next largest font size.

Zoom-Out (Ctrl+Numeric pad -): If the active circuit window is a schematic, this command shrinks it. The command affects only the display, not the printed size. If the active circuit window is a text window, this command redraws the window using the next smallest font size.

Auto Scale (F6): This scales the schematic to approximately full screen.

Toggle Drawing/Text (Ctrl+G): Every schematic has a drawing area and a text area. The drawing area contains the schematic. The text area is a convenient place to store model statements and .define statements. This command toggles the window display between the drawing and text areas.

Split Horizontal: This command splits the active schematic file horizontally into two equal sized windows, one containing the drawing area and the other containing a text area.

Split Vertical: This command splits the active schematic file vertically into two equal sized windows, one containing the drawing area and the other containing a text area.

Space Splitters Evenly: This arranges any active splits evenly.

Remove Splitters: This command recombines any drawing area/text area split so that just the drawing area of the schematic is displayed.

Component Editor: This command accesses the Component editor. This editor manages the Component library that stores all of the component types that can be placed in a schematic. The Component editor can be used to add new or modify existing components.

Shape Editor: This command accesses the Shape editor. This editor maintains the Shape library which contains the shapes used to represent components in a schematic. The Shape editor can be used to add new or modify existing shapes.

Package Editor: This command accesses the Package Editor. This editor manages the package information needed to generate netlists for PCB programs.

Title Block Editor: This command accesses the Title Block Editor. This editor maintains a library of title block designs for use in circuit schematics.

Calculator: This option invokes the Micro-Cap calculator. To use the calculator, simply type in any mathematical expression. To evaluate the numeric value of the expression, click the Calculate command button.

Check Model Library Parameters: This checks Model library parameters against the limits set in the Model Parameter Limits Editor. The check is only done for parts that are implemented from basic model primitives such as NPNs, NMOS, JFETs, diodes, etc. Subckt and macro-based parts are not checked.

Files in Memory: Each open circuit is brought to the front and displayed by selecting its name from the menu.


Options menu

The Options menu

The Options menu accesses a variety of options, preferences and settings. Any equivalent icons appear next to the option below.

Main Tool Bar (Ctrl+0): This option displays the main tool bar which provides easier access to menu options through icon representation.

Default Main Tool Bar: This option restores the default main tool bar.

Status Bar: This option displays the status bar which provides information on icons, menu items, and screen window components.

Panel (CTRL + ALT + X): This option toggles the Component panel on and off. The Component Panel provides a means to select components for placement in the schematic.

Show Error Window: This displays the Error Window.

Window Tabs: This option toggles the window tabs on and off. The window tabs provide a method to easily switch between loaded files.

Mode: The Mode submenu contains the various schematic and analysis modes of operation.

View: The View submenu contains the various schematic display options.

Show All Paths: This option invokes the Digital Path dialog box which displays all possible digital paths and the time delay through those paths. The individual path highlighted will be traced on the schematic. It is an immediate command as opposed to the Point to End Paths and Point to Point Paths modes, which require mouse clicks to specify path endpoints before a path list appears.

Preferences (Ctrl+Shift+P): The Preferences dialog box sets colors and contains options to modify some basic operations of the software.

Default Properties For New Circuits (Alt+F10): The Default Properties For New Circuits dialog box controls the properties of new circuits. Any existing circuits will not be affected by changes made in this dialog box.

Global Settings (Ctrl+Shift+G): The Global Settings dialog box allows changing settings that affect simulation results, display results, and default values.

User Definitions: This option accesses the file MCAP.INC. This text file, located on the directory with the Micro-Cap executable file, stores global definitions for use in all circuits. The contents of the file are automatically included in all circuit files. The main purpose of MCAP.INC is to provide a place for storing globally accessible define or model statements, so that you don't have to manually include them in each file.

Measure Definitions: This option displays the contents of the Measure.lib located in the LIBRARY folder. This file contains all of the user-defined .measure functions. These are available for use in all circuits.

Model Parameter Limits Editor: This option invokes the Model Parameter Limits Editor. This editor lets you set the minimum and maximum values that the model parameters can have. It also shows the default values, but does not allow you to edit them. A warning message is generated and placed in the numeric output file for parameters that do not fall within the limit values. You can also run a comprehensive check of all models from Windows / Check Model Library Parameters.

Component Palettes 1-9: This option accesses the Component Palettes. These provide a quick and convenient alternative to the Component menu when choosing components for placement in the schematic. Membership in a palette is specified from the Component Editor. The original settings provide several sample palettes containing common analog and digital components. The palettes can be tailored to suit personal preferences. Palette display can be toggled on and off by pressing CTRL + palette number. For example, CTRL+1 toggles the display of palette 1. The names of the palettes can be changed in the Preferences dialog box.


Analysis menu

The Analysis menu

This menu contains the available analysis modes.

Transient Analysis (Alt+1): This option runs transient analysis. This lets you plot time-domain waveforms similar to what you would see on an oscilloscope.

AC Analysis (Alt+2): This option runs AC analysis. This lets you plot frequency-domain curves similar to what you would see on a spectrum analyzer.

DC Analysis (Alt+3): This option runs DC analysis. This lets you plot DC transfer curves similar to what you would see on a curve tracer.

Dynamic DC (Alt+4): This options selects an analysis mode in which the program automatically responds to user edits by finding and displaying the DC solution to the current schematic. You can also make any edit such as adding and removing components, editing parameter values, etc. Micro-Cap responds by calculating the DC solution and will display voltage and states if [image] is enabled, currents if [image] is enabled, power dissipation if [image] is enabled, and device conditions if [image] is enabled.

Dynamic AC (Alt+5): In Dynamic AC, Micro-Cap runs AC analysis and displays AC voltages, currents and power terms directly on the schematic while stepping through a list of frequency values. The program displays AC voltages if [image] is enabled, AC currents if [image] is enabled, and AC power terms if [image] is enabled.

DC OP Worst Case (Alt+6): This option selects an analysis mode in which the program calculates the worst case DC operating point values. Its dialog box look like this: Worst Case dialog box.

Transfer Function (Alt+7): This option selects an analysis mode in which the program calculates the small signal DC transfer function. This is a measure of the incremental change in a user-specified output expression, divided by a very small change in a user-specified input source value. The program also calculates the input and output DC resistances.

Harmonic Distortion: (ALT + 8) This option selects Harmonic Distortion analysis. It runs an instance of transient analysis and then analyzes the distortion products in the output signal by using FFT routines. You can step input level and/or frequency and create plots of THD, THDN (with noise), SINAD, SNR, and any harmonic vs VIN, VOUT, PIN, or POUT. Plots can be done as voltage or power ratios in dB, %, or simple numeric format. PSS methods can be used to achieve rapid convergence of the output waveforms to minimize FFT errors, producing accurate distortion analysis.

Intermodulation Distortion: (ALT + 9) This selects Intermodulation Distortion analysis. Intermodulation distortion analysis lets you step input level and/or frequency and create plots of IM2, IM3, or H1 (1'st harmonic) vs F, VIN, VOUT, PIN, or POUT. Plots can be done as voltage or power ratios in dB, %, or simple numeric format. PSS methods are also available as in the case of harmonic distortion. You can use SMPTE, CCIF, or DIN standards for input voltage and frequency, or enter your own.

Stability Analysis (Alt+0): This option selects Stability analysis which computes the closed loop gain and phase margins of linear circuits.

Probe Transient (Ctrl+Alt+1): This option runs transient analysis in the Probe mode. In Probe mode, the transient analysis is run and the results are stored on disk. When you probe or click on part of the schematic, the waveform for the area you clicked on comes up. You can plot all of the variable types, from analog node voltages to digital states. You can even plot expressions involving circuit variables.

Probe AC (Ctrl+Alt+2): This option runs AC analysis in the Probe mode.

Probe DC (Ctrl+Alt+3): This option runs DC analysis in the Probe mode.

Run Script: This option runs a batch file in standard Micro-Cap format.


Design menu

The Design menu

The design menu accesses the available design functions.

Active Filters: This part of the program designs an active filter from your filter specifications. The filter type can be low pass, high pass, bandpass, notch, or delay. The filter response can be Butterworth, Chebyshev, Bessel, elliptic, or inverse-Chebyshev. Polynomials are calculated from the filter specifications, then mapped into one of several different circuit styles, ranging from classical Sallen-Key to Tow-Thomas. Optional plots of the idealized transfer function are available. Filters can be created as circuits or as macro components.

Passive Filters: This part of the program designs a passive filter from your specifications using capacitors and inductors. The filter type can be low pass, high pass, band pass, or notch. The filter response can be Butterworth, Chebyshev, or Elliptic. The filter polynomials are calculated and implemented in either standard or dual circuit configuration. Optional plots of the idealized transfer function are available. Filters can be created as circuits or as macro components.


Model menu

The Model menu

This menu provides access to most Model functions:

New: This creates a new model (.MDL) data file. The New Part dialog box will be invoked to select the type for the initial part.

Open: This loads an existing model (*.MDL) data file from disk. Files can also be opened and created from the File menu.

Merge: This merges the current file with one from the disk. The results are displayed in the current data file, but are only saved to disk if requested by the user with a Save or Save As command or when the file is unloaded.

Add These Parts to the Component Library: This command invokes the Model to SPICE File dialog box which creates model statements for each of the parts in the file, places them in a user named file (.LIB) and enters the parts into the Component Library, making them immediately available for use in schematics.

Sort: This command orders the parts alphanumerically.

Change Polarity: This command lets you change the polarity of the displayed device. For example, you can change the polarity of a bipolar transistor from NPN to PNP, or MOSFET from PMOS to NMOS.

Change Core Units (Ctrl+U): This lets you switch between the SI units of Teslas - Amps/Meter and CGS units of Gauss - Oersteds. This only affects the plot scale values and the B-H curve data. The optimized model parameters always remain in the original hybrid system of units.

Delete Data (Ctrl+D): This option lets you delete the data pair or data triplet in the data field where the cursor is presently located. It only affects the Numeric Data fields, not the text fields. It is enabled only when the text cursor is located in one of the Numeric Data fields.

Add Part: This option lets you add a new part to the current file. The part type is selected from a submenu and added to the end of the file.

Special Paste: This lets you copy tab-separated data from the clipboard to the data fields. Simply copy data from any text field with CTRL+C and then paste it using this command. The data can have one or more lines containing one of more tab-separated values. The paste is always to the data fields. It overwrites any data in the data fields so be careful using the command. If you make a mistake, the Revert feature will restore the old data.

Delete Part: This command deletes the currently displayed part. Note that there is no Copy Part. These functions are part of the Parts List dialog box. You can delete one or more parts by selecting them, then cutting or clearing them. You can copy one or more parts by selecting them, copying them to the clipboard, then pasting them into the file.

Save Part to Template Library: This command adds the currently displayed user-defined part to the template library so that its format, including graphs, can be used to create other parts. The part name is then added to the Add Part drop down list.

Edit Template Library: This command lets you delete any user-defined parts in the Template Library.

Create Model for this Part: This command lets you create a library file containing a .model statement if the part is a primitive (NPN, NMOS, etc), or a subckt, macro, or model statement, as required, if the part is a USER part. It will also optionally add the part to the Component Library.

Create Models for all Parts: This command is the same as the one above except that it creates models for all parts in the currently open model file. It will also optionally add the parts to the Component Library.

Add Graph: This option invokes the Graph Properties dialog box which lets you add a new graph to the current part. This option is only available when the part is a user type.

Edit Graph: This option invokes the Graph Properties dialog box which lets you edit the properties of the current graph such as the title, waveform, analysis type, and circuit. This option is only available when the part is a user type.

Order Graphs: This option lets you change the order of the user graphs. This option is only available when the part is a user type.

Delete Graph: This option lets you delete the selected user graph. This option is only available when the part is a user type.

Fill Data: This option is used to quickly fill some of the data fields, such as the IV curves of a MOSFET or BJT where the X and Z data values tend to be regular and repetitive.

Import Data: For User-defined parts this option invokes the File Import dialog box which lets you populate the data fields directly from a file generated by the numeric output of an analysis.

Import Data From Clipboard: This option invokes the Clipboard Import dialog box which lets you populate the data fields directly from the clipboard.

Export Data: This option lets you export data fields for the displayed part.

Options:

Global Optimization Settings: This option invokes the Optimizer Settings dialog box which lets you set the global optimizer parameters.

Local Optimization Settings: This option invokes the Optimizer Settings dialog box which lets you set the local parameters for the optimizers. Their format is the same as the Global Settings but are used only if the Use Local Settings flag is set.

Model Defaults: This option invokes the Model Default Editor dialog box which lets you change the minimum, initial, and maximum values for all model parameters. The minimum and maximum serve as limits on the value of optimized parameters during the optimization process. The initial value is used for initialization prior to optimization.

Auto Scale (F6): This option automatically scales the plot.

Manual Scale (F9): This option invokes the Manual Scale Ranges dialog box which lets you manually change the plot scale.

Step Model Parameters: This option invokes the Step Parameters dialog box. This box lets you step a model parameter to see its effect on the curve.

Copy 'Use Local Settings' status to all graphs: This option copies the status of the Use Local Settings option in the active graph to all graphs in the file.

Copy 'Use Local Settings' status to identical graphs: This option copies the status of the Use Local Settings option in the active graph to all graphs of the same type in the file.

Copy 'Use Log Error' status to all graphs: This option copies the status of the Use Log Error option in the active graph to all graphs in the file.

.

Copy 'Use Log Error' status to identical graphs: This option copies the status of the Use Log Error option in the active graph to all graphs of the same type in the file.

View:

Parts List (Ctrl+L): This invokes the Parts List dialog box which lets you cut, copy, delete, display and move parts.

Previous Part (Ctrl+Up Arrow): This shows the prior part.

Next Part (Ctrl+Down Arrow): This shows the next part.

First Part (Ctrl+Home): This shows the first part in the file.

Last Part (Ctrl+End): This shows the last part in the file.

Previous Graph (Ctrl+Left Arrow): This shows the prior graph for the current part.

Next Graph (Ctrl+Right Arrow): This shows the next graph for the current part.

First Graph (Ctrl+Shift+Left Arrow): This shows the first graph for the current part.

Last Graph (Ctrl+Shift+Right Arrow): This shows the last graph for the current part.

All Graphs: This shows all graphs.

One Graph at a Time: This shows a single graph.

List of Graphs: This lets you add a graph from the part's graph list.

Initialize (Ctrl+I): This initializes the model parameter values for the displayed graph of the part. This is usually the prelude to optimizing.

Optimize (Ctrl+T): This optimizes the model parameter values to fit the supplied data points. Optimizing is done for the selected graph of the current part. Optimization is done by minimizing the RMS difference between the data points and the plot values predicted by a particular set of parameters.

Initialize All Graphs: This initializes all graphs associated with the currently displayed part.

Optimize All Graphs: This optimizes all graphs associated with the currently displayed part.

Initialize All Parts: This initializes all graphs of all parts in the currently open model file.

Optimize All Parts: This optimizes all graphs of all parts in the currently open model file.


Help menu

The Help menu

The Help system provides information on the product in several ways:

Contents (F1): This section provides help organized by topics.

Search for Help On...: The search feature lets you access information by selecting a topic from an alphabetized list.

Product Support: This option provides technical support contact numbers.

User's Guide: This accesses the User's Guide.

Reference Manual: This accesses the Reference Manual.

Tip of the Day...: This option provides short tips on product features that are displayed each time Micro-Cap is started.

New MC12 Features: This option provides a list of the new features that are present in Micro-Cap 12.

Statistics: This displays a list of statistics showing the key ID, Micro-Cap version number and executable date. In an analysis it also shows the setup and run time, the number of analog and digital nodes, the number of data points calculated during the run, a list of the actual parts in the circuit after macro and subcircuit expansion, and a list of the number of iterations and solutions for the run.

Check For Updates: This shows the latest version of Micro-Cap available from the Spectrum web site and assists in downloading it to your local machine. The latest revisions of the manuals and help files are also available.

Spectrum Web Site: This option loads the Spectrum Software web site.

Online Registration: This option loads the online registration page so you can register your copy of Micro-Cap.

Key ID: This displays the security key ID which you sometimes need when upgrading the program or accessing technical support.

Sample Circuits: This submenu groups the distributed sample circuits in basic topics to provide an easier way to find and load these circuits by the features they demonstrate. Choose one of the options to load the corresponding circuit.

Demos: These live demos show how to use the principal features. They describe the basics of creating schematics and running analyses. Other topics include: adding new parts to the library, using Probe, IBIS files, parameter stepping, Fourier analysis, analog behavioral modeling, filter design, animation, distortion, optimization, Monte Carlo analysis, performance plots, and more.

About Micro-Cap: This option shows the software version number.


Additional Help

Website Links

Spectrum Website - Home page of Spectrum Software.

Newsletters - Newsletter section which contains application notes on using Micro-Cap.

FAQ - FAQ section which contains answers to frequently asked questions about Micro-Cap.

PDF Files

(Located in the Documents folder under the main Micro-Cap folder)

LANNotes.pdf - Network Installation procedures

Network_Troubleshooting.pdf - Troubleshooting guide for the network installation

RM12.pdf - Micro-Cap Reference Manual

Upgrade.pdf - Upgrading procedure to migrate files from a previous version of Micro-Cap

UG12.pdf - Micro-Cap User's Guide


How to tolerance an impedance element

The only parameters that may be toleranced are resistors, inductors, capacitors, batteries, current sources, and those within model statements and symbolic variables created with a define statement. Resistors will be used in the following examples, but this method also works with capacitors and inductors.

Method 1: Using model parameters

Each resistor that you want to tolerance must have a model name defined for its MODEL attribute. Each tolerance value that you want to use may be defined by one model statement each. For example, if you want to place a 5% tolerance on some resistors and a 10% tolerance on others, you would need a minimum of two model statements. The following two model statements could be used:

.model RMOD5 RES (R=1 LOT=5%)

.model RMOD10 RES (R=1 LOT=10%)

All resistors with a 5% tolerance could use RMOD5 as their model statement, and all resistors with a 10% tolerance could use RMOD10 as their model statement. The R parameter is a multiplier which will multiply the value of any resistor that references the model statement. For the RMOD10 model, any resistor that references the model will have its value multiplied by a value within the range .9 to 1.1 when a Monte Carlo analysis is performed.

The LOT statement above defines an absolute tolerance when the PRIVATEANALOG option is disabled in the Global Settings. The model statements above produce resistors with perfect tracking. This means that any resistors that reference the same model statement will use the same variation. For example, if two 10k resistors and one 20k resistor reference the RMOD10 model statement, and the R parameter is toleranced to a value of 1.05, all three resistors will use this value. Their resulting values would be 10.5K, 10.5K, and 21K.

To have each resistor toleranced individually without having to use multiple model statements, use the DEV statement as follows:

.model RMOD5 RES (R=1 DEV=5%)

.model RMOD10 RES (R=1 DEV=10%)

The DEV value specifies the relative percentage variation. Each resistor will have a private set of parameters that are toleranced individually. A combination of LOT and DEV statements may also be used.

Method 2: Using the VALUE line.

For each toleranced resistor, inductor, capacitor, battery, or current sources add this text to the value LINE

LOT=10%

For example,

10K LOT=5%

1u LOT=20%

You can also use .defined variables but method 2 is much easier and runs somewhat faster.

Tolerances dialog box

An easy method to apply tolerances to a number of components at one time is to use the Tolerances dialog box. This dialog box can apply tolerances to any valid parameter within a model statement. For impedance elements it also provides a way to define a model statement for multiple devices at the same time as setting a tolerance.


How to step multiple resistors

There are two methods to step multiple resistors. In the following two examples, two resistors will be stepped from 10k to 100k. These methods may be used for more than two resistors, or for capacitors and inductors.

Method 1

Place two resistors in the schematic with their attributes defined as follows:

PART R1 R2

RESISTANCE 10k 10k

MODEL RDY RDY

All of the above attributes have been chosen for this example. They are all user defined values. The RDY model statement should read:

.model RDY RES (R=1)

This model statement can be edited in the text area of the schematic or through the Attribute dialog box, but the default model statement appears as above.

Enter the appropriate analysis. Click on the Stepping command button in the Analysis Limits dialog box. In the Stepping dialog box, make sure that the Parameter Type is set to Model. The text fields in the Stepping dialog box should appear as:

Step What RES RDY

R

From 1

To 10

Step Value 1

The parameter R multiplies its value by the RESISTANCE attribute of the resistors that reference it (10k in this case) to get the final resistance value. In this case, it will step the resistance from 10k*1 to 10k*10.

Method 2

Place two resistors in the schematic with their attributes defined as follows:

PART R1 R2

RESISTANCE RVAL RVAL

MODEL

Again, all of the above attributes have been chosen for this example. They are all user defined values. In either the text area or the schematic itself, place the following text.

.define RVAL 10k

Enter the appropriate analysis. Click on the Stepping command button in the Analysis Limits dialog box. In the Stepping dialog box, make sure that the Parameter Type is set to Symbolic. The text fields in the Stepping dialog box should appear as:

Step What RVAL

From 10k

To 100k

Step Value 10k

This steps the symbolic parameter RVAL from 10k to 100k, and subsequently, steps the two resistors that reference this parameter.


How to add new libraries

The best method to adding new libraries along with the parts in the library to Micro-Cap is to use the Import Wizard available in the Component Editor. This wizard takes you through all of the steps. To do it manually, the procedure is as follows.

To add new libraries into Micro-Cap, simply open up the file called Nom.lib in the specified Library subdirectory. On a new line, place a .lib statement that references the new library. If the library is not stored in the same directory as the Nom.lib file, then a path will also need to be placed in the statement. A line should appear similar to:

.lib "mylib.lib"

Parts may be modeled in libraries through the use of Micro-Cap binary models, .model statements, or .subckt statements. The method for adding libraries that contain these models is as follows.

Binary models and .model statements

Copy the library file into the Library subdirectory. In Micro-Cap, open up the file called NOM.LIB that resides in the Library subdirectory. This file contains a list of all libraries that Micro-Cap accesses automatically. On a new line in this file, add in a .LIB statement that references the library file that is to be added. Use the same format as the other lines such as:

.LIB "Mylib.lbr"

Save and close this file. These models can now be accessed when a Primitive component is used. Placing a Primitive component in the schematic invokes the Attribute dialog box which will display a list of all compatible models.

.subckt statements

Libraries that contain these parts are frequently used by vendors. Copy the library file into the Library subdirectory. In Micro-Cap, open up the file called NOM.LIB that resides in the Library subdirectory. This file contains a list of all libraries that Micro-Cap accesses automatically. On a new line in this file, add in a .LIB statement that references the library file that is to be added. Use the same format as the other lines such as:

.LIB "Vendor.lib"

Save and close this file. All subcircuits that have their own configuration need to be added into the Component Editor or you may use the Import Wizard. A sample vendor supplied header for the OP27 opamp is shown below. All lines that begin with * are comments.

* Node assignments

* non-inverting input

* | inverting input

* | | positive supply

* | | | negative supply

* | | | | output

* | | | | |

.SUBCKT OP27_AD 1 2 99 50 39

Enter the Component Editor through the Windows menu. Choose the group you would like to place the subcircuit into through the component tree on the right side of the editor. Click on the plus or minus box to open or close a group. When you get the group that you want, highlight the group name and click on the Add Component button, [image]. To define the OP27, the settings in the Component Editor would need to be as follows:

Name OP27_AD

Shape Opamp5

Definition subckt

The name should match the name that appears on the .SUBCKT line although it doesn't have to. The Opamp5 is a preexisting shape. A user may create a new shape in the Shape Editor. The definition defines the part as a subcircuit. In the Shape/pin display window (the window on the bottom left of the Component Editor), the subcircuit pins need to be added to the shape. In this case, five pins will need to be added. Click in the window, set the pin to Analog and give it the name '1'. Place this pin at the non-inverting input of the opamp shape. You can drag on the dot to move the pin. Click again in the window, and call this pin '2'. Place this pin at the inverting input. Proceed to add pins 99, 50, and 39 to the shape. Close the Component Editor and save all changes. This part will appear in the Component menu in the group it was added to in the Component Editor.


File Portability

Pre-Micro-Cap 7 versions could not load a circuit file if it contained a part that was not already in the component library. If you wanted to share a circuit with a friend, you had to send your component and sometimes your shape library along with the circuit. That is no longer necessary with Micro-Cap.

To improve file portability, circuit files now contain copies of their shape and component library data. A friend's Micro-Cap can read your circuit file without needing your shape and component libraries because the circuit file itself has that information.

When Micro-Cap loads a circuit file that has a part that is not in the Component library (i.e. not listed in any of the currently open component library files), it reads the shape and component data from the circuit file, automatically creates an entry for the part, and places it in the auxiliary component library file, IMPORT.CMP.

This makes the part instantly usable. Note that the circuit file must have been saved in Micro-Cap 7 or later format for this feature to be available. You can drag or move the part into any group of any component library file. Until deleted, the part is available for use in any circuit.

The Component Import option at Options / Preferences / Options / Circuit can be used to defeat this feature. If disabled, shape or component information from a circuit file is not imported.

If your friend also wants to run a simulation, they will need model information as well. The Localize Models button [image] (available under the Edit menu too) adds or updates model statements, subckts, and/or macros and copies them into the circuit file so that the circuit file alone is all that is needed to run an analysis.

If the Localize Models command is not run, any library files or macro files that the other user would need would also have to be transferred.


MC12 New Features

IIn July of 2018, Micro-Cap 12 was released. Its major new features were:

Schematic Editor

Spreadsheets: Spreadsheets can now be placed in the schematic. In addition to following the usual spreadsheet format and usage, they have access to simulation variables.

Enhanced Region Enable: Ways to enable components or entire regions now include Boolean Expression Value, Check Box, and Buttons. These are particularly useful in quickly comparing the effect on analysis plots of different circuit options.

Localize command improvements: The Localize command now embeds all companion files (*.usr. etc) as well as models, subcircuits,and macros. Localizing a file is vital to ensuring the circuit works as expected when you send it to a colleague. It avoids the problem of missing or different versions of models, subcircuits and other important circuit information.

New graphics objects:

Closed and open polygons:

Traingle

Star

Pie

Block Editor: New block shape type for arbitrary package outlines.

Analysis

Parameter passing: Text can be passed as a parameter to subcircuits.

Temperature variation: Temperature can be a function of time or other circuit variable.

Import and export: Importing and exporting of waveforms and curves is now made easier through direct export of analysis plots to Excel, text file, or the clipboard. PWL source waveforms can be imported from Excel or text file or pasted in from the clipboard.

State Variables editor:

• A Nodeset command was added that creates a .Nodeset using current state variable values. This works likes the IC command.

•The editor window was mage larger and expandable.

Smoothing: A set of routines was added that provides optional user-controlled /smoothing at the corners of Pulse and PWL Voltage and Current sources and for LIMIT and TABLE functions in NFV, NFI, NTVOF, and PSPICE dependent sources. The purpose of smoothing is to enhance overall convergence.

Smoke / Stress Analysis

An entirely new analysis tool called Smoke was introduced to assess how close circuits are to violating maximum operating limits.

Monte Carlo

Monte Carlo routines were improved in several ways:

• 2D and 3D histogram choice was added.

• The ability to view the tolerances used for individual cases was added.

• Asymmetric tolerances (+80%,-20%) was added.

• The ability to create a circuit for any case was added.

Worst Case

Enhanced Worst Case: The Worst Case routines were improved.

• Improved Editor: The editor used for setting the various bias tolerances has been significantly improved.

• Bias Templates: You can now use templates for common types such as Drift, Temperature, Voltage Stress, Radiation, Etc.

• Asymmetric tolerances (+80%,-20%): Asymmetric initial tolerances are now supported.


MC11 New Features

In December of 2013, Micro-Cap 12 was released. Its major new features were:

64 Bit Version

Micro-Cap 12 comes in two varieties, a 32 bit version which can access 2G of RAM and a 64 bit version which can access as much as 192G of RAM. The 192G version can analyze circuits of 1e7 components.

Schematic Editor

Encryption: Password-protected encryption can now be used on any type of file, including circuit, macro and library files.

Title Block editor: A Title Block editor was added that allows multiple fonts,adjustable size, and title block template save and recall for greater ease of use.

Rich Text Format: An option for RTF text format was added, enabling super and sub-scripting, and font, style, size and color control of individual words within a text block.

Text angle: An option was added to allow arbitrary text angles.

Command statement builder: A command statement builder helps construct many types of .commands including .measure, .warning, .help, and .define statements.

Schematic background: Background images, including watermarks, can be added to a schematic.

Graph Paper Option : A Graph Paper option was added to the Grid options

Auto Scale (F6) : An auto scale option was added.

Unconnected pin markers: Pins and wires that have no connections can be marked with a special symbol (yellow triangle) that shows possible faulty wiring.

Bill of Materials : An Excel file can be created from the BOM contents.

BOM optional expand: The .define values can optionally be expanded in the BOM, so that .DEFINE RX 3K shows up as 3K and not RX.

Copy circuit name to clipboard : Right click on the circuit window tab to copy the window name to the clipboard. The name includes the entire path to the circuit file.

Expandable Component Find : An expandable component find dialog box makes it easier to read the sometimes lengthy component memo text fields.

Attribute Dialog box disable: The automatic display of the Attribute Dialog box that occurs when you place a component can be eliminated.

This is convenient when drawing a general schematic without values.

Expandable Attribute Dialog box: This dialog box can now be expanded by dragging the Size grow icon, making viewing large subcircuits easier.

Dialog box location save: The location of major dialog boxes can be saved, even if they are on different monitors.

Text grid snap: A feature was added to disable or enable grid snap for text.

Find / Replace: This command was improved to include whole word search and to show the schematic location of the found item behind the dialog box.

Enable region box: An on/off check box was added to the enable region to make it easy to disable/enable the region expression checking.

Find in Files command: An All option was added to this command.

Push-pin text: Push-pin text can be enabled in the Text dialog box. Placing a mouse over the text displays the text. Otherwise just push pin is shown.

Embedded Images: Image files in a circuit can now be localized (embedded or saved in the circuit file) making the circuit file more portable.

Drag and drop pictures: Images can be dragged from one app and dropped into a schematic or analysis plot. Images can also be copied and pasted into the schematic.

Info page options: Info page content can be chosen from the circuit Properties dialog box (F10).

Properties dialog box : The color of each schematic object is displayed beside the item for greater clarity.

Change dialog box : The Change dialog box now shows selected components.

Analysis, Measurement, and Plotting

Stability analysis: This is new type of AC analysis that measures open loop gain, phase margin, and gain margin using the Tian or Middlebrook method.

Worst Case analysis: Using RSS, Monte Carlo, and extreme value analysis, this new routine computes the worst case value of critical design parameters.

Performance functions: An integration operator and a Peak-to-peak operator were added.

.Measure command: The HSPICE .Measure command was added.

Measurements window: A measurements window shows the results of .measure and performance functions.

Measure library: Common measurement functions using the basic .measure command set. Includes pulse width, frequency, period, overshoot, delay, and power factor.

FFT windowing functions: Extensive set of FFT windowing functions (Rectangular, Cosine, Tukey, Barlett-Hann, Blackman, and many more)

FFT window reference frequency: For HARMN, db(HARMN), THD and IHD

Fourier Integral: An option for computing Fourier spectra using the Fourier integral rather than the FFT was added.

Fourier Plots: An option for clipping baseline db values and ignoring the phase computation for low db values was added.

Curve fitting utility: Linear and polynomial curve fitting utility

Ignore Illegal Plots: Option that ignores analysis plots that have a disabled or missing part or node, for cases where you want to switch between enabling

and disabling circuitry and have the analysis limits plots still be legal.

More Plot Groups: Up to 19 plots within each plot page can be named and used.

Adjustable Plot Height: Analysis plots heights can be adjusted by dragging.

Dynamic AC: Temperature and frequency were added to the text display.

Analysis Limits Copy / Paste: The analysis limits can now be copied from one circuit and pasted into another.

P key skips: The Plot tab of the of the Plot Properties dialog box controls how many P keys to skip between values printed to the plot.

Numeric output path: The name and path can be set for numeric output files.

Fast Numeric output: The speed of the output routines was enhanced in anticipation of the need in larger circuits possible with the 64 bit version.

Analysis Limits Plot Item Menu : A new pop-up menu provides control (move, add, delete, copy, and paste) for each plot item in the analysis limits dialog box.

Click and drag for plot items makes it easy to rearrange the plot order.

Animation programmed wait: A "Wait for Key Press After T=" which waits until T equals the specified time to start the key press wait was added.

Models

Parker-Skellern Gaasfet Model: A fourth GAASFET model option was added.

New BSIM4 Model: The latest BSIM 4.7 model was added.

Updated JFET model: Added the ALPHA, VK, ISR, N, NR parameters.

M multiplier: The M multiplier command line parameter was added to diodes, BJTs, GAASFETs, and JFETs.

Expressions

Floor and Ceil functions: Floor and ceiling functions were added using standard C language notation.

Internal Variables: The internal structure variables for many complex models are now available for plotting. For example gm, gmbs, vdseff for BSIM3 models.

Fourier Window Phase Operator Limit: This lower limit below which the phase function is ignored, minimizes choppy plots when the real and imaginary parts are very small.

Fourier Window Magnitude Operator Limit: This is a lower limit below which the magnitude function is clipped.

FFT windowing functions: Extensive set of FFT windowing functions (Rectangular, Cosine, Tukey, Barlett-Hann, Blackman, and many more)

Hypot(x,y): Mathematically = SQRT(X^2+Y^2) but done in a way to minimize overflow and underflow errors.

Integral(expr,b,start,end): Performance function that computes the integral of expr from start to end. Integral accumulates only when Boolean b is TRUE.

PP(expr,b,start,end): Performance function that computes the peak to peak of expr from start to end. PP only considers data points if Boolean b is TRUE.

Monte Carlo

Run Limit: The limit on the number of runs was increased to 100,000.

Simultaneous runs: Stepping and Monte Carlo can be run simultaneously. Formerly, only one or the other could be run at a time.

Histogram info: Hovering the mouse over a histogram bar shows the Y value and the X range in the Status bar.

Histogram bar count: The number of histogram bars can be set when using the Auto option.

Monte Carlo exception file: When creating an exception file, a text string is placed in the schematic to describe the case that was used such as Temperature=27 Case=3

Component editor

Shape not found: When a component can't find its assigned shape, a flag is set so that the part looks for its normally assigned shape each time the component file is loaded.

Component merge command: Partial merges can be done when merging two component library files.

Save As command: A Save As icon was added to the Component editor tool bar.

Read Only flag: If a component library is set to read-only the text "(Read Only)" is appended to the file name in the hierarchy display.

Size control: The size of the Component editor dialog box and its Move dialog box are now user-controllable using the Size grip icon.

Shape editor

Size control: The size of the Shape editor dialog box is now user-controllable using the Size grow icon.

Uniform text direction: The text direction is now uniform.

Printing

Print portion: Optionally, only the portion within a select box can be printed.

Print scale: Each page can have a different print scale.

Print disable: Disabled items can optionally be excluded from the print.

Miscellaneous improvements

Excel import: Data from an Excel spreadsheet can be imported into a User model file using Copy (on the Excel side) and Special Paste (on the MC12 side).

Batch file quiet command: Plotting can be eliminated with the new /quiet command.

Batch file image commands: Batch file commands were added to facilitate capture of schematic and plot images.

Batch file Save V&I command: A batch file command (/SVI) was added to save voltage and current only.

Internal batch file execution : A batch file that normally is executed from DOS or a Micro-Cap command line can now be executed from within Micro-Cap.

Sliders default: A new button was added to set the default value to the currentvalue.

Tag Branch Info: Cursor tags can have branch information added to the tag.

WMF files: WMF files can be created with transparent background.

3D graphs: Users can set the min and max colors and the graph color will scale in between.


MC10 New Features

Overview

Micro-Cap 10 incorporates many incremental refinements reflecting requests received from users. These and other small, incremental refinements are a big part of what makes the product so easy to use. The technical advancements in MC10 are principally four in number:

Threading: Using threading techniques, multiple CPUs are employed to reduce simulation time.

PSS: Periodic Steady State uses techniques pioneered by Aprille and Trick to calculate the periodic steady state, removing any short term transients from the time-domain waveforms, greatly simplifying many types of circuit analysis problems.

Distortion: Two completely new analyses make creation of harmonic and intermodulation distortion plots easy.

Optimization: Optimization has been improved by the addition of three new methods. The complete list of methods now includes:

Powell

Hooke

Levenberg-Marquardt

Differential Evolution

Threading

Micro-Cap 10 uses threading for significant speed improvement where multiple CPUs are available. When multiple independent analyses are requested, Micro-Cap uses threading technology to speed up the overall analyses by allocating each sub-analysis to a different CPU. This is beneficial when stepping temperature or parameters, in Monte Carlo Analysis, and with harmonic and intermodulation distortion analysis.

Schematic Editor

On-schematic text editing: Grid text can now be edited directly by double clicking the text body while holding down the Alt key.

Favorites: A Favorites tab was added to the Component Panel. This tab keeps track of your component usage and provides a list arranged with the most often used parts at the top.

Mouse Info Box: When you hold the mouse over a part, this box shows basic information like voltages and currents. The content of the box now optionally contains much more data such as beta, capacitance, conductance, and many more values from the internal device structure.

Text Search: The text find command was elaborated to show all instances of the text, as it is being typed. The currently selected piece is highlighted with Previous and Next navigating the instances found.

Local VIP Font and Format Control: The font and numeric format of node voltages, pin currents, and power values are now controlled from the circuit Properties page (F10), rather than being global formats that apply to all circuits.

Find Command: This command now allows Find and Replace operations on any attribute or grid text.

Color/Font Change: The new Change / Attribute feature has been expanded to allow simultaneous changes of color and or font of selected part attribute text.

Global Settings Default: Non-default global settings are now shown with bold printing to emphasize the change.

Text Align: This command lets you align selected grid or attribute text.

User Created Toolbar Bitmaps: Users can now create and assign new bitmaps for favorite commands.

Schematic region enable / disable: A Show/Hide capability for the Boolean enable text was added as well as font/color control. On-schematic text editing was added for the enable text.

Find Component: The size of this dialog box is now adjustable to provide more space for large lists of parts that match the specified text string.

Close All Files: A command was added to close all open files.

File Save: This command now allows saving a circuit file while in an analysis.

Topology Check Option: The Path to Ground, Voltage Loop, and Floating Nodes checks are now optional.

PWL: The character limit for the PWL table edit area was removed.

Windows Dialog Box: A Windows dialog box was added to easily activate, close, or save open windows.

Bill of Materials Parts Grouping: The Parts can be grouped (as in earlier versions) or ungrouped according to the status of the Group Parts check box.

Automatic Check for Update: The program now automatically checks the web site to see if a newer version is available.

Analysis

PSS: Periodic Steady State: This new analysis mode, which finds the time domain periodic steady state waveforms, was added to Transient, Harmonic Distortion, and Intermodulation Distortion. It is executed after the optional operating point and runs in lieu of the normal time domain run. PSS uses a shooting method to eliminate transients normally encountered to arrive at steady state waveforms.

Harmonic Distortion Analysis: The existing harmonic distortion analysis was greatly expanded to make creation of distortion plots easy. You can step input level and/or frequency and create plots of THD, THDN (with noise), SINAD, SNR, and any harmonic vs VIN, VOUT, PIN, or POUT. Plots can be done as voltage or power ratios in dB, %, or simple numeric format. PSS methods can be used to achieve rapid convergence of the output waveforms to minimize FFT errors, producing accurate distortion analysis.

Intermodulation Distortion Analysis: Intermodulation distortion analysis lets you step input level and/or frequency and create plots of IM2, IM3, or H1 (1st harmonic) vs F, VIN, VOUT, PIN, or POUT. Plots can be done as voltage or power ratios in dB, %, or simple numeric format. PSS methods are also available as in the case of harmonic distortion. You can use SMPTE, CCIF, or DIN standards for input voltage and frequency, or enter your own.

Distortion Plots Waveform Buffer: Distortion plots created in harmonic and intermodulation analyses can be saved and recalled from the Waveform Buffer.

FFT Dialog Box: The FFT panel on the Analysis Properties page (F10) has a new field called Frequency Step. Enter a value here and the an adjustment is made in the Lower Time Limit value and vice versa, according to the formula, Frequency Step = 1 / (Upper Time Limit - Lower Time Limit).

Plot, Save but Don't Plot, Don't Save and Don't Plot: These button options can be selected for each waveform or curve in the Analysis Limits dialog box.

FFT Auto-scaling: FFT auto scaling is now done using the FFT upper and lower time limit parameters rather than the older TMAX, TSTART.

Branch values in plots: This lets you plot expressions that use waveform values from different branches. A branch is a Monte-Carlo case or a stepped value. V(1)@1 - V(1)@2 plots the difference of V(1) between branch 1 and branch 2.

Point Tag Numeric Format: The X and Y numeric formats of point tags are now separately specifiable.

HSPICE Compatibility: A small step toward compatibility with HSPICE files was taken by allowing '3*V(1)' to mean the same thing as {3*V(1)}.

Save Curves Auto Save: This option automatically saves selected waveforms after each run.

Cursor Values in Text Expression: This lets you write analysis expression text using cursor values CursorLX, CursorLY, CursorRX, CursorRY as variables.

Copy Cursor Values to Clipboard: This lets you copy the contents of the cursor table to the clipboard.

Enable / Disable / Hide: By right-clicking in the Page or P (Plot) fields you can enable, hide, or disable all curves that use the Page or Plot number. Enable saves the data. Disable does not. Hide stops the plot display but saves the data.

Import and Export of WAV files: WAV audio files can now be imported and exported allowing one to "hear" the output of an audio amplifier.

AC Power: AC power is now calculated as P = V * Conjugate(I).

Time-domain Power: When RMS on-schematic display is requested, transient analysis power is now calculated as P = RMS(V) * RMS(I).

Time Data Retention: The definition of the transient analysis Time Range format of tmax, [tmin] has been changed to tmax, [tstart]. The analysis always starts at T = 0 but data points prior to tstart are now discarded after plotting. If you move the plot or rescale it after the run is over the data points prior to tstart are not replotted because they have not been saved.

Sort Function for Page and Plot Number: The page names and plot numbers can now be sorted alpha-numerically.

Plot Expression Right-Click: Additional functions are now available by right clicking on the underlined expression text within the plot, including scales and formats, and plot line and text color.

Histogram, Performance, 3D, FFT Windows: The old limit of 10 for these windows was eliminated.

Sweep Resistance in DC Analysis: Resistance values may now be directly swept in DC analysis.

Stepping Enabled: When stepping is enabled, the Stepping button in the Analysis Limits dialog box is shown in bold.

Initial Conditions Editor Format: A Format button provides numeric format control for the .IC, Write, and Print commands.

AC Analysis Limits Default Changes: The Frequency Range method now defaults to Log, and the Number of Points now defaults to 1001.

Noise Output Nodes Prompt: Right-clicking in the Noise Output field of the AC Analysis Limits dialog box provides a list of available node names.

Improved Illegal Expression Error Messages: The error message for illegal expressions was expanded to show the entire expression and the point in the expression where the error occurred.

Error Page: A separate error page now captures all errors generated by an analysis. This is useful when errors that do not stop the run are encountered. This page keeps a record of them for later perusal. For example, a Monte Carlo run of 1000 cases may generate a few "Timestep too small" errors but the overall 1000 run sequence continues and deposits error messages here.

Function Source Extension: Function voltage and current sources can now reference the B, H, and Flux values in their expressions.

Sensitivity Analysis: The output expression limit of 10 has been removed.

Component Editor

Improved Add Part and Import Wizards: These routines has been enhanced to show how the part will look when a template is selected.

Save and Revert Options: The Save and Revert options are now available on the tool bar, so it is no longer necessary to quit in order to save or restore the file you are working on.

Shape Editor

Find Command: A Find command facilitates locating shape names.

Picture Files: Pictures files may be imported to serve as a part of a shape file.

Duplicate Command: A new Duplicate command makes an exact copy of the selected shape and assigns it a new name.

Groups: Shapes may now be assigned group names.

Save and Revert Options: The Save and Revert options are now available on the tool bar, so it is no longer necessary to quit in order to save or restore the file you are working on.

Expressions

Int Operator: The INT operator was added. INT(2.7) = 2.

Nint Operator: The NINT operator was added. NINT(2.7) = 3.

Harm Function: The HARMN function was added. Its output is the same as the HARM function, but normalized to the 1st harmonic's value.

Plotting D(NODE) and V(NODE): When you have a digital node connected to an analog node, D(NODE) plots the waveform for the digital node and V(NODE) plots the analog waveform.

Optimization

New Optimization Algorithms: Optimization has been improved by the addition of three additional methods. These include Hooke, Levenberg-Marquardt, and Differential Evolution. Each method has its own strength and is optimal in different kinds of problems. Together they provide powerful assistance in solving optimization problems. The new methods are available in each analysis optimization routine and in the Model program optimizer.

Optimizer Curve Fit From File: The optimizer has been expanded to allow importing data sets from a file to facilitate using the optimizer to curve fit with large data sets.

Monte Carlo

GAUSS and UNIF functions: The GAUSS, AGUASS, UNIF, and AUNIF functions can now be used to compactly specify a component's distribution values.

Eliminate Outliers: For Gaussian distributions, an option is now available to eliminate any values outside of the tolerance band.

User Defined Scales: Histogram X and Y scales can now be set by the user.

Bar Tops: Histogram bar tops can be annotated with either quantity found or percentage found in each bar's range.

Runs Display: The histogram display includes the number of runs.

Low, Mean, High Format: These quantities are now shown in engineering notation, e.g. 10n vs 1e-8.

Statistics in Printout: The low, mean, high, and sigma (standard deviation) are now shown in the numeric output.

Models

WAV File Source: This source gets it waveform from a specified .WAV file, allowing convenient importation of audio and other waveforms.

BJT Quasi-saturation model: The BJT model was expanded to handle the quasimod, rco, gamma, and vo parameters.

IBIS models: The IBIS model was expanded to handle the I/O open drain, I/O open source, I/O open sink, open drain, open source, and open sink models.

Package Editor

Auto Check: Entering a new package automatically enables it by setting its check mark.

Multiple Entries: Multiple packages can now be entered by assigning a duplicated entry to more than one package at a time.

Model Program

More Optimizers: Model optimization has been improved by the addition of three new methods. The complete list of methods now includes:

Powell

Hooke

Levenberg-Marquardt

Differential Evolution

User-defined circuits optimizing: Model now supports optimization using user defined test circuits. No longer are you limited to determining parameters for a fixed number of devices. Test circuits can be created to determine optimized parameters for BSIM3, BSIM4, PSP, IGBT, and other devices.

BJT Parameters: BJT optimized parameters now include the NK parameter.


MC9 New Features

Models

IGBT model

An integrated IGBT model was added. It is based upon the implementation by Gregory Oziemkiewicz of the Hefner model.

Philips Mextram bipolar model

This is a vertical NPN or PNP bipolar model that describes velocity saturation, base widening, Kirk effect, impact ionization, and self heating effects.

Philips Modella bipolar model

This lateral PNP bipolar model describes current crowding, high-level injection, and bias dependent output impedance.

Philips MOSFET Model 20

A high voltage compact LDMOS model.

Philips MOSFET Model 31

A new high voltage MOSFET model.

Philips MOSFET Model 40

A new high voltage Silicon-On-Insulator (SOI) MOSFET model.

Philips MOSFET Model 11

A popular Philips MOSFET model suitable for low voltage CMOS RF applications.

PSP MOSFET model

PSP is the latest compact, surface-potential based model suitable for digital, analog, and RF CMOS applications. Jointly developed by Philips and Penn State University, the model accounts for mobility reduction, velocity saturation, DIBL, gate current, and lateral doping gradient effects.

IBIS component

A new set of IBIS input / output components were added, easing the importation of IBIS models.

N-Port component

ABCD and T parameters were added.

Enhanced RLC models

Resistors, capacitors, and inductors now have optional model parameters for parasitic resistance, capacitance, and inductance.

Philips JUNCAP2 model

The JUNCAP2 diode model was added. JUNCAP2 is a MOSFET pn junction model that describes depletion capacitance, Shockley-Read-Hall currents, trap-assisted tunneling and band-to-band tunneling, avalanche breakdown, and shot noise.

User source

A trigger expression was added. The source is idle until the expression becomes true.

Digital file stimulus source

Added a repeat capability to the source.

Analysis

Enhanced convergence methods

The Junction GMIN Stepping and Pseudo Transient methods were added to the arsenal of operating point methods. There are now five methods:

Standard Newton-Raphson

Source Stepping

Diagonal Gmin Stepping

Junction Gmin Stepping

Pseudo Transient

Means were added to select the preferred order of usage and to automatically search for the fastest of the methods.

RSHUNT, CSHUNT, and RP_FOR_ISOURCE global parameters were added to provide augmented convergence. These parameters add an RSHUNT resistance or CSHUNT capacitance from every node to ground, or an RP_FOR_ISOURCE resistance across any current source.

Waveform Buffer

A new Waveform Buffer accumulates curves / waveforms automatically or under user control for later plotting and comparison. In automatic mode the buffer accumulates waveforms up to a user-set memory limit.

Dynamic analysis mode

A new interactive analysis mode allows dynamic plot updates as changes are made. This is an extension of Dynamic DC to transient analysis, AC analysis, and DC analysis. Plots can either accumulate or replace showing the effect of successive changes in component parameters, model parameters, or user variables. Parameter changes can be controlled by sliders, cursor keys, or edits of any kind.

Dynamic performance tags

These new tags perform curve measurements showing the new values each time an analysis is run or a new branch of a stepped curve is selected.

Individual tag format

The color, font, numeric format, and other characteristics can now be set individually for each tag.

Define variable usage

.Define variables can now be used in the X and Y Range fields, the Maximum Time Step, and in the FFT Upper and Lower Time Limit fields.

Numeric output improvements

Variable engineering notation within a column of numbers, selectable row/column tabular format, and curve aliases were added to numeric output files. Printing can be limited to a subset of the simulation range. Numeric output is now available for Dynamic AC and Dynamic DC.

Plot pages

Analysis plot pages with assignable names allow plot grouping.

New wildcard syntax for plot expressions

A new wildcard syntax is available for use in the Y Expression field of the Analysis Limits dialog boxes. This syntax allows the user to compactly specify the plotting of many similar expressions.

Enhanced cursor function

Cursors can now be placed on separate curves.

Data Point Only waveform style

This new plotting style shows the data point marker only, sans line, a sometimes preferred style for FFT plots.

Enhanced Save Curve command

This command can now save in CSV format, for convenient Excel importing.

Envelope command

This new command creates a polygon encompassing the curves of a Monte Carlo or stepped run. It is useful for graphically depicting the plot variation.

Stepping

The tabs of enabled stepping panels are now check-marked so it is easier to see what is active. Part names in the dialog box are now ordered so they go R1, R2, R3 ... R10 rather than R1, R10, R2.

Visible region auto-scale

A new auto scale command is available that operates only over the X portion being currently displayed on the screen.

New performance functions

Added RMS and AVERAGE performance functions.

Separate select mode for schematic and analysis

There is now a separate Select mode option for both Schematic and Analysis.

Probe

Edit while probing

The interactive analysis feature of MC9 lets you edit the schematic while in probe. Each edit updates the simulation and shows the effect of the change. CTRL + SPACEBAR cycles through the available probe modes, while SPACEBAR now toggles between probe mode and schematic select mode.

Visual probing of macros and subcircuits

Drill down probing lets you visually probe macro schematics or subcircuits to any level. Instead of selecting items from a list, you can probe macro objects directly. With subcircuits, you can probe directly on netlist nodes and names.

Expanded Probe displays

FFT, Performance, and 3D Windows are now available in Probe.

Schematic Editor

Macro embedding

The Localize command now embeds external macro files into the circuit, for better file portability.

Circuitry region enable / disable

Circuitry can be temporarily enabled or disabled with a simple click, allowing multiple versions of a circuit to be contained in a single schematic. Disabled regions are ignored during an analysis. Whole pages or regions within pages can be controlled.

Region enable expressions

A new Region Box with an enable expression allows conditional inclusion of circuitry.

Component panel

A new panel provides easy access to the library

Enhanced Migrate command

An enhanced migrate command now handles macro and library files.

Schematic display

On-schematic display of last, RMS, average, or peak values

User-assignable hotkeys

Users can set their own hotkeys for any command.

Bus

A bus connector and associated wiring routines were added.

Digital stimulus source

Common patterns are now button selectable.

Improved rubberbanding

Rubberbanding now eliminates all diagonal lines.

Multiple shape capability

Components can now have multiple shapes assigned to them. Each shape has a shape group as well as a shape name, allowing easy switching between shape families.

Window tabs

Window tabs allow easy visual access to schematics, plots, histograms, performance window, etc.

Intelligent Paste command

A paste between circuits optionally adds the appropriate model statements, subcircuits, and macros to the new circuit.

Warning messages

Parts and nodes involved in a triggered warning are now colored. The command has been improved with the addition of global names like R@ to refer to any and all resistors. Warning messages are now also sent to the numeric output file.

Text control blocks

New text control blocks (.IF Boolean_expression, .ELSE, .ELIF Boolean_expression, and .ENDIF) allow conditional inclusion of text, which may control .commands, model statements, and SPICE netlist circuitry.

.SPICE / .ENDSPICE commands

These new commands let you add SPICE netlist-defined circuitry to the text pages of schematics without using a subcircuit.

Improved Component Find command

The find dialog box searches as you type.

New Parameter Find command

A new search command for parameter names and descriptions in the Attribute Dialog Box makes it easy to find parameters in complex MOSFET and bipolar models with lengthy parameter lists.

Assignable component links

Components now have a user-assignable link for quick access to data sheets or other technical documents from an internet URL or a disk location.

Live text expressions

Expressions can now be buried in text and are updated as the constituent variables change.

Mouse tips

Information is displayed at the mouse cursor tip when it is placed over a schematic element.

Fit to Standard Values command

This finds the closest single or series/parallel combination of standard part values that match a given R, L, or C value.

Multiple circuits password control

Many circuits can be given a password simultaneously.

Overlapping objects command

This lets you select overlapping objects with CTRL + Tab.

Common attribute control

This lets you select and move the text of multiple attributes simultaneously.

Bill of materials export

A delimiter can now be added to make exporting easier.

RGB color stored in file

RGB color information (rather than a palette number) is now stored in the circuit file so when the circuit is given to someone else, the colors stay the same.

Batch file parameters

The Batch Script language has been enhanced so that parameters can be defined and passed from the batch file to the circuit being analyzed. Numeric output files can be named to avoid overwriting.

New hotkeys

Node snap and text increment can now be enabled/disabled with hotkeys.

Monte Carlo

New Tolerance dialog box

This provides a rapid way to apply LOT and DEV tolerances. Tolerance templates can be saved and applied to future models.

Improved Load MC File command

A Load MC file dialog box lets you choose which of the cases you want to load for review.

Performance measurement display

Selecting a case from the Histogram display list while the plot is in Cursor mode causes the corresponding performance function measurement to be shown.

Expressions

Multi-dimension complex arrays

Arrays were extended to many dimensions and now handle complex values instead of just real values.

Enhanced FFTS and HARM functions

An optional bandwidth parameter was added to the FFTS and HARM functions.

Complex impedance

Complex impedance and conductance expressions for passive elements like Z(D1), Z(C1), Z(L1), and Z(R1) are now available in AC.

Legendre polynomials

Legendre polynomials were added.

Lambert W function

The Lambert W function was added.

New limiting exponential functions

EXPL: if x is less than max then exp(x) else exp(max)*(x+1-max )

EXPLP: Derivative of EXPL(x,max) with respect to x

Filter Designer

Passive elliptic filters

Passive elliptic filter capability was added.

Fit to Standard Values command

A new command was added to find the optimal series or parallel arrangement of standard resistors, capacitors, and inductors.

Component Editor

New right click menu

This menu lets you add, copy, delete, paste, replace, and find information for parts.

Improved Group Delete command

Deleting a populated group is now allowed, after a warning is given that the parts will be deleted.

Improved Move Parts command

The Move Parts dialog box allows selection of both the From directory and the To directory. Previously, the From directory had to be selected before invoking the Move Parts command.

Improved Add Part wizard

The Add Part wizard now asks for the model file name before the part name, allowing it to scan the file and offer a list of candidate names from the model file.

Macro parameters

These parameters can now be automatically displayed when initially placed in a schematic without having to turn on the Show flag for each one. This feature is set in the Component library.

Remove file icon

Remove File icon is different from the Delete (part) icon.

Miscellaneous Improvements

User-adjustable recently used component list

The size of the recently used component list is now user adjustable.

File menu view settings memory

The view settings (details, list, etc.) in the File menu are now saved between uses. Windows XP or later.

Improved Find in Files command

The text search option now searches analysis plots and analysis limits text expressions in addition to schematic text objects.


*MC8 New Features

IBIS modeling tool

New IBIS modeling tools were added to translate IBIS files to standard Micro-Cap / SPICE input and output pin models. These models accurately reproduce the IBIS golden waveforms. The IBIS editor creates both standard library SPICE models and verification models for testing and verifying golden waveforms.

EKV2.6 MOSFET model

The latest EKV MOSFET model from the Swiss Institute of Technology was added. It featured a dedicated charge-based dynamic model using only 18 intrinsic core parameters.

BSIM4.4.0 MOSFET model

The BSIM4 MOSFET model was added to address MOSFET physical effects into the sub-100nm realm.

HSPICE style binning

BSIM3 and BSIM4 devices were upgraded to include the HSPICE binning option, as well as the standard Berkeley binning option.

Short distance VT matching for BSIM3 and BSIM4 models

Both BSIM3 and BSIM4 were upgraded to include a short distance VT matching parameter, to better model short distance threshold variations.

N-Port device using Touchstone data format

A new N-Port device was added that used S, Y, Z, G, or H parameters and read standard Touchstone data files.

SPICE voltage and current source enhancements

New time-domain Noise and Gaussian waveforms and preset tabs for common waveforms were added to make complex waveform creation easy.

Timer device

A flexible new timer device was added to count events, and to measure both elapsed and last event time.

Enhanced S and W switches

A hystereses option was added to the S and W switches.

Improved magnetics model

A new, more robust Jiles-Atherton magnetics model was added. Both MODEL and the mainline simulator can plot BH values in both CGS and MKS (SI) units.

Animation components

SPST, SPDT, DPST analog switches for dynamically configuring a circuit.

Analog bar with height proportional to the input DC voltage.

Analog LED with user-defined color and on voltage.

Rotating DC motor with DC voltage dependent RPM.

Analog / digital DC voltage/current meter.

Relay with programmable resistance, inductance, and on and off currents.

Three color traffic light.

Password protection

A new protection feature added password protection to circuit and macro files.

Find in Files command

A new Find in Files command was added to search circuit or other files for text, components, or other content.

Info Page

An Info text page was added to show the location of macros/subcircuits used in the circuit, resolving uncertainty over which model file was used.

Component menu shape display

The Component menu now shows the component shape as you browse.

Local path commands

New local .PATH commands let a circuit specify DATA and LIBRARY paths, overriding the global paths.

Subcircuit maker

A new Make SUBCKT command translates a schematic to a SPICE subcircuit.

Improved Bill of Materials report

A new Bill of Materials report features sorting on any field and a live report that responds to user format changes immediately.

Apply Display Properties command

A new command was added to copy a selected part's display properties (part color, attribute font, size, color, and print location) to other similarly named and rotated parts.

Change Attribute command

A new Change Attribute command was added to add, delete, edit, show, or hide attributes of any subset of the parts in a schematic, making mass changes easy.

New graphics formats

TIFF, PNG, JPG, and ICO graphics formats were added to the standard BMP, WMF, and EMF formats for saving schematic and plot images.

Automatic node highlight

Optional node highlighting was added.

Cleanup command

A new Cleanup command for deleting miscellaneous extraneous files was added.

New Attribute dialog box plot

Diodes acquired a new Ir vs. Vr plot to show reverse characteristics.

New color options

Parts and wires can now have individual colors.

New Dynamic AC analysis

A new analysis mode was added that features dynamic on-schematic display of AC voltage, current, and power as frequency is stepped, with the display dynamically responding to schematic edits.

Enhanced Dynamic DC analysis

Stepping, optimization, and an Analysis Limits dialog box were added to Dynamic DC.

New Distortion analysis

A new analysis mode was added that employs the DSP routines to calculate and plot measures of distortion, including raw harmonics, as well as total and individual harmonic distortion.

Enhanced Fourier analysis

A new FFT window was added to automatically convert transient plots to Fourier plots. A new FS(expr,n1,n2) function was added that creates a waveform from the n1 to n2 terms of the Fourier series of (expr). A new RES(expr,n1,n2) function was added to create a residual waveform by subtracting the n1 to n2 terms of the original waveform. FFT auto-scale commands were upgraded to allow ignoring the DC component and auto scaling over only selected harmonics.

Analysis plot improvements

Scale factors (Meg, K,...p, f) for X/Y axes. e.g. "Time (nS)"

Units (Amps, Volts, Watts,...) for plots. e.g. "V(26) (Volts)"

Open and closed circles and squares data point markers

Normal and popsicle data point styles

X, Y, or both auto scaling options

New option to force all X scales to be the same

Retrace mode for rolling displays

Right clicking on expressions to invoke FFT, performance, and 3D plots

New minor log grid option to show and label 1-2-5-10 sequence

New expressions and functions

Integration and differentiation operators for use in function sources

Array variables for indexed selection of variable values from a predefined array of values

Transmission line power and energy terms

AC power and energy terms

New random functions, RNDR, RNDC, and RNDI(interval)

New DELAY(x,d) function returns expression x delayed by d seconds

S and W switch resistance, voltage, current, power, and energy terms

SPICE3 analog Boolean operators, &, |, ~, and ^ with analog parameters

LAST(expr,n) function

MAXR and MINR function to track an expression's highest and lowest value during a run

NORM, NORMMAX and NORMMIN functions to normalize at specified, maximum, and minimum points

International engineering notation (e.g. 3R3 = 3.3)

Global settings variables

Model parameter use of variables like TEMP that are constant during a run

Nested series expressions

Product series function (e.g. PROD(I,1,3,I) = 1*2*3)

Analysis limits dialog box

The dialog box size and X and Y fields are user-adjustable.

Optimizer enhancements

The new optimizer supported dynamic plots to show optimization progress and works with both Dynamic DC and Dynamic AC.

MODEL import

MODEL provides one step exporting of its parts directly to the Component library.

Numeric formats

A new decimal numeric format uses only numbers, commas, and decimal points. 1.234e6 can be formatted as 1,234,000.00. Support added for international engineering notation (e.g. 3R3 = 3.3).

Filter Designer improvements

Step and Impulse response plots were added.

Monte Carlo improvements

A new feature lets users reproduce statistical distributions by specifying the random number seed. New features included user-specified histogram range and intervals.

Expanded LAN operation

Several features were added to better support LAN installations. The model library index is now written locally, avoiding the need to write to possibly write-protected LAN disks. Component, Shape, and Package library files can also be located on write-protected LAN disks.

Miscellaneous

New .WARNING(message, condition) command to let users create custom warnings such as .WARNING("Capacitor voltage exceeded.", V(C1) > 50).

SPACEBAR toggle between voltage and current in Probe.

DEFINE statement for use in SPICE files.

All On and All Off buttons to enable/disable all stepped variables.

Rename command to provide left to right and top to bottom options.

Translator to convert file from S, Y, Z, G, or H format to any other format.

New numeric output options let the user decide what to include.


MC7 to MC8

The shuttle command, which moves text between a drawing area and a text area, will place text in the last visited text area. This is due to the multiple text pages that may now be present.

When Micro-Cap automatically adds models to the local circuit, whether through a Refresh command or when simply localizing the model through the Attribute dialog box, the model will be placed in the Models page. In previous versions, it was placed in the Text page.


MC7 New Features

Optimizer

An optimizer was added for use in transient, AC, and DC analysis. It provided the capability of minimizing, maximizing, or matching numeric values for any set of performance function expressions subject to specifiable constraints.

RF models and Smith charts

An S-Parameter two-port analog primitive was added to facilitate the modeling of RF devices. A Smith Chart plot style was added to plot S-Parameter data.

Portable schematic files

Formerly, to send a schematic to a colleague, it was sometimes necessary to transfer not only the schematic file, but the component library file, the shape library file, and any model library files used. In Micro-Cap 7, the schematic file format was expanded to include all information necessary to draw and analyze the circuit. The necessary component, shape, and model library information is stored in the schematic file, so sending a circuit to another user requires only circuit files be sent.

User-specified paths (folders) for all major file groups

User-specified paths (folders) for circuits and libraries were added to allow easy separation of file types. Circuits can be stored in one folder and model libraries in another. Formerly, circuit files and libraries had to be in the current (last opened) folder or in the folder set by the MC6DATA environmental variable.

Characteristic curves

Many users have asked for a stimulus editor that would interactively show the waveform plot as edits are made. We liked the idea so much we added plots for most devices and incorporated it into the Attribute dialog box. Not just waveform sources, but active devices, diodes, Laplace sources, and digital stimulus sources all have characteristic curves or waveforms that can be plotted as you make edits. In the case of analog and digital waveform sources, the characteristic curve is the waveform itself. In the case of BJTs, one or more curves are selectable including DC current gain, saturation voltage, IV characteristics, and beta vs. frequency. Diodes and FETS have IV characteristics plots. OPAMPs have Bode plots.

Component editor improvements

The Component editor was significantly enhanced with an Import wizard that scans a model library file for subckts and adds them to the library when it finds existing parts with similar pin names. This provides near-automatic addition of vendor libraries and makes their frequent updates easier to integrate into the libraries. Other improvements include an Add Part wizard, part templates for rapid manual entry of similar new parts, parts count by group, part name alphabetizer, and a part name list generator.

Attribute dialog box editor

The Attribute dialog box (that comes up when you double-click on a part) was changed to allow editing of model parameters, subckts, digital stimulus patterns, and analog waveforms from within the dialog box. This makes the ADB the place for all-in-one viewing, editing, and visualizing model-related data for components.

Multi-stage undo and redo

A multi-stage undo and redo was added to let you go back and forth one or more schematic steps.

Improved component find command

The component find command was expanded to search on the Name, Shape, Definition, and Memo fields. A Beginning of Line option was added to simplify Memo field searches. A text output of the search results was provided to create custom lists of the library sections.

Text stepping

Stepping through a list of text labels was added to facilitate automated analysis of multiple pattern names, subckt files, model statements, and other text based material. For example, if XYZ is the model name for a BJT, then stepping XYZ through the list {2N2222A, 2N3906, 2N4114} produces three runs each using a unique set of model parameters for the transistor.

Symbolic derivative finder

MC7 introduced the symbolic derivative finder. It solves for and prints symbolic derivative formulas. For example, it will find the derivative of x^x (x raised to the power of x), with respect to x, as x*x^(x-1) + x^x*ln(x).

Status bar monitor

The status bar was expanded to show electrical information such as part name, type, current, and power as the mouse passes over the schematic parts. It also shows the step values for waveform branches in the analysis plot.

Waveform and data point labeling

Optional, automatic labeling of stepped waveform branches was added. Labeling of data points from a user-specified list was also added.

Multiple file opener

A capability to open more than one file at a time was added. MC7 now opens one or more files selected from the File dialog box.

Smooth schematic panning

Smooth 1 pixel panning was added. Earlier versions panned 8 pixels to accommodate earlier, slower machines.

Bill of materials

A bill of materials was added to the program. It lists the number, value, power, cost, and instances, for each electrical part type in the circuit.

Sanity checker

A model parameter range checker was added to warn when model parameters exceed user-specified "reasonable" limits.

SPICE file probing

Probing, the ability to click on an object and see its curve or waveform, was added to SPICE text files. This was actually added after the original MC6 release and was never in the MC6 manuals.

Analysis plot improvements

Several improvements were made to analysis plots, including the ability to switch between log and linear scales, to select the grid interval and the grid pattern, width, and thickness.

Shape editor improvements

Several improvements were added to the analysis plots, including the shape origin symbols, font size memory, and a drag copy command.

Live formulas

Live on-schematic text formulas were added that automatically update when any edits are made allowing live design formulas.

New X and Y Scale format

A new scale format, High, [Low], [Step], allows users to specify arbitrary grid intervals (scale divisions).

Even decimal values cursor positioning

A new cursor positioning mode was added for placing the cursor on even decimal values of the horizontal axis variable.

New thumbnail plot

A thumbnail plot was added to provide a global view of enlarged analysis plots, showing the location of the expanded region box superimposed on the whole plot.

Incremental auto-ranging

Y dimension auto-ranging was modified to apply only to the specified X range, not the whole simulation range.

Simultaneous multi-row analysis limits edits

Rapid analysis limits editing was facilitated by allowing users to change all of the rows in a waveform column simultaneously by clicking on the column header.

Run-invariant expressions in model parameters

Run-invariant expressions (those that don't change during a run) were added to model parameters. For example, a MOSFET VTO could be expressed as 2.0 + TEMP/100 to allow for threshold shift with temperature.

Complex trigonometric functions

All trigonometric and hyperbolic expressions were modified to accept and return complex arguments. New trigonometric functions included cot, sec, csc, acot, asec, and acsc. New hyperbolic functions included coth, sech, csch, acoth, asech, and acsch.

Complex conditional functions

The MIN, MAX, and LIMIT functions acquired complex arguments.

Expressions for histograms and performance plots

In earlier versions of Micro-Cap, only individual performance functions were allowed. MC7 added individual performance function expressions as well. For example, expressions like Rise_Time(...) + Fall_Time(...) were allowed.

Attribute search and replace

A search and replace command was added to allow easy mass editing of model attributes.

PADS PCB output

The ability to write netlist files for interfacing to the PADS PCB program was added.


MC6 to MC7

The COMMAND attribute in the digital Stimulus generators will only accept the name of a .define variable now. The .define command will be available to edit in the Attribute dialog box though.

The ENTER key is now used to enter line feeds in any Text dialog box. The previous command CTRL+ENTER still works also.


MC4 to MC5

MC4 to MC5v1

MC5 no longer uses the .MUTUAL statement to mutually couple inductors. The K device must now be used for this purpose. This device is located in the Passive components section of the Analog Primitives.

The ^ expression is no longer used as the exponentiation operator. The expression POW(y,x) must now be used. The ^ expression is now used as the XOR operand for logic.

The POLY keyword in the capacitor and the inductor have been eliminated. A similar polynomial operation is performed by defining two model parameters in the capacitor model statement (VC1 and VC2) or in the inductor model statement (IL1 and IL2). The temperature coefficients for the capacitor and the inductor must now be specified in the model statement.

Monte Carlo of a resistor, capacitor, or inductor value has been changed. The LOT and DEV parameters must be placed next to the value multiplier (R, C, L) in the model statement. For example '.model RMOD RES (R=1 LOT=10%)'.

The IC's for the SPICE dependent sources have been eliminated.

In the analysis limits, a node that is specified as just its node name such as db(OUT) or IN is no longer allowed. The expressions must now be expressed as db(V(OUT)) or V(IN). This was changed due to the addition of digital capability. V signifies an analog voltage and D signifies a digital state.

In Probe mode, clicking on a wire no longer produces a waveform. You must click on one of the pin connections (dots) shown on the node. If there is more than one pin connection on a node, it doesn't matter which you pick. This was changed in order to allow wires to cross without connecting, so the entire wire is no longer electrically active, just the connections.

The delta operator, D, has been changed to DEL. D is now reserved for digital waveforms.


.Command Statements

Command statements are text strings which begin with a period. They are implemented by placing grid text in a schematic or ordinary text in a SPICE circuit. When placing command statements into a schematic page, only a single command statement can be placed in at a time.

Micro-Cap supports two sets of Command statements; a set used in SPICE text file circuits and a set used in schematic circuits. The list of all Command statements supported by Micro-Cap in schematic or text form is shown in the list below.

.AC

.ARRAY

.BEGIN_MEASURE

.DC

.DEFINE

.ELIF

.ELSE

.END

.ENDIF

.END_MEASURE

.ENDS

.ENDSPICE

.FUNC

.HELP

.IC

.IF

.INCLUDE (.INC)

.LIB

.MACRO

.MEASURE

.MC

.MODEL

.NODESET

.NOISE

.OP

.OPTIONS (.OPT)

.PARAM

.PARAMETERS

.PATH

.PLOT

.PRINT

.PSS

.RELTOL

.SENS

.SKIP_L_LOOP

.SPICE

.STEP

.SUBCKT

.TEMP

.TF

.TIE

.TR

.TRAN

.WARNING

.WATCH

.WCASE


Analog Device Models

Passive components Active devices Waveform sources

Capacitor DNMOS Battery

Diode DPMOS Fixed Analog

Inductor GaAsFET Current Source (Spice)

K IGBT ISource

Resistor NJFET Pulse source

TLine NMOS Sine source

Transformer NPN User source

NPN4 Voltage Source (Spice)

Laplace sources Opamp WAV file source

LFIofI PJFET

LFIofV PMOS Dependent sources

LFVofI PNP EVofV

LFVofV PNP4 FIofI

LTIofI GIofV

LTIofV Function sources HVofI

LTVofI NFI IofI

LTVofV NFV IofV

NTIofI VofI

Macros & Subckts NTIofV VofV

Macro NTVofI

Subckt NTVofV Connectors

Jumper

Special Purpose Z Transform sources Ground

Blank ZIofI Tie

S (V-Switch) ZIofV

Sample and Hold ZVofI N-Port

Switch ZVofV N-Port

Timer

W (I-Switch) IBIS

IBIS

Probes

Loop Gain Probe


Animation

Animation mode is another way to view simulation results. In this mode, a single analysis data point is taken and the on-schematic display values and animation components are updated on the schematic. Micro-Cap then waits for either a key press or a specified time delay before calculating the next data point. The purpose is to slow the simulation down to be able to monitor the updated changes on the schematic. The on-schematic display values let the node voltages, branch currents, power dissipation, and device conditions of the latest data point be viewed on the schematic. The animation components include analog bar, analog LED, DC motor, SPDT, DPST, SPST switches, analog/digital voltage/current meter, relay, three-color traffic light, (digital) LED, and seven segment display.

In Dynamic DC, only the operating point value is calculated. The schematic will display the values from that one point and update any of the schematic parts accordingly.

In transient analysis, a single analysis time step is calculated, and any on-schematic display values or animation components are updated on the schematic. With a key press or after the specified delay time has elapsed, the next time step will be calculated and the schematic will be updated accordingly. The schematic will always display the values from the last time step calculated.

In AC analysis, the schematic will display the on-schematic display values and states of the animation components from the operating point calculation. These values will be fixed during the entire simulation. Even though the schematic displays are fixed at the operating point, the animation mode will still calculate a single frequency data point when a key has been pressed or the specified time delay has elapsed.

In DC analysis, a single DC sweep data point is calculated, and any on-schematic display values or animation components are updated on the schematic. With a key press or after the specified delay time has elapsed, the next DC sweep data point will be calculated and the schematic will be updated accordingly. The schematic will always display the values from the last DC sweep data point calculated.

For digital nodes, the colors of the wires in the schematic will change according to the digital state that the node represents. Analog nodes will not change color. These colors can be changed in the Color/Font section of the schematic's Properties dialog box. The Animate icon, [image], invokes the Animate Options dialog box which lets you set the method for waiting between data point calculations.

Animate Options dialog box

Formula Text

Watch statement

Animation components

Animated Analog Bar

Animated Analog LED

Animated DC Motor

Animated DPST Switch

Animated Meter

Animated Relay

Animated SPDT Switch

Animated SPST Switch

Animated Traffic Light

Animated Digital Switch

Animated Digital LED

Animated Seven Segment


Convergence

To do its work, Micro-Cap must solve nonlinear equations. Neither people nor computers are able to solve these equations analytically, so they must be solved numerically. If Micro-Cap gets the same answer from one iteration to the next, or at least the difference between two successive answers is less than some acceptable tolerance then we say the solution converged, and the answer at this one data point is accepted as correct. Every nonlinear variable is checked in the circuit, and if any of these variables fails to converge, then a message such as "Internal time step too small will appear".

Convergence problem causes

Convergence checklist


Digital Device Models

Standard Gates

Tri-State Gates

Edge-Triggered Flip-Flops

Gated Flip-Flops/Latches

Pullups/Pulldowns

Delay Lines

Programmable Logic Arrays

Logic Expression

Pin Delay

Constraints

AtoD Converters

DtoA Converters

Stimulus Generators

Fixed Digital

File Stimulus

I/O Model

N (Digital input device)

O (Digital output device)


Digital Simulation

Analog/digital interface

Behavioral primitives

Digital delay ambiguity

Digital flip-flops and latches

Digital gates

Digital nodes

Digital simulation engine

Digital States

General digital primitives format

Inertial delays

Loading delays

Stimulus devices

Timing hazards

Timing models

Unspecified propagation delays

Unspecified timing constraints


Expressions

Expressions are text strings entered by the user that contain numbers, constants, variables, and mathematical operators. All waveforms to be printed or plotted are defined in the Analysis Limits dialog box with expressions. The numeric behavior of resistors, capacitors, inductors, Laplace sources, and Function sources is defined through the use of expressions.

Case is ignored in expressions, so RLOAD is the same variable as Rload. The expression value is updated whenever any of the constituent variables change.

Array Variables

Cursor Variables

Model parameter variables

Numbers & Constants

Power and Energy

Subcircuit and macro variables

Symbolic Variables

Variables

Wildcard device and node names

Mathematical Operators and functions

Arithmetic

Boolean and Inequality

Complex (AC)

Digital

Integration and differentiation

Limiting and Conditional

Random and Tolerance

Signal Processing / FFT Functions

Special Functions

Step Selection Operators

Transcendental

Expression rules

Sample expressions


Libraries

Shape library

Package library

Component library

Model library

Accessing models

Creating libraries

Adding new libraries


.Measure Functions

.Measure commands are a set of tools that, like Performance Functions, make measurements on curves generated by the analyses.

.Measure commands are similar to those used in other simulators. Their inclusion in Micro-Cap is to make it easier for users familiar with them. Many of the functions used in the .measure commands are also available as Performance Functions.

This example computes the average of the expression V(1)*2 from 0 to 1000n in transient analysis and assigns the value to SUM1.

.MEASURE TRAN SUM1 AVG V(1)*2 FROM=0 TO=1000N

Note that .measure statements can be easily built using the Build command within the text dialog box. This convenient dialog box lets you fill in the blanks and it creates the .Measure statement for you.

You can see .measure variables by

Plotting them in the analysis. Values are computed at the end of the analysis and then plotted as straight lines.

Viewing them in the Scope Menu / Measurements window.

Printing them in analysis text as in

Delay1= [dly1]

where dly1 would be a defined result variable from a .measure command. Don't forget to check the Formula option in the Text dialog box when creating the text.

Note that there are a group of .measure functions stored in the measure.lib and these are available to any circuit. Users may add to these as needed.

Note also that .measure functions are extensible. Unlike Performance functions, they can be extended and new ones invented as needed.

.Measure functions can also be viewed in the Measurements window.


Model Program

Model is designed to make the creation of device model parameters from data sheet values fast, easy, and accurate. It is an interactive, optimizing curve fitter that takes numbers from data sheet graphs or tables and produces an optimized set of device model parameters. Model uses Powell's direction-set method for optimization. This robust algorithm is well suited to the type of error minimization required in device modeling. For those interested in the algorithm, see Numerical Recipes in C, The Art of Scientific Computing, published by Cambridge University Press.

As a general guideline, two to five data pairs should be taken from the appropriate data sheet graphs. If the graphs are not available, use a single data pair from the specification tables. If the specification table is missing from the data sheet, use the default values supplied. Use typical, room temperature values. After entering the data, use the Initialize option for a first estimate, then use the Optimize option.

Model is accessed when a model data file (one with the MDL extension) is opened or created from the File menu or when a model data file is opened from the Model menu.

Model menu

Model window

Screen Graphs

Bipolar Transistors

Cores

Diodes

JFETs

MOSFETs

Operational Amplifiers

User

Ferrite Bead

NTC Thermistor


Printing

Analysis Print Preview dialog box

Printing schematics

Printing analysis windows

Schematic Print Preview dialog box


Arithmetic Operators

Arithmetic

+ Addition

- Subtraction

* Multiplication

/ Division

MOD Modulus (remainder after integer division)

DIV Integer division


Boolean and Inequality Operators

These operators are for analog expressions.

Standard Boolean and Inequality

AND And operator

NAND Nand operator

NOR Nor operator

NOT Negation operator

OR Or operator

XOR Exclusive-or operator

< Less than operator

> Greater than operator

<= Less than or equal to operator

>= Greater than or equal to operator

!= Not equal to operator

<> Not equal to operator

== Equal to operator

These Boolean operators evaluate to 1.0 if the expression is true or 0.0 if the expression is false.

SPICE3 Boolean

The output of these operators equals VONE if the condition specified is greater than VTHRESH. If not, the output will equal VZERO. The parameters VTHRESH, VONE and VZERO are set in the Global Settings dialog box. For these operators to work in this manner, the Spice Type option in the circuit's Properties dialog box must be set to SPICE3. For any other Spice Type, these operators will work as the standard Boolean operators do.

& Analog AND

| Analog OR

~ Analog NOT


Capacitor example expressions

Ex1. A typical nonlinear junction capacitance can be given the expression:

2pF/((1-V(p,n)/.7)**.5)

where V(p,n) is the voltage between nodes 'n' and 'p'.

Ex2. A time dependent capacitor can be given the expression:

5.0pF*(1+2e-6*T)

Note that if the CAPACITANCE attribute is given as an expression, C(V), and the CHARGE attribute is not given, Micro-Cap creates an equivalent circuit consisting of a current source of value C(V)*DDT(V). In this case, the charge variable for the capacitor will always be zero. In all other cases the charge variable is available.


Complex Operators

x and y are real, z is complex, z=x+j*y

Complex

dB(z) Decibel magnitude of z

dBm(z) Power measurement relative to 1mW: 10*log(z/1m)

RE(z) Real part of z

IM(z) Imaginary part of z

IMAG(z) Imaginary part of z

IMG(z) Imaginary part of z

MAG(z) Magnitude of z

M(z) Magnitude of z

PH(z) Phase of z in degrees

P(z) Phase of z in degrees

PHASE(z) Phase of z in degrees

GD(z) Group delay, Delta(phase of z)/Delta(frequency)


Inductor example expressions

Ex1. A nonlinear inductance can be defined as:

5*(1+2*(TEMP-273.15)**2)

Ex2. A time dependent inductance can be defined as:

2.6U*(1+(t-1e-7)**2)

Note if the INDUCTANCE attribute is a time-varying expression, and the FLUX attribute is not defined, Micro-Cap will create an equivalent circuit for the inductor consisting of a voltage source of value L(I)*DDT(I).


Miscellaneous Operators

x and y are real, z is complex, z=x+j*y

Miscellaneous

ABS(z) Absolute value of z

BUFFER("W") Imports the W waveform from the Waveform Buffer.

CEIL(u) Returns the standard C language ceil() value, e.g. the next algebraically higher integer. Ceil(-2.7) = -2

CURVEY("file","W") Imports the Y component of curve W from the User source filename. The file must be saved in standard format. Micro-Cap can save curves for you using the Save Curves section of the Plot Properties dialog box.

CURVEX("file","W") Imports the X component of curve W from the User source filename.

DELAY(x,d) Returns expression x delayed by d seconds.

DIFA(u,v[,d]) This function is designed to compare two analog curves and report any differences. It compares the value of the u expression with the value of the v expression at every analysis point, and returns '1' if the absolute value of the result is more than the value of d. Otherwise it returns '0'. U and v may be imported curves. D is optional and defaults to '0'.

DIFD(u,v[,d]) This function is designed to compare two digital curves and report any differences. It compares the u expression digital state with the v expression digital state at every analysis point, and returns '1' if they differ. Otherwise it returns '0'. After the run, any '1' results of less than d seconds are filtered out. U and v may be imported curve. D is optional and defaults to '0'.

FACT(n) Factorial of the integer n.

FLOOR(u) Returns the standard C language floor() value, e.g. the next algebraically lower integer. Floor(-2.7) = -3.

u! Factorial of the integer value of u. When using the ! notation, u must be a symbolic variable or a constant.

G(X1) Complex conductance of two-terminal device X1. X1 must be a resistor, capacitor, inductor, or diode.

Hypot(x,y) The HYPOT(a,b) function was added. Its output is the same as sqrt(a*a+b*b) but done so as to minimize the possibility of overflow or underflow.

IMPORT(f,y) Imports waveform y from the file f. The file must be a SPICE or Micro-Cap output text file with a table of values that includes the value F(frequency), T(time), V(voltage source), or I(current source), and the value of the expression y. The expression y must be typed exactly as shown in the file and must contain an even number of parentheses.

IMPULSE(y) Impulse function of amplitude y and area of 1.0.

INT(x) Truncated integer function. INT(2.7)=2

JN(n,z[,m]) N'th order Bessel function of the first kind of the complex expression z, compiled from the series using m terms. M defaults to 10.

J0(z) Zero'th order Bessel function of the first kind of the complex expression z. Same as JN(0,z,10).

J1(z) First order Bessel function of the first kind of the complex expression z. Same as JN(1,z,10).

LAST(z,n) Curve z delayed by n time points.

MAXR(x) Returns the largest value of x encountered at any time during a transient or DC sweep analysis run.

MINR(x) Returns the smallest value of x encountered at any time during a transient or DC sweep analysis run.

NINT(x) Round-up integer function. INT(2.7)=3

NORM(z,x0) Curve z normalized at the value of z when the X expression is equal to x0. DB operators normalized to 0.

NORMMAX(z) Curve z normalized at the maximum value of z.

NORMMIN(z) Curve z normalized at the minimum value of z.

PN(n,x) N'th order Legendre polynomial function of x.

PROD(n,n1,n2,z) Calculates the product of the series of the complex expression z = z(n), for n = n1 to n = n2. For example,

PROD(n,1,3,j+n) = (j+1)*(j+2)*(j+3) = 0 +10j

SERIES(n,n1,n2,z) Calculates the summation of the series of the complex expression z = z(n), for n = n1 to n = n2. For example,

SERIES(n,1,3,n+j) = (j+1) + (j+2) + (j+3) = 6 + 3j

SGN(y) Sign operator, +1 if y>0, -1 if y<0, 0 if y=0

SQRT(z) Complex square root of z

STP(x) Step function of amplitude 1.0 starting at T >= x.

TABLE(x,x1,y1,x2,y2,...,xn,yn) This function returns the y value of the corresponding x input. x may be a .define parameter. The output of this function will be constant for the entire simulation based on the initial value of x. Any voltages and currents in the x expression will be set to 0. If x is less than x1, then the result will be y1. If x is greater than xn, then the result will be yn. Values in between will be interpolated between data points.

W(z) Lambert W function for complex z.

YN(n,z[,m]) N'th order Bessel function of the second kind of the complex expression z, compiled from the series using m terms. M defaults to 10.

Y0(z) Zero'th order Bessel function of the second kind of the complex expression z. Same as YN(0,z,10).

Y1(z) First order Bessel function of the second kind of the complex expression z. Same as YN(1,z,10).

Z(X1) Complex impedance of two-terminal device X1. X1 must be a resistor, capacitor, inductor, or diode.


Limiting and Conditional Operators

z is complex, z=x+j*y

These operators are for analog expressions.

MIN(z1,z2) Minimum of real and imaginary parts of z1 and z2

MAX(z1,z2) Maximum of real and imaginary parts of z1 and z2

LIMIT(z,z1,z2) Returns z, with its real part limited to the range of RE(z1) to RE(z2) and the imaginary part limited to the range IM(z1) to IM(z2)

IF(b,z1,z2) If b is true, the function returns z1, otherwise it returns z2


Resistor example expressions

Ex1. A temperature dependent resistance can be defined as:

5*(1+2*(TEMP-273.15)**2)

Ex2. A voltage dependent resistance can be defined as:

4.7K*(1+.3*V(P,M))

where V(P,M) is the voltage between nodes 'P' and 'M'.


Transcendental Operators

x and y are real, z is complex, z=x+j*y

Transcendental

SIN(z) Sine function, z in radians

COS(z) Cosine function, z in radians

TAN(z) Tangent function, z in radians

COT(z) Cotangent function, z in radians

SEC(z) Secant function, z in radians

CSC(z) Cosecant function, z in radians

ASIN(z) Inverse sine function

ACOS(z) Inverse cosine function

ATAN(z) Inverse tangent function

ATN(z) Inverse tangent function

ARCTAN(z) Inverse tangent function

ATAN2(y,x) Inverse tangent function = ATN(y/x)

ACOT(z) Inverse cotangent function

ASEC(z) Inverse secant function

ACSC(z) Inverse cosecant function

SINH(z) Hyperbolic sine

COSH(z) Hyperbolic cosine

TANH(z) Hyperbolic tangent

COTH(z) Hyperbolic cotangent

SECH(z) Hyperbolic secant

CSCH(z) Hyperbolic cosecant

ASINH(z) Inverse hyperbolic sine

ACOSH(z) Inverse hyperbolic cosine

ATANH(z) Inverse hyperbolic tangent

ACOTH(z) Inverse hyperbolic cotangent

ASECH(z) Inverse hyperbolic secant

ACSCH(z) Inverse hyperbolic cosecant

LN(z) Natural Log

LOG(z) Common log

LOG10(z) Common log

EXP(z) Exponential

EXPL(x,max) Exponential: if x<max exp(x) else exp(max)*(x+1-max )

EXPLP(x,max) Derivative of EXPL(x,max) w.r.t. x

POW(z,x) Complex power of operator, z^x

PWR(y,x) Real power of operator, y^x

** or ^ Power of operator, ie; 5**2=25 or 5^2=25

PWRS(y,x) Real signed power of operator: |y|^x, if y>0, -|y|^x if y<0


AC analysis variables - Probe

The Vertical menu selects the vertical variable and the Horizontal menu selects the horizontal variable. The plotted variables may be edited in the Probe Properties dialog box. Only analog variables and operators are available in AC analysis. They include:

All: This lists all available variables for the component clicked on.

Voltage: If the object is a node, a complex node voltage is selected. If the object is a two-lead component, the complex voltage across the component is selected. If the mouse probes between two leads of a three or four lead active device, the lead-to-lead differential complex voltage is selected. Hold the Shift key down and probe on two nodes to get differential voltage.

Current: If the object is a two-lead component, the complex current through the component is selected. If the mouse probes on a lead of a three or four lead active device, the complex current into the lead is selected.

Power: If the mouse probes on a component, it plots the AC power dissipated (PD), generated (PG), or stored (PS) in that component. If the component has more than one of these, a list appears allowing selection. Clicking off a component, in the schematic background, lets you select one of the total power terms, PGT (total generated power), PST (total stored power), or PDT (total dissipated power).

Conductance: This plots the complex conductance for two-terminal parts.

Impedance: This plots the complex impedance for two-terminal parts, such as resistors, capacitors, inductors, diodes, and sources. Clicking on an AC source driving a network plots the network's complex input impedance. Clicking on a passive element like a capacitor plots its complex impedance. If the capacitor uses a MODEL attribute and has parasitic elements, these are also included in the impedance.

Inoise: This selects a plot of noise, regardless where the mouse is clicked. Inoise is referenced to the input source specified in the Noise Input field of the Probe AC Analysis Limits dialog box.

Onoise: This selects a plot of noise, regardless where the mouse is clicked. Onoise is referenced to the output node name specified in the Noise Output field of the Probe AC Analysis Limits dialog box.

Frequency: This selects the sweep frequency variable.

Magnitude: This plots the magnitude of the probe variable.

Magnitude(dB): This plots the decibel magnitude of the probe variable. It is the default operator.

Phase: This plots the phase of the probe variable.

Group Delay: This plots the group delay of the probe variable.

Real Part: This plots the real part of the probe variable.

Imag Part: This plots the imaginary part of the probe variable.

Linear: This selects a linear scale.

Log: This selects a log scale.

Note that the noise variables and the other variables are mutually incompatible. If INOISE or ONOISE has been plotted, then the other quantities like voltage and current are not available to plot and vice versa. You can clear the plots with CTRL+HOME.


AC parameter option

AC analysis uses AC magval (volts) and AC phaseval (degrees) to set the amplitude and phase of the small signal stimulus.

The AC parameter is followed by a magnitude value that specifies the source used during AC analysis. An optional phase value can be specified.


AC menu

The AC menu provides these options:

Run: (F2) This starts the analysis run. It performs the same function as pressing F2 or clicking the Run command button.

Limits: (F9) This accesses the AC Analysis Limits dialog box.

Stepping: (F11) This accesses the Stepping dialog box.

Optimize: (Ctrl+F11) This accesses the Optimize dialog box.

Worst Case: (Alt+6) This accesses the Worst Case dialog box.

Analysis Window: (F4) This shows the analysis plot. It is used to re-display the analysis plot after the Numeric Output window has been displayed.

Watch: (Ctrl+W) This displays the Watch window where you define expressions or variables to watch during a breakpoint invocation.

Breakpoints: (Alt+F9) This accesses the Breakpoints dialog box. Breakpoints are Boolean expressions that define when the program will enter single-step mode so that you can watch specific variables or expressions. Typical breakpoints are f>=10k AND f<=100k, or V(OUT)>5.5.

3D Windows

Add 3D Window: This invokes the 3D Properties dialog box which lets you add a 3D plot.

3D Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more 3D plots.

Available 3D Windows: This is a list of all available 3D windows that have been created with this circuit.

Performance Windows

Add Performance Window: This invokes the Performance Window Properties dialog box which lets you add a performance plot.

Performance Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more Performance plots.

Available Performance Windows: This is a list of all available Performance windows that have been created with this circuit.

Slider

Add Slider: This invokes the Slider dialog box which lets you assign a circuit parameter to a slider as a way to modify the parameter's value and see the plot update accordingly.

Slider Windows: This invokes the Slider Windows dialog box which lets you show, close, and delete existing sliders.

Available Sliders: This is a list of all available sliders that have been created with this circuit.

Numeric Output: (F5) This displays the Numeric Output window. The Numeric Output is stored in a file called CIRCUITNAME.ANO.

State Variables Editor: (F12) This accesses the State Variables Editor used for editing the state variables for the beginning of a run.

Reduce Data Points: This invokes the Data Point Reduction dialog box. It lets you discard every n'th data point. This is useful when you use very small timesteps, but do not need all of the resulting data points produced. Once deleted, the data points cannot be recovered.

Exit Analysis: (F3) This quits the analysis and returns to the Schematic Editor.


Accessing models

When you select an analysis, Micro-Cap accesses electrical modeling information for any parts in the circuit that require models. How does it do this? It searches for the modeling information (model parameter lists, model statements, subcircuits, or macro statements) in one of the following places::

If the circuit is a schematic:

In the grid text or Text area.

In the file named in the File attribute (if the device has one).

In one or more files named in a '.LIB filename' statement.

In one or more files named in the default '.LIB NOM.LIB' statement.

If the circuit is a SPICE text file:

In the circuit description text.

In one or more files named in a '.LIB filename' statement.

In one or more files named in the default '.LIB NOM.LIB' statement.

Micro-Cap searches for the information in the above order and will use the information from the first place it finds it. This can be a source of confusion if the information is available in different versions in more than one of the four places. To avoid any confusion, use the Text area or File attribute files for models not in the library, or for temporary modifications to the standard models in the .LIB locations.

Note that the Analog Library and the Digital Library parts are accessed with the default '.LIB NOM.LIB' statement.

Global Search using library paths:

The search is conducted in this order:

1) Any path from a .PATH LIBRARY command within the circuit.

2) Any path from File menu / Paths / Model Library and Include Files.

If more than one path is specified, it searches them in left to right order. For example, consider this path:

C:\MC12\LIBRARY ; D:\OTHER ; E:\ELSEWHERE

In this example, the search starts in C:\MC12\LIBRARY, then proceeds to D:\OTHER. Finally E:\ELSEWHERE is searched.


Adding a Basic Package

The Package library contains package information for most of the components that come with Micro-Cap. The main use of the Package editor is to define new packages. A basic package is added when the package contains only one instance of the modeled component. This example uses the 74164 which can be found in TI's TTL Logic databook.

Adding a basic package uses the following procedure:

1) Click on the Add command button.

2) In the Find Component dialog box, specify the component name such as 74164.

3) Define the package type in the Package field such as DIP14.

4) Define the number of pins in the Pin Cnt field such as 14.

5) Define the Pin Name fields with their corresponding PCB fields. Click on the drop-down list of a Pin Name field to view the available pin names. For example, in TI's data sheet for the 74164, pin 1 on the package is specified as the A pin. In the Package editor, the Pin Name field should be set to A, and its corresponding PCB field should be set to 1.


Adding a Complex Package

The Package library contains package information for most of the components that come with Micro-Cap. The main use of the Package editor is to define new packages. A complex package is added when the package contains more than one instance of the modeled component. This example uses the 7400 which can be found in TI's TTL Logic databook.

Adding a complex package uses the following procedure:

Click on the Add Complex command button.

In the Find Component dialog box, specify the component name such as 7400. Hit OK.

Define the package type in the Package field such as DIP14.

Define the number of pins in the Pin Cnt field such as 14.

Define the Pin Name fields with their corresponding Gate and PCB fields. Click on the drop-down list of a Pin Name field to view the available pin names. For example, in TI's data sheet for the 7400, pin 4 on the package is specified as the 2A pin which is the 1A pin for the second instance of the 7400 component in the package. In the Package editor, the Pin Name field should be set to 1A, the Gate field to B to denote the second instance of the component, and the PCB field to 4.


Adding and editing components

To add a component to a schematic:

First step: Select a component from the Component panel or menu, from one of the component buttons in the Tool bar, from one of the Component palettes, or from the Find Component dialog box (SHIFT + CTRL + F). You can skip this step if the component you want has already been selected by a prior step. The main part of the Component menu is divided into these broad categories:

Analog Primitives

Analog Library

Digital Primitives

Digital Library

Animation

Import (Holds parts imported from a circuit file.)

Filters (Visible after creating a filter macro in the Filter Designer.)

Macros (Visible after creating a macro with the Make Macro command.)

Subckt (Visible after creating a subcircuit through the Translate to SPICE command.)

The Analog Primitives section contains one of each of the basic analog components like resistor, capacitor, NPN transistor, Pulse source, etc.. These components all require the user to provide the defining electrical attributes such as resistance, capacitance, or a suitable model statement. Model parameters can be entered directly from the Attribute dialog box, or you can select a pre-modeled part from the Analog Library by picking its name from the Model list box. Editing a model statement localizes the information by saving a copy of the edited model statement in the circuit text area. The same applies to subcircuits. Editing a subckt from the Attribute dialog box causes a copy to be placed in the text area of the circuit.

The Analog Library section contains pre-modeled analog components referenced by part names similar to their commercial names. In this section, you'll find parts like IRF510, 2N2222A, 1N914, and LM108. These components have electrical attributes already defined in subckts, macros, or model statements somewhere in one of the model library files referenced by the master index file, ".LIB NOM.LIB", which Micro-Cap automatically includes in every circuit file.

The Digital Primitives section contains one of each of the basic digital components like AND gates, OR gates, flip-flops, PLAs, and stimulus sources. These parts also require the user to provide a suitable model statement, or to rely on .LIB statements to access modeling information.

The Digital Library section contains commercial digital components with part names similar to their corresponding commercial part names. In this section, you'll find parts like 7400, 7475, and 74LS381. These parts also have their electrical models defined in the model libraries referenced by the NOM.LIB file.

The Animation section holds behavioral animation parts, including LEDs, seven segment displays, relays, analog and digital current and voltage meters, DC motors, and analog and digital switches.

The Filters section contains filter macros created by the Filter Designer. The filter design function is accessed from the Design menu.

The Macros section holds macros created with the Make Macros command.

The Subckt section holds subcircuits created using the Make SUBCKT option available when selecting Schematic to SPICE Text File in the Translate section of the File menu.

Second step: Make sure Micro-Cap is in Component mode. Selecting a part from the Component menu, component palette, or component button will automatically change the mode to Component. If Micro-Cap is in the Component mode, the Component mode button [image] in the Tool bar will be depressed. If you're unsure, click on the button in the Tool bar, or press CTRL+D.

Third step: Click the mouse in the schematic and drag the component to the desired location. While still holding the left mouse button down, click the right mouse button or press the SPACEBAR to rotate the component to the orientation you want. Release the left mouse button when the part is where you want it.

Fourth step: Enter the appropriate attributes into the Attribute dialog box. If the part is from the Analog Library, Digital Library, Animation, or Filter sections, this step is unnecessary and the Attribute dialog box will not even appear. If the part is from the Analog Primitives or the Digital Primitives sections, this step lets you enter important information like the part, value, or model name.

To edit a component's attributes:

Click on the Select button [image] in the Tool bar. Double-click on the component shape in the schematic. This invokes the Attribute dialog box. Click on the name of the attribute that you want to edit, then click in the Value field and type in any changes. You can also change the model name by choosing a new model name from the Model list box.

Subcircuits and model parameters can be edited from within the dialog box. Any edits localize the information by placing a copy of the model statement or subckt within the text area of the circuit.

You can change an attribute's font by first selecting the attribute and then clicking on the Font button and choosing a new font, style, size, or effect. You can also change the display flag for attribute text and pin names. Choose OK to put your changes into effect.

You can also edit the attribute text directly on the schematic by double-clicking on the text.


Adding and editing flags

Adding a flag

First step: Click on the Flag mode button [image] in the Tool bar.

Second step: Click in the schematic at the position where you want to place the flag. The Text dialog box is presented. Type in the name of the flag and click OK.

Editing a flag

To edit a flag, enable select mode by clicking on the [image] button, double click on the flag, and edit the name in the text box as desired. To access the flags that have been placed, go to the Edit menu and choose Go To Flag or click on the [image] button in the Tool bar.


Adding and editing graphics objects

Adding and editing graphic objects

Adding graphics objects

First step: Click on the Graphics mode button [image] in the Tool bar. A menu appears, listing the available graphic objects. Choose one of the objects by clicking on it.

Second step: Drag the mouse in the schematic to create the object.

Graphic objects include the line, ellipse, rectangle, diamond, arc, pie, braces, and picture. All have handles which can be dragged to alter the size and shape of the object. Drag on a corner handle to change the size of the object. Drag on a non-corner handle to change the width or length of the object's bounding box. This lets you change the aspect ratio or relative shape of the object.

If the object is a picture, a file dialog box will be presented. Select the name of the picture file, border and fill options, and then click on the OK button. Micro-Cap can import pictures in TIFF, JPG, ICO, BMP, GIF, PNG, WMF, and EMF formats.

Micro-Cap can also export (create) pictures in TIFF, JPEG, BMP, GIF, PNG, WMF, and EMF formats. This can be done through the Copy the Entire Window to a Picture File or the Copy to Clipboard commands under the Edit menu.

Editing graphics objects

When in select mode, double-clicking on a graphics object invokes a dialog box for editing the object.


Adding and editing grid text

There are a couple of kinds of text visible in a schematic. First, there is the attribute text of individual components. This type of text is created and edited from within the Attribute dialog box. The second kind of text is called grid text. Although grid text can be used for any purpose, its most important use is for naming nodes.

To add grid text to a schematic:

First step: Click on the Text mode button [image] in the Tool bar.

Second step: Click the mouse in the schematic where you want to add the text. A Text dialog box will appear. Select the Text panel of the dialog box. Type in or edit the text and press OK. To make a piece of text start on a new line place the insertion point text cursor at the desired position and press ENTER.

Grid text can be shuttled between the text area and drawing area by selecting the text, then pressing CTRL+B. The display of the whole or any split section of the schematic window can be toggled between the text area and drawing area by typing CTRL+G.

To edit grid text:

First step: Click on the Select mode button [image] in the Tool bar.

Second step: Double-click the mouse on the text you want to edit. A Text dialog box will appear showing the selected text. Edit the text as desired.


Adding Components to the Library

As originally supplied, the Component library contains all of the usual components that you ordinarily need. The main use of the Component editor is to define new macro and subckt components, although you might find it desirable to add your own common components. You may, for instance, wish to create several types of grounds, or several types of resistors to reflect different physical construction, or to explicitly denote the plus and minus leads. Users may also need to add a part whose model has been supplied by a vendor in the subckt format. We will describe the detailed procedure. The Add Part Wizard simplifies adding parts by automating and hiding some of the steps. The Import Wizard may also be used to import models from a library file en masse.

To add a component to the library you first choose its group by clicking on the group name in the component selector. Next, you click on the Add Component button and specify the following:

The name of the component.

The name of the shape it uses.

The electrical definition.

An optional memo description.

The initial text coordinates of the attributes (by dragging text into place).

The pin name locations (by dragging pin name origin markers into place).

The display options.

If the component is a macro, subcircuit, logic expression, pindly, or constraint, then named pins must be explicitly added. Normally, logic expressions, pindlys, and constraints are used only in subcircuits as building blocks for the Digital library, so the Component library has only token components of this type. It is not expected, for example, that a user will want to add a logic expression to a schematic, but it is possible.

This covers only the Component library setup. Other steps are required to make the part available for use in a simulation. These can be done manually or can be handled automatically with the Add Part wizard.


Adding graphics to the analysis plot

You can add graphic symbols to the analysis plot when in the Graphics mode. To invoke the Graphics mode, click on the graphics button, [image], and select one of the objects from the menu that pops up. Then click and drag the mouse in the plot area to create the object. The object can be edited or moved through the Select mode. The objects available are:

Rectangle

Line

Ellipse

Diamond

Arc

Pie

{

}

{}

Polygon

Each of these objects can be edited after creation by double-clicking on them when in Select mode. This invokes a dialog box that lets you change their border and fill characteristics.

The polygon object allows direct numerical editing of the polygon vertices in its dialog box. It is intended as a design template, a region describing the area that a curve may occupy and still be within specification. The filter designer adds a polygon to the AC plot to indicate the acceptable region for the Bode plot from the user's filter specs. You can use the constants MIN and MAX to specify the plot minimum and maximum coordinates easily.

To see an example of a design polygon, create a filter circuit using the active or passive filter functions from the Design menu and run an AC analysis. Enter Select mode and then double click on the yellow polygon to see its properties, including its border, fill, and vertex structure.


Adding pictures

First step: Select the Picture option through the Graphics button, [image].

Second step: Click in the schematic or drag a box in the schematic where you want the picture to be placed. If a box region is created, the picture will be scaled to the size of the box. The image will always be placed so that the edges of the image are on the schematic grid. The Picture dialog box will be invoked. Select the name of the picture and click on the OK button.

The picture location and size can be changed by dragging on its interior or its handles while in Select mode.


Adding text to the analysis plot

You can add text to the analysis plot through the Text mode, [image]. This mode lets you choose between absolute text and relative text. The difference between these two types of text is explained below. Text is added by simply clicking anywhere in the analysis plot when in Text mode. Clicking in the plot invokes the Analysis Text dialog box in which you can type in the desired text. Moving or editing the text must be done in [image] Select mode.

Absolute: This is the absolute text mode. Absolute text maintains its position with respect to the plot window through any scale or offset changes performed on the waveforms.

Relative: This is the relative text mode. Relative text maintains its position with respect to the curves. A piece of relative text placed close to the peak of a curve remains near that peak after scaling or panning.


Adding wires to a schematic

Wires are added to a schematic by dragging the mouse from one point to another. If the mouse moves horizontally or vertically a straight wire is created. If it moves diagonally, the wire placed depends on the wire mode you are in. will create a diagonal wire. will create an orthogonal wire whose corner may be flipped by clicking the right mouse button.

First step: Click on one of the Wire mode buttons in the Tool bar.

Second step: Point the mouse at the desired starting position and press and hold the left mouse button down.

Third step: Drag the mouse to the desired end point of the wire and release the left mouse button.

Several points are worth keeping in mind:

The segment orientation of a two-segment wire can be changed by clicking the right mouse button before the wire is completed (before the left mouse button is released).

Connections are indicated by a dot.

If two wires are connected at their end points the wires fuse together and become one wire. The connection dot then disappears.

If either end point of a wire touches another wire, the wires are connected.

Wires that cross at interior points do not connect. An end point of a wire can connect only to another end point, a component lead, or an interior point of another wire.

A wire that crosses another wire's end point or a component' lead dot will connect to the wire or component lead.

If the Node Snap option is enabled in the Options\Circuit page of the Preferences dialog box, wires will snap to the nearest node within a one grid distance. Although this is usually helpful with analog components, it is sometimes a problem with dense digital interconnect on a one grid pitch. You may want to disable this option if you notice a wire end point jumping to an undesired location.

Holding the Shift key down after starting a wire forces the wire to stay horizontal or vertical, depending upon its principal direction prior to pressing the Shift key. It is necessary to press the Shift key after starting the wire, since pressing it before starting the wire would temporarily exit Wire mode and enter Select mode

Although wires are the principal method of interconnecting nodes, grid text may also be used. Two nodes with the same piece of grid text placed on them are automatically connected together. This feature is especially useful in cases where you have many components sharing a common node, such as analog VDD and Ground nodes, or digital clock, preset, and clear nodes. Naming is done by dropping a piece of text on a node or by double-clicking on a wire and changing its node name. Both procedures name the node.

While drawing a two-segment wire, clicking the right mouse button causes the junction between the segments to flip between the two possible corner positions.

The wire mode is also used when creating a bus. The actual bus mode, [image], will create the connectors to a bus. Each connector has a bus port. When the wire mode is used to create a wire to this bus port or to an existing bus, the wire actually creates a bus instead. The bus will be designated by a thicker wire.


Analog/digital interface

When a digital node and an analog node are connected together in a circuit, the program breaks the connection and inserts between the two parts an interface circuit specified by the I/O model. This interface circuit contains analog devices like resistors, capacitors, diodes, and transistors. It also contains either an analog to digital or digital to analog interface device. These devices provide the fundamental translation between the analog and digital circuits.

In addition, the simulator generates an analog power supply circuit to drive the interface circuits, as specified in the I/O model. The I/O model statement parameter, IO_LEVEL, selects one of four possible interface circuits to use. It is also possible to change the digital power supply used in the interface circuit by modifying the power supply subcircuit.

The simulator also creates additional nodes at the interface between analog and digital circuits. The creation and naming of these nodes is important to understand if you want to plot or print their values.

Nodes

There are only two types of nodes, analog and digital. When an analog node is connected to a digital node, what happens? Micro-Cap breaks the connection and adds an interface circuit between the two parts. The interface circuit is selected from the I/O model based upon the value of the IO_LEVEL attribute. The selection is based upon the following:

Level Subcircuits Behavior

1 AtoD1/DtoA1 AtoD creates R, F, and X levels

2 AtoD2/DtoA2 AtoD doesn't create R, F, and X levels

3 AtoD3/DtoA3 Same as Level 1

4 AtoD4/DtoA4 Same as Level 2

If the analog node is connected to a digital output, then a DtoA subcircuit is used. If the analog node is connected to a digital input, then an AtoD subcircuit is used. If the analog node is connected to both a digital input and a digital output then a DtoA interface circuit is used.

When the digital node is an output node, a new digital node, n$DTOA (n is the specific node number), is created and assigned to the digital output, and the DtoA interface circuit specified by the I/O model statement IO_LEVEL parameter is inserted between the new digital output node and the analog node.

When the digital node is an input node, a new digital node, n$ATOD (n is the specific node number), is created and assigned to the digital input, and the AtoD interface circuit specified by the I/O model statement IO_LEVEL parameter is inserted between the new digital input node and the analog node.

When the analog node is connected to both a digital input and a digital output node, a new digital node, n$DTOA (n is the specific node number), is created and assigned to the digital node. An interface circuit is inserted between the new digital node and the analog node.

Tri-state interface caveat

When you have a digital node with input and output pins connected to it, and the digital output comes from a tristate or open collector device, placing an analog resistor at the node will result in Z states entering the digital input. This happens because the output of the resistor does not drive the digital input, so no pullup or pulldown action can occur. To avoid this problem, always follow the golden tri-state rule:

Use a digital pullup or pulldown device at tri-state or open collector nodes. Do not use an analog resistor. If you must use an analog resistor, separate the digital output from the digital input by a small valued resistor.

Interface circuits

The I/O model parameter IO_LEVEL specifies which of the four possible interface circuits to use according to the listing above. If IO_LEVEL is 0, then the interface circuit will be selected by the value of the Global Settings parameter DIGIOLVL.

Level 1 Interface circuits

The level 1 interface circuits generate the intermediate logic level (R, F, X) between the voltage ranges VILMAX and VIHMIN. A voltage that ramps smoothly from below VILMAX to VIHMIN and back again, will generate the sequence 0, R, 1, F, 0. An X is generated if the voltage starts in the VILMAX - VIHMIN region, or the voltage reverses in the VILMAX - VIHMIN region and crosses a previously crossed threshold. The level 1 interface circuits are more accurate than level 2 circuits.

Level 2 Interface circuits

The level 2 interface circuits generate only the logic levels (0, 1). An exact switching voltage is assumed. These interface circuits are less accurate but generate no uncertain states (R, F, X) that could potentially cause simulation problems.

Level 3 and Level 4 Interface circuits

These are equivalent to Level 1 and Level 2, respectively, and are not currently used in the standard digital library.

Power supply circuits

When an analog node and a digital node are connected together, and an AtoD or DtoA interface is required, the circuits need a power supply. The power supply is created automatically using the parameter DIGPOWER from the I/O model statement for a particular digital family, such as 7400TTL. This parameter specifies the name of the power supply subcircuit to use. The main power supply subcircuit is called "DIGIFPWR". This subcircuit provides the voltage sources and power pins needed by the interface circuits. You can, of course, change the power supply circuit by specifying another subcircuit name, or be altering the "DIGIFPWR" subcircuit itself. We recommend leaving the original "DIGIFPWR" subcircuit intact, and cloning new versions, with related names such as "DIGIFPWR1". This lets you easily revert to the old version by simply changing the DIGPOWER parameter in the I/O model statement. The I/O model statements are located in the DIGIO.LIB model library file.

The DIGIO.LIB model library file

This file contains the I/O model statements, AtoD and DtoA interface circuits, AtoD (O device) and DtoA (N device) model statements, and power supply circuits for the entire Digital Library.


Analysis plot modes

After the analysis is over, there are several modes for reviewing, analyzing, and annotating the analysis plot.

Select (Ctrl+E): In this mode, the left mouse button is used to select text, tags, and graphic objects for moving and editing. SPACEBAR toggles between select mode and the last used mode.

Graphics: Clicking on this button lets you select a graphic object (line, ellipse, rectangle, diamond, arc, pie, braces, or polygon) for placement on the plot. Once the object has been selected, you drag the mouse to create the object.

Scale (F7): In this mode, you drag the left mouse button to define a plot region box to magnify. When the mouse is released, the plot is redrawn to the image scale of the region. You can also use CTRL + + and CTRL + - keys to magnify and shrink the scale.

Cursor (F8): In this mode, the display shows the numeric value of each waveform at each of two plot cursors. The left mouse button controls the left plot cursor, and the right mouse button controls the right plot cursor. The left cursor is initially placed on the first data point. The right cursor is initially placed on the last data point. The left or right arrow keys move the left cursor (or right cursor if the SHIFT key is held down) to a point on the selected waveform chosen by the Cursor functions. Depending on the cursor positioning mode, the point may be the next local peak or valley, global high or low, inflection point, or simply the next data point. The direction is left or right depending on whether a left arrow or right arrow key is pressed. The Go to X, Go to Y, and Go to Performance, available under the Scope menu, may also be used to manipulate the cursors.

Text (Ctrl+T): This mode lets you enter analysis plot text. You can enter relative or absolute text. Relative text maintains its position relative to the waveforms when the plot scale is changed. Absolute text maintains its position relative to the graph frame. You can also control text border and fill colors, orientation, font, style, size, and effects.

Point Tag: In this mode, the left mouse button is used to tag a data point with its numeric (X,Y) value. The tag will snap to the nearest data point.

Horizontal Tag: In this mode, the left mouse button can be used to drag between two data points to measure the horizontal delta. The two data points may be on the same curve or two different curves. The tag will snap to the nearest data points.

Vertical Tag: In this mode, the left mouse button can be used to drag between two data points to measure the vertical delta. The two data points may be on the same curve or two different curves. The tag will snap to the nearest data points.

Performance Tag: In this mode, the left mouse button is used to place a performance tag which measures a performance parameter for any subsequent run. This includes stepped runs, Monte Carlo runs, or even simple dynamic edits. In each case the tag measures the quantity and dynamically adapts its display to show the new value.


Analysis Text dialog box

This dialog box lets you input text for placement in the analysis. The text may be either absolute or relative. The dialog box consists of the following elements:

Text page

Border page

OK: This closes the dialog box and places the text on the analysis.

Cancel: This closes the dialog box without placing the text.

Apply: This redraws the plot behind the dialog box using the current settings so you can view what the settings look like before committing to them.

Help: This accesses the help topic for this dialog box.


Array Variables

Array variables are like symbolic variables except that their values, which may be real or complex, are accessed by indices which select an element of the array.

One Dimensional Array Syntax

.ARRAY arrayname V1[,V2 [,V3...[,Vn]]...] where the V values can be real or complex. Note that there must be at least one element (V1) in the array.

You can define a one-dimension array of real values like this:

.ARRAY RV 50,100,150

To access the values you use an index variable that typically is created like this:

.DEFINE IND 1

The index name may be any non-reserved name. You can access the array contents like this:

RV(IND)

For example, you could set the RESISTANCE attribute of a resistor to RV(IND) and then the resistor value takes on the RV array element that IND is set to. If IND is set with the .define statement to 1, then the resistor value would be 100. If IND is stepped through the values 0, 1, and 2, then the resistor value would be 50, 100, and 150 respectively. Note that a one-dimensional array of size N+1 has values located at 0, 1, 2, ...N. You can also define the index directly in the array call such as RV(2).

Two Dimensional Array Syntax

.ARRAY arrayname (m,n)

{v11,v12,...v1n},

{v21,v22,...v2n},

{v31,v32,...v3n},

...

{vm1,vm2,...vmn}

Here is a two-dimensional array with two rows of three complex values:

.ARRAY RV (2,3) {1+2*j , 2+3*j , 4+6*j}, {5+2*j , 3+7*j , 4+2*j}

With these definitions, RV(I)(J) accesses column J from row I. RV(1,2) would access the element 4+2*j. Remember the elements start at 0, so J=2 accesses the third element in the I=1 or second row.

Three Dimensional Array Syntax

.ARRAY arrayname (m,n,p)

{

{v111,v121,...v1n1},

{v221,v231,...v2n1},

{v311,v321,...v3n1},

...

{vm11,vm21,...vmn1}

},

{

{v112,v122,...v1n2},

{v222,v232,...v2n2},

{v312,v322,...v3n2},

...

{vm12,vm22,...vmn2}

},

...

...

...

{

{v11p,v12p,...v1np},

{v22p,v23p,...v2np},

{v31p,v32p,...v3np},

...

{vm1p,vm2p,...vmnp}

}

Put braces around all dimensions except the first and the last. For two dimensional arrays, put braces around each row. For three dimensional arrays, put braces around each row, and around each two-dimensional array.


Bandpass specifications

MODE 1:

Passband Gain

This is the maximum gain in dB in the passband.

Passband Ripple (R)

This is the variation in gain in dB across the passband.

Stopband Attenuation (A)

This is the maximum gain in dB in the passband minus the maximum gain in dB at the stopband. Attenuation is a positive number.

Center Frequency (Fc)

This is the center frequency of the passband.

Passband (PB)

This is the band of frequencies where the filter gain is equal to the passband gain (plus or minus the ripple).

Stopband (SB)

This is the band of frequencies which includes the PB plus the two transition regions above and below the passband. It is also the frequency where the filter gain is larger than the total of passband gain + attenuation (plus or minus the ripple).

For Chebyshev and Elliptic filters the passband gain varies with the order of the filter as follows:

Order Gain at DC Gain at passband edge

Even Passband Gain Passband Gain + Ripple

Odd Passband Gain Passband Gain - Ripple

Butterworth and inverse-Chebyshev passband gain varies as follows:

Type Gain at DC Gain at passband edge

Butterworth Passband Gain Passband Gain - Ripple

Inverse-Chebyshev Passband Gain < Passband Gain - Ripple

Inverse-Chebyshev filters meet the passband spec with margin and meet the stopband spec exactly, with no margin. Ideal realizations of the other filters do just the opposite. They meet the stopband spec with margin and meet the passband specs exactly, with no margin.

MODE 2:

Gain

This is the center frequency gain in dB (bandpass).

Center Frequency

This is the frequency at which the maximum (bandpass).

Ripple

This is the variation in gain in dB across the passband (bandpass).

Order

This is the filter order.

Q

This is the filter Q factor. Q is a measure of the resonance near the center frequency.


Behavioral primitives

Behavioral primitives are devices for simplifying the modeling of complex digital parts. They come in three varieties:

Logic expressions

These devices let you describe digital behavior with Boolean logic expressions.

Pin-to-pin delays

These delays let you describe rules governing the propagation delays between pins. The rules are logic expressions based upon the behavior of input pins.

Constraints

These devices let you check for timing constraints and issue warning messages when the constraints are violated. Timing constraints include pulse width, pulse frequency, setup time, hold time, and a general user-defined type.

These devices are used extensively in the Digital library to model commercial logic family parts, so it is not necessary to master their use in order to benefit from them. It is possible to use the digital logic family parts without ever learning about the behavioral primitives. However, if you want to model a part that is not in the library, you will find these primitives to be of great value and well worth the time spent learning them.


Bipolar Transistor - Mextram

Bipolar Transistor (Mextram)

The Mextram has two model levels associated with it. The thermal model is a self heating model and has an extra pin that outputs the temperature of the device.

Level 2: Mextram 504 (use the NPN/PNP or NPN4/PNP4 components)

Level 21: Mextram 504 Thermal (use the NPNT/PNPT or NPN4T/PNP4T components)

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

q1

QP

VALUE attribute:

MULT=<no_parallel>

This attribute defines the number of parallel transistors.

Examples:

MULT=100

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2N2222

BD159

Common attributes:

Model statement:

Syntax:

.MODEL <model name> NPN (Level=2 [model parameters])

.MODEL <model name> PNP (Level=2 [model parameters])

.MODEL <model name> NPN (Level=21 [model parameters])

.MODEL <model name> PNP (Level=21 [model parameters])

Examples:

.MODEL 2N2222A NPN (Level=2 BF=215 CJC=78f CJE=73p)

.MODEL Q2 NPN (Level=21 BF=215 CJC=78f CJE=73p RTH=350 CTH=4n)

Description

Mextram is an advanced compact model for the description of bipolar transistors suitable for double-poly, SiGe processes, high-voltage power devices, and lateral NPN-transistors in LDMOS technology. It provides an accurate description of both the forward and reverse modes of operation for digital and analog circuits. It realistically handles quasi-saturation, avalanche multiplication, epitaxial collector layer resistance and charge storage, Early voltage bias dependence, inactive region modeling, current crowding, and conductivity modulation of base resistance.

The model parameters for the Mextram model are listed in the Reference manual.

SPICE format:

Syntax:

Q<name> <collector> <base> <emitter> [substrate] [thermal]

+ <model name> MULT=<no_parallel>

Example:

Q1 1 2 3 MM1

Q4 1 2 3 4 5 MM3 MULT=20

The values of <collector>, <base>, <emitter>, [substrate], and [thermal] represent the collector, base, emitter, substrate, and thermal node names. SPICE BJT names must begin with the letter 'Q'. The MULT parameter defines the number of transistors in parallel.


Bipolar Transistor (Modella)

The Modella has two model levels associated with it. The thermal model is a self heating model and has an extra pin that outputs the temperature of the device.

Level 500: Modella LPNP (use the PNP4 component)

Level 501: Modella LPNP Thermal (use the PNP4T component)

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

q1

QP

VALUE attribute:

MULT=<no_parallel>

This attribute defines the number of parallel transistors.

Examples:

MULT=100

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2N2222

BD159

Common attributes:

Model statement:

Syntax:

.MODEL <model name> LPNP (Level=500 [model parameters])

.MODEL <model name> LPNP (Level=501 [model parameters])

Examples:

.MODEL 2N2222A LPNP (Level=500 BF=215 CJC=78f CJE=73p)

.MODEL Q2 LPNP (Level=501 BF=215 CJC=78f CJE=73p RTH=350 CTH=4n)

Description

Modella (MODEL LAteral) models modern lateral PNP structures, accounting for the complex two-dimensional nature of the device. In this physics-based model, the main currents and charges are independently related to bias-dependent minority carrier concentrations, providing realistic modeling of current crowding, high-level injection, and bias-dependent output impedance.

The model parameters for the Modella model are listed in the Reference manual.

SPICE format:

Syntax:

Q<name> <collector> <base> <emitter> [substrate] [thermal]

+ <model name> MULT=<no_parallel>

Example:

Q1 1 2 3 MM1

Q4 1 2 3 4 5 MM3 MULT=20

The values of <collector>, <base>, <emitter>, [substrate], and [thermal] represent the collector, base, emitter, substrate, and thermal node names. SPICE BJT names must begin with the letter 'Q'. The MULT parameter defines the number of transistors in parallel.


Bipolar Transistors Graphs

Bipolar Transistor Graphs

Vbe vs Ic

Hoe vs Ic

Beta vs Ic

Vce vs Ic

Cob vs Vcb

Cib vs Veb

TS vs Ic

Ft vs Ic


BJT - Beta vs Ic

Purpose: This screen estimates the parameters NE, ISE, BF, IKF, and NK. These parameters model the low-current recombination and high-level injection effects that produce a drop-off in the forward beta.

Input: One or more pairs of Beta and Ic values.

Conditions: The value of Vce.

Output: Model values for NE, ISE, BF, IKF, and NK.

Equations: BF=f(Ic)=simulated tabular function of BF vs Ic

Guidelines: Use data from the Beta vs Ic graphs. If unavailable, use typical table values.


BJT - Cib vs Veb

Purpose: This screen estimates CJE, MJE, and VJE.

Input: One or more pairs of Cib and Veb values.

Output: Model values for CJE, MJE, and VJE.

Equations: Cib=CJE/((1+Veb/VJE)^MJE)

Guidelines: Use data from the Cib vs Veb graphs. Vcb is the value of the emitter-base voltage and is always positive. If unavailable, use typical table values.


BJT - Cob vs Vcb

Purpose: This screen estimates CJC, MJC, VJC, and FC.

Input: One or more pairs of Cob and Vcb values.

Output: Model values for CJC, MJC, VJC, and FC.

Equations: Cob=CJC/((1+Vcb/VJC)^MJC)

Guidelines: Use data from the Cob vs Vcb graphs. Vcb is the value of the collector-base voltage and is always positive. If unavailable, use typical table values.


BJT - Ft vs Ic

Purpose: This screen estimates TF, ITF, XTF, and VTF.

Input: One or more pairs of Ft and Ic values.

Conditions: The value of Vce.

Output: Model values for TF, ITF, XTF, and VTF.

Equations: vbe=VT*N*ln(Ic/ISS), vbc=vbe-Vce

atf=1+XTF*(Ic/(Ic+ITF))^2*e^(vbc/(1.44*VTF))

tf=TF*(atf+2*(atf-1)*ITF/(Ic+ITF)+VT*N*(atf-1)/(1.44*VTF))

fa=(1-vbc/VAF)*(1-vbc/VAF)

Ft=1/(2*PI*(tf/fa+VT*N*(cje+cjc*(1+Ic*RC/(VT*N)))/Ic))

Guidelines: Use data from the Ft vs Ic graphs. If unavailable, use typical table values. If the typical value is unavailable, use an average of the min and max values.


BJT - Hoe vs Ic

Purpose: This screen estimates the forward Early voltage, VAF.

Input: One or more pairs of hoe and Ic values.

Conditions: The value of Vce.

Output: Model value for VAF.

Equations: Hoe=Ic/(VAF+Vce-0.7)

Guidelines: Use data from the Hoe vs Ic graphs. If unavailable, use typical table values.


BJT - TS vs Ic

Purpose: This screen estimates Tr, the reverse transit time value.

Input: One or more pairs of TS and Ic values.

Conditions: The value of the Ic/Ib ratio used in the measurement.

Output: Model values for Tr.

Equations: ar=br/(1.0+br),af=bf/(1.0+bf)

k1=(1,0-af*ar)/ar,k2=(af/ar)*TF

TS=((Tr+k2)/k1)*ln(2.0/((Ic/Ib)/bf+1.0))

Guidelines: Use data from the TS vs Ic graphs. If unavailable, use typical table values. If the typical value is unavailable, use an average of the min and max values.


BJT - Vce vs Ic

Purpose: This screen estimates NC, ISC, BR, IKR, and RC. These model the low-current recombination and high-level injection effects that cause reverse beta drop-off. The collector resistance is also estimated.

Input: One or more pairs of Vce and Ic values.

Conditions: The value of the Ic/Ib ratio used in the measurement.

Output: Model values for NC, ISC, BR, IKR, and RC.

Equations: Vce=(simulated tabular function of Vce vs Ic)+Ic*(RC+RE)

Guidelines: Use data from the Vcesat vs Ic graphs. If unavailable, use typical table values.


BJT - Vbe vs Ic

Purpose: This screen estimates IS, NF, and RE.

Input: One or more pairs of Vbe and Ic values.

Output: Model values for IS, NF, and RE.

Equations: Vbe=VT*NF*ln(Ic/IS)+Ic*RE

Guidelines: Use data from the Vbesat vs Ic graphs. If unavailable, use typical table values. EG and XTI are not optimized.


Changing the plot orientation

The orientation of the 3D plot can be changed in several ways:

By dragging the graph with the right mouse button.

By using the keyboard.

Q: Rotates the plot clockwise about the X axis.

A: Rotates the plot counter clockwise about the X axis.

W: Rotates the plot clockwise about the Y axis.

S: Rotates the plot counter clockwise about the Y axis.

E: Rotates the plot clockwise about the Z axis.

D: Rotates the plot counter clockwise about the Z axis.

X: View from perpendicular to the X=0 plane.

Y: View from perpendicular to the Y=0 plane.

Z: View from perpendicular to the Z=0 plane.

CTRL + HOME: Standard view orientation.

C: Toggles between contour and 3D view.


Circuit structure

Micro-Cap analyzes circuits. A circuit is an interconnection of electrical components. There are two basic types of circuit description that Micro-Cap uses:

Schematic, a picture of the circuit topology.

SPICE text file, a textual description of the circuit topology.

Schematics

Schematics are comprised of drawings and text. Drawings provide the circuit description and text provides the modeling and analysis information required for an analysis. Micro-Cap runs analyses from data contained in the schematic. It is not necessary to convert it to a SPICE netlist first, although Micro-Cap can also analyze SPICE netlists. Sometimes Micro-Cap also uses modeling information from libraries referenced in the schematic.

Each schematic contains a drawing area and a text area.

Drawing area

The drawing area contains one or more pages of analog and/or digital components interconnected by wires. It may also contain graphical objects (which contain no electrical information) and grid text (which may contain electrical information). Grid text can be moved from the drawing area to the text area and vice-versa by selecting it and pressing Ctrl + B. This is called the shuttle command. Pages can be added or deleted from the Edit menu or with a right click on any page tab in the page selector at the bottom of the schematic window. Page display is controlled by the page scroll bar located at the lower left part of the circuit window.

Text area

The text area consists of one or more text pages that contain only text. It typically holds local command statements, subcircuit descriptions, model statements, and digital stimulus statements that may be too bulky for convenient display in the drawing area. The text editor is capable of handling multi-megabyte text files. Three default text pages that are created with a new circuit are Text, Models, and Info. The Text page can be used for general comments, models, command statements or any other useful information. The Models page is the text page where Micro-Cap adds any model. The Info page displays the locations where Micro-Cap finds models, macro, defines, and other information for an analysis. Do not enter any information of your own in the Info page as it will be overwritten every time an analysis is entered.

The display can be toggled between the current text or schematic page and the last used text or schematic page by pressing CTRL + G. The text area can be selected by clicking on one of the text page tabs in the page scroll bar area. To return to the schematic, click on one of the desired page tabs or press CTRL + G.

You can also split the display to simultaneously show different parts of the drawing and or text areas by dragging the vertical or horizontal splitter bar towards the middle of the window.

SPICE text files

SPICE text files are standard SPICE text descriptions of a circuit, a subcircuit, or a model statement. In this type of file, Micro-Cap generally follows the original Berkeley SPICE2G format, with many PSpice(TM), SPICE3, and some HSPICE extensions. Text files are entered and edited in a text document similar to a word processor. When you create a new SPICE text file, Micro-Cap opens a text document and lets you edit it as desired. Only when you attempt to run an analysis does Micro-Cap error check it.

Note that Micro-Cap can also translate schematics into SPICE text files of various flavors for use in other programs, in case you want to check the accuracy of an external SPICE simulator against Micro-Cap. Micro-Cap will, of course, accept such files for analysis.

Direct SPICE netlist inclusion

The program includes a pair of commands, .SPICE and .ENDSPICE, which allow the direct inclusion of SPICE coded circuitry within schematic text pages. For example:

.SPICE

L1 IN OUT 1U

C1 OUT 0 1N

R1 OUT 0 50

.ENDSPICE

Adding this text to a text page creates a piece of circuitry which connects to schematic nodes labeled IN and OUT. The circuitry need not be a subcircuit. Any SPICE circuitry from the text pages contained within the lines between .SPICE and .ENDSPICE commands is available for use in the schematic and may be connected by using identical schematic and SPICE node names.


Clipboard

There are two clipboards, the standard Windows clipboard which can store text and BMP images, and the Clipboard List which can store text, RTF text, images, analysis limits, and circuit fragments.

Standard Clipboard:

The clipboard is a temporary storage area that is used to save schematic or text fragments, as a prelude to pasting them to a new location. It is an invaluable tool for editing schematics or text area, and can save considerable time. The clipboard commands (available under the Edit menu) are as follows:

Clear: This deletes the selected object without copying to the clipboard. The DELETE key may also be used.

Cut: This deletes the selected object and copies it to the clipboard. CTRL+X may also be used.

Copy: This copies the selected object to the clipboard. CTRL+C may also be used.

Paste: This pastes the clipboard contents to the last mouse click location. CTRL+V may also be used.

To copy something to the clipboard, select the object or drag select a region. Press CTRL+C or click on the Copy button. All objects within the rectangular region will be copied to the clipboard.

To paste the clipboard contents, first click at the desired location. Then press CTRL+V or click on the Paste button. The entire contents of the clipboard will be pasted into the schematic or text area at the site of the last mouse click.

Like most other operations, the clipboard actions can be undone by using the Undo command. Simply choose Undo from the Edit menu, press CTRL + Z, or click on the Undo button to the operation.

Micro-Cap maintains two separate clipboards: a text box clipboard and a schematic clipboard. Text copied from a text box will not mix with text copied from the schematic. Text from the text area of a schematic is regarded as schematic material and is stored to or copied from the schematic clipboard. Thus, it is possible to copy text from the text area and paste the same text to the drawing area. Of course, the shuttle command, CTRL+B, does this directly.

Schematic objects saved to the clipboard are available only for use within Micro-Cap and cannot be pasted to other applications. To export schematic pictures or plots, use the Copy to Clipboard or Copy the Entire Window to a Picture File commands on the Edit menu.

Clipboard List:

The clipboard list is a temporary storage area that is used to save standard text, RTF text, images, analysis limits, and circuit fragments. Each is copied and pasted using a user-specified name. This is particularly convenient way of pasting text and circuit fragments to build new schematics.

Use the File Menu / Edit Clipboard List option to rename and / or delete items from the list.

Use the File Menu / Paste From Clipboard List option to paste items from the list into your circuit.

Use the File Menu / Copy to Clipboard List option to copy selected items to the list.

Use the File Menu / Copy Image to Clipboard List option to copy external images from other programs (like browsers) to the list.

You can also use Drag and Drop to place images in the schematic. Caveat: When the file is saved, the images will be embedded into the file causing it to be larger than merely using a file link.


Common attributes

All components contain three common attributes: Package, Cost, and Power. None of these are used for simulation purposes in Micro-cap. The information is only used when the schematic is translated to a PCB netlist or Bill of Materials. The descriptions of the attributes is as follows:

SHAPEGROUP attribute:

<shape group name>

This attribute defines the Group name that the part will take its shape from. In the Component Editor, multiple shapes may be assigned to a part. Each shape assigned to a part has a corresponding Group name. The Group Name lets a shape of a component be grouped with other parts that would have a similar shape type. For example, the Group Name "Euro" defines common European shapes for many devices. In the View page of the schematic Properties dialog box, the priority of the Group Names can be set so that a part whose SHAPEGROUP attribute is set to Default would draw its shape from the group with the highest priority that contains a valid shape for the part. Individual components with multiple shapes can have their shape assigned by editing the SHAPEGROUP attribute in the Attribute dialog box. In the Attribute dialog box, clicking the drop down arrow in the Value field when this attribute is selected displays a list of valid Group names for the device.

Examples:

Default

Main

Euro

DeMorgan

PACKAGE attribute:

<package_name>

This attribute defines the package name that is to be used in a PCB translation. Highlight the Package attribute and then click on the arrow in the Value field to view the available packages for this component. Selecting a package from this list assigns the package information in the Package editor to this component when a translation to PCB file is performed. The specific component name must be defined in the Package editor to receive a list of packages. For example, if you select the 2N2222 from the Analog Library, it has two packages defined for it: TO-18 and TO-206AA. However, if you grab the NPN from the Analog Primitives and give it the 2N2222 model, there will be no packages assigned. You can enter a text string into the Package attribute that is not available in the list, however, this will have no meaning since there is no information available in the Package editor for this, and would only be used for display purposes.

Examples:

DIP14

TO-18

SO-14

COST attribute:

<cost>

This attribute defines the cost of the component. This will be used in the Bill of Materials translation when determining the total cost of the circuit. A default cost can be defined for the component in the Cost field of the Component editor .

Examples:

1.20

.267

POWER attribute:

<power>

This attribute defines the power used by the component. This will be used in the Bill of Materials translation when determining the total power consumption of the circuit. A default power usage can be defined for the component in the Power field of the Component editor.

Examples:

50m

500m


Component library

The Component Library provides the circuit parts used in Micro-Cap schematics. They store the following information about the parts:

Name of each component (e.g. 2N2222A)

Shape group it can access (e.g. Euro)

Shape it uses (e.g. NPN)

Electrical definition (e.g. NPN)

Component attribute text placement (e.g. where to print the part name)

Pin names and text placement (e.g. where to print the collector, base, and emitter pin names)

Cost attribute (e.g. 0.15)

Power attribute (e.g. 500mW)

Palette field (e.g. Palette 5)

Memo field (e.g. NPN General Purpose Transistor 30V .8A)

Link field (e.g. http://www.spectrum-soft.com/news/summer2006/monostable.shtm)

The entries provide schematic information and do not directly provide electrical modeling information. Macros and subcircuits indirectly provide such information, since the part name refers to the macro file name or the subcircuit name, indirectly dictating electrical behavior.

All components, from resistors to macros and SPICE subcircuits are selected from a component library. There can be more than one such file. All component library files use the extension CMP.

The original component library file supplied with Micro-Cap is STANDARD.CMP. During the original Micro-Cap installation, this file is placed in the same directory as the MC10.EXE, but can be relocated from within the Component Editor. If the file is located on a read only directory, and if the user does not have write privileges, all edit commands are locked out. This provides secure LAN access to the library to all users, but assures that only individuals with write privileges can alter the file.

The library is organized hierarchically into these groups:

Analog Primitives

Analog Library

Digital Primitives

Digital Library

Animation

Import (Present when at least one component has been imported from a circuit file)

Filters (Present when at least one filter macro has been created by the user)

Macros (Present when at least one macro circuit has been created by the Make Macro command)

Subckt (Present when at least one subcircuit has been created by the Schematic to SPICE Text File command)

Components in the Analog and Digital Primitives section require a model name, or for simple components, like resistors, a value. These are the "roll your own" parts. Components in the Analog and Digital Library sections do not require a model name. The user need only select the desired part name. With these parts, the model or subcircuit name is equated automatically to the part name. Selecting a part name also selects the model, subcircuit, or macro name used to access the electrical modeling information.

Model statements and subcircuits for the parts in the Analog Library and Digital Library are already available in the Model library and are accessed with the default '.LIB NOM.LIB' statement implicit in every circuit.

It is possible to use or have more than one component library. Multiple libraries can be maintained, merged, and viewed with the Component Editor, but it is recommended that the original library, STANDARD.CMP, should be left unmodified in its original state.

Use the Import Wizard or Add Part wizard to add new parts to the Component Library.

The Link field is intended to provide a convenient location to place a reference for the part, perhaps a data sheet or application note. The default link is setup to do a Google search for the part name + " data sheet". For example the 2N2608 JFET would have a search string of:

"2N2608"+"data sheet"


Convergence checklist

Here are some things you should try when convergence problems arise:

Check circuit topology:

DC path to ground: Every node must have a DC path to the ground node. The classic example of this is a circuit containing two capacitors in series, with nothing else connected to the junction of the two capacitors. From the junction, there is no DC path to ground and the circuit will fail to find a DC operating point. The solution is to replace the series combination with an equivalent capacitor, or put a high-valued resistor like 1E12 from the junction to ground. Another circuit configuration that creates a very similar problem is a set of cascaded, ungrounded, transmission lines. There is no DC path from the output of a transmission line to the input, so unless the junction between the lines is grounded or has a path to ground through some other component, an operating point convergence failure usually occurs. The solution is to place a high-valued resistor from the junction to ground.

Current sources in series: Current sources in series with different values are a logical absurdity and produce convergence errors. Eliminate them or add a large resistance in parallel with one of the sources.

Voltage sources or inductor loops: Both voltage sources and inductors are voltage-defined branches. A loop with only voltage-defined branches is a source of much trouble since it allows a possibly nonzero sum of voltages around the loop. Micro-Cap will check for these, but if you eliminate them by adding a very small resistance within the loop to absorb the net loop voltage, be careful not to make it too small.

Shorts and opens: The easiest way to see short circuits and open circuits is to turn on the Node numbers display option, [image]. If two nodes are shorted to form one node there will be a single node number. If two nodes are distinct there will be a unique node number on each.

Reversed batteries: The batteries that power the opamps must have the correct polarity. Many times a value such as -12V will be given to the battery, but then the battery will be placed in a negative orientation thus actually producing a positive 12V. Check to make sure that all opamp power supplies have the correct polarity.

Floating nodes: Floating nodes do not always cause problems, but they sometimes do. Make sure the Floating Nodes check option is enabled in the Options - Circuit page of the Preferences dialog box . This eliminates floating nodes by checking for the presence of at least two connections for every node. The check procedure is done when an analysis is selected.

Check circuit modeling:

Nonzero capacitors: Do all capacitors have a nonzero value? If not, set them to a small value relative to other capacitors in the circuit.

Nonzero diode series resistance: The RS of the diode serves to self-limit the possibly exponential current that can flow if an external voltage source is placed across the diode. The same argument applies to the transistor lead resistances.

Nonzero diode parallel resistance: The RL of the diode serves to limit the reverse voltages that can occur when an inductor is in series with the diode. Normal reverse resistance due to IS alone is on the order of 1e15 ohms. This is unrealistically high for most diodes. The RL parameter provides a convenient way to specify a realistic leakage resistance of 1E6 to 1E9. High reverse diode resistance in the presence of series inductors not only leads to the most common cause of "time step too small" errors, it is also a common cause of slow simulations, as it forces very small time steps.

Switches and inductors in series: If these are present and causing problems, add parallel resistances of 10K or larger to mitigate convergence problems. Any kind of a switch in series with an inductor can cause a problem. This includes diodes, switches, and active devices.

MOSFET drain-source conductance: A small nonzero value, like .01 to .001, for the LAMBDA model parameter produces a finite output conductance and can frequently solve convergence problems with MOSFETs. Alternatively, adding a 1K to 10K resistor between the drain and source will accomplish the same thing. The value of the resistance should be large enough to avoid loading the drain circuit.

Tweak the Global Settings:

Increase GMIN: GMIN is the minimum branch conductance. Increasing it sometimes will help a DC operating point to converge.

Increase RELTOL: RELTOL is the maximum relative error tolerance. Sometimes increasing it from the default value of .001 to .01 will converge a difficult circuit.

Increase ABSTOL or VNTOL: These values specify the maximum absolute error tolerance in current variables and voltage variables, respectively. The default values are suitable for typical integrated circuits where the currents are typically 10mA and the voltages are typically 10 volts. If your circuit contains especially large currents or voltages, try increasing these values proportionate to the size of the expected maximum current and voltage values in your circuit. Thus if your circuit produces 1000 amps, increase ABSTOL to 1E-7.

Increase ITL1: If the non-convergence occurs in a DC operating point, then increasing ITL1 from its customary 100 to a larger value sometimes helps. There are circuits that converge after 150, or even 250 iterations. Do not increase the value of ITL1 too much. Since MC5 will only try to ramp the supplies after the ITL1 limit is exceeded, making it too large makes the ramping process inefficient.

Increase ITL4: If the non-convergence occurs during a transient analysis, try increasing ITL4. This is the number of iterations at each timepont where the program discards the solution, reduces the timestep, and tries again with the smaller timestep.

Set CShunt/RShunt: These Global Settings, when set to nonzero values, place a capacitor or resistor to ground at every node. Set the values so they do not interfere with the impedance values in the circuit.

Turn off the operating point:

If the problem is no convergence in the operating point, try eliminating it and letting the circuit simply stabilize at its operating point the way a real circuit would do if you simply turned on the power. If you anticipate many simulations, you might want to run the circuit will all waveform sources set to their Time=0 values to let it stabilize at an operating point and then save the operating point values from the State Variables Editor . Later runs would then be set to read the operating point values from the file. This is done by choosing the Read option in the State Variables list box in the Analysis Limits dialog box . On the subsequent runs you may need to choose the Operation Point option if the circuit has changed enough to change the operating point values. The initial approximation from the file should substantially aid convergence.

Enable Convergence Assist: This option, enabled from Options / Preferences / Options - Analysis is sometimes useful in getting difficult circuits to converge. It tries several combinations of the Global Settings simulation parameters in an attempt to get the circuit to converge. If it succeeds, it places a .OPTIONS statement with the successful parameters in the circuit so that future runs will converge more readily.

Check the numeric output file: If convergence fails, look at the numeric output (F5). It includes information on the devices that failed to converge. Sometimes you can get a hint of what the problem is by seeing which devices failed.

Try something drastic:

Ramp the supplies slowly: Replace all DC voltage and current sources in the circuit with pulse source equivalents. Then set the timing parameters of the pulse sources to gradually ramp up the values. Use 0 for all initial source values, or bypass the DC operating point completely by disabling the Operating Point option in the Analysis Limits dialog box. This option is available only in transient analysis.

Use Nodeset commands: Nodeset commands are used to specify an initial guess at the value of a node voltage, prior to beginning the operating point. If the guess is close, it sometimes helps convergence.

Use the Off keyword: Turn active devices off with the OFF keyword. Especially if the device is involved in the area of the circuit that is not converging, this can be a very useful technique.

Use the IC device options: These options let you specify the initial conditions for the active devices. If the device is the one not converging, this can help. It is necessary to estimate the initial condition (voltage or current) to use this method.

Try different operating point methods: If the problem is a convergence failure in the operating point, try this option Operating Point Methods, available in the Transient or AC menu. It lets you evaluate and choose the order in which the five operating point methods are attempted.

Try using numeric derivatives: If you are using function sources with complicated algebraic formulas, try using numeric derivatives in lieu of the default algebraic derivatives. These can be globally enabled from Options / Global Settings / Numeric_Derivative, or they can be enabled individually for each function source from the Attribute dialog box.


Convergence problem causes

There are many causes of non-convergence. Here are a few of the common ones.

Model discontinuities: Sometimes the model produces a discontinuity in a conductance, transconductance, or capacitance term. When the solution traverses the discontinuity, a disproportionate result is obtained, and the solution iterates around the discontinuity until the iteration limit is reached. There is little the user can do about this case, except to avoid the model region where the discontinuity occurs.

Bistable or unstable circuits: If a circuit is unstable, or has multiple stable states, the routines will iterate between one stable state and another. Because they never converge to one stable answer, convergence fails. This is usually a problem only in DC operation point and transfer function analyses. To solve this problem, the DC operating point is often bypassed or achieved by ramping the power supplies and transient analysis is often substituted for DC transfer analysis.

Incorrect modeling: This is the most common source of trouble. Unrealistic impedances or source values, zero-valued capacitors, floating nodes, and unintentional shorts are some of the more common problems. The most common problem in this category is misconnected components. If you take a circuit that converges and runs through every analysis perfectly and randomly alter its topology by breaking or adding connections, it will frequently fail to converge. The second most common problem is zero-valued capacitance. Capacitors act like shock absorbers in transient analysis. They harmonize with the numerical routines to produce more realistic, more convergeable solutions. Model capacitances should rarely be set to zero. Use small values if you must, but don't make them zero. The third most common problem occurs when a diode or a switch is placed in series with an inductor. As any experienced auto mechanic knows, very high voltages are produced by interrupting the flow of current through an inductor. An ideal diode does this very neatly. When this happens, the time step routines reduce the time step to very small values and sometimes produce non-convergence. To mitigate this problem, use a medium value resistor in parallel with the diode or switch to absorb some of the current. Make the resistance large enough so that it does not interfere with normal circuit operation, but small enough to absorb the current when the diode shuts off. A practical value is 1E6. Even if non-convergence isn't a problem, this technique will usually speed up the run.


Core Graph

The Model/Change Core Units option lets you switch between the SI units of Teslas - Amps/Meter and CGS units of Gauss - Oersteds for the data entry. This only affects the plot scale values and the B-H curve data. The optimized model parameters always remain in the original hybrid system of units.

Purpose: This screen estimates the nonlinear magnetic core model values MS, A, C, and K. Model values for Area, Path, and Gap are entered directly from the data sheet table.

Input: Triplets of H, B, and Region values.

Output: Model values for MS, A, C, and K.

Equations: Jiles-Atherton state equations.

Guidelines: Enter the data for each material first. The default is CGS units of Oersteds/Gauss. Enter the data from the BH graph and the Region value is 1, 2, or 3.

Region Value Otherwise known as

From H=0 to Hmax 1 Initial permeability curve

From H=Hmax to 0 2 Top BH curve

From H=0 to Hmax 3 Bottom BH curve

If the Initial permeability curve is unavailable, skip it and enter values for regions 2 and 3. For the best results, enter an equal number of data points for each region. Once the material is modeled, copy the part and enter the geometrical values: Area, Path, and Gap for each part. This avoids repeated duplication of the same BH curve for multiple parts.

Enter the data for each core material first. Once a particular material is modeled, copy the part and use the copy as a template to model parts that use the same material, but have different values of Area, Path, or Gap. This avoids duplication of the same B-H curve.


Creating libraries

When creating your own models, it is best to do so in a file that you create instead of appending the model to any of the current Micro-Cap libraries. The reason for this is simple. It is to protect your models from being overwritten in the case of installing an upgrade.

The best method for placing your models in Micro-Cap is to open up a new file with the New File dialog box. This dialog box lets you create a library file (.LBR) ,in which you may enter model parameter lists, or a Text Library file (.LIB), in which you may create model statements, subcircuits, or macro calls. After creating your library, you want to open the file called 'NOM.LIB' which is available in the Library directory. This may be done with any text editor, including the one in Micro-Cap. The 'NOM.LIB' file is simply a text file that contains the name of all of the libraries that were supplied with Micro-Cap. Add the name of any library files that you created in the manner of '.LIB MY.LIB' to this list. Your libraries will then be included in the default .LIB command, so that when you go into analysis, the libraries that you created will also be searched for the appropriate modeling information. If one of your models has a name that already exists in a Micro-Cap library. The first model found in the 'NOM.LIB' file will be the one used. You may give your model higher priority by placing it at the top of the 'NOM.LIB' file, by using a .LIB command, or by placing the model in the text area or as grid text. The priority level is described in the topic Accessing models. It is always smart to have backups of any libraries you create.


Cursor functions

These items control the placement of the two cursors in Cursor mode. Note that there are two cursors, a left cursor and a right cursor. The LEFT ARROW and RIGHT ARROW keys move the left cursor. The combination of SHIFT and the LEFT ARROW and RIGHT ARROW keys move the right cursor.

Next Simulation Data Point: In this mode, pressing the LEFT ARROW or RIGHT ARROW keys finds the next actual data point in the direction of the cursor arrow from the run.

Next Interpolated Data Point: In this mode, pressing the cursor keys finds the next rounded interpolated data point in the direction of the cursor arrow.

Peak: This selects the Peak mode. In this mode, pressing the LEFT ARROW or RIGHT ARROW keys moves the cursor from the current data point to the next local peak data point to the left or right.

Valley: This selects the Valley mode. In this mode, pressing the LEFT ARROW or RIGHT ARROW keys moves the cursor from the current data point to the next local valley data point to the left or right.

High: This selects the High mode. In this mode, pressing the LEFT ARROW or RIGHT ARROW keys moves the cursor from the current data point to the data point with the highest Y expression value on the current branch of the selected curve.

Low: This selects the Low mode. In this mode, pressing the LEFT ARROW or RIGHT ARROW keys moves the cursor from the current data point to the data point with the lowest Y expression value on the current branch of the selected curve.

Inflection: This selects the Inflection mode. In this mode, pressing the LEFT ARROW or RIGHT ARROW keys moves the cursor from the current data point to the next inflection data point. Inflections occur at the largest magnitude of slope, or first derivative, which corresponds to the second derivative of the waveform changing sign.

Top (Alt+Home): Clicking this button finds the data point with the greatest Y value of all branches of the selected curve at the current X cursor position.

Bottom (Alt+End): Clicking this button finds the data point with the smallest Y value of all branches of the selected curve at the current X cursor position.

Global High: This mode finds the high on all branches of the selected curve. This is useful for stepped or Monte Carlo waveforms.

Global Low: This mode finds the low on all branches of the selected curve. This is useful for stepped or Monte Carlo waveforms.

When Cursor mode is selected, a few initialization events occur. The selected curve is set to the first, or top curve. The Next mode is enabled. Clicking on a mode button not only changes the mode, it also moves the last cursor in the last direction. The last cursor is set to the left cursor and the last direction is set to the right. The left cursor is placed at the left on the first data point. The right cursor is placed at the right on the last data point.


Cursor mode in 3D

As with normal 2D plots, a Cursor mode is available to numerically examine the 3D plot. Press F8 or click on the Cursor mode icon, [image], to enter Cursor mode. All of the usual Cursor function modes are available. In particular, the Next, Peak, Valley, High, Low, Inflection, Global High, Global Low, Go to X, Go to Y, and Go to Performance modes are available.

Clicking the left mouse button controls the left cursor. Clicking the right mouse button controls the right cursor. The arrow keys may also be used to move the cursors. Shift + arrow key controls the movement of the right cursor whereas just the arrow keys control the movement of the left cursor.


DC analysis variables - Probe

The Vertical menu selects the vertical variable and the Horizontal menu selects the horizontal variable. The plotted variables may be edited in the Probe Properties dialog box. Both analog and digital variables are available in DC analysis. They include:

All: This lists all available variables for the component clicked on.

Voltage: If the mouse probes on a digital node, the digital state of the node is selected. If the mouse probes on an analog node, a node voltage is selected. If the mouse probes on the shape of a two-lead component, the voltage across the component is selected. If the mouse probes between two leads of a three or four lead active device, the lead-to-lead difference voltage is selected. Hold Shift down and probe on two nodes to get differential voltage.

Current: If the mouse probes on a digital node, the digital state of the node is selected. If the mouse probes on the shape of a two-lead component, the current through the component is selected. If the mouse probes on a lead of a three or four lead active device, the current into the lead is selected.

Power: If the mouse probes on a component, it plots the power dissipated (PD), generated (PG), or stored (PS) in that component. If the component has more than one of these, a list appears allowing selection. Clicking off a component lets you select one of the total power terms, PGT (total generated power), PST (total stored power), or PDT (total dissipated power). Since PST (total stored power) is zero in DC analysis, PGT will always equal PDT because of the general relationship between power variables:

PGT = PST + PDT

Linear: This selects a linear scale.

Log: This selects a log scale.

The default horizontal variable is the value of the specified Variable 1 of the Probe DC Analysis Limits dialog box. For example, if the source is a voltage source, the horizontal value is the voltage across the source, or if the source is a current source, the horizontal value is the current through the source.

This default can be changed through the Plot item in the Properties dialog box. The Properties dialog box is invoked by double clicking in the Probe plot, clicking in the Probe plot and then pressing F10, or by clicking on the Properties button, [image]. A plot must be present before an X variable change can be made.


DC parameter option

The DC parameter followed by a value specifies a DC source. This sets the DC value for DC analysis, for the AC operating point calculation in AC analysis, and in transient analysis if no transient waveform is specified.


Default Properties For New Circuits dialog box

This dialog box controls the properties of new circuits only. Existing circuit properties will not be affected by any edits made in this dialog box. The dialog box consists of the following:

Schematics:

Color/Font page

Format page

View page

Title Block page

Tool Bar page

SPICE Files:

Color/Font page

Tool Bar page

Analysis Plots:

Scales and Formats page

Colors, Fonts, and Lines page

Scope page

Tool Bar page

FFT page

Numeric Output page

3D Plots:

Color page

Font page

Formats page

Tool Bar page

Monte Carlo Histograms:

Color page

Font page

Tool Bar page

Performance Plots:

Scales and Formats page

Colors, Fonts, and Lines page

Tool Bar page

Numeric Output page

FFT:

Scales and Formats page

Colors, Fonts, and Lines page

Tool Bar page

FFT page

Numeric Output page

Model:

Color/Font page

Formats page

Tool Bar page

Globals:

Graphical Object page

Spice Type page

OK: This accepts any changes made and exits the dialog box.

Cancel: This ignores any changes made and exits the dialog box.

Help: This accesses the help topic for this dialog box.


Delay specifications

There is no Mode 1 for the delay filter.

MODE 2:

Gain

This is the gain of the filter at lower frequencies.

Order

This is the filter order.

Delay

This is the filter delay in seconds.


Deleting schematic objects

First step: Click on the Select mode button [image] in the Tool bar.

Second step: Select the object (component, text, wire, flag, or graphic object) to be deleted by clicking on it. To select multiple objects for deletion, hold the SHIFT key down while you click on each object. You can also select one or more objects by dragging the mouse to define a rectangular region (box). All objects within the rectangular region will be selected when the mouse button is released.

Third step: Press the Delete key to delete the object(s). Deleting in this fashion does not copy the deleted objects to the clipboard, so they will not be available for pasting to a new location. If you want to delete the objects and have them copied to the clipboard for a future paste operation, use the Cut command (CTRL+X) instead.

The Delete key alone removes all selected wire segments entirely from one endpoint to another. CTRL + Delete cuts wire segments that cross the select region box exactly at the box boundaries.

Note that the deletion can be undone by using the Undo command. Simply choose Undo from the Edit menu or press CTRL+Z to undo the deletion.


BJT Model Parameter Table

Name Parameter Units Default Area

IS Saturation Current Amps 1E-16 *

BF Forward Beta 100

NF Forward emission coefficient 1

VAF Forward Early voltage Volts INF

IKF BF high-current-roll-off corner Amps INF *

ISE BE leakage saturation current Amps 0 *

NE BE leakage emission coefficient 1.5

BR Ideal maximum reverse beta 1

NR Reverse current emission coefficient 1

VAR Reverse Early voltage Volts INF

IKR BR high-current roll-off corner Amps INF *

ISC BC leakage saturation current Amps 0 *

NC BC leakage emission coefficient 2

NK High current rolloff coefficient .5

ISS Substrate pn saturation current Amps 0

NS Substrate pn emission coefficient 1

GAMMA Epitaxial region doping factor 1e-11

QUASIMOD Quasi-saturation temperature flag 0.00

VO Carrier mobility knee voltage V 10.00

RCO Epitaxial region resistance Ohms 0.00 /

RE Emitter resistance Ohms 0 /

RB Zero-bias base resistance Ohms 0 /

RBM Minimum RB at high currents Ohms RB /

IRB Current where RB falls by half Amps INF *

RC Collector resistance Ohms 0 /

CJE BE zero-bias depletion capacitance Farad 0 *

VJE BE junction built-in potential Volts .75

MJE BE junction grading coefficient .33

CJC BC zero-bias depletion capacitance Farad 0 *

VJC BC junction built-in potential Volts .75

MJC BC junction grading coefficient .33

XCJC Fraction of BC dep. cap. to

internal base 1

CJS CS zero-bias depletion capacitance Farad 0 *

VJS CS junction built-in potential Volts .75

MJS CS junction grading coefficient 0

FC Forward-bias depletion coefficient .5

TF Ideal forward transit time sec. 0

XTF TF bias dependence coefficient 0

VTF Transit time dependence on VBC Volts INF

ITF Transit time dependence on IC Amps 0 *

PTF Excess phase at 1/(2*PI*TF)Hz degree 0

TR Ideal reverse transit time sec. 0

EG Energy gap eV 1.11

XTB Temperature coefficient for betas 0

XTI Temperature exponent for IS 3

TRE1 RE temp. coefficient (linear) 1/Celsius 3

TRE2 RE temp. coefficient (quadratic) 1/(Celsius^2) 3

TRB1 RB temp. coefficient (linear) 1/Celsius 3

TRB2 RB temp. coefficient (quadratic) 1/(Celsius^2) 3

TRM1 RBM temp. coefficient (linear) 1/Celsius 3

TRM2 RBM temp. coefficient (quadratic) 1/(Celsius^2) 3

TRC1 RC temp. coefficient (linear) 1/Celsius 3

TRC2 RC temp. coefficient (quadratic) 1/(Celsius^2) 3

KF Flicker-noise coefficient 0

AF Flicker-noise exponent 1

T_MEASURED Measured temperature Celsius undefined

T_ABS Absolute temperature Celsius undefined

T_REL_GLOBAL Relative to current temperature Celsius undefined

T_REL_LOCAL Relative to AKO model temperature Celsius undefined

Information on T_MEASURED, T_ABS, T_REL_GLOBAL, AND T_REL_LOCAL can be found in the .model temperature parameter topic.


Digital delay ambiguity

Digital devices contain model parameters that specify a minimum, typical, and a maximum value for each timing value. The MNTYMXDLY parameter can be used to specify which of the delays to use.

MNTYMXDLY Meaning

0 Set MNTYMXDLY = DIGMNTYMX

1 Use minimum delays

2 Use typical delays

3 Use maximum delays

4 Use worst-case (both minimum and maximum) delays

When worst case delays are used, the simulator produces an ambiguous region between the minimum and maximum delays that represents the period of time when the signal is changing. The signal cannot be said to be in the old state or the new state, it is merely in transition between the two states. This ambiguity region is represented by a rising or a falling state.

Ambiguity regions can accumulate as the signal passes through a succession of devices. Ambiguity can do more than just fuzz up the signal edges. It can catastrophically alter simulation results. Ambiguities, particularly in the case of a flip-flop, can make an output 'X' if there are two possible outcomes.


Digital expressions

D(10) Digital state or analog voltage of node 10.

D(1) & D(2) AND of the state of node 1 with the state of node 2.

D(1) | D(2) OR of the state of node 1 with the state of node 2.

HEX(A1,A2,A3,A4) + HEX(B1,B2,B3,B4)

Hex sum of two hex values. The first hex argument is the hex value of the states on nodes A1, A2, A3, A4. The second hex argument is the hex value of the states on nodes B1, B2, B3, B4. The result is the hex sum of these two hex values.


Digital flip-flops and latches

Both edge-triggered and level gated flip-flops are provided. Edge-triggered flip-flops include the JK flip-flop, JKFF, and the D-type flip-flop, DFF. Both change their state a specified delay time after the active edge of the clock. The active edge of the JKFF is the negative or falling edge. The active edge of the DFF is the positive or rising edge. The gated devices include the set-reset flip-flop, SRFF, and the D-latch, DLTCH. The outputs of these devices follow the input while the gate node is high. The input state sampled during the high state of the gate node is latched and stable during the low state of the gate node. In SPICE, the device is defined as an array of flip-flops, so one or more flip-flops may be instantiated with a single device. The presetbar, clearbar, and clock or gate nodes are common to all flip-flops in the array.

Initialization

Flip-flop devices may be initialized to a particular state by using DIGINITSTATE. The flip-flop true outputs are set according to this table:

DIGINITSTATE Flip-flop Q output

0 0

1 1

All other values X

DIGINITSTATE is set in the Global Settings dialog box. It can also be changed for a particular circuit with the .OPTIONS command.

X-levels

X states are not propagated to the output if the logic precludes that from happening. For example, if clearbar = X, and Q = 0, the Q stays at 0, since both clearbar possibilities (clearbar = 0 and clearbar = 1) both produce Q=0. Similarly, if clearbar = X, and Q = 1, Q goes to X since the two clearbar possibilities (clearbar = 0 and clearbar = 1) each produce different Q outputs (Q=0 and Q=1).

Timing violations

Timing constraints are checked only if the value is not zero. If a constraint is violated, the simulator places a warning message in the Numeric Output window, and in the text file CIRCUITNAME.TNO.

Arrays of flip-flops

Note that arrays of flip-flops or latches are available only for SPICE text circuits or SPICE text subckt libraries. Schematic flip-flops or latches are always singles.


Digital gates

Two types of gates are provided:

Standard gates: Their outputs are always enabled. The output impedance is:

Output State Impedance

0 DRVL (from I/O model)

1 DRVH (from I/O model)

Tri-state gates: Their outputs are enabled by an enable pin. The output impedance depends upon the enable state:

Enable state Output State Impedance

1 0 DRVL (from I/O model)

1 1 DRVH (from I/O model)

0 Z DIGDRVZ

DIGDRVZ is the impedance which corresponds to the Z state. It is specified in the Global Settings dialog box or by a .OPTIONS statement. DRVH and DRVL come from the I/O model.

Gates come in two forms, simple and arrays. Simple gates have one or more inputs, but only one output. Arrays contain one or more simple gates, with one output per simple gate. Note that arrays of gates are available for use only in SPICE text circuits or SPICE text subckt libraries. Schematic gates are always simple.

The usual Boolean rules apply to these gates. If an input state is X, the output is calculated for an input of 1 and an input of 0. If the output state differs for these two calculations, then the output is X. This avoids propagating pessimistic X states. This definition of the X state results in the following identities:

0 AND X = 0 0 NOR X = X

1 AND X = X 1 NOR X = 0

0 NAND X = 1 1 XOR X = X

1 NAND X = X 0 XOR X = X

0 OR X = X 1 OR X = 1


Digital nodes

Digital nodes are represented the same way as analog nodes. They may be referred to by node number or node name. Nodes are numbered automatically by Micro-Cap. Node names are assigned by the user by placing grid text on the node when in Text mode, [image], or by double clicking on a wire and assigning a name in the dialog box that appears.

Digital node numbers are displayed on schematics inside sharp-cornered rectangles to reflect the angular look of digital waveforms. Analog node numbers use round-cornered rectangles to reflect the softer nature of analog waveforms.


Digital Operators

A is the MSB. D is the LSB. These operators are designed for use in plotting and printing and are similar to those in logic expressions. Note that the D() and V() operators are interchangeable when referencing an individual node. If these operators reference a digital node, then the digital state will be displayed. If they reference an analog node, then the analog voltage will be displayed.

Digital

D(A) Digital state on node A

HEX(A,B,C,D) Hexadecimal value of the digital states of nodes A, B, C, D.

BIN(A,B,C,D) Binary value of the digital states of nodes A, B, C, D.

DEC(A,B,C,D) Decimal value of the digital states of nodes A, B, C, D.

OCT(A,B,C,D) Octal value of the digital states of nodes A, B, C, D.

+ Sum of two binary, octal, hex, decimal values.

- Difference of two binary, octal, hex, decimal values.

MOD Modulus operator (integer division remainder) of two binary, octal, hex, decimal values.

DIV Integer division of two binary, octal, hex, decimal values.

& Bitwise AND of two digital node states.

| Bitwise OR of two digital node states.

^ Bitwise XOR of two digital node states.

~ Bitwise NOT of a digital node state.


Digital Path commands

One of the most important properties of digital circuits is path delay. Path delay is how long a signal takes to propagate through each of the many possible paths in a circuit. Micro-Cap provides several related commands for analyzing and displaying these paths. These commands do three things:

Identify and list the gates involved in the paths.

Show the delay of each path, calculated from the individual delays of the gates in the path list.

Graphically show selected paths on the schematic by highlighting the gates in the selected path.

There are three path commands:

Point to End Paths: This shows all paths from the component at the point of a mouse click to the end points. A path ends when a gate does not drive another standard gate or tri-state gate.

Point to Point Paths: This shows all paths from the point of the first mouse click to the point of the second mouse click.

Show All Paths: This shows all paths in the circuit starting on STIM, FSTIM, or flip-flop outputs and ending when a gate in the path does not drive another standard or tri-state gate.

The procedure is as follows:

First step: Click on one of the three path commands in the Tool bar or select one from the Options menu.

Second step: For the Point to End command, click on the body of a gate or stimulus component. For the Point to Point command, click on the starting component and on the ending component.

At this point, Micro-Cap shows a list of paths appropriate to the chosen command in the Path dialog box. Scroll through the list and click on a path and Micro-Cap will redraw the schematic and highlight the path. You can use the DOWN ARROW key to trace each path in the list from top to bottom.

For each path, the path list shows the name of each gate in the path, and the total delay through the path for the low to high and high to low signal transitions at the path start. To calculate the LH delay, the program assumes a low to high transition at the path start. It then traverses the path, summing the delays using the actual signal transitions at each gate, the gate's timing model, and the gate's MNTYMXDLY value. To calculate the HL transition, the program assumes a high to low transition at the path start and performs a similar analysis.

A path ends when any gate in the path does not drive a standard gate or a tri-state gate. Path handles combinatorial gates only. Subcircuits are not expanded.


Digital Power and Ground Nodes

The digital power and ground nodes are used by the interface subcircuits which connect analog and digital nodes together. These nodes have no effect when the digital device is connected only to other digital devices. Micro-Cap automatically creates the appropriate AtoD or DtoA interface needed to connect an analog node and a digital node. The digital power and ground nodes are passed into the subcircuit and provide a reference or drive voltage for the analog portion of the interface.


Digital Simulation Engine

Micro-Cap includes a general purpose, event-driven, digital logic simulator. It is completely integrated within and time-synchronized with the analog simulator.

The primitives and behavior of a digital simulator can be defined in many ways. Micro-Cap uses the PSpiceTM syntax since it is relatively efficient, widely known, and for many users, it means not having to relearn a new system. Micro-Cap and PSpiceTM libraries can be read by either simulator, so portability between the two is improved as well. PSpiceTM can't read Micro-Cap schematics, but it can read the Micro-Cap SPICE text circuit files. Micro-Cap can read most PSpiceTM text circuit files. Most, but not all, features are supported.

Micro-Cap schematics and SPICE text file circuits may freely mix analog and digital circuits. The system automatically handles the interface between the analog and digital sections. Whenever analog and digital parts share the same node, Micro-Cap automatically breaks the connection and inserts a user specified interface circuit between the two sections. The heart of the interface is an analog to digital interface translator (if the digital node was an input) or a digital to analog translator (if the digital node was an output). This automatic A/D interface is described in more detail later in the Analog/digital interface section.


Digital States

The state of a digital node is a combination of a digital level and a digital strength. Together the digital level and a digital strength uniquely determine the digital state. The state is represented with one of the following symbols:

State Description

0 Low

1 High

R Rising (in transition from 0 to 1)

F Falling (in transition from 1 to 0)

X Unknown (may be 0, 1, or unstable)

Z High impedance (level may be 0, 1, R, F, X, or unstable)

Logic Levels

These six symbols are used to describe what is happening on the digital nodes. The first five symbols, { 0, 1, R, F, X } describe logic levels at any strength greater than the high impedance strength. The 'Z' symbol describes any of the levels at the high impedance strength.

If a node state symbol is 'Z' then the strength of the output node is equal to the high impedance or 'Z' state. If the symbol is a '1', then the state is steady at a high level. If the symbol is a '0', then the state is steady at a low level. If the symbol is an 'R', then the state is rising to a '1'. If the symbol is an 'F', then the state is falling to a '0'. If the symbol is an 'X', then the state may be '0', '1', or unstable.

Logic levels correspond to a particular range of voltage, as defined in the I/O model statement. They do not correspond to a particular value of voltage. For instance, a '1' may be defined in the model statement as the voltage range 1.7 to 7.0 volts. If the digital node makes a transition between a '0' and a '1' then the implied analog voltage may be said to be "at least 1.7 volts", but it may be higher. Digital modeling involves an abstraction that trades information in exchange for simplicity and speed of simulation.

Logic Strengths

When two or more digital outputs are connected together at a common node, the simulator determines the state of the common node as follows:

If the levels from all outputs are the same, then:

The new level is the common level and a strength is equal to the strength of the strongest node.

If the levels from all outputs are not the same, then:

If the strength of the strongest output exceeds the strength of the next strongest output by at least DIGOVRDRV, then the level and strength of the strongest output are assigned to the common node.

Otherwise, the common node level is set to 'X' and the strength is set to the strength of the strongest output.

The weakest strength is called the high impedance or 'Z' strength. It is defined by the value of DIGDRVZ. Any output, tri-state or otherwise, will be set to the 'Z' state if its impedance is equal to or greater than DIGDRVZ.

The strongest strength is called the forcing impedance. It is defined by DIGDRVF.

The strengths of a device's outputs are defined by the device's output impedance. The impedance is either DRVH or DRVL depending upon whether the output is high or low. DRVH and DRVL are obtained from the I/O model statement for the device. DRVH and DRVL are constrained to be in the following range:

DIGDRVF < Impedance < DIGDRVZ

This range defines a logarithmic scale. The scale includes 64 strengths that run from an impedance of DIGDRVZ and a strength of 0, to an impedance of DIGDRVF and a strength of 63. Before the simulation run starts, the DRVH and DRVL impedances of each output are assigned a strength from 0 to 63, based upon where their impedance falls on the scale from DIGDRVF to DIGDRVZ. The strengths are calculated as follows:

LZ = ln(DIGDRVZ)

LF = ln(DIGDRVF)

DRVH_STRENGTH = 63*(ln(DRVH)-LZ)/(LF-LZ)

DRVL_STRENGTH = 63*(ln(DRVL)-LZ)/(LF-LZ)

During the simulation run, each output is assigned the DRVH or the DRVL strength based upon its current state.

DIGOVRDRV, DIGDRVF, and DIGDRVZ are specified in the Global Settings dialog box and can be changed for a particular circuit with the .OPTIONS command.

Tri-state outputs

A common situation where multiple strengths help in modeling is the tri-state bus. In this situation, many tri-state devices are connected to a common node. Each has an enable pin. If the enable pin is disabled, the output impedance is DIGDRVZ and the strength is 0. Typically, all outputs but one on the bus will be disabled and their strengths will be 0. One output will be enabled and its strength will be greater than 0 and hence the output state will be determined by the one enabled output. It is important to remember that the DRVH or DRVL of the enabled output must still exceed the DIGDRVZ by DIGOVRDRV to control the node state.

Open-Collector outputs

Another situation where multiple strengths help is in the modeling of open collector outputs. In this situation, many devices are connected to a common node. Each might typically have impedances of DRVL=100 and DRVH=20K. A single PULLUP device is connected to the common node. It provides a weak '1' of typically 1K. If any output is a '0', then its strength is sufficient to overcome the weak PULLUP '1' strength (1K) and the even weaker 'Z' strength (20K) of the other output devices. The output becomes a '0'. If all outputs are at a '1' at Z strength (20K), then the PULLUP provides a '1' at a higher than Z strength and the output goes to a '1'.


Diode Model Parameters

Name Parameter Units Default Area

LEVEL 1=Spice2G 2=PSpice 1

IS Saturation current Amps 1E-14 *

N Emission coefficient 1.0

ISR Recombination current parameter Amps 0 *

NR Emission coefficient for ISR 2

IKF High-injection "knee" current Amps INF *

BV Reverse breakdown "knee" voltage Volts INF

IBV Reverse breakdown "knee" current Amps 1E-10 *

NBV Reverse breakdown ideality factor 1

IBVL Low-level rev. breakdown "knee" current Amps 0

NBVL Low-level rev. breakdown ideality factor 1

RS Series resistance Ohms 0 /

TT Transit time sec 0.0

CJO Zero-bias junction capacitance Farad 0.0 *

VJ Junction potential Volts 1.0

M Junction grading coefficient 0.5

FC Forward bias depletion coefficient 0.5

EG Energy gap eV 1.11

XTI Temperature exponent for IS 3.0

TIKF IKF temperature coefficient (linear) 1/Celsius 0

TBV1 BV temperature coefficient (linear) 1/Celsius 0

TBV2 BV temperature coefficient (quadratic) 1/(Celsius^2) 0

TRS1 RS temperature coefficient (linear) 1/Celsius 0

TRS2 RS temperature coefficient (quadratic) 1/(Celsius^2) 0

KF Flicker noise coefficient 0.0

AF Flicker noise exponent 1.0

RL Junction Leakage Resistance Ohms INF

T_MEASURED Measured temperature Celsius undefined

T_ABS Absolute temperature Celsius undefined

T_REL_GLOBAL Relative to current temperature Celsius undefined

T_REL_LOCAL Relative to AKO model temperature Celsius undefined

The parameters ISR, NR, IKF, NBV, IBVL, NBVL, TIKF, TBV1, TBV2, TRS1, and TRS2 are used only if Level is set to 2. The RL parameter is used only if Level is set to 1.

T is the device operating temperature and Tnom is the temperature at which the model parameters are measured. Both are expressed in degrees Kelvin. T is set to the analysis temperature from the Analysis Limits dialog box. TNOM is determined by the Global Settings TNOM value, which can be overridden with a .OPTIONS statement. T and Tnom may both be customized for each model by specifying the parameters T_MEASURED, T_ABS, T_REL_GLOBAL, and T_REL_LOCAL. Information on T_MEASURED, T_ABS, T_REL_GLOBAL, AND T_REL_LOCAL can be found in the .model temperature parameter topic.


Diode (Juncap and Juncap 2)

The Juncap diode models were created by Philips. The available model levels are:

Level 4: Juncap

Level 200: Juncap 2

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

D1

DL

VALUE attribute:

AB=<diffusion_area>

LS=<nongate_sw_length>

LG=<gate_sw_length>

MULT=<no_parallel>

This attribute defines any of the optional diode parameters:

Examples:

LS=.46u LG=.12u AB=1.5p MULT=5

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

1N4148

1N3600

Common attributes:

Model statement

Syntax

.MODEL <model name> D (LEVEL=4 [model parameters])

.MODEL <model name> D (LEVEL=200 [model parameters])

Example

.MODEL DJunc D (Level=4 AB=10p NG=1.1 VB=850m)

.MODEL Dbulk D (Level=200 IMax=1.2k LG=2u LS=2.1u PBOT=550m)

The level 4 diode model is the older Juncap model. The level 200 diode model is the newer Juncap 2 model. To see a list of model parameters for each of these, view the Reference manual.

Description

<diffusion_area> is the diffusion area.

<nongate_sw_length> is the length of the side-wall of the diffusion area AB which is under the gate.

<gate_sw_length> is the length of the side-wall of the diffusion area AB which is under the gate.

<no_parallel> is the number of devices in parallel.

These device instance parameters can be specified as device attributes or as model parameters. Device attributes, if specified, supersede model parameters.

The JUNCAP models are intended to describe the behavior of the diodes that are formed by the source, drain, or well-to-bulk junctions in MOS devices. The current equations are formulated and AC effects are modeled via charge equations using the quasi-static approximation. In order to include the effects of differences in the sidewall, bottom, and gate edge-junction profiles, each is handled separately in the model. Both diffusion and generation currents are treated in the model, each with its own temperature and voltage dependence.

The JUNCAP and JUNCAP2 models are provided for use with the Philips MOSFET models 11, 20, 31, and 40. A subcircuit is usually used to bundle one of the diode-less Philips MOSFET models (11, 20, 31, 40) with one or more of the JUNCAP models. The PSP MOSFET employs its own built-in JUNCAP2 model.

SPICE format:

Syntax:

D<name> <anode> <cathode> <model name>

+ AB=<diffusion_area>

+ LS=<nongate_sw_length>

+ LG=<gate_sw_length>

+ MULT=<no_parallel>

Example:

D1 7 8 MM1 LS=.2u LG=.3u AB=2.4p MULT=50

D2 7 8 MDX LS=11u LG=11u AB=121p MULT=2


Diode - Capacitance C vs Reverse voltage

Purpose: This screen estimates CJO, M, VJ, and FC.

Input: One or more pairs of Cj and Vr values.

Output: Model values for CJO, M, VJ, and FC.

Equations: C=CJO/((1+VR/VJ)^M)

Guidelines: Use data from the C vs Vr graphs. Vr is the value of the reverse voltage and is always positive. If unavailable, use typical table values.


Diode - Forward current vs Forward voltage

Purpose: This screen estimates IS, N, and RS.

Input: One or more pairs of If and Vf values.

Output: Model values for IS, N, and RS.

Equations: Vf=VT*ln(If/IS)+If*RS

Guidelines: Use data from the If vs Vf graphs. If unavailable, use typical table values. Use data from both the low and high current ranges. The low current data will determine the value of IS and NF, and the high current data points will determine RS.


Diode - Id vs Vrev

Purpose: This screen estimates RL.

Input: One or more pairs of Irev and Vrev values.

Output: Model value for RL.

Equations: Irev=Vrev/RL (breakdown portion is ignored)

Guidelines: Use data from the Irev vs Vrev graphs. If unavailable, use typical table values. RL models the main reverse leakage current component. BV is not optimized.


Diode - Trr vs Ir/If ratio

Purpose: This screen estimates TT, the transit time parameter.

Input: One or more pairs of Trr and Ir/If values. Ir/If is the ratio of the forward and reverse base currents used to measure Trr.

Output: Model value for TT.

Equations: Trr=tt*log10(1.0+1.0/ratio)

Guidelines: Use data from the Trr vs Ir/If ratio graphs. If unavailable, use typical table values. If the typical value is not available, use an average of the min and max values.


Diode Graphs

Forward current vs Forward voltage

Capacitance C vs Reverse voltage

Id vs Vrev

Trr vs Ir/If ratio


Drag copying

Copy and paste works well when you want to duplicate a part of a circuit, but there is another, often easier, option called drag copying. It works as follows:

Select a circuit object or region to be duplicated.

Press and hold the CTRL key down.

Drag on any item in the selected area.

This procedure copies the selected objects and drags the copy along with the mouse, leaving the original objects undisturbed. As with other copying operations like stepping, mirroring, and pasting, part names are always incremented, but grid text is incremented only if the Text Increment option (Preferences) is enabled.

Drag copying can be used on any schematic object, whether it is a component, wire, graphics object, flag, or piece of text.

Drag copying is especially convenient since it replaces the two step process of cut and paste with a simple one step operation with immediately visible results. If you don't like the result, press CTRL + Z to undo it and try again.

After the drag operation has begun, you can release the CTRL key and continue dragging.

Drag copying is often a convenient method for adding new components. If you want to add another 10K resistor, and a 10K already exists in the schematic, drag copying is fast and easy. For example, the standard process consumes four steps:

1. Enter Component mode.

2. Select Resistor.

3. Click in the schematic.

4. Enter the resistor RESISTANCE and (sometimes) MODEL attributes.

The drag method uses one step:

1. CTRL + drag a 10K resistor to the new location.

Drag copying is especially useful when an entire region, like the differential stage of an amplifier, can be copied. Even if some editing of the copied region's objects is required, the entire process is usually simpler, faster, and less error prone.


Dynamic AC

What Happens in Dynamic AC Analysis

Dynamic AC Display Options

Dynamic AC Limits dialog box

Dynamic AC menu

Dynamic AC Optimize dialog box

Dynamic AC Stepping dialog box

Operating Point Methods

Sliders


Dynamic DC

What Happens in Dynamic DC Analysis

Dynamic DC Display Options

Dynamic DC Limits dialog box

Dynamic DC menu

Dynamic DC Optimize dialog box

Dynamic DC Stepping dialog box

Operating Point Methods

Sliders


Editing the schematic in Probe

You can also edit the schematic while in Probe mode. To do this a new Probe mode [image] is available to distinguish mouse editing from mouse probing.

Select [image] , Component [image] , Text [image] , Wire [image] , and other modes are used for editing. Probe mode [image] is used to probe the schematic for waveforms or curves.

SPACEBAR rapidly toggles between the current Edit mode and Probe mode.


EKV MOSFET model

The EKV device format is similar to other MOSFETs but has a few more device parameters that are not found in the other models.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

M1

Mos4

VALUE attribute:

This attribute defines any of the optional MOSFET parameters:

[L=<length>] [W=<width>] [AD=<drainarea>] [AS=<sourcearea>]

[PD=<drainperiphery>] [PS=<sourceperiphery>]

[NRD=<drainsquares>] [NRS=<sourcesquares>]

[NRG=<gatesquares>] [NRB=<bulksquares>]

[NP|M=<no_parallel>] [NS|N=<no_series>]

[SCALE=<scale>] [GEO=<geometry_model>]

[TEMP=<temperature>]

[OFF][IC=<vds>[,vgs[,vbs]]]

Examples:

L=1.5e-6 W=.25 OFF IC=25,8,3

L=1u W=100m IC=15V

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2SK175

IRF024

Common attributes:

Description

<width> and <length> are the drawn device dimensions, before side diffusion, in meters. They can be specified as device attributes, model parameters, or by using the global default values, DEFW and DEFL. Device attributes supersede model parameters, which supersede the global DEFW and DEFL values from the Global Settings dialog box or a local .OPTIONS statement.

The initialization [IC=<vds>[,vgs[,vbs]]] assigns initial voltages to the drainsource, gate-source, and body-source terms in transient analysis if no operating point is done (or if the UIC flag is set). The [OFF] keyword forces the device off during the first iteration of the DC operating point.

<sourceperiphery> and <drainperiphery> are the diffusion peripheries (m). <sourcearea> and <drainarea> are the diffusion areas (sq. m). Source and drain junction capacitances may be specified directly by the model parameters CBS and CBD. If absent, they are calculated from area and periphery terms.

The diffusion resistances may be specified directly with the model parameters RS, RD, RG, and RB. If unspecified, they are calculated from the product of the sheet resistivity, RSH, and the number of squares terms, <drainsquares>, <sourcesquares>, <gatesquares>, and <bulksquares>. If these terms are absent, or zero, and the model parameters RS, RD, RG, and RB are absent or zero, then the parasitic resistances are not included in the model. The procedure used to calculate the resistive values is dependent upon the ACM model parameter.

<drainsquares> and <sourcesquares> default to 1.0. The other parameter line values default to zero.

<no_parallel> is the number of devices in parallel. <no_series> is the number of devices in series.

<no_parallel> multiplies the drain and source areas, the device width, the drain and source peripheries, and divides the lead resistances RS, RD, RG, and RB.

<no_series> divides the device length.

<scale> is a scaling parameter that multiplies or divides device parameters to account for device geometric scaling.

<geometry_model> is the geometry model selector. It is used only when the ACM (Area Calculation Method) model parameter is set to 3.

<temperature> is an optional device operating temperature. If specified, it takes precedence over the operating temperature computed from the model parameters, T_MEASURED, T_ABS, T_REL_GLOBAL, and T_REL_LOCAL. For more details on how device operating temperatures and Tnom temperatures are calculated from model parameters, see the .MODEL section.

Model statement

Syntax:

.MODEL <model name> NMOS([EKV model parameters])

Examples:

.MODEL M1 NMOS( Level=44 W=0.2 L=0.8U KP=1E-6 GAMMA=.65)

.model M2 nmos(Level = 44 W=0.1 L=0.9u KP=1.2e-6 gamma=1e-3)

The available model parameters can be viewed in the Reference manual.

EKV diode parameter calculation methods

The EKV model employs an ACM (Area Calculation Method) parameter to select different methods of calculating the drain and source diode parameter. The method is similar to that employed by HSPICE.

ACM=0 specifies the original SPICE method.

ACM=1 specifies the original ASPEC method.

ACM=2 specifies an improved HSPICE method, which is based on a model similar to the ASPEC method.

ACM=3 specifies a further HSPICE refinement that deals with capacitances of shared sources and drains and gate edge source/drain-to-bulk periphery capacitance and facilitates the modeling of stacked devices.

If the ACM model parameter is not set, the method defaults to the ACM=0 SPICE model.

ACM=0 and ACM=1 models do not use HDIF. ACM=0 does not use LDIF.

The geometric element parameters AD, AS, PD, and PS are not used for the ACM=1 model.

Noise equations

Parasitic lead resistor thermal noise

Irg^2 = 4*k*T / RG

Ird^2 = 4*k*T / RD

Irs^2 = 4*k*T / RS

Irb^2 = 4*k*T / RB

Channel and shot flicker noise

Ichannel^2 = Ishot^2 + Iflicker^2

Intrinsic flicker noise:

If NLEV = 0 Iflicker^2 = KF*Idrain^AF / ( COX * Leff^2 * f )

If NLEV = 1 Iflicker^2 = KF*Idrain^AF / ( COX * Weff * Leff * f )

If NLEV = 2 or 3 Iflicker^2 = KF*gm^2 / ( COX * Weff * Leff * f^AF )

Intrinsic shot noise:

If NLEV < 3 Ishot^2 = (8/3)*k*T*gm

If NLEV = 3 Ishot^2 = GDSNOI*(8/3)*k*T*gm*beta*(Vgs-Vth)*(1+a+a^2)/(1+a)

a = 1 - Vds/Vdsat if Vds <= Vdsat (linear region) and a = 0 elsewhere.

Short-distance matching for EKV

The EKV model provides the short-distance matching parameters AVTO for threshold voltage, AGAMMA for gamma, and AKP for KP. The parameters are calculated as follows:

VTH = VTH + AVTO / SQRT(Weff*Leff)

GAMMA = GAMMA + AGAMMA / SQRT(Weff*Leff)

KP = KP + AKP / SQRT(Weff*Leff)

SPICE format:

Syntax:

M<name> <drain> <gate> <source> <bulk> <model name>

+ [L=<length>] [W=<width>] [AD=<drainarea>] [AS=<sourcearea>]

+ [PD=<drainperiphery>] [PS=<sourceperiphery>]

+ [NRD=<drainsquares>] [NRS=<sourcesquares>]

+ [NRG=<gatesquares>] [NRB=<bulksquares>]

+ [NP|M=<no_parallel>] [NS|N=<no_series>]

+ [SCALE=<scale>] [GEO=<geometry_model>]

+ [TEMP=<temperature>]

+ [OFF][IC=<vds>[,vgs[,vbs]]]

Examples of device instance

M1 5 7 9 0 IRF350 L=1.5E-6 W=0.25 NP=10 OFF IC=25.0,8.0

MS 1 2 3 4 NSC SCALE=.8 GEO=2 NRD=1 NRS=2 AS=1E-11 AD=1E-11

The drain, gate, source, and bulk node numbers are represented by <drain>, <gate>, <source> , and <bulk>. SPICE MOSFET names must begin with the letter M.


Enabling and disabling schematic objects

Schematic objects, including parts, text, and wires, can be enabled or disabled. Enabled objects are included in analyses, SPICE netlist translations, and Bill of Materials reports. Disabled objects are not included. Enabled objects are colored normally, while disabled objects are shown in gray. The disabled color is set from Properties (F10) / Color/Font/Disabled. To enable or disable an individual object, double click on it, and click the Enabled check box to the state you want.

Here is how you enable or disable schematic objects:

First step: Click on the Select mode button [image] in the Tool bar.

Second step: Select the object or group of objects.

Third step: Click on the Enable [image] or the Disable [image] tool bar button, or if you prefer, select the Enable or Disable item from the Edit menu. If the item is a single object, you can also double click on it and in the dialog box that comes up click the Enabled check box. A check means the object is enabled. No check means it is disabled.

The Enable function is useful when you want to temporarily remove text, wires, or circuitry to see the effect while retaining the disabled circuitry for future use.

You can also make the enable state of a region dependent upon expressions involving symbolic variables (those created with a .DEFINE or a .PARAM statement). This lets you switch blocks of circuitry back and forth by changing a single parameter. Use the Region Enable mode, at Options / Mode / Region Enable, or click on the Region Enable tool bar button [image] to define a region and then its enabling Boolean expression. To change the expression double click on the expression text within the Region Enable box. When the Boolean expression evaluates to true, all objects originating within the region will be enabled. When the Boolean expression evaluates to false, all objects originating within the region are disabled.


Numbers and Constants

Numbers are expressed in one of several formats:

Real numbers:

1.0, 6, 12.7

Floating point numbers: These use standard scientific notation.

1E-12, 1E+3, -7.832e-8

Engineering notation:

2.7K, 2.32PF, 10.0mA, 1Meg

International engineering notation:

0R1, 2K3, 3m3, 34u56H, 42n56

The engineering notations use standard engineering abbreviations. It is not case sensitive. The letters for units are optional (f,a,Hz). No blank space is allowed between the number and letter(s). Engineering notation uses these abbreviations (note that 1e6 is Meg, since M defines milli):

F Femto 1E-15

P Pico 1E-12

N Nano 1E-9

U Micro 1E-6

M Milli 1E-3

K Kilo 1E+3

MEG Mega 1E+6

G Giga 1E+9

T Tera 1E+12

To conserve space, the X and Y scales on Micro-Cap analysis plots use the small letter 'm' to refer to milli and the large letter 'M' to refer to Mega.

Constants and analysis variables:

Symbol Value

T Time in seconds

F Frequency in Hz

E EXP(1) = 2.718281828

PI 3.141592653589795

S Complex frequency = 2*PI*J*F

J Imaginary unit value used in complex numbers. For example 1+J, or 10+23*J

TEMP Analysis temperature and default device temperature in degrees Celsius

VT 1.3806226e-23*(273.15+TEMP)/1.6021918e-19=2.586419e-2 at TEMP=27 degrees Celsius

CASE Monte Carlo case value

GMIN Minimum conductance specified in Global settings.

TSTART Starting transient analysis data collection

TMAX Ending transient analysis time

DT Transient analysis time step

DCINPUT1 Value of Variable 1 in DC analysis

DCMIN Starting value of sweep variable 1 in DC analysis

DCMAX Ending value of sweep variable 1 in DC analysis

FMIN Starting AC analysis frequency

FMAX Ending AC analysis frequency

INOISE Input noise in AC analysis

ONOISE Output noise in AC analysis

Analysis = _Transient in transient analysis

= _AC in AC analysis

= _DC in DC analysis

= _DYNAMICDC in Dynamic DC analysis

= _DYNAMICAC in Dynamic AC analysis

= _HM_DISTORTION in Harmonic Distortion analysis

= _IM_DISTORTION in Intermodulation Distortion analysis

= _TF in Transfer Function analysis

= _DCOP in DC OP Worst Case analysis

For example, the expression ANALYSIS=_AC would be true (1.0) in AC analysis and false (0.0) everywhere else

PGT Total power generated in the circuit

PST Total power stored in the circuit

PDT Total power dissipated in the circuit

EGT Total energy generated by sources in the circuit

EST Total energy stored in the circuit

EDT Total energy dissipated in the circuit

Global Vars Any numeric value from the Global Settings dialog box, such as GMIN, ABSTOL, RELTOL.


Laplace source examples

Ex1. A Laplace source can be defined as a low pass filter with the following expression.

1.0/(1.0+.001*S)

Ex2. A Laplace source can be defined as a second order filter with the following expression.

1.0/(1.0+.001*S+1e-6*S*S)

Ex3. A Laplace source can be define as a lossy transmission line with the following expression.

exp(-(s*C*(R+s*L))**0.5)

R, L, and C represent the per unit length values and must also be defined on the schematic.


Function sources

Ex1. An NFV function can be defined as an exponentially damped 10Hz sine with the following expression.

exp(-T/.5)*sin(2*PI*10*T)

Ex2. An NFI function source can be defined with the current equation for a vacuum triode with the following expression.

-k*(v(p)-v(c)+mu*(v(g)-v(c)))**1.5

where v(p), v(c), v(g) refer to the voltages at the plate, cathode, and gate. The constants k and mu also must be defined somewhere on the schematic.


Power and Energy

Power and energy variables are available for individual parts and for the circuit as a whole.

Power is tabulated into three groups, power generated by sources, power stored in parts that have a capacitor or an inductor, and power dissipated in any resistive element. This formulation ensures that for the circuit as a whole:

Power Generated = Power Stored + Power Dissipated

Energy Generated = Energy Stored + Energy Dissipated

Power terms are available in AC, DC, and transient analysis. The power terms always plot the instantaneous power for the device or circuit. To plot the RMS power, an expression that plots the RMS of the voltage multiplied by the RMS of the current would need to be used. Using the RMS operator with one of these power terms will just show the RMS value of the instantaneous power which is not the standard RMS power calculation.

Energy terms are only available only in transient analysis. They are computed by integrating the power terms over the simulation time interval.

For the entire circuit

PGT Total power generated by sources in the circuit

PST Total power stored in inductance and capacitance

PDT Total power dissipated in the circuit

EGT Total energy generated by sources in the circuit

EST Total energy stored in inductance and capacitance

EDT Total energy dissipated in the circuit

For individual parts

PG(Vn) Power generated by source Vn

PS(Qn) Power stored in device Qn

PD(Dn) Power dissipated in device Dn

EG(Vn) Energy generated by source Vn

ES(Qn) Energy stored in device Qn

ED(Dn) Energy dissipated in device Dn


Sample expressions

Digital expressions

Laplace sources

Function sources

Capacitance expressions

Resistance expressions

Inductance expressions

Power and Energy expressions

Miscellaneous expressions

Random and Tolerance expressions


Variables

1. A node number assigned by Micro-Cap.

2. A text node name (a piece of Grid text placed on the node).

Text node names consist of a number, letter, special character (+,-,*,/,$,%), or an underscore followed by at most 50 alphanumeric characters.

Node names may consist of numbers only, but this is not recommended due to the likely confusion between node numbers assigned by the program and integer node names assigned by the user. In case of conflict, Micro-Cap gives priority to the node number. So if you place the text "1" on node number 2 and try to plot V(1) you'll get the voltage on node number 1, not the voltage on the node labeled "1".

Reserved variable names and some mathematical operator names may not be used. Spaces are not allowed in text node names. For example, T, S, F, TEMP, VT, GMIN, J, E, and PI are all invalid because they use reserved variable names. Function names that use parentheses such as SIN, COS, and TAN are legal, whereas function names that do not use parentheses such as MOD, DIV, and RND are illegal.

A1, Out, _721, and Reset are valid node names.

B&&4 is invalid because it uses the non-alphanumeric character &. T1 is valid but T is not because T is a reserved variable name.

Global nodes are nodes whose names are globally available to all parts of the circuit, including the top level circuit and all macros and subckts used by it. Global nodes are always prefaced by $G_. For example if a circuit uses a subckt that has a node named $G_ABC, then you can plot its voltage with V($G_ABC). As another example, if a digital part that uses the $G_DPWR is present in the circuit, plotting V($G_DPWR) plots the default TTL power supply node voltage waveform (a flat line at 5.0 volts).

Global variables are created with the .PARAM command and are available at any macro or subcircuit level. Local variables are created with the .DEFINE command and are available only at the circuit level where they are created.

A general list of variables follows. Click on the highlighted variable to see examples. The D() and V() operators are interchangeable when referencing an individual node. If these operators reference a digital node, then the digital state will be displayed. If they reference an analog node, then the analog voltage will be displayed.

D(A) | Digital state at digital node A or voltage at analog node A
V(A) | Voltage at analog node A or digital state at digital node A
V(A,B) | Voltage between node A minus voltage at node B
V(D1) | Voltage across the device D1
I(D1) | Current through the device D1
I(A,B) | Current through the device using nodes A and B
IR(Q1) | Current into the R lead of the device Q1
VRS(Q1) | Voltage across the leads R and S of the device Q1
CRS(Q1) | Capacitance (in Farads) between leads R and S of the device Q1
QRS(Q1) | Charge (in Coulombs) in the capacitor between leads R and S of the device Q1
R(R1) | Resistance of the resistor R1
C(X1) | Capacitance (in Farads) of the capacitor or diode X1
Q(X1) | Charge (in Coulombs) stored in the capacitor or diode X1
L(L1) | Inductance (in Henrys) of the inductor or core L1
X(L1) | Flux (in Webers) in the inductor or core L1
B(L1) | B field (in Gauss) of the core material of inductor L1
BSI(L1) | B field (in teslas) of the core material of inductor L1
H(L1) | H field (in Oersteds) of the core material of inductor L1
HSI(L1) | H field (in amps/meter) of the core material of inductor L1
T | Time
F | Frequency
S | Complex frequency = 2*PI*F*j
RND | Random number generator (0 <= RND <=1)
ONOISE | Noise voltage at the output node
INOISE | Noise voltage referred to the input node (ONOISE/gain)
EG(V1) | Energy generated by source V1
ES(Q1) | Energy stored in device Q1
ED(D1) | Energy dissipated in device D1
PG(V1) | Power generated by source V1
PS(Q1) | Power capacitively or inductively stored in device Q1
PD(D1) | Power dissipated in device D1

In the list above, the general device D1 represents any two-terminal device or controlled source. The general device Q1 represents all active devices and transmission lines. The lead name abbreviations, R and S, are chosen from the following list:

DEVICE ABBREV LEAD NAME

Mosfets D,G,S,B Drain, Gate, Source, Bulk

Jfets D,G,S Drain, Gate, Source

GaAsfets D,G,S Drain, Gate, Source

BJT B,E,C,S Base, Emitter, Collector, Substrate

Tran. Line AP,AM,BP,BM Plus in, Minus in, Plus out, Minus out

The power terms, PG(), PD(), and PS() refer to time-domain values except in AC and Dynamic AC analysis, where they refer to the corresponding AC values.


EXP type

Name Description Units Default

v1 or i1 Initial value V or A none

v2 or i2 Peak value V or A none

td1 Rise delay sec. 0

tc1 Rise time constant sec. TSTEP*

td2 Fall delay sec. td1+TSTEP*

tc2 Fall time constant sec. TSTEP*

* TSTEP is the print interval obtained from the Analysis Limits dialog box.

* TSTOP is the run time.

The waveform value generated by the EXP option is as follows (represented as a voltage source):

From To Value

0 td1 v1

td1 td2 v1+(v2-v1)*(1-exp(-TIME+td1)/tc1)

td2 TSTOP* v1+(v2-v1)*(1-exp(-TIME+td1)/tc1)-(1-exp(-T+td2)/tc2)


Expression rules

Here are some important rules to keep in mind when using expressions.

1. The relational and Boolean operators return 1 if true and 0 if false.

2. The SPICE3 Boolean operators (&, |, ~, ^) return VONE if TRUE and VZERO if FALSE. VONE and VZERO are specified in the Global Settings dialog box.

3. ONOISE and INOISE can only be used in AC analysis and never mixed with other variables like V(somenode).

4. In AC analysis, all intermediate calculations are performed on complex values. After the expression is completely evaluated, the magnitude of the complex result is printed or plotted. For example, V(1)*V(2) prints or plots the magnitude after the complex multiplication. To print the imaginary part, use IM(V(1)*V(2)). To print the real part use RE(V(1)*V(2)).

5. The value of the time variable, T, is set to zero in AC and DC analysis. The value of the frequency variable, F, is set to zero in transient and DC analysis. In transient analysis, if the Harm() or FFTS() functions use F as a part of the bandwidth expression, it is interpreted to mean the FFT frequency. This allows a bandwidth expression that is a function of the FFT frequency.

6. Laplace expressions use the real frequency variable, F, and the complex frequency variable, S. Symbolic variables that do not vary during the run may also be used. If the S or F variable is missing, an error will result. Don't use Laplace sources for constant gain blocks. Use independent sources, SPICE poly sources, or function sources.

7. Before running an analysis or generating a netlist, Micro-Cap expands all '.define' statements. Using .define statements within model statements can cause problems. For example:

.define BF 111

.model Q1 NPN (BF=50...)

After expansion, the model statement becomes

.model Q1 NPN (111=50...)

This, of course, will create a syntax error. Thus, do not use model parameter names in '.define' statements.

You can use define statements in model statements, if the define variable is used only for the parameter value, and not for the parameter name. For example, this will work:

.define VALUE 111

.model Q1 NPN (BF=VALUE...)

After expansion, the model statement becomes

.model Q1 NPN (BF=111...)

This is syntactically correct and meaningful.

8. If Add Parentheses to Define is disabled in the Options - Circuit panel of the Preferences dialog box, define statements expand literally. For example:

.define a 4+c

.define b a*x

You might want and expect that b would expand to (4+c)*x but it actually expands to 4+c*x. That is because the expansion of define statements is literally a text replacement. It replaces the text 'a' with the text '4+c'.

To avoid such problems, use parentheses around the defined quantity such as in the following define statements:

.define a (4+c)

.define b a*x

Now b expands to (4+c)*x. If the Add Parentheses to Define is enabled, Micro-Cap automatically places parentheses around each define statement expression.


Formula Text

Micro-Cap provides two kinds of schematic grid text that can be used to calculate formulas. Formula text may also be used in analysis plots. Both of these kinds are entered by using the Text mode in the schematic or the analysis.

First Format

The first format is as follows:

=formula

Grid text of this form behaves like a small spreadsheet. The presence of the "=" at the first character position tells Micro-Cap that the text is really a formula and that it should calculate the value of the formula every time there is any change to schematic text or when an analysis is run. For example, the following four pieces of text define three variables, L1, C1, and C2 and a piece of formula text:

.DEFINE C1 1N

.DEFINE C2 1N

.DEFINE L1 10U

=2*PI/SQRT(L1*C1*C2/(C1+C2))

Note that these are individual pieces of text, not a single block of text. The formula text must be placed in the schematic, not the text area. The .define statements may be placed in either the text area or in the schematic.

The formula is for the resonant frequency of a Colpitts oscillator. Any change to any text updates the value and Micro-Cap prints the following:

2*PI/SQRT(L1*C1*C2/(C1+C2))=88.858E6

Formula text is designed to provide a convenient way to automatically compute new design values from complicated formulas. For example, if you change the value of C1 to 10nF, Micro-Cap prints a new resonant frequency as follows:

2*PI/SQRT(L1*C1*C2/(C1+C2))=65.899E6

Formula text is entirely visual. The values can not be used in other expressions. To do that the formula must be defined with a symbolic variable name like this:

.DEFINE F0 2*PI/SQRT(L1*C1*C2/(C1+C2))

F0 could now be used in an expression or in, for example, a capacitor's CAPACITANCE attribute.

Second Format

The second form is as follows:

text....[formula]...text

For example, if the following four pieces of grid text are entered,

.DEFINE L1 1U

.DEFINE L2 4U

.DEFINE N SQRT(L1/L2)

The voltage gain of a transformer with a primary inductance of [L1] and a secondary inductance of [L2] is [SQRT(L1/L2)]. The voltage gain is [1/N].

The last piece of text will actually appear as follows:

The voltage gain of a transformer with a primary inductance of 1u and a secondary inductance of 4u is 0.5. The voltage gain is 2.0.

In this example the delimiter characters are [ and ].

Note that this type of formula text is calculated only if the Text dialog box's Formula box is checked.

For both formats of formula text, circuit variables such as V(Out) or I(R1) can also be used in the equations. The results would not be calculated until an analysis is run.


GaAsFET model parameters

Name Parameter Units Default Area Level

LEVEL Model level(1,2,3,4)

VTO Pinch-off voltage Volts -2.5 All

ALPHA Saturation voltage parameter 1/V 2.0 All

BETA Transconductance coefficient A/(sq V) 0.1 * All

B Doping tail extending parameter 1/V 0.3 2

LAMBDA Channel length modulation 1/V 0.0 All

GAMMA Static feedback parameter 0.0 3

DELTA Output feedback parameter 1/(A*V) 0.0 3

Q Power-law parameter 2.0 3

RG Gate ohmic resistance 0.0 / All

RD Drain ohmic resistance 0.0 / All

RS Source ohmic resistance 0.0 / All

IS Gate pn saturation current A 1E-14 All

N Gate pn emission coefficient 1.0 All

M Gate pn grading coefficient 0.5 All

VBI Gate pn built-in potential Volts 1.0 All

CGD Zero-bias GD capacitance Farad 0.0 * All

CGS Zero-bias GS capacitance Farad 0.0 * All

CDS Fixed DS capacitance Farad 0.0 * All

FC Depletion capacitance coefficient 0.5 All

VDELTA Capacitance transition voltage Volts 0.2 2,3

VMAX Capacitance limiting voltage Volts 0.5 2,3

EG Bandgap voltage (barrier height) eV 1.11 All

XTI IS temperature exponent 0.0 All

VTOTC VTO temperature coefficient V/Celsius 0.0 All

BETATCE BETA exponential temp. coeff. %/Celsius 0.0 All

TRG1 RG temp. coefficient (linear) 1/Celsius 0.0 All

TRD1 RD temp. coefficient (linear) 1/Celsius 0.0 All

TRS1 RS temp. coefficient (linear) 1/Celsius 0.0 All

KF Flicker noise coefficient 0.0 All

AF Flicker noise exponent 1.0 All

T_MEASURED Measured temperature Celsius undefined All

T_ABS Absolute temperature Celsius undefined All

T_REL_GLOBAL Relative to current temperature Celsius undefined All

T_REL_LOCAL Relative to AKO model temperature Celsius undefined All

The model parameters BETA, CGS, CGD, and CDS are multiplied by [area] and the model parameters RG, RD, and RS are divided by [area] prior to their use in the equations below.

T is the device operating temperature and Tnom is the temperature at which the model parameters are measured. Both are expressed in degrees Kelvin. T is set to the analysis temperature from the Analysis Limits dialog box. TNOM is determined by the Global Settings TNOM value, which can be overridden with a .OPTIONS statement. T and Tnom may both be customized for each model by specifying the parameters T_MEASURED, T_ABS, T_REL_GLOBAL, and T_REL_LOCAL. Information on T_MEASURED, T_ABS, T_REL_GLOBAL, AND T_REL_LOCAL can be found in the .model temperature parameter topic.


GAUSSIAN type

Name Description Units Default

Amplitude Amplitude V or A None

Time to Peak Time to reach amplitude Secs None

Width at 50% Width at 50% of the amplitude Secs None

Period Repetition period Secs 0

The waveform, within each period is a Gaussian pulse calculated as follows, where T is the elapsed time from the start of the simulation.

dcvalue + Amplitude*exp(-pow(((T Mod Period)-Time to Peak)/(Width at 50%/1.6652),2))


General digital primitives format

General digital primitive format

The digital device format is similar to the general SPICE component format. Both analog and digital primitives require node numbers, optional parameters, and model statements. Analog devices use at most a single model statement. Digital devices require a timing model statement and an I/O model statement.

Timing model statements define propagation delays and timing constraints. I/O model statements define the impedances, equivalent circuits, and switching times of the analog/digital interface model. The I/O model is mainly used when a digital node is connected to an analog node, but it also defines the impedances used to resolve states when device outputs of differing strengths are wired together.

Timing model statements embody data unique to each device, so most devices have unique timing model statements. The same is not true of I/O models since the interface is generally standardized for all devices within a particular digital family. For example, all 74LS devices use the same interface specification.

General format

U<name> <primitive type> [(<parameter value>*)]

+<digital power node> <digital ground node>

+<node>*

+<timing model name> <I/O model name>

+[MNTYMXDLY=<delay select value>]

+[IO_LEVEL=<interface subcircuit select value>]

Examples

U1 JKFF(1) $G_DPWR $G_DGND PRB CLB CKB J K Q QB D0_74 IO_STD

U1 NOR(3) $G_DPWR $G_DGND 10 20 30 40 D0_74 IO_STD

Definition

U<name>

This is the part name.

<primitive type>

The <primitive type> specifies which of the primitive digital types, such as NAND, NOR, JKFF, or PLA, the part is.

[(<parameter value>*)]

Depending upon the <primitive type>, these are zero or more parameters representing the number of input and/or output nodes.

<digital power node> <digital ground node>

These nodes provide power to the A/D interface circuits employed when an analog node is connected to a digital node. Usually the global pins $G_DPWR and $G_DGND are used. The Analog/Digital Interface section has more information on this.

<node>*

Depending upon the primitive type, these are the node names of the actual input and/or output node numbers.

<timing model name>

This name refers to a timing model statement, which specifies propagation and constraint timing values. Each model has minimum, typical, and maximum values for each timing parameter. The MNTYMXDLY device parameter selects one of the values or it lets the DIGMNTYMX select one globally.

<I/O model name>

This name refers to an I/O model statement which specifies impedance and interface circuit information for modeling the analog/digital interface.

[MNTYMXDLY=<delay select value>]

This value selects the minimum, typical, or maximum value for each timing parameter as follows:

0=Current value of DIGMNTYMX

1=Minimum

2=Typical

3=Maximum

4=Worst case. Use both minimum and maximum delays.

[IO_LEVEL=<interface subcircuit select value>]

This selects one of four interface circuits named in the I/O model. These interface circuits are used at the digital/analog interface.

Timing model form

.MODEL <model name> <model type> (<model parameters>*)

Each primitive type has a unique <model type> and <model parameters>.

I/O model form

.MODEL <model name> UIO (<model parameters>*)

There is one I/O model structure that is used by all primitives.


Go To Performance dialog box

This dialog box may be invoked by selecting Go to Performance in the Scope menu or by clicking on the icon, [image]. This dialog box applies a function to a waveform, places a cursor(s) at the measured point(s), and places the result of the function in the dialog box. These functions may be used on any type of analysis. The Go To Performance dialog box consists of the following:

Go To Function page

Cases page

Go To: This moves cursors to the measured data point. This will only be available on some functions.

Left: This button places the left numeric cursor at the position dictated by the performance function. For example, the Peak function can position either the left or right cursor.

Right: This button places the right numeric cursor at the position dictated by the performance function. For example, the Peak function can position either the left or right cursor.

Close: This closes the dialog box.

Help: This accesses the help topic for this dialog box.


Go To X dialog box

This dialog box lets you specify a number in a text field that the left or right cursor will jump to when in Cursor mode. The cursor will jump to the next instance of that value going to the right, for the X expression, wrapping around when it cannot find any more instances to the right. The dialog box consists of:

Value page

Cases page

Left: This command button moves the left cursor to the next instance of the value specified in the Value text field.

Right: This command button moves the right cursor to the next instance of the value specified in the Value text field.

Close: This command closes the dialog box.

Help: This command invokes the Go To X topic in the Help file.


Go To Y dialog box

This dialog box lets you specify a number in a text field that the left or right cursor will jump to when in Cursor mode. The cursor will jump to the next instance of that value going to the right, for the Y expression, wrapping around when it cannot find any more instances to the right.

Value page

Cases page

Left: This command button moves the left cursor to the next instance of the value specified in the Value text field.

Right: This command button moves the right cursor to the next instance of the value specified in the Value text field.

Close: This command closes the dialog box.

Help: This command invokes the Go To Y topic in the Help file.


Help command

In addition to the general Help command, there is a component specific Help mode. Here is how it works:

First step: Click on the Help mode button [image] in the Tool bar.

Second step: Click on the component for which you want help.

The Help function provides parameter and syntax information for every component. This is the same information available from the Help system. It is just a little easier to access in the context of working with the Circuit Editor.


High pass specifications

MODE 1

Passband Gain

This is the high frequency gain in dB.

Passband Ripple (R)

This is the variation in gain (in dB) across the passband.

Stopband Attenuation (A)

This is the maximum gain in dB in the passband minus the maximum gain in dB at the stopband. Attenuation is a positive number.

Passband Frequency (Fc)

This is the frequency above which the gain is equal to the passband gain.

For Chebyshev and Elliptic filters the passband gain varies as follows:

Order Gain at DC Gain at passband edge

Even Passband Gain Passband Gain + Ripple

Odd Passband Gain Passband Gain - Ripple

Butterworth and inverse-Chebyshev passband gain varies as follows:

Type Gain at DC Gain at passband edge

Butterworth Passband Gain Passband Gain - Ripple

Inverse-Chebyshev Passband Gain < Passband Gain - Ripple

Inverse-Chebyshev filters meet the passband spec with margin and meet the stopband spec exactly, with no margin. Ideal realizations of the other filters do just the opposite. They meet the stopband spec with margin and meet the passband specs exactly, with no margin.

Stopband Frequency (Fs)

The frequency at which the gain has dropped by the stopband attenuation from the passband gain.

MODE 2:

Gain

This is the high frequency gain in dB.

Passband

This is the frequency above which the gain is equal to Gain.

Ripple

This is the variation in gain (in dB) across the passband.

Order

This is the filter order.


How Monte Carlo works

Monte Carlo works by analyzing many circuits. Each circuit is constructed of components randomly selected from populations matching the user-specified tolerances and distribution type.

Tolerances are applied to a component's numeric model parameters. Model parameters and symbolic parameters can be toleranced. The exception to this is for batteries and the parameters of the Voltage Source and Current Source components. These components can use the LOT tolerance. Tolerances are specified as an actual value or as a percentage of the nominal parameter value.

Both absolute (LOT) and relative (DEV) tolerances can be specified. A LOT tolerance is applied absolutely to each device. A DEV tolerance is then applied to the first through last device relative to the LOT toleranced value originally chosen for the first device. In other words, the first device in the list receives a LOT tolerance, if one was specified. All devices, including the first, then receive the first device's value plus or minus the DEV tolerance. DEV tolerances provide a means for having some devices track in their critical parameter values.

Both tolerances are specified by including the key words LOT or DEV after the model parameter:

[LOT[t&d]=<value>[%]] [DEV[t&d]=<value>[%]]

For example, this model statement specifies a 10% absolute tolerance to the forward beta of the transistor N1:

.MODEL N1 NPN (BF=300 LOT=10%)

In this example, for a worst case distribution, each transistor using the N1 model statement has a forward beta of either 270 or 330. If a Gaussian distribution were used, a random value would be selected from a Gaussian distribution having a standard deviation of 30. If a uniform distribution were used, a random value would be selected from a uniform distribution having a half-width of 30.

This example specifies a 1% relative tolerance to the BF of the N1 model:

.MODEL N1 NPN (BF=300 DEV=1%)

The DEV value specifies the relative percentage variation of a parameter. A relative tolerance of 0% implies perfect tracking. A 1.0% DEV tolerance implies that the BF of each N1 device is the same to within +- 1.0% for a worst case distribution. DEV tolerances require the use of private libraries, regardless of the state of the PRIVATEANALOG or PRIVATEDIGITAL flags. These flags are set in Options / Global Settings.

This sample specifies a 10% absolute and 1% relative BF tolerance:

.MODEL N1 NPN (BF=300 LOT=10% DEV=1%)

In this example, assuming a worst case distribution, the first N1 model is randomly assigned one of the two values 270 or 330. These two values are calculated from the mean value of 300 and 10% LOT tolerance as follows:

BF = 270 = 300 - .1*(300)

BF = 330 = 300 +.1*(300)

Suppose that the LOT toleranced BF value was randomly chosen to be 330. Then all N1 transistors, including the first, are randomly given one of these values, based upon the 1% DEV tolerance:

327 = 330 - .01*300

333 = 330 + .01*300

If the LOT toleranced BF value had been randomly chosen to be 270, then all N1 transistors, including the first, would be randomly given one of these values, based upon the 1% DEV tolerance:

267 = 270 - .01*300

273 = 270 + .01*300

Assuming a worst case distribution, all BF values in any particular run would be chosen from the set {267, 273, 327, 333}.

Resistors, capacitors, and inductors can be toleranced through their multiplier model parameter. This example provides a 10% LOT tolerance and a 1% DEV tolerance for a resistor.

.MODEL RMOD RES (R=1 LOT=10% DEV=1%)

Any resistor that uses the RMOD model will be toleranced, since the toleranced R value will multiply its resistor value.

As of MC11, batteries,current sources, resistors, capacitors, and inductors can now be toleranced through their value attribute. Like this for a resistor,

10K LOT=10%

Similarly you can tolerance a capacitor like this

10pF LOT=5%

Of course, any DEV tolerances are ignored since these only apply to model parameters.

[t&d] specifies the tracking and distribution, using the following format:

[/<lot#>][/<distribution name>]

These specifications must follow the keywords DEV and LOT without spaces and must be separated by "/".

<lot#> specifies which of one hundred random number generators, numbered 0 through 99, are used to calculate parameter values. This lets you correlate parameters of an individual model statement (e.g. RE and RC of a particular NPN transistor model) as well as parameters between models (e.g. BF of NPNA and BF of NPNB). The DEV random number generators are distinct from the LOT random number generators. Tolerances without <lot#> get unique random numbers.

<distribution name> specifies the distribution. It can be any of the following:

Keyword Distribution

UNIFORM Equal probability distribution

GAUSS Normal or Gaussian distribution

WCASE Worst case distribution

If a distribution is not specified in [t&d], the distribution specified in the Monte Carlo dialog box is used.


How stepping works

Stepping systematically alters the value of one or more parameters of one or more components and then runs the analysis, drawing multiple branches for each curve. Earlier versions of the program placed restrictions on changing some variables, such as the model level and parasitic resistances. Most parameter types can now be stepped, including attribute parameters like the resistance of a resistor, model parameters like a transistor beta, and symbolic parameters created with a .define or a .param command. If the parameter changes the equation matrix, Micro-Cap simply recreates the equations. For each parameter set, a run is made and the specified waveforms plotted. With parameter stepping, performance plots show performance function dependence on one parameter, while 3D plots can show dependence on two parameters.


.PSS Statement

.PSS Statement (SPICE files only)

General Form:

.PSS N=<period> I=<iterations> E=<error>

Examples:

.PSS N=1 I=5 E=.001

Description:

This statement enables the PSS (periodic steady state) option in the transient analysis limits.

N: This specifies the number of periods that the program will run the analysis before it begins the PSS computations.

I: This specifies the maximum number of iterations that the PSS is allowed to run to reduce the periodic error to a value below the specified <error>.

E: This is the maximum periodic error. PSS successfully ends if the actual periodic error falls below this amount.

Periodic error is the largest relative change between iterations of the state variables (node voltages, source currents, and inductor currents).


.RELTOL

.RELTOL Statement (Schematics only)

General Form:

.RELTOL <r1 t1> [r2 t2...rn-1 tn-1 rn tn]

Example:

.RELTOL 1e-4 100n 1e-3 200n 1e-2 1u

Description:

The .RELTOL statement lets you set the RELTOL parameter during different portions of the transient analysis run. In this example RETOL takes the value of 1e-4 from Time=0 to Time=100n. Between 100ns and 200ns it is set to 1e-3. Between 200ns and 1us it is set to 1e-2.

The purpose of this command is to provide some flexibility in simulating difficult circuits. It is mainly used when the circuit needs a more conservative (smaller) RELTOL during a critical part of the simulation but would have a very long run time if the smaller RELTOL were specified for the entire run.

Without this command, the RELTOL parameter specified in the Options menu / Global Settings dialog box controls the time step for the entire run.


Cursor Variables

The cursor variables can be used within analysis formula text to display the current X and Y values at the position of either the left or right cursor. The variables are as follows:

CursorRX - This variable displays the current X location of the right cursor.

CursorRY - This variable displays the current Y location of the right cursor.

CursorLX - This variable displays the current X location of the left cursor.

CursorLY - This variable displays the current Y location of the left cursor.

These variables will be updated when the cursor is moved.


Step Selection Operators

The step selection operators are used to combine the waveform results from different steps such as when stepping component parameters, temperature stepping, within a DC analysis, or in a Monte Carlo analysis. There are two operators that perform the step selection: @ and @@. These operators are used to specify a single step of a stepped waveform. For example, if you specify an expression such as:

V(Out)@3

The resulting plot will simply display the third branch of the stepping or Monte Carlo run. Typically, the step selection operators are used with waveform arithmetic such as:

V(OutA)@2 * V(OutB) @1

The resulting plot will display the result of multiplying the second branch of the V(OutA) waveform with the first branch of the V(OutB) waveform.

The only difference in these two operators is how they treat waveforms stored in the plot due to the Accumulate Plots option being enabled.

Relative Step Selection Operator: @

The @ operator performs a relative selection. This step selection operator will always use the specified branch on the current run. If you have an expression such as:

I(L1)@3

This will always show the I(L1) waveform for the third branch of the latest run no matter how many previous plots have been accumulated in the window through the Accumulate Plots option.

Absolute Step Selection Operator: @@

The @@ operator performs an absolute selection. This step selection operator will take into account any previous plots that have been accumulated in the window through the Accumulate Plots option. If you have an expression such as:

V(In)@@4

This will always display the fourth branch of the V(In) waveform. If you had Accumulate Plots enabled and were stepping a variable 5 times, the first run would produce 5 branches. The second run would add an additional 5 branches, and the third run would bring the total up to 15 branches. The above expression would always show the fourth branch from the original run.


Errror Window page

Error Window page

The Error Window page lets you control how the Error Window behaves.

Show: This controls whether the window is shown.

Clear on Run: This clears the contents of the window when you start a new run.

Clear on Edit: This clears the contents of the window when you edit the circuit.

Show Help for Error: This shows help lines for the error.


Build Command dialog box

The Build Command dialog box provides help in building complex .command statements like MEASURE, .DEFINE, HELP, and .WARNING.

It is especially helpful with .MEASURE commands because of their complex and powerful syntax.

The dialog box contains a variety of fields that change depending upon the .command being used. Here for example is what the dialog box contains

for the .MEASURE command.

Command: This list box lets you select the type of .command supported. It includes MEASURE, .DEFINE, HELP, and .WARNING.

Analysis: This list box lets you select the analysis type to be used.

Output Name: This field lets you enter the name of your function. The results of the .MEASURE function will be assigned to this variable.

Function: This field lets select the function to be used. This list includes AVG, DERIVATIVE, FIND, INTEGRAL, MIN, MAX, PARAM, PPS, RMS, TARG, TRIG, and WHEN.

Other Fields: These fields contain information to complete the command. For example, Expression, From, and To fields will be required to complete the INTEGRAL command.

Command: This field at the bottom shows the command being built as you enter the various fields.

Bold Keywordst: This shows keywords in bold text.


Ferrite Bead Graph

The Ferrite Bead model is a template model whose optimization template is stored in the FerriteBead.mdl file. The circuit it uses for optimization is FerriteBead.cir. This model entry optimizes a lumped element equivalent circuit for the ferrite bead and can create the corresponding subcircuit model.

Purpose: This screen estimates the lumped elements R1, C1, L1, R2, L2, and C2. A value for RDC is entered directly from the data sheet.

Input: One or more pairs of frequency versus impedance values.

Output: Values for R1, C1, L1, R2, L2, and C2.

Equations: Circuit optimization routines.

Guidelines: Use data from the frequency versus impedance graph. Typically, a good spread of around 6 to 10 data points across the frequency spectrum provides a good fit for the curve. Occasionally, the Model program will find a fit that has a spike or a dip in certain regions. If this occurs, add a data point in that region and reoptimize.

The RDC field should be defined with the value from the data sheet that describes the DC resistance of the bead. This value will be fixed during the optimization.


User Graphs

The User type lets any type of model, subcircuit, or macro be optimized through the Model program. In order to create and use a User type, the following steps would need to be done.

1) Create a schematic file with the model, subcircuit, or macro that is to be optimized within it. The circuit configuration should be able to create the curve that is to be optimized to.

2) In transient, AC, or DC analysis, setup the waveform that is to be optimized to.

3) Save the circuit file.

4) In the Model program, select the User type from the Add Part menu.

5) Set the Circuit field to the schematic file that was previously created.

6) Set the Analysis Type to the analysis that contains the waveform to be optimized to.

7) Select the waveform to be optimized to through the dialog box that is available or by double clicking on the headers above the data fields.

8) In the Parameters section, select one or more parameters to be optimized by clicking on the buttons to the right of each field. There is an option to specify a parameter as Fixed. A Fixed parameter will not be optimized, but the specified value will be used in both the optimization routines and when the corresponding model is created. A Fixed parameter is shown in the Parameters section of the Model page with square brackets, [ ], around it.

9) Add any optional Measurement Conditions by clicking on the buttons to the right of each condition field.

10) Double click on the plot header to change the plot title.

Once all of this information has been entered. Data can be entered into the data fields, and the model can be optimized.

If the model in the circuit file will be used multiple times to create models, the Save Part to Template Library command can be used to save the entered information as a template for future part optimization.


NTC Thermistor Graph

The NTC thermistor model is a template model whose optimization template is stored in the NTCsub.mdl file. The circuit it uses for optimization is SteinHart4.CIR. This model entry optimizes the Steinhart-Hart coefficients and can create the corresponding subcircuit model.

Purpose: This screen estimates the A, B, and C coefficients from the Steinhart-Hart thermistor modeling equations.

Input: One or more pairs of temperature versus resistance values.

Output: Values for A, B, and C.

Equations: Circuit optimization routines.

Guidelines: Use data from the temperature versus NTC resistance curve. Typically, a good spread of around 10 to 15 data points across the temperature range provides a good fit for the curve.


Periodic Steady State overview

What does PSS do? Why is it useful? The answers lie in the fundamental nature of the equations that are solved. All simulators, Micro-Cap included, formulate and numerically solve a set of differential equations whose solution involves both a transient portion and a steady-state portion. Given a set of initial conditions that are not periodic, the equations will generate a solution that includes both.

Consider a simple RC circuit with a Cosine voltage input. The differential equation that governs the behavior of this circuit, derived from Kirchoff's current law, is as follows:

C*dV/dT + (V - COS(W*T)) / R = 0

where W=2*PI*1000, the input source is COS(W*T), R is the resistance, C is the capacitance, T is time, and V is the voltage across the capacitor.

This equation can be solved by standard techniques and is given by,

V = VSS + VTR

VSS = COS(W*T - ATAN(W*C*R) ) / SQRT(1+(W*R*C)^2)

VTR = -EXP(-T/(R*C) / (1+(W*R*C)^2))

where VSS is the steady state part and VTR is the transient part.

In many cases we are interested only in the steady state response and care little about the initial transients. In fact the transients often create a problem in that their presence obscures the results sought. For example, in distortion analysis, the initial transients produce spurious harmonics which, without PSS, must be eliminated by simply running the analysis long enough for the transient portion to decay to an insignificant level. That extra run time costs real time.


Periodic Steady State assumptions

Periodicity: The circuit response must be periodic. If it is driven by multiple sources, tmax must be an integral multiple of all source periods.

Linearity: The relationship between the initial and final points over the shooting interval should be near linear. With perfect linearity, convergence usually occurs within 1-3 iterations. If the relationship is highly nonlinear many more iterations may be required or PSS may not converge at all.

Non-chaotic Circuits: PSS cannot handle oscillators (unless the period is known) nor circuits that respond chaotically, such as delta-sigma modulators and some SMPS circuits.

Components: PSS is not available when certain components are present in the schematic. The list of prohibited components for PSS are: Laplace sources, Z Transform sources, NPort devices, and transmission lines. Digital devices are not setup to run with PSS, but they do not prevent a PSS analysis from being run.


Command Lines and Batch Files

Although Micro-Cap is designed to run primarily in an interactive mode, it can also be run as a batch process from the Program Manager command line. Either of two formats may be used.

MC12 [F1[.EXT]]...[FN[.EXT]]

MC12 [/S | /R] [/P] [/PC] [/PA] [@BATCH.BAT]

In the first format, F1, ...FN are the names of one or more circuit files to be loaded. The program loads the circuit files and awaits further commands.

In the second format, circuits can be simulated in batch mode by including the circuit name and the analysis type, /T(transient), /A(AC), or /D(DC) on a line in a text file. The syntax of the circuit line inside the batch file is:

cname [/DEF "x val"] [/NOF "fn"] [analysis] [/S | /R] [/P] [/PC] [/PA] [image commands]

Command options for analysis

/T Run transient analysis on the circuit.

/A Run AC analysis on the circuit.

/D Run DC analysis on the circuit.

/HD Run Harmonic Distortion analysis on the circuit.

/ID Run Intermodulation Distortion analysis on the circuit.

/DYNAMIC_AC Run Dynamic AC analysis on the circuit.

/DYNAMIC_DC Run Dynamic DC analysis on the circuit.

/STABILITY Run Stability analysis on the circuit.

Other commands

/S Save the analysis run to disk for later recall.

/R Retrieve the analysis run from disk and plot the waveforms specified in the Analysis Limits dialog box.

/PC Print the circuit diagram.

/PA Print the circuit analysis plot.

/P Print the circuit diagram and analysis plot.

/DEF "x val" Sets the variable x to val, for use within cname. cname must have a .DEFINE X ... statement.

/NOF "fn" Provides a unique numeric output file name, fn, so that multiple runs of cname do not overwrite the standard numeric output file cname.*NO. fn is the desired file name without an extension. Micro-Cap will add the appropriate extension (.TNO, .ANO, or .DNO) to fn.

Image commands

/IC Page="<page name>" Output="<file name>" Creates an image file of the specified schematic page.

/IC Page="<page name>" Section="<section name>" Output="<file name>" Creates an image file of the specified schematic page in the specified macro section.

/IA Page="<page name>" Output="<file name>" Creates an image file of the analysis plots in the specified analysis page.

/IP Window="<window name>" Output="<file name>" Creates an image of the specified performance plot window.

/IF Window="<window name>" Output="<file name>" Creates an image of the specified FFT plot window.

/I3 Window="<window name>" Output="<file name>" Creates an image of the specified 3D plot window.

/IH Window="<window name>" Output="<file name>" Creates an image of the specified histogram plot window.

The Output specifies the image file name that is to be created. The type of image file created is based upon the extension of the file name. The types of image files available are the same as those available in the Copy Entire Window to a Picture File under the Edit menu. The Window parameter uses the name of the performance plot, FFT plot, 3D plot, or histogram plot. This name is defined in the Title field within the Plot page of the Properties dialog box for each plot. The analysis/plot window image commands need to be used in conjunction with the appropriate command option for an analysis. For example:

Diffamp /t /ic Page="Page 1" Output="diffcir.gif" /ia Page="Main" Output="difftran.jpg"

would export the schematic in the page named Page 1 to a GIF file called diffcir.gif. It would then run transient analysis, and export the analysis plots in the analysis page Main to a JPEG file called difftran.jpg. Note that when the image commands are used on a line, there should only be a single analysis command option specified. If you want to run multiple analyses on a circuit while saving the image files, each analysis should have its own batch line.

In the second format, Micro-Cap must be invoked with the name of the batch file preceded by the character '@'. For example, consider a text file called TEST.BAT containing these lines:

PRLC /A /T

SENSOR.CKT /A

LOGIC /DEF "DELAY 1E-7" /NOF "DELAYA" /T /IC Page="Page 1" Output="Delay.gif"

LOGIC /DEF "DELAY 2E-7" /NOF "DELAYB" /T /IA Page="Main" Output="DelB.jpg"

If Micro-Cap is invoked with the command line, MC10 @TEST.BAT, it will:

1. Load the PRLC.CIR circuit and run an AC and transient analysis.

2. Load the SENSOR.CKT circuit and run an AC analysis.

3. Load the LOGIC.CIR circuit with the variable DELAY set to 1E-7, then run transient analysis. Save the numeric output in the file DELAYA.TNO. Create a GIF file called Delay.gif that contains an image of the schematic within the window Page 1.

4. Load the LOGIC.CIR circuit with the variable DELAY set to 2E-7, then run transient analysis. Save the numeric output in the file DELAYB.TNO. Create a JPEG file called DelB.jpg that contains an image of the analysis plots in the analysis page called Main.

During these analyses, the expressions specified in the circuit file would be plotted during the run and be visible on the screen, but the results would not be saved to disk.

Note that the default circuit file name extension is .CIR.

By appending an '/S' to the command line, all of the analyses specified in the batch file will be run and the results saved to disk for later recall. By appending an '/R' to the command line the analyses are bypassed and the results merely recalled and plotted.

In the batch file, a line can get lengthy if multiple commands are implemented. The batch file can use the keywords BEGIN_COMMAND and END_COMMAND to make a line easier to read. All of the text within these keywords will be considered to be just a single command line. For example, you can modify the above batch file such as:

PRLC /A /T

SENSOR.CKT /A

BEGIN_COMMAND

LOGIC /DEF "DELAY 1E-7"

/NOF "DELAYA"

/T

/IC Page="Page 1" Output="Delay.gif"

END_COMMAND

LOGIC /DEF "DELAY 2E-7" /NOF "DELAYB" /T /IA Page="Main" Output="DelB.jpg"

and the results would be the same as described before.

Here is an example that loads a circuit called batch1.cir, runs AC analysis and saves images of the circuit, the analysis plot, two performance plots and a 3D plot.

BEGIN_COMMAND

;Run AC analysis

batch1.cir /a

;Save the Schematic Page Main as batch1.jpg

/ic Page="Main" Output="batch1.jpg"

;Save the AC analysis Page a as batch1_ac.jpg

/ia Page="a" Output="batch1_ac.jpg"

;Save the Peak performance plot as batch1_acpf1.jpg

/ip Window="Peak_Y(RE(v(OUT)),1,1) vs Temperature" Output="batch1_acpf1.jpg"

;Save the Valley performance plot as batch1_acpf2.jpg

/ip Window="Valley_Y(IM(v(OUT)),1,1) vs Temperature" Output="batch1_acpf2.jpg"

;Save the 3D plot as batch1_ac_3d.jpg. Only one 3d Plot so no need to specify the Window

/i3 Output="batch1_ac_3d.jpg"

END_COMMAND


IBIS

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

X1

XIn

NAME attribute:

<subcircuit name>

This attribute defines the name of the subcircuit to be used. It will be automatically filled in by the IBIS Model Creator.

Examples:

LVC_33_4_MIN

Common attributes:

Description

The IBIS primitive comes in four forms:

Type Purpose

IBIS_Input1 Input only with internal power supplies

IBIS_Input3 Input only with external power supplies

IBIS_Output3 Input, enable, and output pins. Internal power supplies

IBIS_Output5 Input, enable, and output pins. External power supplies

When you place the IBIS part on a schematic, Micro-Cap invokes the IBIS Model Creator dialog box . It lets you select an input or output model from an IBIS source file. Micro-Cap then creates an equivalent SPICE subcircuit model for the chosen part and invokes the Attribute dialog box showing the subcircuit. Click the OK button and the IBIS model is placed in the schematic. To change the IBIS model for a device that was already placed in the schematic. Go to select mode and double click on the device. In the Attribute dialog box, click on the IBIS button. The IBIS Model Creator will be invoked to let you change the model.

All of this can be done manually by running the IBIS to SPICE Translator, placing the subckt generated by it in a circuit, and creating an IBIS component from the Component editor. The IBIS component and the automatic routines that support it simply make it easier to create an IBIS part.

See the file IBIS3.CIR for an example of how the component is used.

SPICE format:

There is no IBIS device in SPICE. The underlying models that are used by these devices are SPICE subcircuits though.


Open File dialog box

This dialog box is used to open up any Micro-Cap compatible file.

File list: This is a list of all of the files from the folder that match the characteristics specified in the File type list box. Multiple files can be opened at one time. Use the CTRL + mouse click to select noncontiguous files. SHIFT + mouse click will select contiguous files.

File name: The specified file name is placed in this text box. The name may be directly typed in, or it can be selected from the list of files above the box. Typing a letter(s) into the box will scroll the list to the first file beginning with the letter(s). A file may be chosen from the list by using the scroll bar and arrows to scroll up and down and then clicking on the file. The up and down cursor keys will also work.

File type list box: This lets you select the files in the File Name list to those with a certain extension. Changing the type may also change the path in the Look in field. It depends on whether the file is considered a library file (*.MAC, *.LIB, *.LBR, etc) or a data file (*.CIR, *.CKT, etc), and on the paths specified in the Path dialog box under the File menu. The options available are as follows:

Schematic(*.CIR): This option lists all the available schematic files in the selected directory..

Macro(*.MAC): This option lists all the available macro files in the selected directory..

SPICE(*.CKT;*.STM): This option lists all files from the selected directory that have the extension .CKT or .STM. These are usually SPICE text files.

SPICE library(*.LIB): This option lists all files from the selected directory that have the extension .LIB. These are usually SPICE library files.

IBIS(*.IBS): This option lists all the available IBIS files in the selected directory..

Model Library(*.LBR): This option lists all files from the selected directory that have the extension .LBR. Loading one of these files launches the Model Editor.

Model Data(*.MDL): This option lists all the available model program files in the selected directory.

Standard Passive Values(*.RES;*.CAP;*.IND): This option lists all files that store impedance values for the filter design program and Fit to Standard Values command.

Touchstone File(*.SnP;*.YnP;*.ZnP;*.GnP;*.HnP;*.TnP): This option lists all the available Touchstone files in the selected directory.

Script*.bat): This shows script or batch files

Derating Library (*.DLIB): This shows derating libraries for the Smoke feature.

Worst Case Tolerance Library (*.TLIB): This shows tolerance libraries for the Smoke feature.

All Files(*.*): This option lists all files from the selected directory.

There are two command buttons:

Open: This command button opens the selected file.

Cancel: This command button closes the Open File dialog box without opening a file.


Product Support

For technical support or product information contact Spectrum Software:

Sales (408) 738-4387

Technical Support (408) 738-4389

FAX (408) 738-4702

E-mail support@spectrum-soft.com

sales@spectrum-soft.com

Website http://www.spectrum-soft.com

Distributors are also available in the following countries for product support:

Australia

Cubitt & Associates Pty. Ltd.

26 Bath Street

Chelsea, Victoria 3196

Australia

Tel: +61 (03) 9776 1866

Fax: +61 (03) 9776 1766

Email: Lcubitt@bigpond.net.au

China

King Tone Innovation (Beijing) Technology Co. Ltd.

Suite C106

Lonsdale Center

No.5 WanHong Road

ChaoYang District

Beijing, 100015

P.R.China

Tel:+86-10-62972958

Fax:+86-10-62972958

Mobile:+86-18601066132

<http://www.kimtone.com.cn>

Email: ronald.yuan@kimtone.com.cn <mailto:ronald.yuan@kimtone.com.cn>

Denmark

A/S Etronic Svendborg

Rodeledsvej 95

5700 Svendborg

Denmark

Tel: +45 62 213-850

Fax: +45 62 224-550

http://www.etronic.dk

Email: info@etronic.dk

Great Britain

Rainbow Software

Ash Lea House

Oldfield Road

Bickley, Kent BR1 2LE

England

Tel: +44 (0)208 2954500 ; +44 (0)797 3288242

Fax: +44 (0)208 2954500

http://www.micro-cap.co.uk

Email: rainbow@micro-cap.co.uk

Finland

Zenex Computing OY

Vattuniemenkatu 13

Helsinki 00210

Finland

Tel: +358 9 692-7677

Fax: +358 9 692-7621

http://www.zenex.fi

Email: zenex@comp.fi

Germany/Austria/Switzerland

GSH

Planeggerstr. 36/III

D-81241 Muenchen 60

Germany

Tel: 0 (+49) 89 834 3047

Fax: 0 (+49) 89 834 3048

http://www.gsh-system.com

Email: sales@gsh-system.com

Italy/Spain/Portugal/Greece

Cadlog Srl

Via degli Olmetti,46

00060 Formello (RM)

Italy

Tel: +39 06 40043950

Fax: +39 06 62277072

http://www.cadlog.it

Email: info@cadlog.it

Japan

Toyo Corporation

1-6, Yaesu 1-chome

Chuo-ku, Tokyo 103-8284

Japan

Tel: +81 3 3279 0771

Fax: +81 3 5205 2030

http://www.toyo.co.jp

Netherlands

CADMES B.V.

Australielaan 8

5232 BB's-Hertogenbosch

The Netherlands

Tel: +31 73 645-6222

Fax: +31 73 645-6242

Email: info@cadmes.nl

South Africa

Osiris Technical Systems (Pty) Ltd

P O Box 26645

Gezina 0031, Pretoria

South Africa

Tel: 0861-OSIRIS or 0861-674747

Fax: 0865-032-095

http://www.osiris.co.za

Email: info@osiris.co.za


Delete Probe Plot dialog box

This dialog box may be invoked through the Delete Curves option in the Probe menu.

To delete a probe plot highlight it by clicking on its name in the list. To select multiple items, you may use the CTRL+mouse click to select non-contiguous plots and SHIFT+mouse click to select contiguous plots.

OK: This closes the dialog box and deletes the selected plots.

Cancel: This closes the dialog box without deleting the selected plots.

Help: This accesses the help topic for this dialog box.


Analysis Text page

Text is entered directly into the text box. ENTER produces a line feed that enables text to be placed on multiple lines. Text that is placed in the dialog box and allowed to wrap around the box without using the ENTER keystroke will appear in the schematic as just one line.

The following options are available:

Style: This selects a style. User-defined styles are set in Options / Preferences / Style.

Font: This selects the font.

Size: This selects the font size.

Bold: This selects bold font.

Italic: This selects the italic font.

Underline: This selects the underline font.

Strikeout: This selects strikeout font.

Superscript: This selects superscript. (RTF only)

Subscript: This selects subscript. (RTF only)

Font Color: This selects the font color.

Font Gradient Color: The program produces a font color that gradually changes from the Font Color above to this color below.

Text Background Color: This selects the text background color. This is the background color of all non RTF text or the background color of all RTF text whose color has not been specified.

Text Highlight Color: This selects the text highlight color. This is the background color that can be applied individually to RTF characters.

Copy to Clipboard List: This copies the selected text to the clipboard list. This list can save named text, pictures, and analysis limits.

Paste From Clipboard List: This pastes text from the clipboard list.

Build Command: This dialog box helps you create some of the more complex .commands, like .MEASURE, .DEFINE, and .WARNING. It is only active if it sees .command text or if the text field is blank.

Insert Special Character: This lets you insert special characters selected from a popdown list.

Grid Snap: If enabled, this forces the grid text anchor point to snap to the nearest grid point.

Absolute: This is the absolute text mode. Absolute text maintains its position with respect to the plot window through any scale or offset changes performed on the curves.

Relative: This is the relative text mode. Relative text maintains its position with respect to the curves. A piece of relative text placed close to the peak of a curve remains near that peak after scaling or panning. The field to the right of this option specifies the curve that the text is to remain relative to.

Formula: Checking this tells the program that the text contains a formula and that the expressions it contains are to be calculated.

The Formula option lets you place an expression within a string of text. For example, if you already have a couple of define statements in the schematic such as:

.define Rval 100

.define Cval 35p

Text can be added such as:

The RC time constant is [Rval*Cval].

The Formula checkbox would have to be checked for this text string and the delimiters would need to be set to []. The text on the schematic would look like:

The RC time constant is 3.5n.

Use RTF: This tells the program to use Rich Text Format, which allows character-by-character control of every text feature (e.g. color, font, size).

Rotation Angle: This sets the text angle. Positive angles rotate counterclockwise from the zero degrees of horizontal text.

Anchor Location: These list boxes specify where (top, bottom, left, center, right) the text anchor point is to be located.

Pin: This identifies the text as a Pin. Holding the mouse over the Pin text displays the pin text.


Animate Options dialog box

This dialog box sets the interval between data point calculations in an analysis. The dialog box is invoked with the Animate icon, [image] or by selecting Animate Options under the Scope menu. It provides these options:

Wait

Don't Wait: This option turns off the animation which lets the analysis run at optimum speed.

Wait for Key Press After Time Delay = : This option will produce one data point with each key press after the specified time delay.

Wait for Time Delay: This option will produce one data point per specified time delay.

Time Delay: This text field sets the specified time delay in seconds that will be between each data point calculation. This text field is only active if the Wait for Time Delay option is selected.

OK: This closes the dialog box and sets any changes that were made.

Cancel: This closes the dialog box and ignores any changes that were made.

Help: This accesses the help topic for this dialog box.


Analysis Print Preview dialog box

This dialog box is available after running an analysis. The Print Preview dialog box lets you include, and set the size and location on the paper of the analysis plots, 3D plots, Monte Carlo plots, and performance plots. You can even include the circuit schematic. When the Auto Tile check box is disabled, the plots may be dragged to different locations and resized by dragging on the handles. The dialog box provides the following buttons:

Print: This invokes the Print dialog box.

Setup: This invokes the Print Setup dialog box.

Tile: This arranges the selected plots in contiguous non-overlapping areas of the paper.

All: This selects all available plots for printing.

Close: This closes the Print Preview dialog box.

Help: This accesses the Print Preview help topic.

Available Plot List: To the right of the command buttons is a list of plots that are available for printing. To select multiple items, you may use the CTRL+mouse click to select non-contiguous plots and SHIFT+mouse click to select contiguous plots.

Auto Tile: This automatically tiles selected plots in the layout. If Auto Tile is off, each plot acquires a set of handles and may be moved and resized.

Print Background: This prints the selected background color of the plots. It's generally a bad idea on ink jet printers because of the large quantity of ink needed for the background saturates and warps the paper surface.

Black Border: This adds a black border around each plot.

Black and White: This sets all of the window elements such as plots, range text, and grid lines to just use either black or white. Any graphic element or picture will still be grayscaled.

Gray Scale: For color printers, this will convert the plot to a gray scale version for printing.

Individual Pages: This prints each of the selected plots on its own page. Each plot will be scaled to the full size of the page it is printed to.


Expand dialog box

This dialog box gives you an expanded text field that lets you enter or edit a large piece of text. Normally, this is used only when an attribute value field requires a very large body of text, as for example, a table source with many pairs of data or a digital stimulus with many entries. These situations can also be handled by simply entering an alias in the value field and adding a .define statement in the text area that equates the alias with the larger table.

Zoom-In: Clicking this button increases the size of the font in the Text field display.

Zoom-Out: Clicking this button decreases the size of the font in the Text field display.

Text field: This is the field in which the text for the attribute will be entered or edited.

OK: This closes the dialog box and updates the appropriate attribute.

Cancel: This closes the dialog box without updating the attribute.

Font and Color: This command button lets you change the font characteristics and the color of the text.

Help: This command button invokes the help topic for this dialog box.


Backup and Restore

This dialog box lets you create a backup file and later restore any file within. You can make multiple backups for extra security. Mainly this preserves the standard component and shape libraries, but there are other files in the backup as well (e.g. waveform buffer).

The Backup button creates a backup file and adds its name in the Restore list.

To restore, select one of the backup files and select which part of the file you want to restore, then click on the Restore button.


Bill Of Materials dialog box

This dialog box defines the settings for the Bill of Materials report. It determines which values will be placed in the report along with the order of those values. The dialog box consists of the following:

File: This text field defines the name of the file that the Bill of Materials report will be stored in.

Browse: This command button lets you browse the hard drive to find a file name to save the Bill of Materials report to.

Expand Macros/SUBCKTs: If enabled any macros or subcircuits within the schematic will be expanded and all their internal components will be added to the report. Typically, this will be disabled.

View Report: If enabled, the report that will be generated appears in the background behind the dialog box.

Column Order: This text field defines the order that the columns in the report will be placed. Apply must be clicked for this to take effect.

Apply: This command button reorders the field according to the order specified in the Column Order field.

Columns: There are 12 entries that may be placed in the report such as Part name, Type, Value, Quantity, Power, and Cost. Four of these entries can be defined by the user, but the entry must be an attribute within a component. They may be a user defined attribute or a Micro-Cap attribute such as Package. The order of the columns is determined by the Column Order field, and the Part name is fixed as the last column. The entry will be placed in the report if the checkbox by their name is enabled, or for the four user entries, if an item has been selected from the list. One column can be sorted in the report by enabling the Sort radio button within that column entry. The Format button invokes a dialog box that lets you choose the whether the data is a text or number, the alignment of the data within the column, and the width and the number of digits of the data.

Delimiters: This option defines the delimiter that will be used between columns.

Group Parts: When enabled, all parts that share the same Type and Value/Model will be grouped on the same line in the Bill of Materials. When disabled, each part is placed on its own line.

OK: This closes the dialog box and creates the Bill of Materials report with the specified information.

Cancel: This closes the dialog box without creating the report.

Default: This sets the entries in the dialog box to a basic Bill of Materials structure.

Help: This invokes the help topic for this dialog box.


Breakpoints dialog box

This dialog box lets you define breakpoints which are Boolean expressions that define when the program will enter single-step mode so that you can watch specific variables or expressions. The dialog box consists of the following:

Break at: This text field lets you add new breakpoints or edit existing breakpoints. Simply enter in text such as T>=100ns AND T<=10ns or V(OUT)>5.5 to establish a breakpoint. Highlighting a breakpoint in the Breakpoints list lets you edit the text in this field.

Breakpoints: This displays a list of all available breakpoints. A checkbox to the left of each breakpoint lets you enable or disable the breakpoint for the next run. Click on a breakpoint to edit it in the Break at field.

OK: This accepts any changes and closes the dialog box.

Cancel: This discards any changes and closes the dialog box.

Help: This invokes the help topic for this dialog box.

Remove: This deletes the selected breakpoint.

Remove All: This deletes all breakpoints.


Build Command

Micro-Cap includes a utility to help build complex .commands. The dialog box is invoked from the Edit menu or whenever you add Check Box variables.The Build Command can also be invoked from the icon on the main tool bar or from the same icon within the Text dialog box. The utility provides support for

these commands:

.HELP

.WARNING

.DEFINE

.MEASURE

.PARAMETERS

.RELTOL

.TR

It is particularly helpful with .define and .measure statements whose syntax can be complex.

The way it works is simple. Start typing or editing the text for one of the commands above, then click on the Build Command icon. When the dialog box

comes up, select a command, then fill in the boxes. If the command is complex like a .measure that uses TARG or TRIG then additional fields will open up.


Bus dialog box

The bus mode places bus connectors in the circuit and invokes this dialog box. To create a bus wire, use one of the Wire modes to connect a wire to the bus port of the bus connector or to another bus wire. Bus wires have thicker lines than standard wires. The bus dialog box has these features:

Part: This field contains the bus connector name. A check box alongside lets you show or hide the name. The name has no effect on the simulation.

Enter Pin Names: This field contains the pin names, implicitly defining the number of separate wires / nodes for the bus connector. The names can be listed separately or using the indicated forms. For example:

A,B,C,D - A four pin bus with pins labeled A, B, C, and D

A[1:4] - A four pin bus with pins labeled A1, A2, A3, and A4

C[1:4,8,9] - A six pin bus with pins labeled C1, C2, C3, C4, C8, and C9

0:7 - An eight pin bus with pins labeled 0, 1, 2, 3, 4, 5, 6, and 7

[A,B][1,2] - A four pin bus with pins labeled A1, A2, B1, and B2

Grids Between Pins: This specifies the number of grids between pins.

Bus Node Placement: This specifies where to place the bus connector name. There are three options; top, middle, and bottom.

Wire Node Alignment: This specifies how the wires will emerge from the connector. There are three options:

Straight: Wires emerge perpendicular to the connector.

Up: Wires slant in one direction.

Down: Wires slant in the opposite direction.

Color: This controls the connector color.

Pin Markers: This check box controls the display of pin markers.

Pin Names: This check box controls the display of pin names.

Enabled: This check box enables/disables the connector.

OK: This accepts the changes and exits the dialog box.

Cancel: This ignores the changes and exits the dialog box.

Help: This invokes the help topic for this dialog box.


Button Editor dialog box

The Button Editor dialog box lets you create a new or choose an existing tool bar icon to assign to the selected command from the Shortcuts page of the Preferences dialog box. The dialog box consists of the following:

Button: This section displays all of the existing icons. Click on one of the icons to select it.

Drawing area: The drawing area will display a magnified view of the selected icon. If the icon is one the user added or one from the Component toolbar, it can be modified by selecting a color in the color palette and then clicking in the icon view area.

Fill: This button will be active if the selected icon is a user created icon or from the Component toolbar. It fills the entire icon with the selected color.

Delete: This deletes the selected icons. Only icons created by the user may be deleted.

Add: This adds a new, blank icon to the Button section.

Insert Copy of: This copies the currently selected icon for a new entry in the Button section.

OK: This closes the dialog box and assigns the selected icon to the command selected from the Shortcuts page of the Preferences dialog box.

Cancel: This closes the dialog box without assigning an icon.

Help: This invokes the help topic for this dialog box.


Calculator

The Calculator can compute the numerical result of any Micro-Cap expression. When in an analysis mode, it can access circuit variables like V(1) or I(L1), so you can print expressions like V(5,8)*I(V1). The circuit variables are the last computed time domain values. In transient analysis, these are the result of the last operating point or the last time point. In AC analysis, these are the result of the last operating point. In DC analysis, these are the result of the last calculated point.. It can even do symbolic derivatives.

Ex1: "(4 MOD 2) AND (5*3/1.78)" returns "0"

Ex2: "5*5+2" returns "27"

Ex3: "(1+2*j)*(1+2*j)" returns "-3+4*j""

Ex4: "V(1,2)*I(1,2)" returns the power between nodes 1 and 2 at the last time point calculated

The derivative of I(L1)*V(L1) W.R.T. I(L1) returns V(L1). This example works only in analysis mode only since I(L1) and V(L1) are defined only in analysis mode. Expressions using generic symbols work in schematic mode. For example, the derivative of X**X returns X*X**(X-1)+X**X*LN(X).

Format: This controls the format of the calculated result.

Scientific: The result is presented in scientific notation such as 4.000E+003.

Engineering: The result is presented in engineering notation such as 4K.

Decimal: The result is presented in standard decimal format such as 413,233.784.

Default: The result has no notation such as 4000.

Digits: This controls the number of digits used with Scientific notation. If None is specified, the notation reverts to scientific notation when the number of digits exceeds this value.

Value: This page is for simple calculations:

2D: This page is for 2D plots. For example SIN(X)/X plots the Sinc function.

X Low: This is the starting value of X

X High: This is the ending value of X

Points: This is the number of points in the X direction to be calculated.

3D: This page is for 3D plots. For example SIN(Y)/Y*SIN(X)/X plots the two-dimensional Sinc function.

X Low: This is the starting value of X

X High: This is the ending value of X

Y Low: This is the starting value of Y

Y High: This is the ending value of Y

Z Low: This is the low scale of Z

Z High: This is the high scale of Z

Points: This is the number of points in the X and Y directions to be calculated.

2D: This page is for 2D plots. For example SIN(X)/X plots the Sinc function.

Differentiate: This page controls the variable that the derivative will be calculated with respect to when the Differentiate command button is clicked. The Differentiate With Respect To field specifies the variable that the derivative will be calculated with respect to when the Differentiate command button is clicked.

Combinations: This shows combinations that produce the value in the Input field. For example a 180 ohm resistor produces:

File = C:\MC12W\library\standard.res

Original Value = 180

Combinations Value = 179.978

Percent Error = -0.012

Number of parts needed = 2

179.978 = (16.2K | 182)

Local .Defines: This let's you create .define variables local to the calculator.

Expand .Defines: This shows the expansion of the expression in the Input field. For example, given these .defines:

.define A 1

.define B 2

.define C A*B

With C in the Input field, the Calculate button produces this:

A*B

It doesn't calculate the numeric result. It shows the expression after the expansion. It's useful for debugging complex expressions.

Calculate: This command button evaluates the value in the Input field as specified by the selected page.

Close: This command button closes the dialog box.

Help: This command accesses the Calculator help topic.


Change Attributes dialog box

This dialog box lets you edit, delete, add, or change the display settings for the attributes that are in the active circuit. This will have no affect on any components added after this, but only on components that are currently in the circuit. To change the initial display settings of the attributes for a component, go to the Component editor. The dialog box consists of the following:

Action: This section selects the type of action that will be performed. The actions are as follows:

Add: Adds an attribute to the selected components.

Delete: Deletes an attribute from the selected components.

Change Value: Changes an attribute value for the selected components.

Change Color: Changes the attribute text color for the selected components.

Change Font: Changes the attribute text font for the selected components.

Show Item: Enables any combination of the display options for the selected components.

Hide Item: Disables any combination of the display options for the selected components.

Show Name: Enables the display flag of the name for the selected attributes of the selected components.

Hide Name: Disables the display flag of the name for the selected attributes of the selected components.

Show Value: Enables the display flag of the value for the selected attributes of the selected components.

Hide Value: Disables the display flag of the value for the selected attributes of the selected components.

Type: This section displays all of the available component types in the active circuit. Selecting one or more of these types will populate the component section.

Component: This section displays all of the part names of components in the circuit for the selected types. Selecting one or more of these components populates the attribute's Name section.

Name: This section displays the available attribute or display names for the selected components. When Apply is clicked, the action will be performed on these selected items. The text field is only used when an Add action is performed.

Items: This section sets the value of the specified attribute. It is only used when an Add or Change action is performed. For Change Color or Change Font, the corresponding button will be available in this section.

Apply: This implements the desired action

Close: This closes the dialog box.

Help: This invokes the Attribute Display help topic.


ToSpice dialog box

Translate to SPICE dialog box

This dialog box determines the type of SPICE file or subcircuit file that will be created from the currently active schematic. The SPICE file will be given the default name circuitname.CKT, or a subcircuit will be placed in a default file of circuitname.LIB.

Analysis: There are five check box options. Any or all of these may be selected.

Transient: When selected, this option will place the transient analysis limits into the SPICE file. This will add a .OP (when the operating point is enabled), a .TRAN, and .PRINT/.PLOT lines to the file.

AC: When selected, this option will place the AC analysis limits into the SPICE file. This will add a .AC and .PRINT/.PLOT lines to the file.

DC: When selected, this option will place the DC analysis limits into the SPICE file. This will add a .DC and .PRINT/.PLOT lines to the file.

TF: When selected, this option will place the transfer function settings into the SPICE file. This will add a .TF line to the file.

Spice type: There are three option buttons to control the format of the SPICE file. Only one may be selected at a time.

SPICE2G: This option creates a SPICE file with a SPICE2G format.

PSpice: This option creates a SPICE file with a PSpice format.

SPICE3: This option creates a SPICE file with a SPICE3 format.

HSPICE: This option creates a SPICE file with an HSPICE format.

Micro-Cap SPICE: This option creates a SPICE file with some Micro-Cap extensions.

Options: There are six check box options. Any or all of these may be selected.

Report: When selected, this will place comments at the bottom of the file describing the number and type of components that are used in the file.

.Options: When selected, this will place a .Options statement into the SPICE file using the values from the Global Settings.

Expand SUBCKT: When selected, this option will place all subcircuit information into the SPICE file.

Make SUBCKT: When selected, this option will convert the schematic into a SPICE subcircuit component. It will also place an entry into the Component menu for this new model. The shape and pin location of this new component will probably need editing in the Component Editor under the Windows menu.

Add To Nom.lib: Active only when Make SUBCKT is enabled, when checked, it will place the name of the library file being created into the Nom.lib library index file.

Full Model Statements: When selected, this option will include parameters set to their default values when creating .Model statements in the SPICE file.

File: This text field defines the name and path to where the SPICE circuit or library file is to be saved.

Browse: This command button lets you browse through the available folders on the drive to choose a file name to save the SPICE file to.

SUBCKT Name: Active only when Make SUBCKT is enabled, this field defines the name of the subcircuit model.

SUBCKT Pins: Active only when Make SUBCKT is enabled, this field defines the list of input and output pins of the subcircuit model. The pins should be node numbers or names from the schematic, and the pins should be separated by commas or spaces in this list. If you have named the node in the schematic with a text label, you must use the name rather than the corresponding node number.

OK: This command button creates a SPICE file with the selected options.

Cancel: This command button closes the ToSpice dialog box without producing a SPICE file.

Help: This command button invokes this help topic.


Apply Display Attributes dialog box (obsolete)

Apply Display Attributes dialog box

This dialog box determines which features of the selected part are to be copied to the other parts in the schematic. It consists of the following:

Attribute Show/Hide: When enabled, this copies the display flags of the selected part's attributes.

Location: When enabled, this copies the location of the selected part's attributes.

All Rotations: When enabled, the location for both vertical and horizontal rotations of the component will be copied.

Copy Color/Font: When enabled, the color and fonts set for the selected part will be copied to the other parts.

Display Options: When enabled, the enable/disable settings for the display options will be copied to the other parts.

OK: This closes the dialog box and copies the properties.

Cancel: This closes the dialog box without making any changes.

Help: This invokes the help topic for this dialog box.


Attribute dialog box

This help topic is about the dialog box only. For specific component syntax, click on the Syntax button in the dialog box or go to the Analog Devices or Digital Devices section.

When you add a component that has not been modeled, the Attribute dialog box is presented to let you enter certain component information. The exact information required varies with the component but generally a part name and a value are the minimum required for the simpler parts like resistors, capacitors, and inductors. More complex parts usually require a part name and a model name. Digital parts sometimes require logic expressions, block names, or stimulus table names.

The number of attributes is determined by the type of component. For example, an NPN transistor has seven attributes, PART, VALUE, MODEL, SHAPEGROUP, PACKAGE, COST, and POWER. Each attribute has a name and a value

Attribute Name Attribute Value

PART Q1

VALUE 2.0

MODEL 2N1132

SHAPEGROUP Default

PACKAGE

COST

POWER

The first attribute is the part name. The optional second attribute is a text string which describes the area, off flag, and initial conditions. The MODEL attribute specifies the model name which in turn specifies a set of model parameters which may be located locally within the circuit in the text or drawing areas of the schematic, or may be located globally in the libraries. The SHAPEGROUP attribute specifies which shape group that the part should derive its shape from on the schematic since components may be assigned multiple shapes. The optional PACKAGE attribute specifies the physical package used by the part. Package information is used to create netlists for external PCB (Printed Circuit Board) programs. The optional COST and POWER attributes specify the unit cost and power budget for the Bill of Materials report. This is a type of netlist report that shows the parts count, cost, and power budget of the circuit.

To edit a particular attribute value, select it by clicking on the attribute name in the Attribute list box. Next, click in the Value field and edit it as desired. The ... button next to the Value field lets you expand the text into a larger dialog box for editing and viewing.

You can add other attributes. These have no effect on the electrical behavior of the device. To add an attribute, click on the Add button. This adds a new attribute and places the name 'USER' in the Name field. The Value field is left blank. You can then edit the attribute Name and Value fields.

To delete an attribute, select it by clicking on its name in the Attribute list box. Then click on the Delete button. Only user-added attributes may be deleted.

To change an attribute font, size, style, color, or effects, click on the Font button. This displays the Font dialog box. The Font dialog box lets you edit text features.

The Model list box displays a list of available model names from the libraries. You can scroll through the list and choose a model by clicking on it. This option is only active when the Model attribute is selected.

Display controls: This lets you show or hide these items:

The Pin Markers check box controls the display of markers showing the location of the pin connection points where wires would connect the pin to other circuit nodes. This is helpful when the actual pin location is not obvious.

The Pin Names check box controls the display of pin names. Sometimes this is helpful for vendor-supplied subcircuit part models where node numbers are used instead of more meaningful names. Normally this option is turned off.

The Pin Numbers check box controls the display of package pin numbers. This is primarily used to identify the physical pin numbers for PCB work. The Pin Numbers are defined within the Package Editor and will only be present when a valid PACKAGE attribute has been defined for the component. Normally this option is turned off.

The Current check box controls the display of the last time domain or AC current value for the part, if the Current display button [image] is enabled.

The Power check box controls the display of the last time domain or AC power value for the part, if the Power display button [image] is enabled.

The Condition check box controls the display of the last time domain condition (ON, OFF, etc.) for the part, if the Condition display button [image] is enabled.

Attribute list box: This lists the attributes. Attributes can be edited by selecting one and then editing its value in the VALUE edit box.

Command buttons provide the following functions:

OK: This accepts any edits that have been made and exits the dialog box.

Cancel: This cancels any edits that have been made and exits the dialog box.

Font: This lets you alter the font and style of the selected attribute.

Add: This adds a new attribute.

Delete: This deletes the selected attribute. Only user-added attributes may be deleted.

Browse: This button allows file browsing when the part uses the FILE attribute, as for example, with user and fstim sources, macros, subcircuits, and PLAs. It is only enabled when the FILE attribute is selected.

New: If the MODEL attribute is currently selected, this creates a new model name local to the circuit. You can also create a new model simply by typing in a model name not already in the library.

Find: This invokes the Find dialog box which locates parameter names and/or descriptions. Modern bipolar and MOSFET models have a great many model parameters. The Find command helps you locate them for editing or review.

Plot: This produces zero to three plots for each basic part type (primitive). The plots are created on the fly from mini-simulations of test circuits designed to produce the plot in question. Some parts, like the Pulse source, have a simple simulation and a single plot (two cycles of its waveform). Others, like the NPN, have several plots that can be chosen from the plot selector. Some parts, like macros and subckts, have no plot at all. Once the plot is displayed, it responds dynamically to parameter edits.

Syntax: This displays the syntax for the primitive from the help file.

Play: For WAV sources, this plays the WAV file.

IBIS: This button invokes the IBIS Model Creator dialog box when the part is an IBIS component, allowing editing or selection of IBIS IO models.

Help: This accesses the help topic for the Attribute dialog box.

Combinations: This finds the best series / parallel combination of standard part values that approximates the RESISTANCE, CAPACITANCE, or INDUCTANCE value. For example, a value of 1234567 ohms becomes

1.235MEG = 1.2MEG + (133K | 47.5K) (e=0.0035% n=3).

This means that the closest value is achieved by placing a 1.2MEG resistor in series with a parallel combination of a 133K and a 47.5K resistor. The resulting value is 1.235MEG, which is within .0035% of the requested value. Preferences are set at Options / Preferences / Combinations.

Single: This finds the closest single standard part value that approximates the RESISTANCE, CAPACITANCE, or INDUCTANCE value. Preferences are set at Options / Preferences / Combinations.

These last two options are similar to the Fit to Standard Values command.

Enabled field: You can enable or disable a part with this field using TRUE, FALSE, or a Boolean expression (e.g. V(2)>.5). You can also enable or disable a part from the Edit menu, or by using the Enable [image] or Disable [image] tool bar buttons.. A disabled part stays in the schematic but is not included in analyses, Bill of Materials reports, or SPICE netlist translations. Any object, including parts, text, and wires, can be enabled or disabled. To enable or disable a group of objects, drag select them with the mouse, then click on the Enable or Disable tool bar button.

Help Bar check box: This toggles the display of the Help bar. Its job is to give a brief explanation of the field, button, or control under the cursor.

Show Binning check box: For MOSFET models that contain binning parameters, this option toggles whether the binning parameters will be displayed in the parameter list. Disabling this option makes the parameter list more manageable.

File link: Click on this link and the program executes the link. You can set the link to a local file, like an Adobe PDF data sheet, or to a URL link to the vendor's web site. The default URL link is http://www.google.com/search?q="%s"+"data sheet" which basically looks for a data sheet using the model name. The %s substitutes the model name.

Source of displayed model information: This shows the source of the displayed model information. It is usually either the model or text area of the circuit if localized, or a model folder and path if globally accessed. Editing model parameters always localizes them to a circuit model or text page.

Navigate buttons: These scroll through other parts in the circuit. Each click on the left or right navigate button will display another part of the same type. Each click on the up or down navigate button will display a different part type.

The Edit area lets you edit model parameters, subcircuits, digital stimulus statements, and other model information.

The Show check boxes adjacent to the Name and Value fields let you control whether the selected attribute's name and value are displayed on the schematic. Normally the attribute name is not displayed and only some of the attribute values are. Typically, only the part attribute value is displayed, although occasionally the model attribute value is also.

The Color buttons let you change the part's border and fill colors. Border controls the outline color. Fill controls the interior color. The interior can only be filled if the shape already has a fill color. If the Fill button is disabled, it is because the shape has no fill color specified. You can change this by specifying a fill color for the shape using the Shape Editor.

The Change button invokes the Change Attribute dialog box which lets you copy the displayed attribute value to the attribute fields of parts selected from a list. For example, you could use this command to change all 2N2222 model attributes to 2N3903.

The Plot Selector lets you select from a list of characteristic plots for the device. Some devices have as many as three plots, while some have none.

Default Settings and Save Settings

These buttons are available for the SPICE independent (Voltage source and Current source) sources and digital stimulus devices. They provide a method of saving lengthy VALUE or COMMAND attributes which can then be easily recalled. The Default Settings will revert the saved settings to the original values that came with Micro-Cap. The Save Settings button lets you save the current VALUE or COMMAND attribute to one of five slots available for each type within the source. The saved settings can be easily recalled by clicking the button that contains the name associated with the settings.


Change Attribute dialog box

This dialog box lets you copy the displayed attribute value to the attribute fields of parts selected from a list. For example, you could use this command to change all 2N2222 model attributes to 2N3903 for any NPN BJTs within the circuit. The dialog box consists of the following:

List: This list box contains the PART attributes and the value of the selected attribute of all components that the selected attribute may apply to. Note that if a part in the schematic is currently defined with the selected value, it will not be displayed in the list. Clicking on a name selects it. Click while using the Ctrl or Shift keys to select multiple parts. Sort the list by clicking on the Part or Value headers.

OK: This closes the dialog box and copies the displayed attribute to all of the selected parts.

Cancel: This closes the dialog box without copying the displayed attribute.

Select All: This selects all items in the list.

Help: This invokes the help topic for this dialog box.


Default Grid Text

Default Grid Text page

Text is entered directly into the text box. ENTER produces a line feed that enables text to be placed on multiple lines. Text that is placed in the dialog box and allowed to wrap around the box without using the ENTER keystroke will appear in the schematic as just one line.

The following options are available:

Page: This selects the schematic page for which the current settings are to apply. Settings apply only to future text entry. They do not apply to existing text.

Set All With Current Data: This applies current settings to all schematic pages. Settings apply only to future text entry. They do not apply to existing text.

Color 1: This sets the color of the font or the top color in a gradient.

Color 2: This sets the bottom color in a gradient. If set to No Color, then the text is colored solid using Color 1.

Outline: This sets the outline color of the text.

Outline Width: This sets the outline width of the text.

Use RTF: This tells the program to use Rich Text Format, which allows character-by-character control of every text feature (e.g. color, font, size).

Rotation Angle: This sets the text angle. Positive angles rotate counterclockwise from the zero degrees of horizontal text.

Grid Snap: If enabled, this forces the grid text anchor point to snap to the nearest grid point.

Pin: This identifies the text as a Pin. Holding the mouse over the Pin text displays the pin text.

Anchor Location: These list boxes specify where (top, bottom, left, center, right) the text anchor point is to be located.

Font: This selects the font.

Size: This selects the font size.

Font Style: This selects these font styles, Regular, Bold, Italic, Bold Italic.

Effects: This selects these font effects, Strikeout amd Underline.

Select Style: This selects a style. User-defined styles are set in Options / Preferences / Style.


Enable With dialog box

Expression Field: This field contains the expression that enables or disables the selected region. If the expression evaluates to FALSE (0) then the selected region is disabled, otherwise it is enabled. You can select various operators to build an expression. Expressions mainly use check box variables and Boolean operators. For example, if there were two check box variables A and B. then you might use an expression like A AND B. Then the region would be enabled when A and B are both TRUE (>0).

You can also use the analysis variable and analysis constants like _AC and _TRANSIENT in expressions like these:

analysis=_AC

analysis=_TRANSIENT

analysis=_DC

analysis=_AC OR analysis=_DYNAMICAC

OK: This closes the dialog box and plots the expression.

Cancel: This closes the dialog box without plotting the expression.

Help: This accesses the help topic for this dialog box.


Fit to Standard Values dialog box

This command lets you fit all of the resistors, capacitors, and inductors in the circuit to a single standard value or to a series / parallel combination of standard values. The part values that Micro-Cap uses as standard values in the calculations are taken from the RES, CAP, and IND files that are set in the Options / Preferences / Combinations page. The dialog box consists of the following:

Combinations: This finds the best series / parallel combination of standard part values that approximates the resistance, capacitance, and inductance values. For example, a capacitance of 50.45pF becomes:

50.435p = (120p+87p) (e=-0.02973% n=2)

This means the closest value is achieved with a 120pF capacitor in series with an 87pF capacitor. The resulting value is 50.435pF, which is within 0.02973% of the original value. New values are assigned to the RESISTANCE, CAPACITANCE, or INDUCTANCE, and COMBINATION is set to the construction formula. Its syntax is:

v1 + v2 means the series combination of v1 and v2

v1 | v2 means the parallel combination of v1 and v2

v1 + (v2 | v3) means the series combination of v1 and the parallel combination of v2 and v3.

(v1 + v2 ) | (v3 + v4) means the series combination of v1 and v2 in parallel with the series combination of v3 and v4.

Single Part: This finds the closest single part value that for the RESISTANCE, CAPACITANCE, or INDUCTANCE.

Create Report: The Report option shows a text summary of the choices made. When enabled, a Standard Values text page will be created in the schematic file. This page is accessible in the page tabs in the lower left section of the schematic file.

Preferences Combinations: The button invokes the Combination page in the Preferences which specifies the part files to use, maximum error, and maximum series, parallel, and total parts.

OK: This closes the dialog box, performs the fit to standard calculations and updates the resistors, capacitors, and inductors in the schematic.

Cancel: This closes the dialog box without performing any calculations.

Help: This invokes the help topic for the dialog box.


Format (Schematic Properties)

This panel lets you set the format for a number of items that can be present in the schematic. Click on the corresponding Format button to set the format for the item.

Schematic Voltage/Current/Power: This sets the format for all of the voltage, current, and power displays that can be shown in the schematic.

Schematic Path Delays: This sets the format for the path delays that are shown when one of the Paths commands are used with digital circuitry.

Warnings: This sets the format for .Warning statement outputs.

Grid Text Formula text: This sets the format for values calculated within formula text.

Default: This sets the format for all of the items to their default values.

Set Default: This sets the formats in the Default Properties For New Circuits page to the values that are currently specified in this page. The formats for all items will be copied over.


Make Macro dialog box

This dialog box is used to define the path and file name to where the macro file is to be saved.

File: This text field defines the path and the macro circuit name. Either a .MAC or a .CIR extension can be used.

Browse: This command button lets you browse through the drive to choose a file name to save the macro to.

OK: This creates the macro circuit file and closes the dialog box.

Cancel: This closes the dialog box without creating the macro file.

Help: This invokes the Help topic for this dialog box.


Schematic Print Preview dialog box

This dialog box allows a preview of a schematic printout. In the following topic, there is a distinction in the use of the words sheet and page. A page may be added to a schematic by using the Add Page option in the Edit menu. These pages may be visualized as if the schematic were a book. One page lies on top of another, and only one page may be seen at a time. A sheet refers to the physical sheet of paper that a printer will produce. If the print preview shows that the schematic covers four sheets, then the printer will produce four sheets of output.

OK: This command button closes the dialog box and saves any adjustments that have been made.

Cancel: This command button closes the dialog box but does not save any adjustments that have been made.

Page

Next: This displays the next page of the schematic. Note that the scale, whether Auto or User is chosen, applies to all pages.

Prior: This displays the prior page of the schematic.

Page List: This list box shows the name of the page being displayed. You can display any page by selecting its name from the list. Select pages to be printed by adding a check mark adjacent to the page name.

Sheet

Next: If a text page is selected from the Page List, this shows the next sheet of the text page as it will appear when printed.

Prior: If a text page is selected from the Page List, this shows the prior sheet of the text page as it will appear when printed.

Print: This command button invokes the Print dialog box.

Setup: This command button invokes the Print Setup dialog box.

Properties: This command button invokes the Schematic Properties dialog box which lets you edit the colors of the schematic and the contents of the title block.

Help: This command button invokes the Print Preview help topic.

Schematic Scale

Auto: This option adjusts the scale so that the largest page in the schematic will just fit on the chosen paper size. All other pages use this scale. If Auto is clicked, Auto_Scale shows the scale value used. The same result is achieved by clicking on the User button and typing the same number in the User_Scale data field.

User: This button enables the User_Scale value. A scale of 100 is normal size. The User_Scale data field holds the scale. A change in scale takes effect only when the Apply button is pressed.

In a multiple page printout, the scale factor will be determined by the page that is scaled the least. All of the pages will have the same scale factor.

Apply: After a change in the User text field, this option applies that change to the preview window.

Background: This prints the selected background color of the schematic. It's generally a bad idea on ink jet printers because of the large quantity of ink needed for the background saturates and warps the paper surface.

Black and White: This sets all of the circuit elements such as components, wires, and grid text to just use either black or white. Any graphic element or picture will still be grayscaled.

Gray Scale: For color printers, this will convert the schematic to a gray scale version for printing.

Ignore Disabled Items: This tells the program to skip printing disabled items.


Step Box dialog box

This dialog box allows you to step the selected region of your circuit in order to reproduce similar sections quickly.

There are three options that control the stepping results.

Times to step Horizontal: This field sets the number of times that the selected region will be stepped horizontally. When set to 0, no stepping occurs in the horizontal direction.

Times to step Vertical: This field sets the number of times that the selected region will be stepped vertically. When set to 0, no stepping occurs in the vertical direction.

If both of the above fields are set to nonzero numbers, the stepping will occur in both directions.

Copy Text: When enabled, this check box option will allow all grid text in the specified region to be stepped. If Text Increment is enabled in the Options\Circuit page of the Preferences dialog box, the grid text will be incremented.

OK: This command button steps the region using the specified options.

Cancel: This command button closes the Step Box dialog box without stepping the region.

Help: This command button invokes the Step Box help topic.


View page

This panel sets the grid width between bold grids for the user defined grid, the priority that will be used for shape groups, and the measurements that will be available for the voltage, current, and power schematic displays. It consists of the following:

User Grids: This field sets the number of grids that will be placed between bold grids for the user defined grid.

Graph Paper Grids: This field sets the size of the graph paper grid in terms of the number of internal grids.

Shape Group Priority: When a part is placed in a schematic, its SHAPEGROUP attribute is set to Default which tells Micro-Cap to select its shape from this list in the order specified. You can change the order (priority) by selecting a shape group and using the up/down icons to move it to a new position in the list. Multiple shapes can be defined for a single component. The shape groups provide a way of grouping together multiple components so they can use a common subset of the shapes defined. For example, the Euro shape group provides common European shapes for many of the components in the program. Main is the standard group which all components have a shape defined for. The shape groups and their corresponding shapes are defined within the Component Editor.

Schematic Display of Voltage, Current, and Power:

Calculate: This panels controls whether to calculate the RMS, average, and Peak values during an analysis. Because these calculations add about 10% to the run time, you should enable these flags only if you need the values. Once one or more of these options are enabled, a transient analysis must be run to be able to display the corresponding values on the schematic. The Device Voltages option enables the calculation of voltages and powers across devices. This does not apply to subcircuits or macros.

Default Display: This panels sets the default display to be used. Last shows the ending values and is always calculated. RMS, Average, and Peak show the ending RMS, average, and peak values for the run. Each of these values is calculated during the analysis run if the corresponding option in the Calculate section is enabled..The display can also be chosen through the VIP [image] toolbar button. This button will only be active if at least one of the options in the Calculate section is enabled.

Default: This retrieves the default settings from the Default Properties For New Circuits dialog box if in the standard Properties dialog box or the original program defaults if in the Default Properties dialog box.

Set Default: This sets the View page settings in the Default Properties For New Circuits dialog box with the settings that are currently specified. This button only appears in the standard Properties dialog box.


Clean Up dialog box

This dialog box lets you remove clutter by deleting many working files created by Micro-Cap but usually of secondary importance. The most common files that need frequent deleting are the numeric output files (*.TNO, *.ANO, and *.DNO) and the probe data files (*.TSA, *.ASA, and *.DSA). The dialog box consists of the following:

Group List: The list on the left displays the groups of files by extension that can be deleted through the clean up process. Selecting one or more of these groups will display the corresponding individual files in the File List to the right. CTRL and SHIFT may be used in conjunction with the mouse click to select multiple groups. When enabled, the check box next to each extension specifies that Micro-Cap is to automatically delete any files of this type when the program is exited.

File List: The list on the right displays all of the files that match the specifications of any group or groups that may be selected. Clicking on a file name will select or deselect it. CTRL and SHIFT may be used in conjunction with the mouse click to select multiple files.

Show All: When enabled, all file extensions available in the clean up process will be shown in the group list. When disabled, only extensions that currently have files of that type already present will be shown.

Select All: This command will select all files within all groups. If you would like to select all files within just a single group, select the file group from the group list. Click on the first file in the list. Press the SHIFT key down and click on the last file in the list.

Delete: This command deletes any selected files.

OK: This command closes the dialog box and saves and changes.

Cancel: This command closes the dialog box without saving any changes. Any files deleted while in the dialog box stay deleted.

Help: This command invokes the help topic for this dialog box.


Clipboard List

In addition to the standard clipboard, there is another private clipboard called the Clipboard List. This clipboard holds both normal and RTF grid text, text field text (like that in a text field or page), pictures from the standard clipboard, circuit fragments, and analysis limits. You can name the objects you store for later ease of recall. You might, for example, save favorite circuit fragments, like a differential amplifier stage, for later rapid use in your designs.

This dialog box lets you view, delete, or rename individual objects in the list.


Pin Name dialog box - constraints

This dialog box controls the pin names for the constraint.

Name: This text field defines the name of the pin.

OK: This closes the dialog box and saves any changes.

Cancel: This closes the dialog box without saving any changes.

Delete: This deletes the pin.

Help: This invokes the help topic for this dialog box.


Component Editor

The Component Editor

The Component Editor is used to manage the Component library. This library supplies the circuit components used in Micro-Cap schematics. It stores the name of each component, the shape it uses, the electrical definition, component text placement, and pin information. All components, from resistors to macros and subckts are linked to Micro-Cap using the Component Editor.

Tool Bar buttons:

New (Ctrl+N): This command creates a new Component library file with a single group. Its components are then available for use in schematics and shown in the Component menu and Component panel.

Open (Ctrl+O): This command loads an existing Micro-Cap library file. Its components are then available for use in schematics and are shown in the Component menu and Component panel.

Save (Ctrl+S): This command saves the open library file including any changes since it was opened.

Save As: This command saves the open library file including any changes since it was opened under a user-supplied name.

Revert (Ctrl+Alt+R): This command reloads the disk version of the library file overwriting any changes made since it was opened.

Merge: This command lets you merge a Component library file with the current Component library. It provides a dialog box to let you locate the external library file that you want to merge into the current library. Only unique components from the external library file are included. Components with duplicate names are not merged. If an incoming part uses a shape whose name isn't in the current Shape library, the shape is copied from the external shape library to the current Shape library. A '$' is added to the shape name.

Remove File: This lets you remove a file from the Component library list.

Import Wizard: This command invokes the Import Wizard dialog box that lets you import .Model and .Subckt models using the Import Wizard. It imports model and subckt-based parts from a text file en masse. It copies the model file to the library folder, adds the file name to the master index file, nom.lib, and makes the required entries in the Component library. It finds all of the model statements and subcircuits in the file and enters each as a new part using the model name. Part names already in the library are ignored. New parts are added using as a guide a part selected by the user from a list of parts whose pin names match the new part. New parts whose pins do not match existing parts are added with generic shapes and their memo fields are annotated to indicate that additional work is needed to complete them. Usually this involves picking a suitable shape and placing the appropriate pins on the shape. The Import wizard is optimized for automating the mass import of vendor-modeled parts.

Translate: This command converts and saves the Component library file into earlier Micro-Cap formats.

Parts List: This command invokes the Parts List dialog box. It creates a text file containing the part names from the currently selected group or from the entire library.

Add Part Wizard: This command invokes the Add Part Wizard dialog box that lets you add a single part to the Component Editor using the Add Part Wizard. It integrates all of the actions necessary to add a single part to the Micro-Cap libraries. Like the Import wizard, it copies the model file to the library folder, adds the file name to the master index file, nom.lib, and makes the required entries in the Component library. It differs from the Import wizard in that it handles a single part of any type rather than a mass import of models.

Add Part: This adds a new component entry if the item selected in the component selector window is any group name except the highest level name, the library name. The entry will be placed inside the group whose name is selected.

Add Group: This adds a new group if the item if the item selected in the Component selector window is on any group name. The group will be placed inside the group whose name is selected. If the current selection is a component name, this option is disabled, since you cannot add a group to a component.

Set Cost and Power: This option invokes the Set Cost and Power dialog box which lets you set the COST and POWER attributes for all parts of a particular definition. For example, you can set the COST attribute of all components in the library that are defined as NPN or RESISTOR. This only affects the initial attribute of the part when it is placed in a schematic.

Copy: This command copies the current component to the clipboard, awaiting a paste operation. This lets you enter components rapidly using copy, paste, and replace.

Paste: This command pastes the component from the clipboard to the slot before the currently selected component in the Component Selector. This lets you enter components rapidly using copy, paste, and replace.

Replace with Template: The command replaces the current component description with the one in the clipboard except for the part name which remains the same. This lets you edit components rapidly using copy, paste, and replace.

Delete: This command button will delete the component or group that is selected. If a file name is selected, this will only remove the file from the Component library, it does not delete the file from the drive.

Move Parts: This command invokes the Move Parts dialog box. This dialog box facilitates moving multiple parts from one part of the library to another.

Undo: This command undoes prior edits. It is a multistage undo for edits to the data fields. It does not undo part additions/deletions.

Redo: This command restores prior edits. It is a multistage redo for edits to the data fields. It does not redo part additions/deletions.

Find Component: This command finds components whose name, shape, definition, or memo fields match a specified text string.

Zoom-In: This command button will zoom in on the text placement and pin placement windows. It does not affect the shape size as seen on the schematic.

Zoom-Out: This command button will zoom out on the text placement and pin placement windows. It does not affect the shape size as seen on the schematic.

Info: This command loads and displays relevant model information for the part, usually a subckt listing or a model statement.

Sort: This command invokes the Sort dialog box. It lets you sort the parts and/or groups alphabetically.

Clear Palettes: This command clears all of the components from all of the Component palettes by setting the Palette setting to None for all components.

Help: This command button will invoke the Component Editor topic in the Help menu.

Component Selector: The window on the right contains a hierarchical list of all of the components in Micro-Cap The list is set up in the same order as the component menu. Double clicking on a group name will toggle that group open or closed or click on the + or - square next to the group name. A single click on a component will display all of the attributes of that component. Dragging on a component will move that component to a different spot in the group or to a different group altogether. Its new spot will be right above the spot where the left mouse button is released. To drop a component into another group, drag the mouse over a component within the group or the + or - square next to the group name.

Name: This text box contains the name of the selected component. The name may be edited by clicking in the text box. This is the same name shown in the Component menu. The name must be unique to the Component library.

Group: This text box will appear in the same spot as the Name text box if a group is currently selected. The box will show the name of the group. The name may be edited by clicking in the text box.

Shape: This is the shape group and name. The Group Name list on the left shows the available group names. The Shape Name list on the right shows the available shape names. You can edit the group / name associations from the <Edit List> item at the top of the Group Name list. Selecting this item invokes the Shape Group - Name dialog box . A component may have multiple shapes assigned to it. The Group Name lets a shape of a component be grouped with other parts that would have a similar grouping. For example, the Group Name "Euro" defines common European shapes for many devices. In the View page of the Properties dialog box, the priority of the Group Names can be set so that a shape that is using the default settings would draw it from the group with the highest priority that contains a valid shape for the part. Individual components with multiple shapes can have their shape assigned by editing the SHAPEGROUP attribute in the Attribute dialog box.

Definition: This drop down list contains the electrical analog definition or digital definition of the selected component. It implicitly defines the mathematical model to be used. It does not specify the numeric parameters. These come from a model library or a model statement name in the Attribute dialog box when the component is added to a circuit. Clicking on the drop down arrow will call a scrollable list of all possible definitions that may be chosen. To choose a definition, select one with the left mouse button.

Type: This field is only available if Subckt is chosen as a definition. Nearly all subcircuits will be defined as Standard. Only parts that are designed to derive their models from an IBIS (.IBS) file would use one of the other options. IBIS Input defines an IBIS input model with internal power supplies that are derived from the IBIS file. IBIS Input with Supplies defines an IBIS input model with external power supply pins. IBIS Output defines an IBIS output model with internal power supplies that are derived from the IBIS file. IBIS Output with Supplies defines an IBIS output model with external power supply pins. The Type controls which models are available in the IBIS Translator dialog box that is invoked when one of these parts are placed in the schematic.

Cost: This optional field is used in the Bill of Materials report where it is listed individually and included in the circuit totals. It defines the cost of a single component.

Power: This optional field is used in the Bill of Materials report where it is listed individually and included in the circuit totals. It defines the power of the component.

Palette: This drop down list is used to select a component palette for the selected component. The component palettes can be invoked onto the drawing page of a schematic and are designed to provide easy access for frequently used components. Clicking on the drop down arrow gives the options None and the names of the nine available palettes. These ten options set which palette the component will be placed onto. There is no limit for the amount of components that can be placed on a palette, but a specific component may only be placed on one palette.

Memo: This field may be used for any desired documentation purpose. It is mainly used to describe the function of the component.

Link: This field provides space for a link to an internet URL, or a local document or executable file. To use the link, double-click on the part in the schematic to invoke the Attribute dialog box, then click on the File Link text. You can also single-click on the part while in Link mode [image] to invoke the link. The Test button will test accessing any defined link.

View: This controls what the Shape display shows:

Pins: This shows the pin names.

Attribute Text Orientation 1: There are eight basic combinations of rotation and reflection but only two text orientations are needed. Orientation 1 is used for rotations that are equivalent to 0 degrees. As with other cases, this controls only the initial placement of attribute text.

Attribute Text Orientation 2: Orientation 2 is used for rotations that are equivalent to 90 degrees.

Assign Component Name to MODEL (or NAME , or File, or others): This automatically assigns the component name to the MODEL or NAME attribute when the component is added to a schematic. This bypasses the Attribute dialog box, simplifying the process of adding components. This option is enabled on all Analog Library and Digital Library parts and is disabled on all Analog Primitive and Digital Primitive parts.

Display PART Attribute, Display VALUE Attribute, Display MODEL Attribute, etc.: These options set the display flag for the attributes. They control the initial display only, when the part is first placed. Afterwards, display is controlled by toggling the appropriate display flag in the Attribute dialog box.

Display Macro Parameter Names and Values: This option sets the Show flag for the Value and Name text for each macro parameter. A macro with this option set will show the name and value of all parameters when placed in a schematic. The Show flags can, of course, be individually toggled on or off after placement.

Display Pin Names and Display Pin Numbers: These options set the initial display flag for showing pin names and package pin numbers. These flags can be individually changed on the part when it is placed in a schematic. Pin names are normally shown for complex LSI parts, but not shown for simpler components, such as diodes and transistors, since their shapes adequately identify the pin names. It is easy to identify the base lead of an NPN, but not so easy to identify pin names on a complex linear part. Pin number display is mostly used to facilitate PCB work. Pin Numbers will only show on the schematic if the part has a Package assigned to it in the Package Editor and the PACKAGE attribute has been defined.

Total Components: This text line displays the amount of components that are contained in the Component library in all files.

Shape/pin display: This display shows the shape and its pins. Placing named pins on the shape associates specific shape locations with electrically, subcircuit, or macro defined pin names. When you add a basic component, like an NPN transistor, pin names automatically appear and need only be dragged to suitable locations on the shape. Pins and their names may be independently located on the shape by dragging the pin dot or the pin name.

However, subcircuits and macros, logic expressions, pin delays, and constraints all have user defined pins. To place a pin, click in the window to call the Pin Name dialog box. In this dialog box, you must specify the pin name and whether the pin type is analog or digital. To edit or delete a pin, double click on the pin or pin name. The Pin Name dialog box will again be called up, and the pin can then be subsequently edited or deleted. To move a pin name, click and drag with the left mouse button on the pin name. To move a pin, click and drag with the left mouse button on the pin, and the pin name will move along in accordance with the pin. In many of the electrical definitions, the pin names may not be altered or new pins may not be added. Some of the definitions will invoke additional text boxes where pin attributes must be entered. These additional boxes are as follows:

Input: The value in this text box defines the number of input pins. This text box will appear with such definitions as Nand, Or, And3, and PLOR.

Output: The value in this text box defines the number of output pins. This text box will appear with such definitions as PLAND and PLOR.

Pins: The values in this text box define the amount of types of pins with such definitions as LOGICEXP and PINDLY.

LOGICEXP: Pins(x,y) - x = number of input pins, y = number of output pins.

PINDLY: Pins(x,y,z) - x = number of paths, y = number of enables, z = number of references.

Width: The value in this text box defines the number of pins for a stimulus generator.

Hidden pins are assigned to a fixed named node in the schematic and are never displayed. This type of pin is occasionally used to simplify the process of wiring up power pins.

If either of the Attribute Text Orientation buttons are selected, then this display shows the shape and the location where the attribute text will initially be placed. The initial attribute text location is specified by dragging the generic text block to the desired location relative to the shape in the two basic orientations. This only affects the initial location when the part is first placed in a schematic. Thereafter, attribute text can be dragged to a new location.


Import Wizard dialog box - File

This dialog box defines the file that the models and subcircuits are to be imported from. The wizard is initiated from the [image] toolbar icon in the Component Editor. It consists of the following:

File: This text field defines the name of the file that is to have its models imported from. If the file is not within the Library path specified in the Paths dialog box under the File menu, a path must be specified.

Browse: This button lets you browse through folders to search for the library name to import.

Copy the above file to the library directory: If enabled, the selected file will be copied into the Library path specified in the Paths dialog box under the File menu. If disabled, when the file name is entered in the Nom.lib file, the path will also be specified.

Back: This command button is disabled.

Next: This command button takes you to the next Import step.

Cancel: This command button cancels the importation process and closes the dialog box.

Help: This command button invokes this help topic.


Import Wizard dialog box - Read In

This dialog box displays the results of the importation process. It consists of the following:

Part Status: This text field displays the results and summary of the importation process. It lists the individual parts added along with the template each one used. At the bottom is a summary stating how many parts were added, how many parts were skipped, and how many parts already existed in the library.

Back: This command button is disabled.

Finish: This command button closes the dialog box and adds the new parts to the Component library.

Cancel: This command button cancels the importation process and closes the dialog box.

Help: This command button invokes this help topic.


Import Wizard dialog box - Suffix

This dialog box appends an optional suffix to all subcircuit names within the file and saves the modified file to disk. Suffixes help to distinguish one vendor's components from another. The dialog box consists of:

Suffix to Append to SUBCKT names: This text field defines the suffix that is to be applied to all subcircuit names within the file. This is an optional field. If you don't wish to use a suffix, just click on the Next command button.

Append: This button will append the specified suffix to all subcircuit names within the file and save the modified file to disk. A summary of the results of this operation appear in the text field in the middle of the dialog box.

Back: This command button takes you back to the previous step.

Next: This command button takes you to the next Import step.

Cancel: This command button cancels the importation process and closes the dialog box. Any suffixes added to the file are not undone when using the Cancel button.

Help: This command button invokes this help topic.


Pin Name dialog box - logic expressions

This dialog box controls the pin names and pin types for logic expressions.

Name: This text field defines the name of the pin.

Input: This option defines the pin as an input pin.

Output: This option defines the pin as an output pin.

OK: This closes the dialog box and saves any changes.

Cancel: This closes the dialog box without saving any changes.

Delete: This deletes the pin.

Help: This invokes the help topic for this dialog box.


Pin Name dialog box - subcircuits and macros

This dialog box controls the pin names and pin types for subcircuit and macro components.

Name: This text field defines the name of the pin.

Analog: This option defines the pin as an analog pin.

Digital: This option defines the pin as a digital pin.

Hidden pin: If enabled, this checkbox defines the pin as hidden. A pin that is hidden will not be shown on the schematic. It may only be connected on the schematic by placing text on a node that matches the text in the Connect pin to node text field. For example, if you hid a power pin for an opamp that you connected to VCC, you would need to have a node called VCC in your schematic to supply that power. The hidden pin would automatically be connected to a node called VCC. A hidden pin may be either analog or digital. It is displayed in the Component Editor by an open circle.

Connect pin to node: This text field, which is only available when the Hidden pin checkbox is enabled, defines the name of the node that the hidden pin will be connected to when used in a schematic.

OK: This closes the dialog box and saves any changes.

Cancel: This closes the dialog box without saving any changes.

Delete: This deletes the pin.

Help: This invokes the help topic for this dialog box.


Move Parts dialog box

This dialog box facilitates moving multiple parts from one part of the library to another. It consists of the following:

From: This is a hierarchical list of all available group names. This list determines which group the selected components in the component library will be moved from. Double click on a group name or click on the + or - box to open or close a group.

Component List: The list displays the component name along with the memo description of all of the parts within the group selected in the From list. Click on the component name to select the part for movement. You can use the SHIFT or CTRL keys to select multiple parts.

To: This is a hierarchical list of all available group names. This list determines which group the selected components in the From list will be moved to. Double click on a group name or click on the + or - box to open or close a group.

Move: This command button moves the selected parts in the From list into the group selected in the To list.

Add Group: This command button adds a new group within the selected group in the To list.

Close: This closes the dialog box.

Help: This invokes the help topic for this dialog box.


Pin Name dialog box - pin delay paths

This dialog box controls the input and output pin names for a pin delay path.

Input: This text field defines the name of the input pin.

Output: This text field defines the name of the output pin.

OK: This closes the dialog box and saves any changes.

Cancel: This closes the dialog box without saving any changes.

Delete: This deletes the pin. This is only available if the pin has been called for editing.

Help: This invokes the help topic for this dialog box.


Pin Name dialog box - pin delay edit

This dialog box is invoked when double clicking on an enable or reference pin of a pin delay for editing.

Name: This text field defines the name of the pin.

Enable: This option defines the pin as an enable pin.

Reference: This option defines the pin as a reference pin.

OK: This closes the dialog box and saves any changes.

Cancel: This closes the dialog box without saving any changes.

Delete: This deletes the pin.

Help: This invokes the help topic for this dialog box.


Pin Name dialog box - pin delay

This dialog box controls the pin names and pin types for pin delays.

Name: This text field defines the name of the pin. This only appears when the Enable or Reference options are selected.

Input: This text field defines the input name of the path. It will only appear when the Path option is selected.

Output: This text field defines the output name of the path. It will only appear when the Path option is selected.

Path: This option defines a path through the pin delay and will produce two text fields for the Input name and the Output name.

Enable: This option defines the pin as an enable pin.

Reference: This option defines the pin as a reference pin.

OK: This closes the dialog box and saves any changes.

Cancel: This closes the dialog box without saving any changes.

Help: This invokes the help topic for this dialog box.


Set Cost and Power dialog box

This dialog box lets you set the COST and POWER attributes for all parts of a particular definition. For example, you can set the COST attribute of all components in the library that are defined as NPN or RESISTOR. This only affects the initial attribute of the part when it is placed in a schematic.

Cost: Enable the checkbox to update the initial Cost attribute for the specified components. Specify the new value in the field.

Power: Enable the checkbox to update the initial Power attribute for the specified components. Specify the new value in the field.

Set Only Zero Values: If enabled, only the values that are currently specified as 0 will be updated. Any other values will remain the same.

Definition: This list selects the type of components by definition that the cost and power will be updated for.

Set: This sets the cost and/or power with the specified value for the specified definition type.

Close: This closes the dialog box.

Help: This invokes the help topic for this dialog box.


Sort dialog box

This dialog box lets you sort the parts and/or groups alphabetically. It has the following options:

Sort By:

Alphanumeric: This sorts the parts in the standard alphanumeric format. In this case, the component HL100 would come before HL3 because in the third character 1 comes before 3..

Alphanumeric Plus: This sorts the parts in the alphanumeric plus format. The plus format tries to sort numerals better. In this case, HL3 would come before HL100 because it sorts 3 ahead of 100.

Sort What:

Local Group Only: This performs the sort only within the group that is currently selected.

Group And Children: This performs the sort within the group that is currently selected and any groups that are within the selected group.

Which:

Part Names: If enabled, all part names within the Sort What specifications will be sorted.

Group Names: If enabled, all group names within the Sort What specifications will be sorted.

OK: This command button performs the sort and closes the dialog box.

Cancel: This command button closes the dialog box without doing a sort.

Help: This command button invokes this help topic.


Color dialog box

This dialog box presents 64 colors that the selected text, component, wires, or graphical object may be changed to. To select a color, click on the desired color box. The top 16 colors are fixed Windows colors. The bottom 48 colors may be edited by going to the Color Palettes page of the Preferences dialog box.

OK: This command button changes the color of the selected item(s).

Cancel: This command button closes the Color dialog box without changing the color.

Apply: This command button accepts and stores the altered custom color. This is similar to the OK button but immediate.

Help: This command button invokes the Color help topic.


Fill Effects dialog box

This dialog box is used to select any effects that may be used within the fill of a graphical object in the Shape Editor. This dialog box is invoked upon selecting Fill / Effects for an object in the Object Editor. It consists of the following options:

Picture: The fill of an object may be a picture file. Specifying an image file in this field uses that image as the fill of the specified object.

Fit to Size: This option scales the image to fit within the size of the object.

Tile: This option tiles the image within the object.

Center: This option centers the image within the object.

Patterns: This section contains a selection of fixed patterns that may be used as the fill of the object. The Foreground and Background buttons specify the colors that will be used for the pattern.

Foreground: This command button selects the color of foreground objects (dots or lines).

Background: This command button selects the color of the background.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Help: This command button invokes the help topic for this dialog box.


Color Fill Picture dialog box (obsolete)

Color Fill Picture dialog box

Browse: This lets you browse for the name of the picture to be imported.

Fit to Size: This fits the imported image to the size of the outline box drawn by the user.

Tile: This tiles the imported image to fill the outline box drawn by the user.

Center: This centers the imported image in the outline box drawn by the user.

Revert to Original Size: This redraws the imported image at its original size.

OK: This closes the dialog box and retains any changes.

Cancel: This closes the dialog box and removes any changes.

Help: This invokes this help topic.


Border Effects dialog box (obsolete)

Border Effects dialog box

This dialog box is used to select any effects that may be used within the border of a graphical object in the Shape Editor. This dialog box is invoked upon selecting Border / Effects for an object in the Object Editor. It consists of the following options:

Weight: This option sets the width of the border in pixels.

Pattern: This option sets the pattern of the border.

Begin Style: This option sets the beginning style of a line object.

End Style: This option sets the end style of a line object.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Help: This command button invokes the help topic for this dialog box.


Add Part Wizard dialog box - Definition

This dialog box defines the electrical definition of the part to be added. The wizard is initiated by the [image] toolbar icon in the Component Editor. It consists of the following:

Definition: This list box contains a listing of all possible electrical definitions available in Micro-Cap. Most vendor supplied parts are subcircuits and will use the definition of Subckt, and this is the default selection. A subcircuit is in a model that is defined through a .SUBCKT statement. A .model statement will use one of many definitions, such as NPN or Diode. Any macros would be added with the definition of Macro.

Back: This command button goes back to the previous step.

Next: This command button advances the wizard to the next step.

Cancel: This command button cancels the Add Part process and closes the dialog box.

Help: This command button invokes this help topic.


Add Part Wizard dialog box - Display

This dialog box chooses the display properties of the attributes for the imported component. These display properties are used whenever a part is initially placed in a schematic. The dialog box consists of the following:

Display PART, NAME, MODEL, etc Attribute: These checkboxes set the initial display property of the corresponding attributes when a component is placed in a schematic. If the checkbox is enabled, the attribute value will be initially displayed in the schematic.

Display Pin Names: This sets the initial display property for the pin names. The pin names are the names given to the pins in the Component Editor.

Display Pin Numbers: This sets the initial display property for the pin numbers. The pin numbers are the numbers assigned to a component through the Package Editor. Not all components have a listing in the Package Editor.

Back: This command button goes back to the previous step.

Next: This command button advances the wizard to the next step.

Cancel: This command button cancels the Add Part process and closes the dialog box.

Help: This command button invokes this help topic.


Add Part Wizard dialog box - File

This dialog box defines the file that the model is in. It consists of the following:

File: This text field defines the name of the file that contains the part to be imported. If the file is not within the Library path specified in the Paths dialog box under the File menu, a path must be specified.

Browse: This button lets you browse through folders to search for the library name to import.

Copy the above file to the library directory: If enabled, the selected file will be copied into the Library path specified in the Paths dialog box under the File menu. If disabled, when the file name is entered in the Nom.lib file, the path will also be specified.

Back: This command button goes back to the previous step.

Next: This command button advances the wizard to the next step.

Cancel: This command button cancels the Add Part process and closes the dialog box.

Help: This command button invokes this help topic.


Add Part Wizard dialog box - Finish

This dialog box signals the completion of the Add Part Wizard. Click Finish to add the part to the library or Cancel to terminate the process. Once finished, review the component entry to make sure that the pins have been placed correctly on the part in the Component Editor.

Back: This command button goes back to the previous step.

Finish: This command button adds the part to the Component library and closes the wizard.

Cancel: This command button cancels the Add Part process and closes the dialog box.

Help: This command button invokes this help topic.


Add Part Wizard dialog box - Memo

This dialog box defines an optional memo for the part that is being imported. The memo is typically a description of the function of the part. It has no effect on the operation of the part. The dialog box consists of the following:

Memo: This field defines the text of the Memo field in the Component Editor. It is typically a description of the function of the part. This field is optional.

Back: This command button goes back to the previous step.

Next: This command button advances the wizard to the next step.

Cancel: This command button cancels the Add Part process and closes the dialog box.

Help: This command button invokes this help topic.


Add Part Wizard dialog box - Assign

This dialog box places the component name into the Name or Model attribute when the component is placed in the schematic. It consists of the following:

Assign Component Name to NAME: If enabled, this places the component name into the Name or Model attribute when the component is placed in the schematic. This option suppresses the Attribute dialog box when the component is initially placed because the electrical characteristics for the part have already been defined.

Back: This command button goes back to the previous step.

Next: This command button advances the wizard to the next step.

Cancel: This command button cancels the Add Part process and closes the dialog box.

Help: This command button invokes this help topic.


Add Part Wizard dialog box - Name

This dialog box defines the name of the component to be added. It consists of the following:

Name: This field defines the name of the component to be added. This name must match the name that is in the .model, .macro, or .subcircuit line. The list of available parts that match the previously defined definition within the file is shown below this field. The Name must be from this list. Click on an entry to place it in the Name field.

Back: This command button is disabled.

Next: This command button advances the wizard to the next step.

Cancel: This command button cancels the Add Part process and closes the dialog box.

Help: This command button invokes this help topic.


Add Part Wizard dialog box - Palette

This dialog box determines which, if any, palette the imported part will be assigned to. It consists of the following:

Select a Palette: This list box displays the available palettes. The component can only be added to one palette. Choose None to place it on none of the palettes.

Back: This command button goes back to the previous step.

Next: This command button advances the wizard to the next step.

Cancel: This command button cancels the Add Part process and closes the dialog box.

Help: This command button invokes this help topic.


Add Part Wizard dialog box - Shape

This dialog box assigns a shape to the component being imported. It consists of the following:

Select a shape: Micro-Cap will search through all of the existing components and look for components that match the definition, number of pins, and the names of the pins. It will list the shapes of any matches along with their corresponding component name and memo field. If no matches are found, all available shapes will be listed. To select a shape, click on its name under the Shape column. A preview of the component will be shown next to the list.

Show All: This button will display the names of all available shapes in the above list.

Back: This command button goes back to the previous step.

Next: This command button advances the wizard to the next step.

Cancel: This command button cancels the Add Part process and closes the dialog box.

Help: This command button invokes this help topic.


Choose A Template dialog box

When the subcircuits and models are read in from the file, Micro-Cap tries to match the subcircuit being read in to existing components in the file. A match is an existing subcircuit or model that has the same number of pins with the same pin names. If only one match is found, that match's information will be used for the imported subcircuit. If no matches are found, a generic shape is used. If multiple matches are found, this dialog box is invoked. It lets you choose which template to use for the component being imported. It consists of the following:

Name: This column lists the names of all subcircuits that match the subcircuit being imported. 'Unknown' is available if none of the listed parts are to be used and will place a generic template into the Component editor. Simply click on the name to select the part that is to be used as a template.

Shape: This column lists the corresponding shape used by the part in the Name field.

Memo: This column lists the corresponding memo of the part in the Name field.

OK: This uses the selected part as a template for the subcircuit being imported.

Cancel: This skips the import of the subcircuit. This does not affect any other subcircuits being imported.

Help: This invokes this help topic.


Color/Font page

Page: This is a list of all the pages in the schematic. You can control color / font of objects in each page separately.

Objects: This is a list of all objects whose color or font may be edited. To change the color or font of an object, simply highlight the object's name and then select one of the 64 colors in the Color section or edit the Font properties.

Color: This is a display of the 64 colors available in Micro-Cap. To change colors, simply click on one of the color boxes. The top 16 colors are fixed Windows colors, but the bottom 48 colors may be changed through the Color Palettes page in the Preferences dialog box.

Default: This sets the color and font properties for all of the objects to their default values.

Set Default: This sets the values in the Default Properties For New Circuits page to the values that are currently specified in this page. The settings for all objects will be copied over.

Font: This group lets you change the font of the selected object.

Size: This group lets you change the text size of the selected object.

Font Style: This group lets you change the text style of the selected object.

Effects: This group lets you change the text effects of the selected object.

Sample: This group shows a sample of the text using the currently selected font properties.

Select Style: Selecting a style from this list sets the font settings to the values assigned to that style. Styles can be added, edited, or deleted in the Style page of the Preferences dialog box.


Info Page

This controls what is included in the Info page.

Show Info Page: This controls whether the Info page is included or not.

Show Warnings: This includes warnings.

Show System Information: This includes system information like Key ID, RAM, operating system etc.

Show .PARAM/.DEFINE/.FUNC: This includes these statements.

Show .ARRAY: This includes .ARRAY statements

Show .MODEL: This includes .MODEL statements

Show .MEASURE: This includes .MEASURE statements

Show Macro/Subckt: This includes macro and subckt expansions.

Show 'Not Used' Items: This includes a list of unused items.

Show Component Counts: This includes a list of the type and number of components used.

Variablize Paths: This shows paths as the generic terms <DATA> and <LIBRARY>, where these stand for the paths specified in the File menu / Paths dialog box.

Don't Show Paths: This strips the paths from the file names in the Info page in order to simplify the display.

Simulation Log: This shows a log of the simulation events.


Spice Type page

This panel lets you set the type of SPICE format to be assumed by the circuit file when it reads SPICE material such as subcircuits. Some of the formats that Micro-Cap can accept such as PSpice and SPICE3 are not compatible with each other in some instances. This option lets you select which SPICE type that Micro-Cap will process the circuit with. The types available are:

SPICE 2G: This is the basic, original SPICE from Berkeley.

PSPICE: This is the PSPICE format. This is probably the most commonly used version for vendor models.

SPICE 3: This is the newer Berkeley SPICE, and may sometimes be used by some model suppliers.

HSPICE: This is the HSPICE format.

Micro-Cap Spice: This is the PSPICE format with a few extensions unique to Micro-Cap.

Ambiguous: This setting lets Micro-Cap decide which format will be used with that circuit. This is the default setting.

Not Spice: This should be used for any non-SPICE file.


Curve Fit dialog

This dialog box lets you choose the parameters to curve fit any plot on the screen.

Available Waveforms: This is a list of the plotted waveforms. You can choose a waveform to be fitted by moving it to the Selected Waveforms list (by pressing on the arrow icon).

Selected Waveforms: This is the list of waveforms to be fitted.

X Min: This is the starting X coordinate to use in the curve fit. If Auto is selected then the smallest X coordinate is used.

X Max: This is the ending X coordinate to use in the curve fit. If Auto is selected then the largest X coordinate is used.

Linear: This requests a linear equation fit.

Polynomial: This requests a polynomial equation fit. You can also specify the polynomial degree or let the program find the best fit by selecting Auto

Minimum Coefficient Ratio: This puts a limit on the coefficient ratios in the fitting process.

Minimum Error Improvement: This puts a limit on the degree of improvement required before the auto search stops.

Auto Place Text: This automatically places the equation text near the line.

Show Line Equation: This shows the equation text on the plot.

Show Error: This shows the RMS error in the equation fit.

Style: This access the Line dialog box . This controls how the curve-fit line appears.

Delete: This deletes the selected waveform in the Selected Waveforms list.

Format: This lets you select the numeric format of the line equation.

Default: This selects default settings for the options on this page.

OK: This button accepts the choices made and curve-fits the selected waveforms.

Cancel: This button closes the dialog box without curve-fitting.

Help: This button invokes the help topic.


Delete Page dialog box

This dialog box allows you to delete any pages that have been added to the schematic. At least one schematic page and text page must be retained.

Delete Page List: This list displays all of the pages that are available for deletion. If one or more macro sections are present in the schematic, the section name will appear in front of the page name in the list. Each section must have at least one schematic and one text page. All pages that are highlighted will be deleted when the OK command button is clicked. To select multiple items, you may use the CTRL+mouse click to select non-contiguous pages and SHIFT+mouse click to select contiguous pages.

OK: This command button deletes the specified pages.

Cancel: This command button closes the dialog box without deleting any pages.

Help: This command button invokes the Delete Page help topic.


Digital Path dialog box

This dialog box is accessed through three separate operations. The Digital Path dialog box displays a listing of all of the digital paths for the option selected. Running one of the path options with a gate that is specified with the min/max delay will use the maximum delay only.

Show All Paths: This operation lists all possible digital paths in the schematic. The paths will have either a Stim generator, a flip-flop, or a latch as its beginning.

Point to End Paths: Clicking the left mouse button on a digital component lists all of the digital paths that begin with the selected component.

Point to Point Paths: Clicking the left mouse button on two digital components lists all of the digital paths between those two components.

A path that is highlighted in the dialog box will be traced in the schematic in the color set by the Digital Path object in the Color/Font page of the Schematic Properties dialog box or set by the Color command button. The delay times are determined in two different ways. If the initial gate is a Stim generator, a flip-flop, or a latch, the LH or HL transition is assumed to have taken place at the output of the gate, and the initial gate's delay will not be taken into account. If the initial gate is a standard digital gate, a NAND, NOR, etc., the LH or HL transition is assumed to have taken place at the input of the gate, and the initial gate's delay will be counted.

No.: This column displays the number of the path, representative of its place in the Path dialog box.

Path: This column displays a listing of all of the gates that form the path. The gates will be listed by their part name.

LH-Delay: This column lists the delay time through the path assuming a LH transition at the initial gate. The actual transition pin, input or output, is determined as described above.

HL-Delay: This column lists the delay time through the path assuming a HL transition at the initial gate. The actual transition pin, input or output, is determined as described above.

Close: This command button closes the dialog box.

Color: This command button sets the color that the digital path will be traced in the schematic.

Print: This command button sends the information in the dialog box to the printer.

Help: This command button invokes the Path dialog box help topic.


Harmonic/Intermodulation Distortion Numeric Output page

This panel provides numeric output control for the distortion plot. You can include any variable in the numeric output regardless of whether it has been plotted or not. Simply put a check mark in the box adjacent to the variable name. To create the output click on the Create button. This creates the numeric output in a file whose default name is CIRCUITNAME.HDNO. Note that the numeric output for a distortion plot is distinct from the numeric output for the waveforms. You can generate both or neither.

File: This field specifies the file name that the numeric output file is to be written to. The Browse button lets you browse your system to select a file. Disabling the Auto checkbox lets you specify your own file name. When Auto is enabled, the file name will be CIRCUITNAME.HDNO.

Variables to Print: This list displays all of the variables that are available to print in the numeric output file. Place a checkmark next to all variables that are to be written. The Up and Down arrows control the order that the variables are printed in the file. The Check All button enables all variable checkboxes. The Clear All button clears all variable checkboxes.

Show:

Include Main Header: This prints the main header.

Include Analysis Limits: This adds the analysis limits.

Include Branch Headers: This adds branch headers that identify the item(s) being stepped or the Monte Carlo case number.

Include Waveform Headers: This prints identifying expression text above each numeric column.

Group by: This determines whether the output variables will be grouped by frequency or input voltage when they are written to the numeric output. This applies to Harmonic distortion only.

Format:

Scale Factor: This lets you specify an optional scale factor from the list (None, Auto, T, G, Meg, K, m, u, n, p, f).

Scale Units: This lets you specify optional units from the list (None, Auto, Seconds, Volts, Amps, Ohms, ...).

Format: This button controls the format of the selected output variable.

Use For All: This button sets all options in the Format section to every variable in the list.

Default: This sets the settings in the dialog box to their default values.

Create: This creates the numeric output file.

Auto Create: When enabled, the numeric output using the specified settings is automatically created whenever a simulation is run.


Fourier Plot page

This page accesses the main plot features of the Fourier window. It includes these items:

Curves: This lets you add / select the Fourier curves that the Title, Show, Plot Group, What To Plot, and Expression fields apply to. Existing curves may also be deleted in this section. The checkbox next to each curve enables or disables display of the selected curve.

Title: This selects the plot title. If Auto is enabled, the title will be automatically created with the expression of the initial curve.

Plot Group: This selects the plot group for the Fourier function.

What To Plot: This selects which of several operators to use. When one of these items is selected, the appropriate Fourier operator will be chosen by Micro-Cap to create the plot.

Reference Frequency: This specifies the reference frequency to use for THD, IHD, HARMN, and dB(HARMN). This frequency is used instead of the implied reference frequency of 1/(Upper Time Limit - Lower Time Limit).

Expression: This selects which of the plotted curves the Fourier functions will operate on. Only curves that have been plotted will be available.

Window: This selects a Fourier window function to apply to the selected waveform. Window functions are used to minimize edge distortion arising from noise or incomplete periodicity.


Password dialog box

Encript File dialog box

Passwords may be used to keep certain files from being viewed, printed, netlisted, or shown in a Bill of Materials.

Typically one protects 1) macro circuit files *.mac (containing schematic-form models) and 2) library text files *.lib (containing SPICE subcircuit models). These files may be protected by loading then and then selecting Encrypt / Decrypt... from the File menu. The models in the files may be used in circuits but cannot be viewed without supplying the password.

The Encript File dialog box is accessed through the Encrypt / Decrypt item under the File menu. It is used to save selected files with a user-defined password in an encrypted format. Thereafter, the file can only be opened for viewing / editing if the password is supplied. Protected files can be used as macros in other circuits without requiring the password. Use this option to protect proprietary circuit(*.cir), library(*.lib), or macro (*.mac) files that may contain sensitive material.

To decrypt a .lib file: Load the file. The program will display the file with the critical parts of any subcircuits encrypted. Invoke the Encrypt / Decrypt command. The program will ask for the password. When you supply the password the program will display and save to disk the decrypted file.

To decrypt a .mac or .cir file: Load the file and supply the password. The program displays the decrypted file. Use the Save command to save the file in standard format without encryption.

Enter a password: This fields defines the password that will need to be entered when attempting to load the selected files.

Re-enter the password: This field confirms the password to be set. It must match exactly with the other password field.

Files: This field defines the file(s) that are to be encrypted. Multiple files can be entered when they are separated with a semicolon. Any type of file may be protected including schematics (*.cir), macro files (*.mac), and library files (*.lib and *.lbr).

OK: This closes the dialog box and encrypts any specified files.

Cancel: This closes the dialog box without encrypting any files.

Help: This invokes the help topic for this dialog box.


Find dialog box (schematics)

This dialog box lets you search the schematic for certain elements. The operation will use the specified text string in the text box and narrow the search, through the choice of the Search On elements.

Search On: These options specify what type of element the search operation will be looking for.

Part Name: This option sets the search operation to look for a specified part name defined by the PART attribute of each component.

Node Name: This option sets the search operation to look for the specified node name.

Attribute Text: This option sets the search operation to look for a specific attribute value on a part in the schematic. All attributes will be checked. Examples are R1, 10u, or 2N2222.

Component Type: This option sets the search operation to look for a particular type of component. Examples are resistor or opamp.

Grid Text: This option sets the search operation to look for the specified grid text.

All: This option sets the search operation to look through all of the above elements to find the specified text.

Whole Word: This forces the search to match a whole word in the text field instead of returning partial matches.

Previous: This text field controls the string to be searched for. A list of previously searched for terms is displayed in the field below.

Current: This displays a list of all of the relevant terms that match the type of element specified in the Search On field. Clicking on an item in this list places it in the field to search for.

Find Next: This command button will conduct the find operation.

Close: This command button will close the Find dialog box without searching.

Help: This command button will invoke the Find help topic.

Replace with: This text field specifies the string that is to replace the string that is being searched for.

Replace: This button replace the search string with the Replace with string at the currently selected instance.

Replace All: This button replaces all instances of the search string with the Replace with string.


Find Model Parameter dialog box

This dialog box helps to locate parameter names and/or descriptions. Modern bipolar and MOSFET models have a great many model parameters. The Find command helps you locate them for editing or review. The find will dynamically generate a list of matches while text is typed into the search field.

Search field: This field specifies the string that will be searched for within the parameter name and parameter description.

Beginning of line: When enabled, the results list will only display matches where the string matches the beginning of the parameter name or parameter description.

Results list: This list displays all of the matches. It will show both the parameter name and description. Double click on an entry to go to that entry or select it and hit OK.

OK: This closes the dialog box and sets the cursor to the selected parameter.

Cancel: This closes the dialog box without moving to the selected parameter.

Help: This invokes the help topic for this dialog box.


Find Component dialog box

This dialog box lets you find a component through a number of search options. You then click on the name of the part you want and Micro-Cap sets the default part to the one you selected, a click away from adding the part to the schematic.

You can use the standard wild card characters '?' and '*' in the search. '?' stands for one unspecified character and '*' stands for one or more unspecified characters. An '*' is added to the end of your search string. For example, with the Name option specified in the Search Fields,

* Finds all part names in the entire library.

2N Finds all part names that begin with 2N.

1N?11 Finds all part names that have 1N, then any single character, then 11, then any number of characters.

The list of components will dynamically update as characters are entered. To select a component, use the cursor keys or click the mouse on one of the items and hit OK. Double clicking on the entry will also select the part and close the dialog box. To actually place the component, click the left mouse button in the schematic.

Search Fields: This determines the elements that will be searched to find the desired text string. The options are:

Name: This will search through the component names in the library.

Shape: This will search through the shapes that each component uses.

Definition: This will search through the electrical definitions of the components.

Memo: This will search through the memo fields of the components. The memo fields often give a small description of the component.

All: This will search through all of the above elements.

Text Field: This field contains the text that the search operation will look for.

Beginning of line: If enabled, this checkbox forces the search to match the text string in the text field to the beginning of the text in the search elements.

OK: This button closes the dialog box and sets the component that was highlighted in the list to the default component for placement in the schematic.

Cancel: This closes the dialog box without choosing a component.

Make File: This button creates a text file that contains the name and memo fields of all of the components that match the search criteria.

Help: This accesses the Find Component help topic.


Find in Files dialog box

This dialog box is used to search the disk for files The principal purpose of this command is to find a circuit whose name has been forgotten, but some small part of its content is still known (e.g. I remember I used a 2N4124 in it). You can search any kind of text file in any folder. It need not be a circuit file. The dialog box consists of the following:

Search Fields: This section determines what the search operation is looking for. All but the Text option are only applicable to Micro-Cap schematic files. The Text option can be used with any ASCII text file.

Text: This options sets the search method to find a string of text within the specified files.

Shape: This option looks for a specific shape within a schematic file.

Definition: This option looks for a component with the specified definition within a schematic such as subcircuit..

Component: This option looks for a specific component name within a schematic such as LM111.

Attribute: This option looks for any attribute text within a schematic that matches the specified string.

Find:

Text: This field specifies the string to be searched for in schematic files for all of the search fields but Definition.

Definition: This field specifies the component definition that the schematic files are to be searched for.

Look In: This field specifies the directory paths that the files to be searched are located in. Multiple paths may be specified with each one being separated by a semi-colon (;).

Look in subfolders: When enabled, the search operation also looks in any subdirectories that the paths in the Look In field may have.

File Types: This specifies the type of files that are to be searched. Wildcard characters may be used so that you can search for *.CIR or A*.TXT groups of files.

Results: This window displays the results of the search. Files can be loaded by clicking on them within the list.

Find: This initiates the search operation.

Stop: This stops the current search.

Close: This closes the dialog box.

Help: This invokes the help topic for this dialog box.


Find dialog box (text files)

This dialog box allows you to search for a specified text string in the file. All matches of the search string will be highlighted in the text file.

Find What: This text box contains the text string that is to be searched for. The search operation is not case sensitive. Clicking on the arrow invokes a list of previously searched strings.

Whole Word: This forces the search to match the string in the text field to an entire word instead of returning partial matches.

All Text Pages: When the text page is in a schematic text area, this option lets you search all text pages within the schematic.

Previous: Select the previous instance where the search matches.

Next: Select the next instance where the search matches.

Close: This command button will close the dialog box.

Help: This command button will invoke the Find help topic.


Filter Design page

This page lets you pick the filter type, specifications, and the response characteristic. Each time you change one of these selections the number of stages, the pole location, Q value, and, depending upon the response type, the zeros of each stage are calculated and shown in the Poles and Zeros display. You can edit the F0 (pole frequency), Q0 (Q value), and FN (zero frequency) values to change the shape of the response.

Type: This section lets you select one of the five basic types of filters: Low pass, High pass, Bandpass, Notch, and Delay. Delay is not available for passive filters.

Response: This section lets you select the mathematical approximation to the ideal filter using: Butterworth, Chebyshev, Bessel, Elliptic, and Inverse-Chebyshev. Only Butterworth, Chebyshev, and Elliptic are available for passive filters.

Different responses provide different design trade-offs. Butterworth filters require much more circuitry for a given specification, but have a flatter time delay response. Chebyshev and inverse-Chebyshev responses require fewer stages, but have a more pronounced time delay variation. Elliptic responses require the fewest number of stages, but generate the greatest delay variation. Bessel filters are low pass filters with a very flat time delay curve and are really suitable only for delay types. The number of stages to implement the current design is shown to the right of each response.

Specifications: This is where you enter the numerical specifications of the filter. There are two ways to specify a filter, Mode 1 and Mode 2. In Mode 1, you specify the functional characteristics of the filter, like passband gain, cutoff frequency, stop frequency, and attenuation. You specify what you want and the program figures out the number of stages required to achieve it, using the specified response approximation. Mode 2, on the other hand, lets you directly specify the main design values and the number of stages directly.

Poles and Zeros: This section shows the numeric values of the poles, zeros, and Qs of the response polynomial. It essentially shows the mathematical design of the filter. When you make a change to the Type, Response, or Specifications fields, the program redesigns the polynomial coefficients and updates the numbers in this section. If one of the Bode, Step or Impulse buttons has been clicked, the program also redraws the response plot. It may be a Bode plot with gain, phase, and group delay show, or it may be just a delay plot, depending upon the selections in the Options panel.

The plot is idealized because it is based on a standard polynomial formula for the selected response and the calculated or edited F0, Q0, and QN values. Its plot can only be achieved exactly with perfect components. The actual filter, made from real components, may behave differently. When the circuit is completed, you can run an analysis and see how well it fares. The actual circuit can be constructed from any opamp in the library ranging from ideal to ordinary and from a finite list of standard resistors and capacitors. Non-ideal OPAMPs and approximate component values can have a big effect on the response curves.

You can edit the values, to see their effect on the plot. You can even create your filter with modified values. Though this will not produce an ideal filter, the circuit created will approximate the plot shown. Note that editing any item in the Type, Response, or Specifications areas will cause the program to recalculate the values in the Poles and Zeros section, overwriting your edits.


Active Filter Implementation page

This page lets you decide how to build or implement the filter design. It has several major sections:

Stage Values: This section lets you specify, stage by stage, the type of circuitry to use and the gain to allocate to each stage. It even lets you edit the poles, Q's, and zeros, by stage. You can swap the pole/Q sets with other stages by clicking in the F0 or Q0 fields with the right mouse button. A pop-up menu lets you select another row to interchange F0/Q sets with. Why would you want to? You may want to optimize signal swing and noise sensitivity. Some circuit implementations can handle larger swings and are less noise sensitive. The zeros are fixed and can't be swapped.

To change the stage, click the left mouse button in the Circuit column at the row where you wish to change the stage. This will display a list of the available circuit implementations for the selected filter type and response. This list will have a maximum of eight circuits, but may have as little as three circuits, since not all circuits types can realize the requisite transfer function.

When the filter circuit is created, the stages are added and numbered from one on the left to N on the right. The input is always on the left and the output or last stage is always on the right.

Same Circuit for Each Stage: This option forces all stages to use the same circuit. When disabled, you can specify different circuits for each stage.

Impedance Scale Factor: This option lets you specify a scale factor to apply to all passive component values. The factor multiplies all resistor values and divides all capacitor values. It does not change the shape of the response curve, but shifts component values to more suitable or practical values.

Opamp Model to Use: By default, the model is set to $IDEAL. This model is a voltage controlled current source with a small output resistance. It has a very large gain, infinite bandwidth, and no leakage. Its main purpose is to demonstrate how the filter will behave with a nearly perfect device. You can select a different model from the list. It contains hundreds of popular OPAMP models. Vendor supplied OPAMP subcircuit models are not included in the list.

Resistor Values: This option determines how resistor values are chosen. You can choose to create the circuit using the exact computed values, or single values or series / parallel combinations of values chosen from a list of standard parts. There are several lists of standard parts, and you can add to them or make new lists for special requirements. See the section on Component lists.

Capacitor Values: This option lets you decide how the capacitor values will be determined. It works as described in the Resistor Values section.

Preferences Combinations: This button lets you select options for Single Part and Combinations, including the standard part files to use.

Odd Low Pass Stage: This option lets you select the last stage to use for low pass filters. There are several different kinds. LODD1.CIR is a simple RC filter. LODD2.CIR is an RC filter, buffered with a non-inverting unity-gain amplifier. LODD3.CIR is an RC filter, buffered with an inverting unity-gain amplifier.

Odd High Pass Stage: This option lets you select the last stage to use for high pass filters. There are three choices. HODD1.CIR is a simple RC filter. HODD2.CIR is an RC filter, buffered with a non-inverting unity-gain amplifier. HODD3.CIR is an RC filter, buffered with an inverting unity-gain amplifier.

Gain Adjust Stage: This option lets you select the stage to use when a gain adjustment is required. There are two choices. NULL adds no stage, which means the gain specification will be ignored. GADJ is a simple inverting amplifier.


Filters Options page

This page lets you set several options. It consists of:

Component Value Format: This option lets you select whether the component values are to be specified in scientific, engineering, decimal, or default notation. You can also set the number of digits to use when specifying the value. These choices are mainly cosmetic, but for very high order filters, increasing the number of digits from the default of 5 is necessary to get an exactly correct Bode plot.

Polynomial Format: This option lets you select whether the polynomial coefficient values are to be specified in scientific, engineering, decimal, or default notation. It works the same way as the component values format. The polynomial values are used to define the transfer functions, LP, HP, BP, and BR. These functions are used in AC analysis to plot the ideal transfer function alongside the actual filter transfer function for comparison.

Plot: This option lets you select what to plot. You can select gain, phase, group delay, and separate plots or grouped plots.

This option affects two things.

First, it affects the plot displayed when the Bode button in the lower part of the dialog box is clicked. This plot is simply a graph of the ideal complex frequency transfer function. It shows you how the circuit would perform if built from ideal components.

Second, if the Save To/New Circuit option is selected, it changes the AC analysis setup when the circuit is created. It sets up the analysis plot expressions so that you need only select AC analysis and press F2 to see an actual analysis of both the circuit and the ideal transfer function, plotting the variables selected under the Plot option.

Auto Scale will autoscale the plots each time a filter characteristic is changed otherwise the same ranges will be used when the plot is recalculated.

Number of Data Points

You can also set the number of data points to be calculated in the plot by editing this field. The internal plot and the AC analysis plot both use fixed log frequency steps rather than auto. This field determines how many data points will be plotted. The default of 500 is usually sufficient, but for very high order filters, you may need to increase the number of points to retain fidelity near steep band edges.

Show Circuit: This option displays the circuit that will be created when the OK button is behind the dialog box so that you can view it without actually creating the circuit.

Save To: This option lets you select where the filter is placed.

New Circuit: In this option, the filter is placed in a new circuit.

Current Circuit: In this option, the filter is placed in the currently selected circuit.

Create: This option lets you select how the filter is created.

Circuit: In this option the filter is created and placed into either a new circuit or the current circuit.

Macro: In this option the filter is created as a macro and placed into either a new or current circuit. The macro consists of a number of stages as in the Circuit option, except that they are contained in a macro circuit which is stored on disk. The macro component is entered into the Filters section of the currently loaded component library and is available for use by other circuits.

Text: This lets you decide whether to include several optional pieces of text

Show Title: This is a self-documenting block of text formed as a title. It identifies the main specifications of the filter.

Show Polynomial: The polynomial functions that comprise the design are available in a series of .DEFINE statements that can optionally be included with the circuit. This is sometimes handy as a reference. The polynomial function is a symbolic variable and can be plotted versus frequency as a standard against which the actual circuit output can be compared. The names of the polynomials are as follows:

Type Symbolic Polynomial Name

Low Pass LP

High Pass HP

Bandpass BP

Notch BR

Delay LP


Passive Filter Implementation page

This page lets you decide how to build or implement the filter design. It has several major sections:

Circuit: This section lets you specify whether to use the standard LC passive circuit, or its dual circuit.

Resistor Values: This option determines how resistor values are chosen. You can choose to create the circuit using the exact computed values, or single values or series / parallel combinations of values chosen from a list of standard parts. There are several lists of standard parts, and you can add to them or make new lists for special requirements. See the section on Component lists. These choices are used only for the source and load resistors.

Capacitor Values: This section lets you specify whether to use exact capacitor values or to select them from a specified file. It works as described in the Resistor Values section.

Inductor Values: This section lets you specify whether to use exact inductor values or to select them from a specified file. It works as described in the Resistor Values section.

Preferences Combinations: This button lets you select options for Single Part and Combinations, including the standard part files to use.

Impedance Scale Factor: This option lets you specify a scale factor to apply to all passive component values. The factor multiplies all resistor and inductor values and divides all capacitor values. It does not change the shape of the response curve, but is used to shift component values to more suitable or practical values.

Source/Load Resistor: This option lets you specify the desired source and load resistor value. If the Exact option is selected, this value, after multiplication by the impedance scale factor, will be used for the source and load resistors in the final circuit. If the Exact option is not checked and a resistor file (*.res) is selected, the value in the resistor file nearest the desired value will be used instead.


Font page

This page lets you select the font, style, size, and effects for the text used.

Font: This controls the type of font used. The Windows operating system controls the types of fonts that are available. In some case, only true type fonts will be available for use.

Size: This controls the size of the font used.

Font Style: This controls the style of the font that is used. Typical styles are bold and italic.

Effects: This controls the effects used on the text. Underline and Strikeout are available.

Sample: This displays a sample of the text defined by the above four selections.

OK: This closes the dialog box and saves any changes.

Cancel: This closes the dialog box without saving any changes.

Apply: This temporarly applies any changes so you can see the effect.

Help: This accesses the help topic.


Smoke Color / Font Page

• Color / Font: This tab controls the various color values:

Objects: This lets you select an object and then see or edit its color and font properties. The objects include Fail, Grid, Marginal, Non-valid, Pass, Text, and Window Background..


Colors, Fonts, and Lines page

This page controls the colors of the windows, the font properties of the window, and the line properties of the waveforms.

Objects: This list box lets you select the object that the other commands (color, font, lines) apply to. These include the general text (axis scales, cursor tables, and waveform name), grid, analysis plot background, window background, selected objects, select box, initial objects, waveform plots. The initial object specifies the initial properties of analysis text, graphical objects, and numeric tags when they are first placed in the window. The properties of these objects can be changed after they are added by double clicking on them when in select mode.

Varied (Color): This group whose name changes to reflect the selected object, lets you change the object's color.

Curve Line: This group lets you change the color, width, and pattern of the object. The Rainbow option assigns a spectrum of colors to each branch of a stepped waveform. The Rainbow option is not available for performance plots.

Width: This sets the width of the curve or line.

Pattern: This sets the pattern of the curve or line.

Point: This specifies the marker that will be used when the data points are displayed.

Style: This specifies whether the waveform will be displayed in the normal, popsicle, or data only style. Normal connects two successive data points with lines, popsicle draws a line to the data point from the zero level, and data only simply marks the actual data points calculated.

Rainbow: This enables a spectrum of colors to be used for a waveform when it is being stepped.

Font: This group lets you change the font of the selected object.

Size: This group lets you change the font size of the selected object.

Font Style: This group lets you change the font style of the selected object.

Effects: This group lets you change the font effects of the selected object.

Style: This list box lets you select a style which will set all the font characteristics.

Sample: This window displays a sample of the selected object using the properties currently selected on the page.

Plot Tag Format: This sets the initial format of the plot tags for an analysis.

Formula Text Format: This sets the format for any formula text that is to be used in an analysis plot.

Default: This button copies the current set of default parameters/options to the panel, overwriting any changes you have made.

Set Default: This button makes the current set of parameters/options the standard defaults for the panel. This alters the standard defaults for this panel only but it does so for all future uses of the Default button and for all newly created circuits as well, so use it carefully. This button only appears when in the standard Properties dialog box.


Default Scales and Formats page

This page lets you specify the numeric format for the Numeric Output, plot scales, Cursor mode tables, Optimizer values, and Watch values. It allows selection of Same Y Scales for separate plot groups and lets you select the method for measuring slope: normal, dB/octave, and dB/decade. The latter two are more appropriate to certain AC measurements.

X: This group includes:

Scale Factor: This lets you apply a scale factor. Under Auto, Micro-Cap picks a suitable scale factor from the list (T,G,Meg,K,m,u,n,p,f).

Scale Units: This lets you add units (Volts, Amps, etc,) to the plot. If Auto is selected, Micro-Cap will attempt to guess what the units should be from the plot expression.

Scale Format: This is the numeric format used to print the X axis scale. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Cursor Format: This numeric format is used to print the plot's X value in the table below the plot when in Cursor mode and in the tracker boxes. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Auto / Static Grids: This specifies the number of grids to use when auto scaling or when the Static Grid option is enabled. Static grids are the old-style fixed grids used in MC6.

Enable Scaling: This option enables auto scaling in the X or Y direction. To autoscale in the Y direction only, disable this option in the X panel, and vice versa.

Y: This group provides a similar set of commands for the Y axis group.

Optimizer: This group includes:

Values Format: This numeric format is used when producing the output results of the optimizer. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Watch: This group includes:

Values Format: This numeric format is used when displaying a variable through the Watch window. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Same Y Scales for Each Plot Group: Enabling this checkbox forces the plot to use a single Y scale for each graph group. If disabled, a separate Y scale will be used for each waveform that has a separate range.

Static Grids: Enabling this checkbox sets the X and Y grids to a static location within the plot window. The grids will be fixed on the screen even when panning or resizing the waveforms. The Grid Spacing and Bold Grid Spacing fields will have no effect.

Keep X Scales the Same: If enabled, this option keeps the X scales of different plot groups the same.

Slope Calculation: This list box lets you select the Normal, dB/Octave, or dB/Decade method of calculating slopes when in Cursor mode. The latter two are only effective in AC analysis when the X expression is F and the Y expression is dB(expression). These two will not work in any other situation.

Save Range Edits: This flag copies Range changes to the Analysis Limits dialog box Range fields.

Default: This reverts all of the settings in this page to the default settings.


Default Numeric Output page

This panel lets you control the default content of numeric output files (*.TNO, *.ANO, and *.DNO).

Show: This group controls what is to be included in the printout.

Include Numeric Output: This enables creation of the numeric output file. The other options control content of the file.

Include Main Header: This adds the header information defined in the Header page of the Properties dialog box.

Include Analysis Limits: This adds the analysis limits.

Include Branch Header: This adds the header for each branch of the simulation such as the temperature, stepped variable, and Monte Carlo case.

Include Model Parameters: This prints model parameters.

Include Zero Parameters: This enables the printing of zero-valued parameters.

Include Undefined Parameters: This prints undefined model parameters using their default values.

Include Operating Point Values: This controls the printing of the operating point data to the file.

Include Noise: This adds individual part noise values when running a noise analysis in AC analysis.

Include Measurement Values: This adds the contents of the Measurements window which includes .measure and performance function values.

Include Waveform Values: This controls the printing of all waveform values to the file. The numeric output icon [image], adjacent to the waveform expression in the analysis limits, must also be enabled for printing to occur.

Include Waveform Headers: This adds the expression headers to the waveform value columns.

Allow Duplicate Y Expressions: When enabled, Y expressions that use duplicate expressions will be printed to the numeric output. When disabled, any duplicate expressions will not be printed to the numeric output.

Begin Printing At: This sets the starting point of the printout (time in transient, frequency in AC),

End Printing At: This sets the ending point of the printout (time in transient, frequency in AC),

Table Formats: This controls how the numeric output curve / waveform tables will be arranged. Horizontal is the conventional format, with column vectors arrayed horizontally. Vertical arranges one column of the analysis variable (time, frequency, or DCINPUT1) followed sequentially by single column vectors, one for each output. Vertical X,Y Alternate is the same but with an extra analysis variable column inserted between each output vector. Finally Vertical X,Y Pairs produces column pairs consisting of the analysis variable and one output. The pairs are arranged vertically, one after the other.

Curves: This group sets the waveforms or curves to be printed and their format.

Alias: This lets you define an alias for the curves.

Data Points: This selects either actual data points used by the simulator or interpolated at regular intervals.

Check All: This includes all curves in the numeric output.

Clear All: This excludes all curves from the numeric output.

Hide Non-selected: This hides non-selected curves.

Curves X: This controls the format of the X values of the selected waveform / curve ( typically T in transient, F in AC).

Curves Y: This controls the format of the Y values of the waveform / curve.

Use Common Formats: This causes all outputs to use the format with the greatest precision.

Other Output Values: This sets the format of everything except the values of the waveforms / curves.

Default: This button copies the current set of default parameters/options to the panel, overwriting any changes you have made.

Set Default: This button makes the current settings the default settings.


Scales and Format page

This page accesses the numeric format features of the analysis plot. Its layout and function are the same for all plots. To edit a curve format, select it from the Curves list. Any changes to a curve will affect all curves in its graph group.

Curves: This list box lets you select the curve that the other fields apply to.

X: This group includes:

Range Low: This is the low value of the X range used to plot the selected curve

Range High: This is the high value of the X range used to plot the selected curve

Grid Spacing: This is the distance between X grids.

Bold Grid Spacing: This is the distance between bold X grids.

Scale Factor: This lets you specify an optional X scale factor from the list (None, Auto, T, G, Meg, K, m, u, n, p, f).

Scale Units: This lets you specify optional X axis units from the list (None, Auto, Seconds, Volts, Amps, Ohms, ...). Auto can select suitable units for simple expressions such as S for Time, but complex expressions such as T+10 are ignored.

Scale Format: This is the numeric format used to print the X axis scale. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Cursor Format: This numeric format is used to print the plot's X value in the table below the plot when in Cursor mode and in the tracker boxes. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Auto Scale: If enabled, this autoscales the Range Low and Range High fields. The effect can be seen by clicking the Apply button.

Log: If enabled, this sets the X axis to a log scale.

Auto/Static Grids: This is the number of X axis grids to use when auto scaling or Static Grids are used.

Enable Scaling: When this item is checked, all immediate action X axis scaling and panning commands (F6, CTRL + +, CTRL + -,mouse drag) are enabled.

Y: This group provides a similar set of commands for the Y axis group.

Static Grids: Enabling this checkbox sets the X and Y grids to a static location within the plot window. The grids will be fixed on the screen even when panning or resizing the waveforms. The Grid Spacing and Bold Grid Spacing fields will have no effect.

Keep X Scales the Same: This option forces all horizontal scales using the same X expression to be the same. In other words, drag scaling or panning in plot group 1 will change the horizontal scale in all plot groups that have the same X expression. This option is convenient when you want separate plot groups but want the scales to remain the same.

Slope Calculation: This list box lets you select the Normal, dB/Octave, or dB/Decade method of calculating slopes when in Cursor mode. The latter two are only effective in AC analysis when the X expression is F and the Y expression is dB(expression). These two will not work in any other situation.

Same Y Scales for Each Plot Group: Enabling this check box forces the Auto Scale command to use a single common scale for all plots within a plot group. If the box is unchecked, the Auto Scale function will generate multiple scales for each plot in a plot group.

Save Range Edits: Enabling this checkbox causes any edits to the range fields to be copied to the appropriate range fields of the Analysis Limits dialog box, setting the ranges for future runs.

Use Common Formats: Clicking this button copies the X and Y formats of the selected curve to the format fields of all plots.

Common Y Scale: Clicking this button copies the Y range fields of the selected curve to the Y range fields of all curves that share the same plot group.

Smith Chart Scale Factor: This specifies the impedance scale factor for Smith charts. For normalized values, use a scale factor of 1.0.


Numeric Output page

Numeric output may be obtained for each curve by enabling the output button [image] in the curve row. Content is also controlled from the Numeric Output page of the Properties dialog box (F10). This page consists of the following:

Save As:

File Name: This is where you specify a file name for the numeric output text file.

Auto: This automatically creates a file name from the circuit name.

Curves:

Curve List: This list displays all of the Y expressions that are available for numeric output. Click in the checkbox to enable the associated waveform for numeric output.

Alias: This field provides a way to define an alias name for the waveform header in the numeric output. This is particularly useful if you want to substitute a short descriptive name for a long mathematical expression.

Up/Down Arrows: These two buttons change the order that the selected expression will be printed in the numeric output. The curves are printed in order from top to bottom in the curves list.

Data Points: There are two options:

Actual: This prints the actual data points used in the analysis.

Interpolated: This prints at data points interpolated from the actual data points. The number of data points used is set by the Number Of Points field in the Analysis Limits dialog box.

Check All: This enables all available expressions for numeric output.

Clear All: This disables all available expressions for numeric output.

Hide Non-selected: This hides unselected plots in the list.

X Format: This button controls the numeric format for the X values of the selected waveform.

Y Format: This button controls the numeric format for the Y values of the selected waveform.

Use Common Formats: This button sets the format for all curves to that of the selected waveform.

Show: This section allows selection of the other material to include in the numeric output file.

Include Numeric Output: This enables creation of the numeric output file. The other options control content of the file.

Include Main Header: This prints the main header.

Include Analysis Limits: This adds the analysis limits.

Include Branch Headers: This adds branch headers that identify the item(s) being stepped or the Monte Carlo case number.

Include Model Parameters: This prints model parameters.

Include Zero Parameters: This enables the printing of zero-valued parameters.

Include Undefined Parameters: This prints undefined model parameters using their default values.

Include Operating Point Values: This controls the printing of the operating point data to the file.

Include Noise: This controls the printing of the contribution of each device to the total noise at each frequency that a data point is calculated. It is only available in AC analysis when a noise simulation is run.

Include Measurement Values: This controls the printing of .measure and performance function values.

Include Waveform Values: This controls the printing of all waveform values to the file. The numeric output icon , adjacent to each waveform expression in the analysis limits, must also be enabled for printing to occur.

Include Waveform Headers: This prints identifying expression text above each numeric column.

Allow Duplicate Y Expressions: When enabled, Y expressions that use duplicate expressions will be printed to the numeric output. When disabled, any duplicate expressions will not be printed to the numeric output.

Begin Printing At: This specifies the time value at which printing of the waveform values begin.

End Printing At: This specifies the last time value at which waveform printing occurs.

Table Formats: This controls how the numeric output curve / waveform tables will be arranged. Horizontal is the conventional format, with column vectors shown horizontally. Vertical prints the time column, followed sequentially by single column vectors, one for each output. Vertical X,Y Alternate is the same but with an extra analysis variable column inserted between each output vector. Finally Vertical X,Y Pairs produces column pairs consisting of the analysis variable and one output. The pairs are arranged vertically.

Other Output Values: This button controls the numeric format for all non-waveform values such as the operating point values.

Default: This sets the Show settings to their default values.

Set Default: This button makes the current set of Show options the standard defaults for the panel. This alters the standard defaults for this panel only but it does so for all future uses of the Default button and for all newly created circuits as well, so use it carefully.


Header page

This page controls the header format for the numeric output, state variable printout, and the Monte Carlo statistics. The page consists of:

Left: This group lets you add text to the left side of the numeric output or Monte Carlo statistics file.

Center: This group lets you add text to the center of the numeric output or Monte Carlo statistics file.

Right: This group lets you add text to the right side of the numeric output or Monte Carlo statistics file.

In each case the following formats are available:

$MC Prints Micro-Cap

$User Prints user name

$Company Prints company name

$Analysis Prints analysis type (Transient, AC, DC)

$Name Prints circuit name

$Nameext Prints circuit name and extension

$Date Prints the date

$Time Prints the time

You can use these or any other text in the left, center, or right.

Delimiters: This group lets you select the delimiter that will be placed between items in the waveform tables of the numeric output and the columns of the state variable printout. The choices are Tab, Semicolon, Comma, Space, and Other.


Analysis Plot page

This page accesses the main plot features of the analysis window. It includes these items:

Curves: This is a list of waveforms that are present in the window. Highlighting one makes it available for plot or graph edits. The checkbox next to each plot determines whether the plot is displayed or not. If disabled, the plot is only hidden, the data is still available to redisplay the plot as needed.

Title: This field lets you specify what the plot title is to be. If the Auto button is checked, the title is automatically created from the circuit name and analysis run details. If the Auto button is disabled, the following variables are available for the Title field:

$MCCASE This prints the number of the Monte Carlo case that is currently running or that the cursor is on.

$CASE This prints the Monte Carlo case that is currently running in the format: 'Case=#'

$TEMPLOW This prints the value of the lowest temperature

$TEMPHIGH This prints the value of the highest temperature

$TEMPCURRENT This prints the temperature of the analysis that is currently running or that the cursor is on.

$TEMPERATURE This prints the temperature range in the format 'Temperature=<value>" or "Temperature=<value1>....<valuen>"

$STEPLOW# This prints the low value of the specified number parameter. For example, $STEPLOW1 will print the low for parameter 1.

$STEPHIGH# This prints the high value of the specified number parameter. For example, $STEPHIGH2 will print the high for parameter 2.

$STEPCURRENT# This prints the value of the specified number parameter that is currently running or that the cursor is on.

$STEPNAME# This prints the name of the specified number parameter. For example, $STEPNAME1 will print the name of parameter 1.

$STEPPING# This prints the range of the specified number parameter. For example if parameter one is a resistor named R1 being stepped from 50 to 100. $STEPPING1 will print 'R1=50..100'

$STEPPING This prints the name and range of all parameters being stepped.

You can also use .define statements in the title. For example, if you have a statement such as:

.define Title My Circuit

you can reference this in the title field by stating '$Title$'.

Many of the variables from the title block of the schematic are available such as: $MC, $DATE, $TIME, $USER, $COMPANY, $NAME, and $NAMEEXT.

Plot Group: This is the plot group for the plot. When more than one curve is plotted, these additional plots may be grouped together or plotted separately by using the same or a different graph number.

Plot Type: This field lets you specify the type of plot that is to be used. This is active only in AC analysis. The available types are Rectangular, Polar, and Smith Chart

Print Values: This field lets you specify how often the P key updates the screen values. The P key toggles on and off the printing to the analysis plot of the numeric values. It can be used to "sample" a slow moving simulation but leaving it on can slow down a simulation run. This features lets you adjust how many simulation pints to skip before printing the values.


Probe Scales and Formats page

This page accesses the numeric format features of the probe plot. Its layout and function are the same for all plots. To edit a curve format, select it from the Curves list. Any changes to a curve will affect all curves in its graph group.

Curves: This list box lets you select the curve that the other fields apply to.

X: This group includes:

Range Low: This is the low value of the X range used to plot the selected curve

Range High: This is the high value of the X range used to plot the selected curve

Grid Spacing: This is the distance between X grids.

Bold Grid Spacing: This is the distance between bold X grids.

Scale Factor: This lets you specify an optional X scale factor from the list (None, Auto, T, G, Meg, K, m, u, n, p, f).

Scale Units: This lets you specify optional X axis units from the list (None, Auto, Seconds, Volts, Amps, Ohms, ...). Auto can select suitable units for simple expressions such as S for Time, but complex expressions such as T+10 are ignored.

Scale Format: This is the numeric format used to print the X axis scale. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Cursor Format: This numeric format is used to print the plot's X value in the table below the plot when in Cursor mode and in the tracker boxes. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Auto Scale: If enabled, this autoscales the Range Low and Range High fields. The effect can be seen by clicking the Apply button.

Log: If enabled, this sets the X axis to a log scale.

Auto/Static Grids: This is the number of X axis grids to use when auto scaling or Static Grids are used.

Enable Scaling: When this item is checked, all immediate action X axis scaling and panning commands (F6, CTRL + +, CTRL + -, mouse drag) are enabled.

Y: This group provides a similar set of commands for the Y axis group.

Static Grids: This option uses the number N specified in the Auto/Static Grids field for the number of grids in the X and Y axes, keeping the grid spacing at (Range High - Range Low ) / N. This option forces the use of fixed location, variable value, MC6-style plot grids versus the newer floating grids that move as the plot is panned.

Keep X Scales the Same: This option forces all horizontal scales using the same X expression to be the same. In other words, drag scaling or panning in plot group 1 will change the horizontal scale in all plot groups that have the same X expression. This option is convenient when you want separate plot groups but want the scales to remain the same.

Slope Calculation: This list box lets you select the Normal, dB/Octave, or dB/Decade method of calculating slopes when in Cursor mode. The latter two are only effective in AC analysis when the X expression is F and the Y expression is dB(expression). These two will not work in any other situation.

Same Y Scales for Each Plot Group: Enabling this check box forces the Auto Scale command to use a single common scale for all plots within a plot group. If the box is unchecked, the Auto Scale function will generate multiple scales for each plot in a plot group.

Use Common Formats: Clicking this button copies the X and Y formats of the selected curve to the format fields of all plots.

Common Y Scale: Clicking this button copies the Y range fields of the selected curve to the Y range fields of all curves that share the same plot group.


Probe Plot page

This page accesses the main plot features of the probe window. It includes these items:

Curves: This is a list of waveforms that are present in the window. Highlighting one makes it available for plot or graph edits. The checkbox next to each curve controls whether the curve will be plotted or not. This does not delete the curve from the window, it only hides it. To delete the curve, you must choose Delete Curves under the Probe menu.

Title: This field lets you specify what the plot title is to be. If the Auto button is checked, the title is automatically created from the circuit name and analysis run details.

Plot Group: This is the plot group for the plot. When you add more curves, these additional plots may be grouped together or plotted separately by using the same or a different graph number.

X Expression: This field controls the X axis variable. Any change in this field affects all plots in the same graph group.

Y Expression: This field controls the Y axis variable that is plotted.


Scope page

This page sets the flags for the View and Tracker settings within the Scope menu. The options are as follows:

View: This sets the Scope view options, including:

Data Points: This marks calculated points on the plot. All other values are linearly interpolated.

Tokens: This adds tokens to each curve plot. Tokens are small graphic symbols that help identify the curves.

Ruler: This substitutes ruler tick marks for the normal full screen X and Y axis grid lines.

Plus Mark: This replaces continuous grids with "+" marks at the intersection of the X and Y grids.

Horizontal Axis Grids: This adds horizontal grids.

Vertical Axis Grids: This adds vertical grids.

Minor Log Grids: This adds but does not label minor log grids between major grids at the 2, 3, 4...9 positions.

Minor Log Grids 2 5: This adds and labels minor log grids between major grids at the 2 and 5 positions.

Label All Minor Grids: This labels minor grids. It is useful when you have zoomed in on a scale and need labels on the minor grids.

Baseline: This adds a zero baseline as a reference.

Horizontal Cursor: In cursor mode (F8), this adds a horizontal cursor which intersects the two vertical numeric cursors at their respective data point locations.

Margin Line: In Stability analysis horizontal lines are drawn in the plots to show the reference point for the margin measurements. This feature lets you enable or disable them.

Margin Arrow: In Stability analysis arrows are drawn in the plots to show the magnitude of the margin measurements. This feature lets you enable or disable them.

Margin Text: In Stability analysis text is used to show the gain and phase margin measurements This feature lets you enable or disable the text.

Nyquist Text: In Stability analysis a Nyquist diagram is constructed on one of the plot pages. Text is used to show the magnitude of the gain and phase margin measurements. This feature lets you enable or disable the text.

Tracker: These options control the display of the trackers, which are little boxes containing numeric values.

Cursor: This displays the X and Y data at the cursor locations.

Cursor: Branch Info: This includes the branch information such as with Stepping or Monte Carlo when the cursor tracker is shown.

Intercept: This displays the X/Y intercept trackers.

Mouse: This displays a tracker at the mouse location.

Cursor: These options control the initial cursor behavior flags.

Align Cursors: This flag forces the cursors in different plot groups to be aligned at all times.

Keep Cursors on Same Branch: This flag forces the cursors to stay on the same curve branch

Mode at End of Simulation: These options let you set the desired mode at the end of the simulation run.

Select: This sets the Select mode.

Scale: This sets the Scale mode.

Cursor: This sets the Cursor mode.

Current: This leaves the mode unchanged.

Default: This sets all of the flags to their default values.

Set Default: This button makes the current settings the standard defaults for the panel. This alters the standard defaults for this panel only but it does so for all future uses of the Default button and for all newly created circuits as well, so use it carefully. This button only appears when in the standard Properties dialog box.


Save Curves page

This page lets you save one or more curves for later display or use in a User source (.USR file) or to store in a comma separated value file (.CSV file). It provides these fields.

Curves: This list box lets you select the curves to save. Clicking the checkbox will save the specified waveform to the file when Save is clicked. Multiple waveforms may be saved at one time.

What to Save: If temperature or any other variable has been stepped, list boxes will appear to select the branch to be saved.

Save Curve(s): This field is a copy of the selected curve name.

Auto Save: If this box is checked, Micro-Cap will automatically save the selected curves after each run.

USR, CSV: This sets the parameters for saving the curve in either format. Select USR or CSV from the In File list box below.

As (New Name): This field lets you specify the name to save the curve under. It is the name you later use to select the curve for display or use in a source.

Number of Points: This lets you specify the number of data points to calculate by interpolation from the actual curve if the Save Actual Data Points option is disabled.

Save Actual Data Points: If this option is disabled, the curve saved to the file will be calculated by interpolation using Number of Points equidistant data points from the actual curve. If this option is enabled, the curve saved to the file will contain the actual simulation data points, which generally will occur at irregular time (or frequency) points.

Format: This sets the numeric format used in writing the file.

Delete: This command lets you delete the specified curve name from the specified file name.

WAV: This sets the parameters for saving the curve in the WAV format. Select WAV from the In File list box below.

Sample Rate: This sets the sample rate to use.

Number of Bits: This sets the number of bits to use.

Range: This sets the audio amplitude range to use.

Play: This plays the selected waveform using your speakers.

Stop: This stops the playing.

Auto Range: This automatically sets the range to use.

In File: This field lets you specify the name of the file to save the curve under. You can also select the data format file type. USR is for User Sources. CSV (Comma Delimited for Excel files). WAV is for playable audio files.

Browse: This command button lets you browse directories for the file name you want to save the curve under or to delete.

Save: This command button saves the selected curve using the specified curve name and file name. Note that when curves are saved to existing files, they are added to the file. If the curve already exists in the file, it is overwritten. All other curves in the file are unaffected.


3D Color page

This page accesses the color features.

Objects: This group includes the color of the grid, text, isolines, X, Y, and Z axis planes, and the window background. To change an object's color, first select it, then select a new color from the palette.

Color: This group defines the color of the selected object. To change colors, simply click on the desired color:

Patch Color: This panel lets you control the color of the patches that comprise the 3D surface.

Clear: This option leaves the patches transparent, producing what looks like a wire mesh if the Isolines option is enabled, or no plot at all if it is disabled.

Spectrum: This option colors the patches with the colors of the spectrum ranging from blue for the lowest values to red for the largest values.

Gray: This option colors the patches with shades of gray that range from black for the low values to white for the high values.

Red: This option colors the patches with shades of red that range from dark red for the low values to light red for the high values.

Green: This option colors the patches with shades of green that range from dark green for the low values to light green for the high values.

Blue: This option colors the patches with shades of blue that range from dark blue for the low values to light blue for the high values.

User: This option selects the User color. The surface is colored from User Color 1 to User Color 2

Default: This reverts the settings to their default values.

Set Default: This updates the settings in the Default Properties For New Circuits with the current values. This button only appears in the standard Properties dialog box.


3D Formats page

This page accesses the numeric format features of the 3D graph. For each of the three axes, you can control the Scale and Cursor numeric format.

Scale Format: This is the numeric format used to print the specified axis scale. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Cursor Format: This numeric format is used to control the format of the X, Y, and Z values in the table below the plot when in Cursor mode. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Slope Calculation: This lets you select among three forms of slope calculation: Normal, dB/Octave, and dB/Decade. The latter two are only effective in AC analysis when the X expression is F and the Y expression is dB(expression).

Formula Text Format: This sets the format for any formula text that is to be used in a 3D plot.

Default: This sets the values to their default values.


Harmonic Distortion 3D Plot page

This page accesses the main plot features of the 3D graph. In particular, it includes the following items:

Title: This is the title of the 3D plot. The initial title is always of a form that reflects the names of the axis variables. Its format is:

Y axis variable vs. X axis variable vs. Z axis variable

You can edit this field to change the title text if the Auto checkbox is disabled. However, if the Auto checkbox is enabled, the title will automatically revert to the axis name form as changes are made to axis variable names.

You can use .define statements in the title. For example, if you have a statement such as:

.define Title My Circuit

you can reference this in the title field by stating '$Title$'.

Many of the variables from the title block of the schematic are available such as: $MC, $DATE, $TIME, $USER, $COMPANY, $NAME, and $NAMEEXT.

Axis Variables

X Axis: This field lists the variables available for plotting along the X axis.

Z Axis: This field lists the variables available for plotting along the Z axis.

The Flip option flips the Z-axis scale, plotting from High to Low, instead of Low to High.

Y Axis This field lists the options available for plotting along the Y axis.

What to Plot: If you step more than one variable (e.g. TEMPERATURE, F, VIN), these drop-down lists let you select the branches to plot.


Intermodulation Distortion 3D Plot page

This page accesses the main plot features of the 3D graph. In particular, it includes the following items:

Title: This is the title of the 3D plot. The initial title is always of a form that reflects the names of the axis variables. Its format is:

Y axis variable vs. X axis variable vs. Z axis variable

You can edit this field to change the title text if the Auto checkbox is disabled. However, if the Auto checkbox is enabled, the title will automatically revert to the axis name form as changes are made to axis variable names.

You can use .define statements in the title. For example, if you have a statement such as:

.define Title My Circuit

you can reference this in the title field by stating '$Title$'.

Many of the variables from the title block of the schematic are available such as: $MC, $DATE, $TIME, $USER, $COMPANY, $NAME, and $NAMEEXT.

Axis Variables

X Axis: This field lists the variables available for plotting along the X axis.

Z Axis: This field lists the variables available for plotting along the Z axis.

The Flip option flips the Z-axis scale, plotting from High to Low, instead of Low to High.

Y Axis: This lets you select the variable for the Y axis of the selected plot.

Numerator: There are three basic choices:

H1 Output amplitude

IM2 Second-order intermodulation distortion

IM3 Third-order intermodulation distortion

Below each option is a list of the chosen frequency slots. IM2 and IM3 are computed as ratios if the denominator is specified as F1 or F2, otherwise they are the raw values from the Fourier coefficient array. When IM2 is selected, this lets you specify the content of its

numerator. You can select any value at F2-F1 ±FL, or the value at F1+F2±FL. If IM3 is selected, this lets you specify the content of its numerator. You can pick any of the combinations 2F1 ± F2 ± FL or 2F2 ± F1 ± FL. FL is added or subtracted only when the LO source is specified.

Add FL: If an LO source is specified the frequency slot choices have terms that add FL. For example in the MIXER1 circuit, F1=920E6, F1=921E6, and FL=1000E6. If the Add option is enabled, then H1 will be found in the F2 + FL = 1921E6 slot. Similarly, IM2 will be

found at F2 - F1 + FL = 1001E6. IM3 will be at 2F2 - F1 + FL = 2*921E6 - 920E6 + 1000E6 = 1922E6. This option is used for up-converter mixers.

Subtract FL: If an LO source is specified the frequency slot choices have terms that subtract FL. For example in the MIXER1 circuit, F1=920E6, F1=921E6, and FL=1000E6. If this option is enabled, then H1 will be found in the F2 - FL = 79E6 slot (the sign is changed

to plus). Similarly, IM2 will be found at F2 - F1- FL = 999E6. IM3 will be found at 2F2 - F1 - FL = 2*921E6 - 920E6 - 1000E6 = 78E6. This option is used for down-converter mixers.

Include Noise: This adds noise to the IM2 and IM3 values. The noise value is computed in AC analysis.

Show As: This provides these options:

%: This plots the selected variables in percentage. IM2 and IM3 are calculated as a percentage of H1. H1, if plotted, will always come out 100 (%).

dB: This plots the selected variable in dB. If voltage type is selected, this plots 20*LOG10(value). If power type is chosen, this plots10*LOG10(value).

dBm: This plots the selected variable in dBm. It is available only when a power term is selected. It plots 10*LOG10(value/1E-3).

Number: This plots the actual value of the variable.

Type: This selects either a Voltage or Power representation.

Voltage: This plots the selected variable as a voltage ratio or in the case of H1 as a voltage value.

Power: This plots the selected variable as a power ratio or in the case of H1 as a power value.

Denominator: You can select the value at F2 ± FL or 1. The value at F2 ± FL is used when you want to plot IM2 and IM3 as ratios to the H1 signal. The value of 1 is used when you want to plot the actual values of H1, IM2, and IM3.

Designators:

Simple: This choice labels the variables with simple designators such as H1, IM2, and IM3.

Literal: This choice labels the variables with complex designators such as IM3P(dBW). Because the variables can be measured in many ways, this identifies how the variable is computed and presented.

Form: This lets you choose between Peak and RMS. This choice affects both the Z and Y axis variables. RMS voltage values are related to peak voltage values by the relation RMS = Peak / sqrt(2). RMS power values are related to peak power values by the relation RMS = Peak / 2. IM2 or IM3 with a denominator of F2 will be unaffected by this choice. They are ratios and the RMS factor, applied to both numerator and denominator, cancels out leaving the ratio unchanged.

What to Plot: If you step more than one variable (e.g. TEMPERATURE, F, VIN), these drop-down lists let you select the branches to plot.


3D Options page

This page accesses items which control the existence, quantity, or content of certain graph features.

Options: These items control the existence of certain graph features:

Contour: This option plots a 2D contour of the Y axis variable.

Axes: This option adds the three axes, X, Y, and Z. Note that the axes are collinear with the grid, so to see the effect of this feature, the Grid checkbox must be disabled.

Isolines: This option draws isolines on the plot along which the X and Z axis variables are constant. The intersection of these lines comprise the boundaries of the colored surface patches of the 3D plot.

Grid: This option draws parallel grid lines in each coordinate plane to delineate equal fractional parts of the scale.

Scales: This option draws numeric scales along each axis.

Background: This option paints the three coordinate planes clear when disabled, regardless of their color settings.

Flash Cursor: This option flashes the two numeric cursors for easier visibility.

Patches

X: This controls the number of patches along the X axis. This number defaults to 40. It may be as high as you wish, but the number of total patches is equal to the product of the number of X patches times the number of Z patches. Picking 40 for each axis requires 1600 patches. Picking 1000 for each axis requires 1,000,000 patches. Each patch must be imaged through a set of 3D trigonometric transforms. These take time to calculate and slow down the plot drawing. Also, with more than 200 patches, the entire surface is covered with grid lines spaced so close it's difficult to see the surface, so as a practical matter, limit this value to 20 to 200.

Z: This controls the number of patches along the Z axis. The same considerations as for the X axis apply here as well.


3D Plot page

This page accesses the main plot features of the 3D graph. In particular, it includes the following items:

Title: This is the title of the 3D plot. The initial title is always of a form that reflects the names of the axis variables. Its format is:

Y axis variable vs. X axis variable vs. Z axis variable

You can edit this field to change the title text if the Auto checkbox is disabled. However, if the Auto checkbox is enabled, the title will automatically revert to the axis name form as changes are made to axis variable names.

You can use .define statements in the title. For example, if you have a statement such as:

.define Title My Circuit

you can reference this in the title field by stating '$Title$'.

Many of the variables from the title block of the schematic are available such as: $MC, $DATE, $TIME, $USER, $COMPANY, $NAME, and $NAMEEXT.

Axis Variables

X Axis: This field lists the variables available for plotting along the X axis. If "Performance" is selected from the Y Axis list, the X axis list will include all stepped variables except the one already selected for the Z axis. Otherwise, this list will include only the unique X expressions from the Analysis Limits dialog box. Usually this means only T (Time) or F (Frequency), or the DC sweep variable.

Z Axis: This field lists the variables available for plotting along the Z axis. These include any stepped variable not already selected for the X axis.

The Flip option flips the Z-axis scale, plotting from High to Low, instead of Low to High.

Y Axis This field lists the options available for plotting along the Y axis. It includes each of the plotted Y expressions and, if at least two items have been stepped, it includes a "Performance" item. Selecting this item enables the adjacent Get button which is then used to select a performance function to plot. The choice of Y axis variable constrains the choice of variables for the X and Z axis axes.

If "Performance" is selected, the X Axis variable must be one of the stepped variables.

If one of the plotted Y expressions is selected, the X Axis variable must be its associated X expression. For example, if one of the plotted Y expressions was V(1) and its X expression was T, then selecting V(1) for the 3D Y axis forces the choice of T for the 3D X axis.

What to Plot

Top Row: This row lists excess stepped variables not already selected as axis variables. If a variable is not being used as an axis variable, you can select which of its stepped values you want to plot. Each value produces a different 3D surface plot.

Temperature: If more than one temperature has been run, and temperature is not being used as an axis variable, this field lets you select which temperature run to plot.

Run: If Accumulate Plots is enabled, this lets you select the run number you wish to use. The run number is simply a numeric index of each new run created by edits while in dynamic edit mode.


Global Settings dialog box

These values affect the simulations and are not frequently changed. There are two types of settings: those with values and those with check boxes. Local options can be defined in the text screen or in a text file and linked to a schematic using the commands .INCLUDE and .OPTIONS. Values shown in bold have been changed from their default values. Either the Standard Default or Power Default button will be bolded to show the default settings that are being used.

ABSTOL: Absolute current tolerance. This venerable SPICE parameter specifies the absolute tolerance to be added to the relative current tolerance. Together, their sum must exceed the difference in successive solution values for each current in the circuit to achieve convergence at a particular solution point. Increasing ABSTOL often helps to converge high current devices. Standard Default = 1e-12. Power Default = 1e-6.

CHGTOL: Absolute charge tolerance. This parameter is like ABSTOL but applies only to charge variables. Adjusting CHGTOL is occasionally required to converge MOSFET devices.This parameter defines a lower limit on capacitor charge and inductor flux. When the circuit produces a capacitor charge or inductor flux that is below CHGTOL, the simulator will use the CHGTOL value to predict the next time step. Standard Default = 1e-14. Power Default = 1e-9.

CSHUNT: If nonzero, a capacitor of this value is added from each node to ground as an aide to transient convergence. Default = 0.

DEFAD: This parameter defines the default value of the MOS drain diffusion area in units of meters squared. The area value is only used if the CJ model parameter is declared. Default = 0.

DEFAS: This parameter defines the default value of the MOS source diffusion area in units of meters squared. The area value is only used if the CJ model parameter is declared. Default = 0.

DEFL: This parameter defines the default value of the MOS channel length in units of meters. Default = 1e-4.

DEFNRD: This parameter defines the MOSFET default drain squares in m. Default = 0.

DEFNRS: This parameter defines the MOSFET default source squares in ohms. Default = 0.

DEFPD: This parameter defines the MOSFET default drain periphery in m. Default = 0.

DEFPS: This parameter defines the MOSFET default source periphery in m. Default = 0.

DEFW: This parameter define the default value of the MOS channel width in units of meters. Default = 1e-4.

DIGDRVF: This parameter defines the minimum drive resistance for calculating digital device output strengths. Default = 2.

DIGDRVZ: This parameter defines the maximum drive resistance for calculating digital device output strengths. Default = 20000.

DIGERRDEFAULT: This parameter defines an error limit for a constraint specification. When this error limit is reached, the constraint checker will produce no further output messages. Other constraint checkers that haven't hit their limit will continue to operate. Default = 20.

DIGERRLIMIT: This parameter defines the maximum digital error message limit for all constraint devices during each analysis run. Default = 10000.

DIGFREQ: This parameter defines the minimum digital time step. The timestep is determined by the formula 1/DIGFREQ. Default = 1e10.

DIGINITSTATE: This parameter sets the initial state of all flip-flops and latches in a circuit: 0 = Clear, 1 = Set, All other values = X. Default = 0.

DIGIOLVL: This parameter sets the default digital I/O level for UIO models. 1 through 4 selects levels 1 through 4. Default = 2.

DIGMNTYMX: This parameter sets the default timing delay selection: 1 = minimum, 2 = typical, 3 = maximum, 4 = minimum/maximum. Default = 2.

DIGMNTYSCALE: This parameter defines the scale factor used to find an unspecified minimum time delay. If a minimum time delay is not specified, it is derived by the equation (DIGMNTYSCALE*typical time delay). DIGMNTYSCALE must be between 0 and 1. Default = 0.4.

DIGOVRDRV: This parameter defines the difference in the drive output strength range needed for one device output to overdrive others at a particular node. The range is determined by the global settings: DIGDRVF and DIGDRVZ. Default = 3.

DIGTYMXSCALE: This parameter defines the scale factor used to find an unspecified maximum time delay. If a maximum time delay is not specified, it is derived by the equation (DIGTYMXSCALE*typical time delay).DIGTYMXSCALE must be greater than 1. Default = 1.6.

DIODE_MAX_IS: This parameter clips the temperature adjusted diode parameter IS at the specified value when the N parameter in the diode is below .1. Default=1e-6.

GMIN: This parameter defines the value of the resistance placed across any semiconductor pn junction. The value of this resistance is equal to 1/GMIN. To aid convergence, GMIN may be increased to the maximum value in which this parasitic resistance will have no impact on simulation results. In most cases, GMIN should not be set to a value larger than 1e-7. Standard Default = 1e-12. Power Default = 1e-9.

INTERPOLATION_ORDER: This specifies the interpolation order used in FFTs in transient and Harmonic and Intermodulation distortion analysis.

ITL1: This parameter defines the maximum amount of iterations allowed in computing the DC operating point. If it doesn't converge within the specified number of iterations, Micro-Cap will invoke a DC bias point algorithm. Standard Default = 100. Power Default = 200.

ITL2: This parameter defines the maximum amount of iterations allowed at each step in a DC analysis sweep. Increasing this parameter may be helpful in DC analysis for circuits that contain switching. Default = 50.

ITL4: This parameter defines the maximum amount of iterations allowed for each attempted time point. If the number of iterations for a particular time point exceeds this value, then Micro-Cap will reduce the timestep and attempt a solution at a new time point. By increasing this parameter, Micro-Cap will have more iterations to be able to converge on a solution at a cost of simulation speed. Default = 10.

LONE: For the SPICE3 Boolean operators, this is the value produced by a logical expression when the expression is TRUE. Default = 3.5.

LTHRESH: For the SPICE3 Boolean operators, this is the voltage that must be exceeded for a logical Boolean function to emit an LONE state. For example, the expression V(1) AND V(2) will be TRUE and produce an analog value of LONE only if V(1)>=VTHRESH and V(2)>=VTHRESH. Default=1.5.

LZERO: For the SPICE3 Boolean operators, this is the value produced by a logical expression when the expression is FALSE. Default = .3.

PERFORM_M: This parameter defines the number of data points on each side of a data point that must satisfy a performance function search criteria before the data point is accepted. It's used to minimize the effect of noisy data. Default = 2.

PIVREL: This parameter is the minimum relative value required of a pivot in the matrix solver. It defines the ratio between the largest entry in a conductance array and the setting PIVTOL in calculating the pivot algorithm. Default = .001.

PIVTOL: This parameter defines the minimum absolute value required of a pivot in the matrix solver. It is the smallest numeric value acceptable as a Spice matrix entry. If an entry falls below PIVTOL, the simulation will be halted to prevent numerical overflow. Default = 1e-13.

RELTOL: This parameter defines the relative error tolerance required for Micro-Cap to converge on a data point value. When the difference between two successive iterations of the voltages and currents is less than RELTOL, the simulation will accept the values as a solution. For convergence, RELTOL may be adjusted in either direction, depending on the reason for failure. Circuits that need more data points to be taken should use a smaller RELTOL. (Changing values in the analysis limits page is a better choice for achieving this result.) Making RELTOL larger will give the simulation a greater tolerance to converge within. However, this option may cause a significant loss of accuracy. Standard Default = .001. Power Default = .01.

RMIN: This is the minimum absolute value of the resistance of a resistor or an active device lead resistance, (e.g. BJT RB, RE, and RC). Default = 1u.

RP_FOR_ISOURCE: If nonzero, a resistor of this value is added across all current sources. Default = 0.

RSHUNT: If nonzero, a resistor of this value is added from each node to ground as an aide to DC operating point and possibly transient convergence. Default = 0.

R_NODE_GND: This is the resistance added from node to ground when the Add DC Path to Ground option (Options / Preferences) is enabled and a node needs a path to ground. Default = 1e12.

SANDH_PRECISION: This is the precision used to determine when a Sample and Hold has converged.

SD: This parameter defines the number of standard deviations within the tolerance band. The value specified for SD affects the amount of the normal population included in the tolerance band when a Monte Carlo analysis is specified. Default = 2.58.

SEED: This is the seed number for the RND, RNDR, RNDC, and RNDI(t) random functions. If SEED is >0 the random numbers are the same with each usage of the function. Default = 0.

TNOM: This parameter sets the default temperature in Celsius. This should be the temperature that any models were measured at. Default = 27.

TRTOL: This parameter defines the amount by which the standard LTE formulas are presumed to overestimate the true error. It is a constant in the timestep control algorithm. Changing TRTOL will vary the simulation stepsize in transient analysis. Default = 7.

VNTOL: This parameter refers to the absolute error tolerance for voltages to converge on a data point. For most time point iterations, RELTOL will override this value. When a voltage approaches zero, the relative error tolerance will produce a smaller value that would make convergence more difficult. VNTOL gives an absolute value that two successive iterations must come within to converge. For circuits that contain high voltages, increasing this parameter will aid convergence if the simulation is producing a convergence error near a zero crossing. Knowing approximately the lowest value of voltage in the circuit allows you to set this parameter to values a few orders of magnitude smaller. Standard Default = 1e-6. Power Default = 1e-3.

WIDTH: This parameter sets the width of any text output page. The value equals the number of columns in a page. Default = 80.

NOOUTMSG: When enabled, this flag inhibits the printing of simulation errors in the output file (*.tno). Default = Disabled.

NUMERIC_DERIVATIVE: If enabled, this flag causes Micro-Cap to use numeric derivatives in lieu of algebraic formulas for function sources. Default = Disabled.

PRIVATEANALOG: If enabled, all analog devices have private model libraries. A device can have a private copy of its model library or a public copy. If the copy is private, alterations made to the model values by stepping, optimization, or Monte Carlo features affect only the one device. If the copy is public, it will be shared by all analog parts with the same model name and changes made to the model values by the stepping or Monte Carlo features affect all devices which share the copy. The presence of a DEV tolerance in a model statement forces a private copy, regardless of the state of the PRIVATEANALOG flag. Default = Enabled.

PRIVATEDIGITAL: If enabled, all digital devices have private model libraries. A device can have a private copy of its model library or a public copy. If the copy is private, alterations made to the model values by stepping, optimization, or Monte Carlo features affect only the one device. If the copy is public, it will be shared by all digital parts with the same model name and changes made to the model values by the stepping or Monte Carlo features affect all devices which share the copy. The presence of a DEV tolerance in a model statement forces a private copy, regardless of the state of the PRIVATEDIGITAL flag. Default = Disabled.

TRYTOCOMPACT: When a circuit containing a lossy transmission line is analyzed, an impulse response convolution algorithm is performed on the line. When this flag is enabled, Micro-Cap will try to remove some of the less important points in the algorithm to speed up the simulation, but the trade off is a small loss of accuracy. Default = Disabled.

PATH_TO_GROUND: If enabled, this option causes Micro-Cap to do the path to ground check before running an analysis. All nodes must have a DC path to ground in order to be solvable. If such nodes are found, Micro-Cap can optionally add a Gmin conductance from the node to ground to resolve the problem.

VOLTAGE_LOOP_CHECK: This option causes Micro-Cap to do a check to ensure that there are no loops containing only voltage-defined elements (mainly voltage sources and inductors). The circuit must have no such loops in order to be solvable, but the check can usually be done just once and then avoided to save analysis setup time. This time is usually only a concern with very large circuits.

FLOATING_NODES_CHECK: This option causes Micro-Cap to do a check to ensure that there are no nodes having only one connection. Since the presence of such nodes poses no problem for Micro-Cap, it is recommended that this option be disabled, unless you are creating a circuit that you plan to port (via the translate to SPICE command) to another simulator that does not handle such nodes and you want to check for them.

METHOD

EULER: Selects the Backward Euler integration method. This is mostly for academic investigations and is rarely used for practical simulations, mainly because the other two methods are more accurate.

GEAR: If enabled, this selects Gear integration. Power Default.

TRAPEZOIDAL: If enabled, this selects trapezoidal integration. Standard Default.

OK: This accepts any changes made and exits the dialog box.

Cancel: This ignores any changes made and exits the dialog box.

Standard Default: This sets all of the Global Settings to their standard default values. These values are suitable for most circuits.

Power Default: This sets all of the Global Settings to their power default values. These values are suitable for high power circuits.

.Options: This creates a .options command with all of the current parameter values inside the circuit that is currently active. This localizes any changes made to the active circuit.

Help: This accesses the help topic for this dialog box.


Performance Cases page

Cases page

This page lets you select a branch of the expression that the Go To, Left, or Right function will be applied to. Each list box will contain a set of all the values of the parameter that has been stepped. Options will only be available if one or more parameters have been stepped, a Monte Carlo analysis has been run, or the Accumulate Plots flag has been enabled in the Analysis Limits. This include temperature stepping. After the desired case is chosen, the Go To, Left, or Right command button will have to be clicked in order for the function to be applied to that branch.


Go to Performance page

Go To Function page

This page lets you select a performance function to apply to the selected waveform branch chosen from the Cases page. The Go To Function page employs the following fields:

Function: This selects one of the functions.

Expression: This selects which of the expressions that you want the Performance function to perform its measurements on. Only expressions that were plotted during the run are available.

Boolean: This Boolean expression must be true for the performance functions to consider a data point for inclusion in the search. Typically, this function is used to exclude some unwanted part of the curve from the function search. A typical expression here would be "T>100ns". This would instruct the program to exclude any data points for which T<=100ns.

N: This integer specifies which of the instances you want to find and measure. For example, there might be many pulse widths to measure. Number one is the first one on the left starting at the first time point. The value of N is incremented each time you click on the Go To, Left, or Right button, measuring each succeeding instance.

The following three fields will be available when the appropriate function is selected.

Low: This field specifies the low value to be used by some functions. For example, in the Rise_Time function, this specifies the low value at which the rising edge is measured.

High: This field specifies the high value to be used by some functions. For example, in the Rise_Time function, this specifies the high value at which the rising edge is measured.

Level: This field specifies the value to be used by the search routines. For example, in the Width function, this specifies the expression value at which the width is measured.

Default Parameters: This button calculates default parameters for functions which have them. It guesses at a suitable value by calculating the average value or the 20% and 80% points of a range.

Left: This button moves the left cursor to the point specified by the current settings.

Right: This button moves the right cursor to the point specified by the current settings.

Tag Left: This button moves the left cursor to the point specified by the current settings and places a tag there.

Tag Right: This button moves the right cursor to the point specified by the current settings and places a tag there.

Close: This closes the dialog box.


X Value page

This page lets you specify a number in a text field that the left or right cursor will jump to when in Cursor mode. The cursor will jump to the next instance of that value going to the right, for the X expression, wrapping around when it cannot find any more instances to the right. The page consists of:

Value: This text field lets you specify the value of the X expression that you wish to move the cursor to. You can edit this field by double clicking in the field and then typing the desired value. The movement will only take effect when either the Left or Right command buttons are clicked.


Y Value page

This page lets you specify a number in a text field that the left or right cursor will jump to when in Cursor mode. The cursor will jump to the next instance of that value going to the right, for the Y expression, wrapping around when it cannot find any more instances to the right.

Value: This text field lets you specify the value of the Y expression that you wish to move the cursor to. You can edit this field by double clicking in the field and then typing the desired value. The movement will only take effect when either the Left or Right command buttons are clicked.


3D dialog box

3D Properties dialog box

This dialog box changes the characteristics of the current 3D window. If Add 3D Window is chosen from the 3D Windows option of either the Transient, AC, or DC menu, then this dialog box will add a new 3D graph. If the mouse is double clicked while in select mode on a 3D plot, the F10 hotkey is used, or the Properties icon, [image], is clicked then this dialog box will change the active 3D graph. The 3D dialog box controls all aspects of the 3D graph through the following pages.

Plot page

Harmonic Distortion Plot page

Intermodulation Distortion Plot page

Options page

Formats page

Color page

Font page

Tool Bar page

OK: This accepts any changes made and exits the dialog box.

Cancel: This ignores any changes made and exits the dialog box.

Apply: This redraws the plot behind the dialog box using the current settings so you can see what the settings look like before committing to them.

Help: This accesses the help topic for the specific page.


Border page

This page controls the color and weight of the text box and character outlines.

Text Box Outline:

Color: This controls the color of the border that will be placed around the text box. Clicking on No Color will remove the border.

Weight: This field controls the width of the outline. This will only have an effect if No Color is not selected.

Character Outline:

Color: This controls the color of the border that will be placed around the text character itself. Clicking on No Color will remove the border.

Weight: This field controls the width of the outline. This will only have an effect if No Color is not selected.


Orientation page

This page lets you choose between four possible orientations of the text. The orientations are:

Normal: This is the normal orientation of text going from left to right.

Up: This is an up orientation with the text going from bottom to top.

Down: This is a down orientation with the text going from top to bottom.

Upside Down: This is an upside down orientation with the text upside down and going from right to left.


Grid Text Stepping page

Stepping page

This page controls the amount of times the text is stepped within the schematic. This page will only be available when adding grid text.

Instances X: This text field sets the number of times the text will be stepped in the X direction. A value of 1 implies no stepping.

Pitch X: This text field sets the number of grids that will be between the beginning of each stepped instance of text in the X direction.

Instances Y: This text field sets the number of times the text will be stepped in the Y direction. A value of 1 implies no stepping.

Pitch Y: This text field sets the number of grids that will be between the beginning of each stepped instance of text in the Y direction.

Stepping is used to name wires or nodes with grid text. For example, if you wanted sixteen names A0, ... A15 vertically arranged, you enter text of "A0", select Instances X = 1, Instances Y = 16, and Pitch Y = 2 (grids).


Grid Text page

Text page

Text is entered directly into the text box. ENTER produces a line feed that enables text to be placed on multiple lines. Text that is placed in the dialog box and allowed to wrap around the box without using the ENTER keystroke will appear in the schematic as just one line.

The following options are available:

Style: This selects a style. User-defined styles are set in Options / Preferences / Style.

Font: This selects the font.

Size: This selects the font size.

Bold: This selects bold font.

Italic: This selects the italic font.

Underline: This selects the underline font.

Strikeout: This selects strikeout font.

Superscript: This selects superscript. (RTF only)

Subscript: This selects subscript. (RTF only)

Font Color: This selects the font color.

Font Gradient Color: The program produces a font color that gradually changes from the Font Color above to this color below.

Text Background Color: This selects the text background color. This is the background color of all non RTF text or the background color of all RTF text whose color has not been specified.

Text Highlight Color: This selects the text highlight color. This is the background color that can be applied individually to RTF characters.

Copy to Clipboard List: This copies the selected text to the clipboard list. This list can save named text, pictures, and analysis limits.

Paste From Clipboard List: This pastes text from the clipboard list.

Build Command: This dialog box helps you create some of the more complex .commands, like .MEASURE, .DEFINE, and .WARNING. It is only active if it sees .command text or if the text field is blank.

Insert Special Character: This lets you insert special characters selected from a popdown list.

The next three options appear only for schematic grid text.

Enabled: This lets you enable or disable the text. Enabling is important only for command text like .DEFINE or .MODEL statements or for node names that are used as connections. Text can be enabled with TRUE, disabled with FALSE, or enabled conditionally by an expression.

Formula: Checking this tells the program that the text contains a formula and that the expressions it contains are to be calculated.

The Formula option lets you place an expression within a string of text. For example, if you already have a couple of define statements in the schematic such as:

.define Rval 100

.define Cval 35p

Text can be added such as:

The RC time constant is [Rval*Cval].

The Formula checkbox would have to be checked for this text string and the delimiters would need to be set to []. The text on the schematic would look like:

The RC time constant is 3.5n.

Grid Snap: If enabled, this forces the grid text anchor point to snap to the nearest grid point.

Use RTF: This tells the program to use Rich Text Format, which allows character-by-character control of every text feature (e.g. color, font, size).

Rotation Angle: This sets the text angle. Positive angles rotate counterclockwise from the zero degrees of horizontal text.

Anchor Location: These list boxes specify where (top, bottom, left, center, right) the text anchor point is to be located.

Pin: This identifies the text as a Pin. Holding the mouse over the Pin text displays the pin text.


Header dialog box

Header page

The Header page lets you define a header and a footer that will be placed on each page of the text printout. This is only used when printing a text page. The Header and Footer text fields may accept standard text input and several options that facilitate printing the file name, date, and page. These options are enabled by placing the following key words in the appropriate text field. ENTER creates a line feed in the dialog box.

$NAME This prints the circuit name.

$DATE This prints the current date.

$TIME This prints the current time.

$USER This prints the user's name as entered during the Micro-Cap installation.

$COMPANY This prints the user's company as entered during the Micro-Cap installation.

$PAGE This prints the page number.

$MAXPAGE This prints the largest page number.

The text may be justified by placing the following command text in at the beginning of each line:

$< Left justifies.

$> Right justifies.

$| Centers.

The following example would center the user's name on each page:

$|$USER

Header: This text field defines the header text. This text will be placed on each page of the text printout.

Footer: This text field defines the footer text. This text will be placed on each page of the text printout.

The header and footer for both analysis and schematic are located at Poperties (F10) / Header


Harmonic Distortion Plot page

Curves: This lets you add, delete, or hide/show a plot before or after the run. Click on Add to add a curve, then use the X-Axis and Y-Axis sections to select the curve variables and plotting options. The checkbox next to each curve determines whether the curve is displayed or not.

Title: This field lets you specify what the plot title is to be. If the Auto button is checked, the title is automatically created from the circuit name and analysis run details. If the Auto button is disabled, the following variables are available for the Title field:

$MCCASE Prints the number of the Monte Carlo case that is currently running or that the cursor is on.

$CASE Prints the Monte Carlo case that is currently running in the format: 'Case=#'

$TEMPLOW Prints the value of the lowest temperature

$TEMPHIGH Prints the value of the highest temperature

$TEMPCURRENT Prints the temperature of the analysis that is currently running or that the cursor is on.

$TEMPERATURE Prints the temperature range in the format 'Temperature=<value>" or "Temperature=<value1>....<valuen>"

$STEPLOW# Prints the low value of the specified number parameter. For example, $STEPLOW1 will print the low for parameter 1.

$STEPHIGH# Prints the high value of the specified number parameter For example, $STEPHIGH2 will print the high for parameter 2.

$STEPCURRENT# Prints the value of the specified number parameter that is currently running or that the cursor is on.

$STEPNAME# Prints the name of the specified number parameter. For example, $STEPNAME1 will print the name of parameter 1.

$STEPPING# Prints the range of the specified number parameter. For example, if parameter one is a resistor named R1 being stepped from 50 to 100, $STEPPING1 will print 'R1=50..100'

$STEPPING Prints the name and range of all parameters being stepped.

You can also use .define statements in the title. For example, if you have a statement such as:

.define Title My Circuit

you can reference this in the title field by stating '$Title$'.

Many of the variables from the title block of the schematic are available such as: $MC, $DATE, $TIME, $USER, $COMPANY, $NAME, and $NAMEEXT.

X Axis: This lets you select the variable for the X axis of the selected plot. Here are the choices:

F The fundamental frequency

VIN The input voltage level

VOUT The output voltage level

PIN The input power level

POUT The output power level

The Show As provides these options:

dB: This plots the selected variable in dB. If a voltage term is selected, this plots 20*LOG10(value). If a power term is chosen, this plots 10*LOG10(value).

dBm: This plots the selected variable in dBm. It is available only when a power term is selected. It plots 10*LOG10(value/1E-3).

Number: This plots the value of the selected variable.

All: The All button sets the X-Axis options for all of the plots to the selected options.

Form: This lets you choose between Peak and RMS. The choice affects both the X and Y axis variables. RMS voltage values are related to peak voltage values by RMS = Peak / sqrt(2). RMS power values are related to peak power values by RMS = Peak / 2. Of the Y axis values, only the Hn are affected by this choice. The others, being ratios, are unaffected.

Y Axis: This lets you select the variable for the Y axis of the selected plot.

Parameter: There are five choices:

THD Total harmonic distortion

THDN Total harmonic distortion + noise

SINAD 1/ THDN

SNR Signal to noise ratio

Hn The value of the N'th harmonic

Gain Selects Gain = H1 / VIN

Phase Selects phase of H1

Type: This selects either a Voltage or Power representation.

Voltage: This plots the selected variable as a voltage ratio or in the case of Hn as a voltage value.

Power: This plots the selected variable as a power ratio or in the case of Hn as a power value. Note that it is an amplitude value not an RMS value.

Show As: This provides these options:

%: This plots the selected variable as a percentage of the value at the first harmonic, H1.

dB: This plots the selected variable in dB. If voltage type is selected, this plots 20*LOG10(value). If power type is chosen, this plots 10*LOG10(value).

dBm: This plots the selected variable in dBm. It is available only when a power term is selected. It plots 10*LOG10(value/1E-3).

Number: This plots the value of the selected variable.

Designator:

Simple. This choice labels the variables with simple designators such as THD or SNR.

Literal. This choice labels the variables with more complex designators such as THDV(%V/V). Because the variables can be measured in many ways, this form identifies how the variable is computed and presented.

Buffer: This accesses the Waveform Buffer from which you can request a plot of a previously saved distortion plot. Plots are saved by right-clicking on the underlined waveform name in the plot, then selecting the Add to Buffer option from the small pop-up menu.

What to Plot: If you step more than one variable (e.g. TEMPERATURE, F0, VIN), this drop-down list lets you select the branches to plot.

In each section, the selection applies only to the selected curve . The All button applies the selection to all curves.

Plot Group: You can separate plots into different groups by selecting plot integers in this field.

Labels: A check mark in the Show field displays labels for the selected plot. A blank hides the labels. Click the field to toggle the check mark on or off. The Font option lets you change the label's font parameters.


IBIS Model Creator dialog box

This dialog box creates a specific SPICE model from IBIS file data. The type of component placed in the schematic determines whether this dialog box displays input or output models. The SPICE model that is created is added locally to the circuit file. The dialog box consists of the following:

Input File: This field specifies the input file name. The file should have an IBIS extension (IBS). The Browse button can be used to browse the library or other folders for IBIS input files.

Add: This determines whether the minimum, typical, or maximum values from the IBIS file are to be used when creating the SPICE model.

View By: This determines whether pin, signal, or model names are displayed in the Item List.

Points: This determines the number of data points the translator uses in the PWL tables to match the "Golden Waveforms". Usually 500 is suitable.

Show Warnings: When the translator reads an IBIS file, it is automatically sent through the "Golden Parser". This piece of code was developed by the IBIS committee to check IBIS files for conformity to the standard and to identify common format errors. If the parser finds an error, it will print a suitable message in the Message Box. If the parser issues a warning, this check box determines whether it will be printed in the Message Box.

Repair Nonmonotonic Data: When enabled, this repairs any data from the IBIS file that is nonmonotonic when used to create a model.

Component: This selects one of the component names in the file. Typically there is only one component per file.

Item List (Pins or Signals or Models): This shows either the pin, signal, or model names depending upon the View By setting. Selecting one or more of the items in this list displays them in the IBIS Display.

Power Clamp: This causes the plot area to show the IV plot of the power clamp for the selected pin. If the file does not contain a [POWER Clamp] statement for the pin, this option is disabled.

Ground Clamp: This causes the plot area to show the IV plot of the ground clamp for the selected pin. If the file does not contain a [GND Clamp] statement for the pin, this option is disabled.

Pullup: This causes the plot area to show the IV plot of the pullup device for the selected pin. If the file does not contain a [Pullup] statement for the pin, this option is disabled.

Pulldown: This causes the plot area to show the IV plot of the pulldown device for the selected pin. If the file does not contain a [Pulldown] statement for the pin, this option is disabled.

Rising Waveform (V_fixture): This causes the plot area to show a plot of the rising waveform for the selected pin. If the file does not contain a [Rising Waveform] statement for the pin, this option is disabled. V_fixture shows the voltage attached to the output through an R_fixture resistance when the measurement was made. There are usually two curves, one for V_fixture=0 and one for V_fixture = VCC.

Falling Waveform (V_fixture): This causes the plot area to show a plot of the falling waveform for the selected pin. If the file does not contain a [Falling Waveform] statement for the pin, this option is disabled. V_fixture shows the voltage attached to the output through an R_fixture resistance when the measurement was made. There are usually two curves, one for V_fixture=0 and one for V_fixture = VCC.

Min: This shows the minimum version of the selected plot.

Typ: This shows the typical version of the selected plot.

Max: This shows the maximum version of the selected plot.

Plot Area: This is where the IBIS file IV curves or waveforms are displayed.

OK: This closes the dialog box and creates the specified SPICE model.

Cancel: This button closes the dialog box without creating the SPICE model.

Help: This button invokes this help topic.


IBIS to SPICE dialog box

This dialog box converts IBIS models into their SPICE equivalent models. The dialog box consists of the following:

Input File: This field specifies the input file name. The file should have an IBIS extension (IBS). The Browse button can be used to browse the library or other folders for IBIS input files.

Output File: This field specifies the output file name. It is usually assigned a LIB extension to indicate its use as a library file, although it also contains SPICE code for plotting the translated buffer models.

Select All: This selects all pins for display and model creation.

View By: This determines whether pin, signal, or model names are displayed in the Item List.

Show Warnings: When the translator reads an IBIS file, it is automatically sent through the "Golden Parser". This piece of code was developed by the IBIS committee to check IBIS files for conformity to the standard and to identify common format errors. If the parser finds an error, it will print a suitable message in the Message Box. If the parser issues a warning, this check box determines whether it will be printed in the Message Box.

Repair Nonmonotonic Data: When enabled, this repairs any data from the IBIS file that is nonmonotonic when used to create a model.

Points: This determines the number of data points the translator uses in the PWL tables to match the "Golden Waveforms". Usually 500 is suitable.

Component: This selects one of the component names in the file. Typically there is only one component per file.

Item List (Pins or Signals or Models): This shows either the pin, signal, or model names depending upon the View By setting. Selecting one or more of the items in this list displays them in the IBIS Display.

Power Clamp: This causes the plot area to show the IV plot of the power clamp for the selected pin. If the file does not contain a [POWER Clamp] statement for the pin, this option is disabled.

Ground Clamp: This causes the plot area to show the IV plot of the ground clamp for the selected pin. If the file does not contain a [GND Clamp] statement for the pin, this option is disabled.

Pullup: This causes the plot area to show the IV plot of the pullup device for the selected pin. If the file does not contain a [Pullup] statement for the pin, this option is disabled.

Pulldown: This causes the plot area to show the IV plot of the pulldown device for the selected pin. If the file does not contain a [Pulldown] statement for the pin, this option is disabled.

Rising Waveform (V_fixture): This causes the plot area to show a plot of the rising waveform for the selected pin. If the file does not contain a [Rising Waveform] statement for the pin, this option is disabled. V_fixture shows the voltage attached to the output through an R_fixture resistance when the measurement was made. There are usually two curves, one for V_fixture=0 and one for V_fixture = VCC.

Falling Waveform (V_fixture): This causes the plot area to show a plot of the falling waveform for the selected pin. If the file does not contain a [Falling Waveform] statement for the pin, this option is disabled. V_fixture shows the voltage attached to the output through an R_fixture resistance when the measurement was made. There are usually two curves, one for V_fixture=0 and one for V_fixture = VCC.

Min: This shows the minimum version of the selected plot.

Typ: This shows the typical version of the selected plot.

Max: This shows the maximum version of the selected plot.

Plot Area: This is where the IBIS file IV curves or waveforms are displayed.

Create Golden Waveforms Check File: This creates a text file with output models for the selected model names loaded with the specified output test fixture components (RFIX, CFIX, LFIX, VFIX, etc.). It also creates sources for driving the buffers to show compliance with the Golden Waveforms. It creates one buffer model for each unique output pin for the minimum, typical, and maximum cases and for each of these for high v_fixture and low v_fixture. Up to six buffer models may be created for each unique output type device. If you run transient analysis on the *.LIB file that is created, you can see for the first unique output type buffer model the following waveforms:

1) The input pulse waveform.

2) The expected Golden Waveform from the original IBIS file.

3) The actual buffer model waveform created by the buffer model.

The Golden Waveforms and the model waveforms should agree very closely. Other buffer plots are included but disabled. You can enable any of these with a plot number.

Create Standard IBIS Models: This button creates a text file containing the standard buffer models for the selected model names, loaded with the specified output parasitics (RPIN, LPIN, CPIN, etc.). It also creates input pin models. If you run transient analysis on the *.LIB file that is created, you can see for the first output type buffer model the following waveforms:

1) An input test pulse waveform.

2) The output buffer model response to the input waveform.

The Standard Model file is the one you would typically use for system testing.

Help: This button invokes this help topic.

Close: This button closes the dialog box.


Intermodulation Distortion Plot page

Curves: This section lets you add, delete, or hide/show a plot.

Title: This field lets you specify what the plot title is to be. If the Auto button is checked, the title is automatically created from the circuit name and analysis run details. If the Auto button is disabled, the following variables are available for the Title field:

$MCCASE Prints the number of the Monte Carlo case that is currently running or that the cursor is on.

$CASE Prints the Monte Carlo case that is currently running in the format: 'Case=#'

$TEMPLOW Prints the value of the lowest temperature

$TEMPHIGH Prints the value of the highest temperature

$TEMPCURRENT Prints the temperature of the analysis that is currently running or that the cursor is on.

$TEMPERATURE Prints the temperature range in the format 'Temperature=<value>" or "Temperature=<value1>....<valuen>"

$STEPLOW# Prints the low value of the specified number parameter. For example, $STEPLOW1 will print the low for parameter 1.

$STEPHIGH# Prints the high value of the specified number parameter. For example, $STEPHIGH2 will print the high for parameter 2.

$STEPCURRENT# Prints the value of the specified number parameter that is currently running or that the cursor is on.

$STEPNAME# Prints the name of the specified number parameter. For example, $STEPNAME1 will print the name of parameter 1.

$STEPPING# Prints the range of the specified number parameter. For example if parameter one is a resistor named R1 being stepped from 50 to 100. $STEPPING1 will print 'R1=50..100'

$STEPPING Prints the name and range of all parameters being stepped.

You can also use .define statements in the title. For example, if you have a statement such as:

.define Title My Circuit

you can reference this in the title field by stating '$Title$'.

Many of the variables from the title block of the schematic are available such as: $MC, $DATE, $TIME, $USER, $COMPANY, $NAME, and $NAMEEXT.

X Axis: This lets you select the variable for the X axis of the selected plot. Here are the choices:

VIN The input voltage level

VOUT The output voltage level

PIN The input power level

POUT The output power level

The Show As provides these options

dB: This plots the selected variable in dB. If a voltage term is selected, this plots 20*LOG10(value). If a power term is chosen, this plots10*LOG10(value).

dBm: This plots the selected variable in dBm. It is available only when a power term is selected. It plots 10*LOG10(value/1E-3).

Number: This plots the value of the selected variable.

Form: This lets you choose between Peak and RMS. This choice affects both the X and Y axis variables. RMS voltage values are related to peak voltage values by the relation RMS = Peak / sqrt(2). RMS power values are related to peak power values by the relation RMS = Peak / 2. IM2 or IM3 with a denominator of F2 will be unaffected by this choice. They are ratios and the RMS factor, applied to both numerator and denominator, cancels out leaving the ratio unchanged.

Y Axis: This lets you select the variable for the Y axis of the selected plot.

Numerator: There are three basic choices:

H1 Output amplitude

IM2 Second-order intermodulation distortion

IM3 Third-order intermodulation distortion

Below each option is a list of the chosen frequency slots. IM2 and IM3 are computed as ratios if the denominator is specified as F1 or F2, otherwise they are the raw values from the Fourier coefficient array. When IM2 is selected, this lets you specify the content of its

numerator. You can select any value at F2-F1 ±FL, or the value at F1+F2±FL. If IM3 is selected, this lets you specify the content of its numerator. You can pick any of the combinations 2F1 ± F2 ± FL or 2F2 ± F1 ± FL. FL is added or subtracted only when the LO source is specified.

Add FL: If an LO source is specified the frequency slot choices have terms that add FL. For example in the MIXER1 circuit, F1=920E6, F1=921E6, and FL=1000E6. If the Add option is enabled, then H1 will be found in the F2 + FL = 1921E6 slot. Similarly, IM2 will be

found at F2 - F1 + FL = 1001E6. IM3 will be at 2F2 - F1 + FL = 2*921E6 - 920E6 + 1000E6 = 1922E6. This option is used for up-converter mixers.

Subtract FL: If an LO source is specified the frequency slot choices have terms that subtract FL. For example in the MIXER1 circuit, F1=920E6, F1=921E6, and FL=1000E6. If this option is enabled, then H1 will be found in the F2 - FL = 79E6 slot (the sign is changed

to plus). Similarly, IM2 will be found at F2 - F1- FL = 999E6. IM3 will be found at 2F2 - F1 - FL = 2*921E6 - 920E6 - 1000E6 = 78E6. This option is used for down-converter mixers.

Include Noise: This adds noise to the IM2 and IM3 values. The noise value is computed in AC analysis.

Type: This selects either a Voltage or Power representation.

Voltage: This plots the selected variable as a voltage ratio or in the case of H1 as a voltage value.

Power: This plots the selected variable as a power ratio or in the case of H1 as a power value.

Show As: This provides these options:

%: This plots the selected variables in percentage. IM2 and IM3 are calculated as a percentage of H1. H1, if plotted, will always come out 100 (%).

dB: This plots the selected variable in dB. If voltage type is selected, this plots 20*LOG10(value). If power type is chosen, this plots10*LOG10(value).

dBm: This plots the selected variable in dBm. It is available only when a power term is selected. It plots 10*LOG10(value/1E-3).

Number: This plots the actual value of the variable.

Denominator: You can select the value at F2 ± FL or 1. The value at F2 ± FL is used when you want to plot IM2 and IM3 as ratios to the H1 signal. The value of 1 is used when you want to plot the actual values of H1, IM2, and IM3.

Designator:

Simple: This choice labels the variables with simple designators such as H1, IM2, and IM3.

Literal: This choice labels the variables with complex designators such as IM3P(dBW). Because the variables can be measured in many ways, this identifies how the variable is computed and presented.

Buffer: This accesses the Waveform Buffer. It lets you request a saved distortion plot. Plots are saved by right-clicking on the underlined waveform name in the plot, then selecting Add to Buffer option from the small pop-up menu.

Show IM2 Intercept: This calculates the point where the H1 curve would cross the IM2 curve if each has its ideal slope of 1 and 2 respectively. If no pair of data points have a slope in the range 0.9 to 1.1 for H1, or 1.8

to 2.2 for IP2, then the intercepts and line are not shown. To plot the IM2 curve correctly, its denominator must be 1, and Power and either dB or dBM must be selected. The X axis variable should be PIN and dBm used.

Show IM3 Intercept: This calculates the point where the H1 curve would cross the IM3 curve if each has its ideal slope of 1 and 3 respectively. If no pair of data points have a slope in the range 0.9 to 1.1 for H1, or 2.8

to 3.2 for IP3, then the intercepts and line are not shown. To plot the IM3 curve correctly, its denominator must be 1, and Power and either dB or dBM must be selected. The X axis variable should be PIN and dBm used.

Show 1 dB Compression Point: This finds the point of the H1 curve where it drops 1dB below the ideal slope = 1 line. The point is marked as P1dB = PIN, H1. The X and Y quantities must both be power terms and must both be dB or both be dBm.

What to Plot: If you step more than one variable (e.g. TEMPERATURE, F2, VIN), this drop-down list lets you select the branches to plot.

In each section, the selection applies only to the selected curve. The All button applies the selection to all curves.

Plot Group: You can separate plots into different groups by selecting plot integers in this field.

Labels: A check mark in the Show field displays labels for the selected plot when more than one value for F2 is requested. Click the field to toggle the check mark on or off. The Font option lets you change the label's font parameters.


Label Points

This dialog box lets you label selected data points.

Data List: This is a list of X axis data points that you want to have labeled. The points do not have to be located on simulation data points but can be anywhere along the X axis. For example 100n, 200n 300n places labels at these positions along the X axis.

Status: On enables the labeling. Off disables it.

Label Y value: The default condition is to label only the X axis variable. This adds the Y axis value to the labeling.

OK: This button closes the dialog box and implements the labeling instructions.

Cancel: This closes the dialog box and ignores any changes.

Help: This accesses this dialog box.


Copy Model dialog box

The Copy Model dialog box lets you copy a specified part to another library. The dialog box contains the following elements.

Model Name: This text field contains the name of the part that is to be copied. Initially, it will come up with the model that is currently selected in the Model Editor. To edit this field, double click in the text box and type in a new part name.

Library: This text field specifies the library to which the part is being copied. If the library is not in the current working directory, a path must be specified.

OK: This command button closes the dialog box and copies the part to the other library.

Cancel: This command button closes the dialog box without copying the part.

Help: This command button invokes the Copy Part help topic.


Find dialog box (.lbr files)

This dialog box allows you to search for a specified part name in a Micro-Cap .lbr file. The .lib libraries are text files and will use the Find dialog box for text files.

There are three option buttons to choose among.

Search Current Type: This option button confines the search to the particular type of component selected in the loaded library. Types of components include diodes, NPNs, PMOSs, and resistors.

Search Current Library: This option button confines the search to the currently loaded library, but will search through all of the different types of components.

Search Disk: This option button expands the search to include all .lbr files in the current directory.

Text Box: This box, below the option buttons, is the area in which to input the part name to be searched for.

OK: This command button will conduct the find operation.

Cancel: This command button will close the Find dialog box without searching.

Help: This command button will invoke the Find help topic.


LED Color dialog box

This dialog box sets the color of the LED along with its voltage and current settings and series resistance and junction capacitance. It consists of the following:

Add: This adds a new LED color item that will be available for any LEDs to access.

Delete: This deletes the selected LED color item.

Edit: This edits the selected LED color item.

OK: This accepts any changes and closes the dialog box.

Default: This reverts the LED color items to their original distribution settings.

Cancel: This closes the dialog box and ignores any changes.

Help: This invokes the help topic for this dialog box.


AC Analysis Limits dialog box

When you select AC Analysis from the Analysis menu, Micro-Cap parses the circuit for errors and prepares the internal structures for an analysis. If no errors are found, it presents the AC Analysis Limits dialog box. This dialog box lets you make last minute decisions about the run, like frequency range, maximum change %, and what to print and plot. The Analysis Limits dialog box is divided into five areas: the Command buttons, Numeric Limits, Curve Options, Expressions, and Options.

Command Buttons

Run: This command button starts the analysis run. Clicking the Tool Bar Run button [image] or pressing F2 will also start the run.

Add: This command button adds another curve row after the row containing the cursor. A curve row consists of a curve option field and an expression field. The scroll bar to the right of the expression field scrolls through the curve rows when there are more than can be displayed.

Delete: This command button deletes the curve row where the text cursor is.

Expand: This command button expands the text field where the text cursor is into a large dialog box for editing or viewing. To use this feature, click the mouse in the desired text field, and then click the Expand button. This will invoke a text dialog box which lets you view more of the expression.

Stepping: This command invokes the Stepping dialog box

Properties: This command invokes the Properties dialog box which lets you control the analysis plot window and the way waveforms are displayed.

Help: This command invokes the Help topic for the AC Analysis Limits dialog box.

Copy: This button [image] invokes saves the non-waveform analysis limits to the clipboard.

Paste: This button [image] pastes the non-waveform analysis limits that have been saved in the clipboard.

Numeric Limits

Frequency range: The contents of this field depend upon the type of frequency stepping selected from the adjacent list box. There are four stepping choices:

Auto: This method uses the first plot of the first group as a pilot plot. If, from one frequency point to another, the plot has a vertical change of greater than Maximum change % of full scale, the frequency step is reduced, otherwise it is increased. Maximum change % is the value from the fourth numeric field of the AC Analysis Limits dialog box.

Linear: This method produces a frequency step such that, with a linear horizontal scale, the data points are equidistant horizontally. The Number of Points field sets the total number of data points employed.

Log: This method produces a frequency step such that with a log horizontal scale, the data points are equidistant horizontally. The Number of Points field sets the total number of data points employed.

List: This method uses a comma-delimited list of frequency points from the Frequency Range, as in 1E8, 1E7, 5E6. The Frequency Range field specifies the frequency range for the analysis.

For the List Option:

The syntax is <Frequency1> [, <Frequency2>] ... [, <FrequencyN>].

For Auto, Linear, and Log Options:

The syntax is <Highest Frequency> [, <Lowest Frequency>]. If <Lowest Frequency> is unspecified, the program calculates a single data point at <Highest Frequency>.

For the List Options: The syntax is <Frequency1> [, <Frequency2>]...[, <FrequencyN>]

Number of Points: In AC analysis, the data points calculated are the same as the points printed out for Linear and Log frequency steps. If the Auto frequency step method is used, the number of points in the plot is controlled by the Maximum change % value, but the number of points printed in the numeric output is controlled by this field. If either the Linear or the Log step method is selected, the 'Number of points' field determines the number of printed values. The default is 1001. This number is usually set to an odd value to produce an even print interval. The frequency / print intervals are:

For the Linear method, the frequency step and the print interval are:

(fmax-fmin)/(Number of Points - 1)

For the Log method, the frequency step and the print interval are:

(fmax/fmin)^(1/(Number of points - 1))

For the List method, the Number of Points is only used for numeric output.

The Number of Points field will be disabled unless at least one of the waveforms specified in the analysis limits has its Numeric Output icon enabled or the frequency step method has been set to Linear or Log. The Numeric Output icon is located in the Curve Options which is the group of icons located to the left of each waveform line.

Temperature: This field specifies the temperature values to be used during the analysis runs. The values are specified in degrees Celsius. This temperature is used for each device unless individual device temperatures are specified. If the Temperature list box shows Linear or Log the format is:

<high>[,<low>[,<step>]]

Temperature is stepped from Low to High in increments of Step for Linear or Low is multiplied by Step until High is reached for Log. One complete analysis is performed for each temperature value. If a single value is entered, the analysis is run at that temperature. Omitting Step produces two analyses, one at High and one at Low. If the Temperature list box shows List, the format is:

<t1>[,<t2>[,<t3>[,...]]]

where <t1>,<t2>,<t3>,... are individual values of temperature. One analysis is done at each specified temperature. The analysis temperature can be used as a variable in expressions. The TEMP variable, when used in expressions, takes on the values prescribed in this field.

Maximum Change %: This field specifies a limit on the rate of change of the first waveform. This is useful for producing smooth curves. The value entered is interpreted as a percentage. Maximum change only affects analyses for which the Auto frequency step is selected from the Frequency Step list box.

Noise Input: This field is used to specify the name of the source where input noise is calculated. This field applies only to the calculation of Inoise. If the INOISE and ONOISE variables are not being plotted in the expression fields, this field is ignored.

Noise Output: This field is used to specify the node at which output noise is calculated. The format is Node1[, Node2]. Two nodes separated by a comma specifies a differential output noise voltage. If the INOISE and ONOISE variables are not being plotted in the expression fields, this field is ignored.

Curve Options

Save/Plot: The first option toggles between Save and Plot [image], Save and Don't Plot [image], and Don't Save or Plot [image]. If you save but don't plot, you can later add the plot back to the display from the Properties (F10) dialog box.

X Log/Linear Scale: This toggles the X-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Y Log/Linear Scale: This toggles the Y-axis between a linear [image] and a log [image] scale. Log scales require positive scale ranges. The icon on the left refers to a log scale. The icon on the right designates a linear scale.

Color: The [image] option accesses the Color menu. There are 64 possible color choices for an individual waveform. The button reflects the selected color.

Numeric Output: The [image] button selects curves for numeric output. Numeric output is directed to a file named CIRCUITNAME.TNO and is also displayed in the Numeric Output window. The number of values printed is determined by the value placed in the 'Number of Points' field in the Numeric Limits. The Numeric Output window is accessed from the Transient menu.

Plot Type: This chooses the type of plot that the curve will use. The options are Rectangular, [image], Polar, [image], and Smith Chart, [image]. Clicking on this option toggles through the possible choices.

More: Allows manipulating waveforms (moving, deleting, copying, pasting, and inserting).

Page: This field lets you organize waveforms into different pages which can be selected for viewing from the tabs at the bottom of the plot window when the simulation is finished. Waveforms that share the same page name will be placed on the same page. Any unspecified entries are assigned to a page called "Main".

Plot Group: A number from 1 to 9 in this column arranges the waveforms into different plot groups. All waveforms with like numbers are placed in the same plot group. If the field is blank the waveform is not printed or plotted.

Expressions

The Expressions field specifies the horizontal (X) and vertical (Y) scale ranges and expressions. The expressions are treated as complex quantities. Some common expressions are F (frequency), db(v(1)) (voltage in decibels at node 1), and re(v(1)) (real voltage at node 1). Note that while the expressions are evaluated as complex quantities, only the magnitude of the Y expression vs. the magnitude of the X expression is plotted. If you plot the expression V(3)/V(2), Micro-Cap evaluates the expression as a complex quantity, then plots the magnitude of the final result. It is not possible to plot a complex quantity directly versus frequency. You can plot the imaginary part of an expression versus its real part (Nyquist plot), or you can plot the magnitude, real, or imaginary parts versus frequency (Bode plot).

X Expression: The fields in this column are used to specify the expressions for the X-axis variables. Usually this column contains the simple expression, F (for frequency), but more complicated expressions like I(L1) (AC current through L1) can be used.

Y Expression: The fields in this column are used to specify the expressions for the Y-axis variables. Typically, this field contains simple expressions for node voltage like V(10), or source current like I(V1), but more complex expressions like V(VCC)*I(VCC) (power flow from the VCC source) are often used.

X Range: The fields in this column set the scale ranges for the X waveforms.

<high> [,<low>] [,<grid spacing>] [,<bold grid spacing>]

<low> defaults to zero. [,<grid spacing>] sets the spacing between grids. [,<bold grid spacing>] sets the spacing between bold grids. Placing "AUTO" in the X or Y scale range calculates its range automatically. The Auto Scale Ranges option calculates scales for all ranges during the simulation run and updates the X and Y Range fields. The Auto Scale (F6) command immediately scales all curves, without changing the range values, letting you restore them with CTRL + HOME if desired. Note that <grid spacing> and <bold grid spacing> are used only on linear scales. Logarithmic scales use a natural grid spacing of 1/10 of the next major grid value and bold is not used. The Auto Scale command uses the Preferences / Auto Scale Grids value to set the grid spacing.

Y Range: The fields in this column are used to set the scale ranges for the Y waveforms using the same format as the X range.

Variables List: Clicking the right mouse button in any of the Y expression fields invokes the Variables List which lets you select variables, constants, functions, and operators, or expand the field to allow editing long expressions. Clicking the right mouse button in the other fields invokes a simpler menu showing suitable choices.

Options

The AC options are to the right of the Numeric Limits field. These options are controlled through either a drop-down list or a check box. The Run options and Frequency Step are controlled by a drop-down list and can be accessed two ways. Clicking the mouse on the drop-down arrow button will bring up the list of options. The list can also be activated by pressing ALT + (the underscored letter in the list title), and the list can then be scrolled by the cursor keys. The other options have check boxes. Clicking the mouse in the box will toggle the options on or off with a mark in the box indicating that the option is enabled.

The options available from here include:

Run Options

Normal: This runs the simulation without saving it to disk.

Save All: This runs the simulation and saves it to disk. The data file written is CIRCUITNAME.ASA.

Save V and I Only: During a run, Micro-Cap generates many variables. Saving them all to disk for display by Probe can create huge files. This option saves space and lowers access time by saving only time, frequency, digital states, voltage, and current variables. It discards the remainder, including power, charge, flux, capacitance, inductance, resistance, and magnetic field values.

Retrieve: This loads a previously saved simulation and plots and prints it as if it were a new run. The data file read is CIRCUITNAME.ASA.

State Variables

Zero: This sets the initial values of the state variables (node voltages, inductor currents, digital states) to zero or 'X'.

Read: This reads a previously saved set of state variables and uses them as the initial values for the run. The file is CIRCUITNAME.TOP. This file is created with the State Variables Editor.

Leave: This leaves the current values of the state variables alone. They retain the values present in the State Variables Editor.

Operating Point: This calculates a DC operating point, changing the time-domain state variables as a result. If an operating point is not done, the time domain variables are those resulting from the initialization step (leave, or read). The linearization for AC analysis is done using the state variables after this optional operating point. In a nonlinear circuit where no operating point is done, the validity of the small-signal analysis depends upon the accuracy of the state variables read from disk, edited manually, or enforced by device initial values or .IC statements. In this case, the responsibility of determining accurate and true state variables lies with the user. In other words, don't skip the operating point unless you know what you're doing. This option is disabled when Zero is selected in the State Variables.

Auto Scale Ranges: This sets the X and Y range to 'AUTO' for each new analysis run. If disabled, the existing scale values from the Range fields are used.

Accumulate Plots: This accumulates waveforms or curves that result from editing the circuit. The Clear Accumulated Plots command [image] clears accumulated plots.

Ignore Expression Errors: This option ignores plot expression errors. This is handy when circuit regions are temporarily enabled and disabled, creating errors in the plot expressions due to missing components or nodes. The Run Options, State Variables, and Frequency Step options affect the simulation results. To see the effect of changing these options you must run a simulation.

Resizing

The Analysis Limits dialog box can be resized in a variety of ways.

Field size adjustment: Adjust the field sizes by dragging the lines that separate the column titles (e.g. X Expression, Y Expression, etc.).

Auto-size: Click the auto-size button to the right of the Y Range field to automatically adjust the field sizes to match existing expression lengths.

Grow: Drag the Grow icon in the lower right corner of the dialog box to change the shape / size of the dialog box.


Plot AC Analysis Limits dialog box

This dialog box controls the AC analysis limits used by Micro-Cap when computing a plot through the Plot option in the Attribute dialog box. It consists of the following:

Frequency range: This field specifies the frequency range. The format is fmax[, fmin]. For example, to specify a range of 10Hz to 100KHz, type "100K,10". Negative values are not allowed for either fmin or fmax. The analysis starts by setting frequency equal to fmin, then runs until frequency has progressed to fmax. Specifying a single value produces a single calculation at the frequency value.

Number of Points: This field sets the number of plots plotted when Log or Linear step methods are selected.

Temperature: This field specifies the global temperature of the run. The values are specified in degrees Celsius. This temperature is used for each device unless individual device temperatures are specified. The format is:

<high>[,<low>[,<step>]]

Temperature is stepped from Low to High in increments of Step. One complete analysis is performed for each temperature value. If a single value is entered, the analysis is run at that temperature. Omitting Step produces two analyses, one at High and one at Low.

Maximum Change %: This field specifies a limit on the rate of change of the waveform. This is useful for producing smooth curves. The value entered is interpreted as a percentage.

Plot: This command button produces a plot from the Attribute dialog box information using the specified limits.

Help: This command button invokes the help topic for this dialog box.

Default: This command button sets the limits to their default values based on the values in the Attribute dialog box.

Close: This command button closes the dialog box.


Probe AC Analysis Limits dialog box

Hitting F9 or choosing Limits under the Probe menu when in a Probe AC analysis invokes this simplified version of the AC analysis limits.

Command Buttons

Stepping: This command invokes the Stepping dialog box .

Help: This command invokes the Help topic for the Probe AC Analysis Limits dialog box.

Close: This command closes the dialog box.

Numeric Limits

Frequency Range: This field specifies the frequency range. The format is fmax[, fmin]. For example, to specify a range of 10Hz to 100KHz, type "100K,10". Negative values are not allowed for either fmin or fmax. The analysis starts by setting frequency equal to fmin, then runs until frequency has progressed to fmax. Specifying a single value produces a single calculation at the frequency value.

Frequency Step:

Auto: This method uses the first plot of the first group as a pilot plot. If, from one frequency point to another, the plot has a vertical change of greater than Maximum Change % of full scale, the frequency step is reduced. Otherwise, it is increased. Auto is the standard method because it uses the fewest number of data points to produce the smoothest plot.

Linear: This method causes the frequency steps to be evenly spaced on a linear scale. The Number of Points field determines the number of data points produced.

Log: This method causes the frequency steps to be evenly spaced on a logarithmic scale. The Number of Points field determines the number of data points produced.

List: This method uses a comma-delimited list of frequency points from the Frequency Range, as in 1E8, 1E7, 5E6.

Number of Points: In AC analysis, the data points calculated are the same as the points printed out. There is no interpolation. If the Auto frequency step method is used, the number of points in the numeric printout is controlled by the Maximum change value. If either the Fixed Linear or the Fixed Log step method is selected, the 'Number of points' field determines the number of printed values. The default is 51. This number is usually set to an odd value to produce an even print interval. The frequency / print intervals are:

For the Fixed Linear method, the frequency step and the print interval are:

(fmax-fmin)/(Number of Points - 1)

For the Fixed Log method, the frequency step and the print interval are:

(fmax/fmin)^(1/(Number of points - 1))

For the List method, the Number of Points is not used.

Temperature: This field specifies the temperature values to be used during the analysis runs. The values are specified in degrees Celsius. This temperature is used for each device unless individual device temperatures are specified. If the Temperature list box shows Linear or Log the format is:

<high>[,<low>[,<step>]]

Temperature is stepped from Low to High in increments of Step for Linear or Low is multiplied by Step until High is reached for Log. One complete analysis is performed for each temperature value. If a single value is entered, the analysis is run at that temperature. Omitting Step produces two analyses, one at High and one at Low. If the Temperature list box shows List, the format is:

<t1>[,<t2>[,<t3>[,...]]]

where <t1>,<t2>,<t3>,... are individual values of temperature. Once analysis is done at each specified temperature. The analysis temperature can be used as a variable in expressions. The TEMP variable, when used in expressions, takes on the values prescribed in this field.

Maximum change %: This field specifies a limit on the rate of change of the first waveform. This is useful for producing smooth curves. The value entered is interpreted as a percentage. Maximum change only affects analyses for which the Auto frequency step is selected from the Frequency Step list box.

Noise Input: This field is used to specify the name of the source where input noise is calculated. This field applies only to the calculation of Inoise.

Noise Output: This field is used to specify the node at which output noise is calculated. The format is Node1[, Node2]. Two nodes separated by a comma specifies a differential output noise voltage. This field applies only if Inoise and Onoise variables are calculated.

Options

The AC options are to the right of the Numeric Limits field. These options are controlled through either a drop-down list or a check box. The State Variables and Frequency Step are controlled by a drop-down list and can be accessed two ways. Clicking the mouse on the drop-down arrow button will bring up the list of options. The list can also be activated by pressing ALT + (the underscored letter in the list title), and the list can then be scrolled by the cursor keys. The Operating Point option has check box. Clicking the mouse in the box will toggle the option on or off with a mark in the box indicating that the option is enabled.

The options available from here include:

State Variables: The State Variables Editor is accessible by hitting F12 when in Probe.

Zero: This sets the initial values of the state variables (node voltages, inductor currents, digital states) to zero or 'X'.

Read: This reads a previously saved set of state variables and uses them as the initial values for the run. The file is CIRCUITNAME.TOP. This file is created with the State Variables Editor.

Leave: This leaves the current values of the state variables alone. They retain the values present in the State Variables Editor.

Operating Point: This calculates a DC operating point, changing the state variable values as a result. An operating point overwrites any initial conditions that may have been set. If the operating point is disabled, the circuit will be linearized about whatever state variables are present when the run starts. These may have been read in from disk, edited manually, or simply left over from the last run. This option is disabled when the Zero option is selected in the State Variables listbox.


Plot DC Analysis Limits dialog box

This dialog box controls the DC analysis limits used by Micro-Cap when computing a plot through the Plot option in the Attribute dialog box. It consists of the following:

Variable 1 range: This field determines the range that the X variable will be swept across. The format is <final>[,<initial>[,<maxstep>]]. <final> is the final value that the range is swept through. <initial> is the starting point for the range and defaults to 0 if not specified. <maxstep> is the maximum step that the simulation will take. The step may be forced smaller by the value in the Maximum Change %.

Temperature: This field specifies the global temperature of the run. The values are specified in degrees Celsius. This temperature is used for each device unless individual device temperatures are specified. The format is:

<high>[,<low>[,<step>]]

Temperature is stepped from Low to High in increments of Step. One complete analysis is performed for each temperature value. If a single value is entered, the analysis is run at that temperature. Omitting Step produces two analyses, one at High and one at Low.

Maximum Change %: This field specifies a limit on the rate of change of the waveform. This is useful for producing smooth curves. The value entered is interpreted as a percentage.

Plot: This command button produces a plot from the Attribute dialog box information using the specified limits.

Help: This command button invokes the help topic for this dialog box.

Default: This command button sets the limits to their default values based on the values in the Attribute dialog box.

Close: This command button closes the dialog box.


Probe DC Analysis Limits dialog box

Hitting F9 or choosing Limits under the Probe menu when in a Probe DC analysis invokes this simplified version of the DC analysis limits.

Command Buttons

Stepping: This command invokes the Stepping dialog box . F11 may also be used.

Help: This command invokes the Help topic for the Probe DC Analysis Limits dialog box.

Close: This command closes the dialog box.

Numeric Limits

Variable1: This row specifies the Method, Name, and Range fields for variable 1. Its value is usually plotted along the X axis. Each value produces a minimum of one data point per curve. There are four column fields for this variable.

Method: This field specified one of four methods for sweeping the variable:

Auto: In Auto mode the rate of step size is adjusted to keep the point-to-point change less than Maximum Change % value.

Linear: Linear mode uses the following syntax in the Range column:

<final>[,<initial>[,<step>]]

<Initial> defaults to 0.0. <Step> defaults to (<final>-<initial>)/50. Variable 1 starts at <initial>. Subsequent values are computed by adding <step> until <final> is reached.

Log: Log mode uses the following syntax in the Range column:

<final>[,<initial>[,<multiplier>]]

<initial> defaults to <final>/10. <multiplier> defaults to exp(ln(<final>/<initial>)/10). Variable 1 starts at <initial>. Subsequent values are computed by multiplying by <multiplier> until <final> is reached.

List: List mode uses the following syntax in the Range column:

<v1>[, <v2>[, <v3>[, ...[,<vn>]]]]

The variable is simply set to each of the values <v1>, <v2>, ...<vn>.

Name: This list box displays a list of all available components or models that may be swept. If a model is chosen, a parameter must be specified in its accompanying field.

Range: This field sets the range of values used for the variable according to the syntax above.

Variable 2: This row specifies the Method, Name, and Range fields for Variable 2. The syntax is the same as for Variable 1, except that the stepping method options include None and exclude Auto. Each value of Variable 2 produces one complete curve.

Temperature: This field specifies the temperature values to be used during the analysis runs. The values are specified in degrees Celsius. This temperature is used for each device unless individual device temperatures are specified. If the Temperature list box shows Linear or Log the format is:

<high>[,<low>[,<step>]]

Temperature is stepped from Low to High in increments of Step for Linear or Low is multiplied by Step until High is reached for Log. One complete analysis is performed for each temperature value. If a single value is entered, the analysis is run at that temperature. Omitting Step produces two analyses, one at High and one at Low. If the Temperature list box shows List, the format is:

<t1>[,<t2>[,<t3>[,...]]]

where <t1>,<t2>,<t3>,... are individual values of temperature. Once analysis is done at each specified temperature. The analysis temperature can be used as a variable in expressions. The TEMP variable, when used in expressions, takes on the values prescribed in this field.

Maximum Change %: This field specifies a limit on the rate of change of the first waveform when the Method is set to Auto for Variable 1. This is useful for producing smooth curves. The value entered is interpreted as a percentage.


Plot Transient Analysis Limits dialog box

This dialog box controls the transient analysis limits used by Micro-Cap when computing a plot through the Plot option in the Attribute dialog box. It consists of the following:

Time Range This field specifies the time range of the simulation. The format is tmax[,tmin]. For example, '3u,1u' specifies a range of 1 microsecond to 3 microseconds. The analysis starts by setting time equal to tmin, then runs until time has progressed to tmax. The default tmin is zero. Negative values are not allowed for either the tmin or tmax value. The start time, tmin, is normally zero.

Maximum Time Step: This field specifies a maximum time step for the run. Micro-Cap will choose as large a time step as possible, consistent with maintaining the specified error tolerance, RELTOL. Error tolerance is primarily determined by monitoring the time rate of change of the charge and flux. For circuits containing capacitance or inductance, the time step control routine will eventually increase the time step to the specified Maximum Time Step value. By selecting a small Maximum Time Step value, more data points are produced and hence smoother waveforms are generated. This does not necessarily imply greater accuracy, just smoother waveforms. Accuracy is controlled by the internal LTE (Local Truncation Error) time step control algorithms. If set to 0, the default value for Maximum Time Step is (tmax-tmin)/50.

Number of Points: This field controls the number of plots printed to the numeric output file.

Temperature: This field specifies the global temperature of the run. The values are specified in degrees Celsius. This temperature is used for each device unless individual device temperatures are specified. The format is:

<high>[,<low>[,<step>]]

Temperature is stepped from Low to High in increments of Step. One complete analysis is performed for each temperature value. If a single value is entered, the analysis is run at that temperature. Omitting Step produces two analyses, one at High and one at Low.

Plot: This command button produces a plot from the Attribute dialog box information using the specified limits.

Help: This command button invokes the help topic for this dialog box.

Default: This command button sets the limits to their default values based on the values in the Attribute dialog box.

Close: This command button closes the dialog box.


Probe Transient Analysis Limits dialog box

Hitting F9 or choosing Limits under the Probe menu when in a Probe Transient analysis invokes this simplified version of the Transient analysis limits.

Command Buttons

Stepping: This command invokes the Stepping dialog box .

Help: This command invokes the Help topic for the Transient Analysis Limits dialog box.

Close: This command closes the dialog box.

Numeric Limits

Time Range This field specifies the time range of the simulation. The format is tmax[,tmin]. For example, '3u,1u' specifies a range of 1 microsecond to 3 microseconds. The analysis starts by setting time equal to tmin, then runs until time has progressed to tmax. The default tmin is zero. Negative values are not allowed for either the tmin or tmax value. The start time, tmin, is normally zero. Specifying a value greater than zero will affect only the values of waveform sources. Digital parts must begin at time=0.

Maximum Time Step: This field specifies a maximum time step for the run. Micro-Cap will choose as large a time step as possible, consistent with maintaining the specified error tolerance, RELTOL . Error tolerance is primarily determined by monitoring the time rate of change of the charge and flux. For circuits containing capacitance or inductance, the time step control routine will eventually increase the time step to the specified Maximum Time Step value. By selecting a small Maximum Time Step value, more data points are produced and hence smoother waveforms are generated. This does not necessarily imply greater accuracy, just smoother waveforms. Accuracy is controlled by the internal LTE (Local Truncation Error) time step control algorithms. The default value for Maximum Time Step is (tmax-tmin)/50.

Temperature: This field specifies the temperature values to be used during the analysis runs. The values are specified in degrees Celsius. This temperature is used for each device unless individual device temperatures are specified. If the Temperature list box shows Linear or Log the format is:

<high>[,<low>[,<step>]]

Temperature is stepped from Low to High in increments of Step for Linear or Low is multiplied by Step until High is reached for Log. One complete analysis is performed for each temperature value. If a single value is entered, the analysis is run at that temperature. Omitting Step produces two analyses, one at High and one at Low. If the Temperature list box shows List, the format is:

<t1>[,<t2>[,<t3>[,...]]]

where <t1>,<t2>,<t3>,... are individual values of temperature. Once analysis is done at each specified temperature. The analysis temperature can be used as a variable in expressions. The TEMP variable, when used in expressions, takes on the values prescribed in this field.

Options

The transient options are to the right of the Numeric Limits field. These options are controlled through either a drop-down list or a check box. The State Variables is controlled by a drop-down list and can be accessed two ways. Clicking the mouse on the drop-down arrow button will bring up the list of options. The list can also be activated by pressing ALT + (the underscored letter in the list title), and the list can then be scrolled by the cursor keys. The other options have check boxes. Clicking the mouse in the box will toggle the options on or off.

The options available from here include:

State Variables: The State Variables Editor is accessible by hitting F12 when in Probe.

Zero: This sets the initial values of the state variables (node voltages, inductor currents, digital states) to zero or 'X'.

Read: This reads a previously saved set of state variables and uses them as the initial values for the run. The data file read is CIRCUITNAME.TOP. These files are created in the State Variables Editor.

Leave: This leaves the current values of the state variables alone. They retain their last values. If this is the first run, they are zero. If you have just run an analysis without returning to the Schematic Editor, they are the values at the end of the run. If the run was an operating point only run, the values are the DC operating point.

Retrace: For the first run, normal initialization is done and, if requested, the operating point is calculated. Initial conditions are retained for subsequent runs.

Operating Point: This calculates a DC operating point, changing the state variables as a result. An operating point overwrites any initial conditions that may have been set.

Operating Point Only: This calculates a DC operating point only. No transient run is made. The state variables are left with the final operating point values. This is the way you set up the values prior to using the Schematic Editor's 'View Node Voltages/States' option to display the operating point voltages directly on the schematic.

Fixed Time Step: This option forces the program to use a fixed time step equal to the specified Maximum Time Step. This feature is made available for theoretical study and is not often used. The native variable time step based upon local truncation error theory is far more efficient.


Function dialog box

In each analysis there is a Variables list that pops-up when you right-click the mouse in the X or Y expression fields. When the number of variables becomes too large for the pop-up to handle, this dialog box is used instead.

Fields:

Type: This lets you choose the type of component (e.g. NPN, NMOS, ...)

Component: This lets you choose a particular component (e.g. Q1, Q2,...) of the chosen type.

Function: This lets you select a particular variable (e.g. VGS, VGD...) for the chosen component.

Command Buttons:

OK: This closes the dialog box and pastes the variable name into the analysis limits at the existing cursor position, replacing any previously selected text.

Cancel: This closes the dialog box and ignores any selection made.

Help: This command accesses the help topic.


Load Monte Carlo File dialog box

This dialog box loads a circuit numeric output file (.tno, .ano, or .dno file) and scans the file for references to Monte Carlo performance function error reports. It can then create the circuits which caused the selected errors during the Monte Carlo run, letting you see each circuit with parameter values which caused failure. Failure means not meeting a performance function limit (like rise time or delay) specified in the Report When text field of the Monte Carlo Options dialog box. The dialog box consists of the following:

File: This field defines the numeric output file that is to be scanned for Monte Carlo performance function error reports.

Browse: This button lets you browse for numeric output files.

Case List: This list displays all of the performance function error reports that were found within the numeric output file specified in the File field. Each selected case will create its own circuit file when the OK button is clicked. To select multiple items, you may use the CTRL+mouse click to select non-contiguous cases and SHIFT+mouse click to select contiguous cases.

Select All: This button selects all cases in the Case List.

Clear All: This button deselects all cases in the Case List.

OK: This button closes the dialog box and creates circuit from all selected cases.

Cancel: This button closes the dialog box without creating any circuits.

Help: This button invokes the help topic for the dialog box.


Localize dialog box

This dialog box localizes circuit model information by copying subckts, model statements, and macros from the libraries to the circuit. It is a handy way to embed model information in the file prior to sending a copy of the circuit to a colleague who may not have your models. It can also serve as a refresh step, restoring model information from the master libraries in case you have edited the models and want to restore them. The options are as follows:

Type: This chooses the type of models to be updated. The options are:

Model Statements: This will place all device models that use a .Model statement to model their electrical characteristics into the local text area.

Subcircuits: This will place all device models that use a subcircuit model to model their electrical characteristics into the local text area.

Macros: This will place all macros into macro sections within the circuit file. Each unique macro circuit referenced in the file will be stored in its own macro section. Macro sections can be selected through the section tabs at the bottom of the file.

Action: This chooses the type of action to perform in refreshing the models: The options are:

Add: This will add models that do not exist locally to the text area of the schematic. For macros, it will create new macro sections for any macros that are not presently localized in the file. The models added are dependent on what is selected in the Type section.

Update: This will add models that do not exist locally to the text area of the schematic. Any models that do exist will be updated from the libraries (if present). For macros, it will either add a new macro section or update an existing macro section depending on if the macro had previously been localized. The models added and updated are dependent on what is selected in the Type section.

Files: This lets you choose the type of files to embed. The options are:

RES: This includes the standard resistor values files.

IND: This includes the standard inductor values files.

CAP: This includes the standard capacitor values files.

STM: This includes digital stimulus files.

USR: This includes User source data files.

JED: This includes JED digital values files.

S2P: This includes Touchstone files.

Image: This includes any picture files.

Localize selected parts only: If any components were selected when this command was invoked, this option will be available. When enabled, only the components that were selected will have their model, subcircuit, or macro localized to the schematic file. Components may only be selected in a single section at a time. For example, if a macro section existed along with the main schematic section, components may only be selected in either the main schematic section or the macro section but not both.

OK: This localizes the models according to the above settings and closes the dialog box.

Cancel: This closes the dialog box without localizing the models.

Help: This invokes the help topic for this dialog box.


Monte Carlo Color page

This lets you edit the color of the various parts of the histogram window.

Objects: This list contains elements such as the font, grid, bar front, bar top/side, graph background, and window background. Select the object from this list that you wish to edit.

Color: This group contains a palette of the 64 available colors. To change the color of the selected object, simply click on the color you want to change it to.

Sample: This shows an illustration of what the current settings will look like.

Default: This sets the values to their default values.

Set Default: This updates the settings in the Default Properties For New Circuits dialog box with the current values. This button only appears in the standard Properties dialog box.

OK: This closes the dialog box and saves any changes.

Cancel: This closes the dialog box without saving any changes.

Apply: This temporarly applies any changes so you can see the effect.

Help: This accesses the help topic.


Monte Carlo Options dialog box

The Monte Carlo Options dialog box is selected from the Monte Carlo menu, or it may be invoked through the Monte Carlo button, [image], if this button is displayed in the tool bar. It lets you select options that control the next Monte Carlo run. The options include:

Status

Select On to enable Monte Carlo.

Select Off to disable Monte Carlo.

Distribution to Use: This specifies the default distribution to use for all LOT and DEV tolerances that do not specify a distribution with [t&d].

Gaussian distributions are governed by the standard equation:

f(x) = e^(-.5*s*s)/s(2*p)^.5

Where s = x-m/s and m is the nominal parameter value, s is the standard deviation, and x is the independent variable.

Uniform distributions have equal probability within the tolerance limits. Each value from minimum to maximum is equally likely.

Worst case distributions have a 50% probability of producing the minimum and a 50% probability of producing the maximum.

Number of Runs: The number of runs determines the confidence in the statistics produced. More runs produce a higher confidence that the mean and standard deviation accurately reflect the true distribution. Generally, from 30 to 300 runs are needed for a high confidence. The maximum is 30000 runs.

Show Zero Tolerance Curve: If this option is enabled, the first run tolerances are set to zero to provide a kind of baseline or reference curve.

Eliminate Outliers: If this option is enabled, any values outside of the tolerance band are eliminated. This only applies to Gaussian distributions.

Report When: This field specifies when to report a failure. The routine generates a failure report in the numeric output file when the Boolean expression in this field is true. The field typically contains a performance function specification that may be chosen through the Get command button. For example, this expression

rise_time(V(1),1,2,0.8,1.4)>10ns

would generate a report when the specified rise time of V(1) exceeded 10ns. The report lists the model statement values that produced the failure. These reports are included in the numeric output file and can be viewed directly. They are also used by the Load MC File item in the File menu to recreate the circuits that created the performance failure.

Get: This invokes the Get Performance Function dialog box which lets you choose the performance function to be used in the Report When text field.

Seed: The random number seed directly controls the sequence of random numbers generated by the program. By specifying a seed number you can identify and recall in a later simulation the same random numbers used to produce tolerance values and the corresponding histograms. If the seed is >=1 it returns a repeating sequence of random numbers. If the seed is blank or <1 it returns a non-repeating sequence of random numbers.

Get Last: This puts the last used seed in the Seed field.

Tolerance: This accesses the Tolerances dialog box which lets you easily apply tolerances to model parameters.

OK: This accepts the edits and closes the dialog box.

Cancel: This disregards the edits and closes the dialog box.

Help: This accesses the help topic for this dialog box.


Monte Carlo Plot page

This page accesses items which control the content of the histogram features.

Title: This is the title of the histogram plot. The initial title is always of a form that reflects the parameters of the performance function. Its format is:

Performance_Function(parameters)

You can edit this field to change the title text if Auto is disabled. However, if the Auto field is enabled, the title will automatically revert to the format above.

You can use .define statements in the title. For example, if you have a statement such as:

.define Title My Circuit

you can reference this in the title field by stating '$Title$'.

Many of the variables from the title block of the schematic are available such as: $MC, $DATE, $TIME, $USER, $COMPANY, $NAME, and $NAMEEXT.

What Function To Plot

Get: This invokes the Get Performance Function dialog box which lets you choose the performance function to be used in the text field.

Format:

Value/Scale: This controls the numerical format of all numbers in the histogram and statistics area. The format can be edited by clicking on the Format command button. This lets you choose between Scientific, Engineering, Decimal, and Default formats, and lets you select the number of digits to use. The text string to the right of this button displays the current format.

Formula Text: This controls the numerical format of any numbers printed by formula text in the histogram window

Plot Type

Type: This listbox lets you select the type of histogram display, 2D or 3D.

Show Values in Printout/Images: When enabled, all of the information from the bottom of the histogram window such as the X and Y range information and statistical summary will be placed in the printout or image.

Bar Top = Quantity: When enabled, the value at the top of each histogram bar will be the quantity of runs that lie within that bin. When disabled, the value will be the percentage.

What Run to Plot

Run: This listbox is only active if Accumulate Plots is enabled in the Analysis Limits. This list selects the run number (instances of pressing F2) at which the histogram is to be created.

Temperature: This listbox is only active if the temperature has been stepped during the analysis. This list selects the temperature value at which the histogram is to be created.

Step Value: This listbox is only active if the stepping has been enabled during the analysis. This list selects the step value at which the histogram is to be created.

OK: This closes the dialog box and saves any changes.

Cancel: This closes the dialog box without saving any changes.

Apply: This temporarly applies any changes so you can see the effect.

Help: This accesses the help topic.


Model Default Editor dialog box

This dialog box defines the upper and lower limits of all model parameters along with their initialization value. The minimum and maximum values serve as limits on the value of the optimized parameters during the optimization process.

Types: This listbox contains a list of all available model types. To change the model simply click on a new model type. This will place all of the parameters of that model into the Parameter list for editing.

Parameter: This is a list of all parameters that are available for the selected model type. The checkbox next to each parameter enables the upper and lower limits for that parameter.

Min: This sets the lower limit value of the parameter during optimization.

Initial: This sets the value the parameter will be set to when Initialize is selected from the Model menu.

Max: This sets the upper limit value of the parameter during optimization.

OK: This command button closes the dialog box while saving any changes.

Cancel: This command button closes the dialog box without saving any changes.

Default: This command button changes all of the parameter values to their default values.

Help: This command button invokes the help topic for this dialog box.


Model Export

This dialog box lets you export data to an Excel file, a text file, or to the clipboard.

Output Type: This lets you specify where the output is going: Excel file, a text file, or the clipboard..

Delimiters: This let you select a delimiter (data separator) for the clipboard data. You can choose from Tab, Senicolon, Comma, Space, and Other.

Output File: For text file output types, this lets you specify the output file name.


Model Fill

This dialog lets you populate the data fields This option is used to quickly fill some of the data fields, such as the IV curves of a MOSFET or BJT where the X and Z data values tend to be regular and repetitive. In the case of MOSFET IV characteristics, X would be the VDS (drain-source) values and Z would be the VG (gate voltage) values. The Y values would, of course, be taken from measurements or charts.

The dialog box provides the same fields as used in the Stepping dialog box and works in the same way.


Model Find dialog box

This dialog box searches through the information in an MDL file to help locate a specific part. All of the text field information for each part may be searched. This dialog box consists of:

Search Fields: This option determines which of the text fields will be searched for the specified string.

Text Field: This field defines the string that is to be searched for.

Beginning of line: If enabled, the specified string must match the beginning of the specified text field.

Find: This initiates the search operation.

OK: This closes the dialog box and displays the part that was selected after the search operation finished.

Cancel: This closes the dialog box without displaying the selected part.

Help: This invokes the help topic for this dialog box.


Model Formats page

This page sets the formats for the X and Y scales in the Model plots.

X Scale Format: This is the numeric format used to print the X axis scale. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Y Scale Format: This is the numeric format used to print the Y axis scale. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Parameters Format: This is the numeric format used to print the optimized model parameters.

Default: This reverts all of the settings in this page to the default settings.


Model to SPICE dialog box

This dialog box translates a MDL model file into a SPICE library file and optionally places the components into the Component library. The dialog box consists of the following:

File: This text field defines the name of the library file that is to be created.

Browse: This command button lets the hard drive be searched to choose a file name.

Add these parts to Component library: If enabled, the parts will be added to the Component library so they are available for immediate placement in the schematic.

OK: This closes the dialog box and creates the new library file.

Cancel: This closes the dialog box without creating the new file.

Help: This invokes the help topic for this dialog box.


Model File Import

This dialog box lets you import data from a file

File: This lets you specify the name of the file containing the data.

Append: This lets you specify whether the file data is to be appended to the existing data or to replace it.


Manual Scale Ranges dialog box

This dialog box has four text fields that let you manually control the scale of the graph. The four fields are as follows:

High Y Value: This text field sets the upper Y axis value.

Low Y Value: This text field sets the lower Y axis value.

High X Value: This text field sets the right X axis value.

Low X Value: This text field sets the left X axis value.

OK: This closes the dialog box and adjusts the scale to the settings.

Cancel: This closes the dialog box without changing the scale.

Help: This invokes the Manual Scale help topic.


Select Waveform dialog box

This dialog box is invoked by clicking on the waveform header at the top of the data fields when the model type is User. This dialog box lets you change the waveform that is to be optimized to. It looks at specified Circuit and Analysis Type fields to determine the waveforms that are available to optimize. It consists of the following:

Waveform list: This field displays a list of all of the waveforms that are available within the specified analysis of the specified circuit file. Click on a waveform to select it.

OK: This closes the dialog box and changes the waveform for the data fields.

Cancel: This closes the dialog box without making any changes.

Help: This invokes the help topic for this dialog box.


Graph Properties dialog box

This dialog box adds a new graph to an existing User type part. It consists of the following:

Analysis Type: When the part type selected is User, this field specifies the type of analysis that will be used for the optimization in the first graph.

Circuit: When the part type selected is User, this field specifies the schematic file that contains the circuit that will be used for the optimization.

Waveform: Once the Circuit and Analysis Type fields have been specified, this section displays a list of the available waveforms to optimize for. Click on a waveform to select it.

Graph Title: This field specifies the title of the graph that will be created for the User type.

OK: This command button closes the dialog box and creates the new part in the model file.

Cancel: This command button closes the dialog box without creating a new part in the model file.

Help: This command button invokes the help topic for this dialog box.


New Part dialog box

This dialog box is invoked when a new model file has been created. This dialog box is used to set the initial part type that will be placed in the new model file. The dialog box consists of the following:

Part Type: This section displays a list of all of the possible part types available within the model program. Click on a type to select it.

Analysis Type: When the part type selected is User, this field specifies the type of analysis that will be used for the optimization in the first graph.

Circuit: When the part type selected is User, this field specifies the schematic file that contains the circuit that will be used for the optimization.

Waveform: Once the Circuit and Analysis Type fields have been specified, this section displays a list of the available waveforms to optimize for. Click on a waveform to select it.

Graph Title: This field specifies the title of the graph that will be created for the User type.

OK: This command button closes the dialog box and creates the new part in the model file.

Cancel: This command button closes the dialog box without creating a new part in the model file.

Help: This command button invokes the help topic for this dialog box.


Model Parts List dialog box

This dialog box lets you delete, move, and display parts. This dialog box displays two list boxes.

File list box: These list boxes contain the names of all of the model data files that are currently loaded. Highlighting one of the file names displays the list of parts in the Parts list box below. The From field selects the file that the action will be performed on. The To field selects the file that a Move or Copy end result will appear in.

Parts list box: These list boxes contain the names of all of the parts that are in the file highlighted in the Library list box. Double-clicking on one of the part names displays the part and its data. To select one or more parts, drag the mouse over the parts. You may also use the CTRL+mouse click to select non-contiguous parts and SHIFT+mouse click to select contiguous parts.

Move: This moves any selected parts from the From selected file to the To selected file.

Copy: This makes a copy of the selected parts in the From file and pastes the copies to the To file.

Delete: This deletes any selected parts in the From list.

Close: This closes the dialog box.

Help: This invokes the Parts List dialog box help topic.


Step Parameter dialog box

Step Parameters dialog box

This dialog box lets you step a model parameter to see its effect on the curve. It is a tool for exploring the effect of different model parameters. This dialog box is made up of the following elements:

Step What: This text field defines the model parameter that is to be stepped. The model parameter must be one of the parameters shown in the Model fields.

Step From: This text field defines the starting point for the stepping procedure. The value here must be smaller than the value in the Step To text field.

Step To: This text field defines the ending point for the stepping procedure. The value here must be greater than the value in the Step From text field.

Step Value: This text field defines the stepping value. This value will either be added or multiplied depending on the Method option selection.

Current Value: This text field displays the current value being used in the displayed curve.

Start: This button starts the stepping process. Once the stepping has started, the text on this button will change to Next so you can advance to the next defined step of the parameter. The graph will be updated in the background using the new value of the stepped parameter.

Method: There are two options that define how the Step Value is to be used.

Log: The Step Value is multiplied to the Step From value until it reaches the Step To value.

Linear: The Step Value is added to the Step From value until it reaches the Step To value.

OK: This command button closes the dialog box and begins the stepping operation.

Cancel: This command button closes the dialog box without performing the stepping operation.

Help: This command button invokes the Step Parameter help topic.


Measurements Window Options

Format: This determines the numeric format to be used in the window. The usual numeric formats are available.

Text Output Delimiters: This determines the character used to delimit (separate) the data columns in both the text and Excel outputs.

Generate Excel File at End of Run: This automatically creates an Excel file of the performance function results at the end of the run.

Generate Text File at End of Run: This automatically creates a text file of the performance function results at the end of the run.

Text File Name: This lets you specify a name and folder location for the text file.

Number of Branches to Display: This sets the number of stepped branches or Monte Carlo cases to display.


Measurements Window settings

These options determine what performance functions will be displayed.

There are four sub-windows:

Available Waveforms: This is a list of the plotted waveforms. Only plotted waveforms are available for use in performance functions.

Waveforms Selected: This is a list of waveforms selected for use in a performance function. Use the left and right arrows to move a waveform into or out of this list.

Available Performance Functions: This is a list of available performance functions from which to choose.

Performance Functions Selected: This is a list of performance functions that will be computed on each of the selected waveforms. Use the left and right arrows to move a function into or out of this list.

Default: This button creates a set of standard performance functions.

OK: This button accepts the changes made and exits the dialog box.

Cancel: This button ignores any changes and exits the dialog box.

Help: This accesses the help topic for this dialog box.


Migrate Choose Dat File

When upgrading Micro-Cap, the migrate feature lets you easily bring over some of the files from a previous version of Micro-Cap so that they can be used with the new version. This dialog box lets you select the version that is to be migrated by choosing the .DAT file that is present in the main directory of the older version.

File: This field needs to be specified with a .DAT file that was used with an earlier version of Micro-Cap. The .DAT file provides the basic paths and other information needed to begin the migration.

File List: This list shows various .DAT files that Micro-Cap was able to find through a basic search. If the .DAT file that you want to use is not shown in the list, use the Browse feature or manually type in the path and file name.

Browse: This button opens up a dialog box that lets you browse your hard drive for the .DAT file.

Next: This moves the wizard to the Migrate Choose Files to continue with the migration process.

Cancel: This closes the wizard without performing any action.

Help: This invokes the help topic for this panel.


Migrate Choose Devices

The Migrate routine will search each drive that you select for the existence of the Micro-Cap preferences file (mcap.dat). This dialog box lets you select which drive(s) to search. Usually you specify a single drive where your old Micro-Cap folder is.

Next: This moves the wizard to the Migrate Choose Dat File to continue with the migration process.

Cancel: This closes the wizard without performing any action.

Help: This invokes the help topic for this panel.


Migrate Choose Files

This dialog box provides a list of the component, shape, package, library, and macro files that can be migrated over from a previous version of Micro-Cap. Check the box next to the file name to enable that file to be migrated over to the current version.

Depending on the file type, location, and file name, the following procedures will take place for any checked files:

Component, Shape, and Package files:

1) For entries that do not match a name in the current version the Migrate wizard will take all entries from the previous version and merge them into the corresponding file.

2) For entries that match a name in the current version the Migrate wizard will replace, discard, or add with a similar name according to the choice made in the How to handle shapes and

components with matching names but different content section above.

Library files:

For library files, the Migrate wizard will scan the Nom.lib file of the old version, and add to the Nom.lib file in Micro-Cap any files that are not currently referenced. Depending on the location of the library files, there are a few procedures that may happen to the actual library files.

If the file is in the normal Library folder of the old version, then Migrate will copy that over to the Library folder of Micro-Cap.

If the file is in a subdirectory off of the main Micro-Cap folder of the old version, then Migrate will create this subdirectory under the Micro-Cap folder if needed and copy the library file over to it. For example, if the MyNPN.Lib file was stored in a folder such as C:\MC7\MYLIB\ then Migrate would create a folder called MYLIB under the MC10 folder (unless it already exists) and copy the MyNPN.LIB file over to that folder. This path would then be hardcoded into the MyNPN.Lib reference in the Nom.lib.

If the file is in a directory not off of the main Micro-Cap folder of the old version, then Migrate will leave the file in that location. The library file will have this path hardcoded into its reference in the Nom.lib file. For example, if the ADiodes.Lib file was stored in a folder such as D:\MYPARTS\ then Migrate would leave the library file in that folder and add the reference .lib "D:\MYPARTS\ADiodes.Lib" into the Micro-Cap Nom.lib file.

Macro files:

For macro files, the Migrate wizard will scan all folders referenced in the Model Library field of the Paths dialog box to find all files with the extension .MAC that do not match a name of a macro file currently in Micro-Cap. Depending on the location of the macro files, there are a few things that may happen to the macro files.

If the macro is in the normal Library folder of the old version, then Migrate will copy that over to the Library folder of Micro-Cap.

If the macro is in a subdirectory off of the main Micro-Cap folder of the old version, then Migrate will create this subdirectory under the Micro-Cap folder if needed and copy the macro file over to it.

If the macro is in a directory not off of the main Micro-Cap folder of the old version, then Migrate will leave the macro in that location.

For the last two cases with the macro, the path to these directories containing the macro files would need to be manually added into the Model Library field in the Paths dialog box.

Select All: This selects all of the listed files for migration.

Clear All: This de-selects all of the listed files for migration.

How to handle shapes and components with matching names but different content

Replace: This replaces the part or shape with the incoming content.

Discard: This ignores the incoming part or shape.

Add with similar name: This adds the incoming part or shape with a similar but different name.

Back: This returns the migration process to the previous screen.

Next: This advances the migration process to the Migrate Finish panel and will merge or copy over any of the checked files.

Cancel: This closes the dialog box without migrating any files.

Help: This invokes the help topic for this panel.


Migrate Finish panel

This panel displays the results of the Migrate wizard. The text box gives descriptions for all of the files that the Migrate wizard affected and the actions that were performed on them.

Detailed Report: This creates a text file showing how each migrated shape, component, or file was handled.

Back: This returns the migration process to the previous screen so other files may be migrated over that were skipped in the first migrate operation.

Finish: This closes the Migrate wizard.

Help: This invokes the help topic for this panel.


Mirror dialog box

This dialog box allows the selected region of the circuit to be mirrored in order to reproduce a similar section quickly.

There are two option buttons that specify the reflection.

Vertical: This option will mirror the selected region in a vertical manner. A vertical reflection produces a copy vertically below the original region.

Horizontal: This option will mirror the selected region in a horizontal manner. A horizontal reflection produces a copy horizontally to the right of the original region.

Copy Text: When enabled, this check box option allows any grid text in the selected region to be mirrored. If Text Increment is enabled in the Options\Circuit page of the Preferences dialog box, the grid text will be incremented.

OK: This command button mirrors the region using the specified options.

Cancel: This command button closes the Mirror dialog box without mirroring the region.

Help: This command button invokes the Mirror help topic.


New File dialog box

This dialog box contains option buttons to select from to create a new file. These options may be chosen by clicking on the button, the name, or the icon.

Schematic File (.cir): This option will create a new Micro-Cap schematic page with a .CIR extension.

Macro File (.mac): This option will create a new Micro-Cap macro schematic page with a .MAC extension. This file will be created in the Library path.

General Text File (.txt): This option will create a generic text file with a default .TXT extension.

SPICE File (.ckt): This option will create a new text file for a SPICE circuit netlist with a default .CKT extension.

Text Library File (.lib): This option will create a new text library file for subcircuit or model statement descriptions. It will have a default extension of .LIB.

Binary Library File (.lbr): This option will create a new library file with the extension .LBR. Model statement parameters for BJTs, JFETs, MOSFETs, diodes, sine sources, pulse sources, Opamps, lossy transmission lines (TRN) , cores, GaAsfets, capacitors, inductors, resistors, voltage switches (S), and current switches (W) may be edited and stored in the file.

Model File (.mdl): This option will create a new model program file which can be used to optimize SPICE parameters from data sheet information.

Script File (.bat): This option will create a text file with the default .bat extension.

There are three command buttons:

OK: This command button creates a new file with the selected option.

Cancel: This command button closes the New File dialog box without creating a new file.

Help: This command button invokes the New File help topic.


Arc/Brace dialog box

This dialog box is invoked upon double clicking one of the arc or brace graphic objects when in select mode. This dialog box contains the following options:

Weight: This drop down list box defines the width of the arc or brace. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the arc or brace. The outline may be solid or it may be a pattern of dashes.

Color: The color boxes below the Pattern list box control the color of the object. To change the color, simply click on one of the other color boxes.

Rotation angle: The object can be rotated by dragging on the circular handle or by changing this number.

Grid Snap: This causes the object to originate on the nearest circuit grid point.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Help: This command button invokes the Arc dialog box help topic.


Arc/Brace dialog box (Analysis)

This dialog box is invoked upon double clicking one of the arc or brace graphic objects when in select mode. This dialog box contains the following options:

Weight: This drop down list box defines the width of the arc or brace. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the arc or brace. The outline may be solid or it may be a pattern of dashes.

Color: The color boxes below the Pattern list box control the color of the object. To change the color, simply click on one of the other color boxes.

Absolute: This is the absolute graphic option. Absolute maintains its position with respect to the plot window through any scale or offset changes performed on the curves.

Relative: This is the relative graphic option. Relative maintains its position with respect to the curves. A relative graphic placed close to the peak of a curve remains near that peak after scaling or panning. The field to the right of this option specifies the curve that the graphic is to remain relative to.

Rotation angle: The object can be rotated by dragging on the circular handle or by changing this number.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Apply: This command button applies any edits to the object. The changes are only permanent when the OK button is used to close the dialog box.

Help: This command button invokes the Arc dialog box help topic.


Graphic Objects Properties dialog box

From here you can change the properties like color, fill, and pattern for the graphic objects, analysis text, and tags. The changes affect the next graphic object added. To change an individual object's properties, double click on it and edit the property. This dialog box will contain the settings of the last graphic object, analysis text (if the Apply to Analysis Text is selected), or tag that was added or edited in Micro-Cap. The dialog box consists of the following:

The graphics objects are set by the Element dialog box.


Element dialog box

This dialog box is invoked upon double clicking one of the element graphic objects while in select mode. This dialog box contains the following options:

Border: This area controls the characteristics of the border.

Color: The color boxes control the color of the border. To change the color, simply click on one of the other color boxes. No Color removes the border.

Weight: This drop down list box defines the width of the border. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the border. The outline may be solid or it may be a pattern of dashes.

Fill: This area controls the characteristics of the fill.

None: This selects no fill.

Solid: This selects a solid fill using Color1.

Gradient: This selects a fill that gradually changes from Color1 at the top to Color2 at the bottom.

Pattern: This drop down list box defines the pattern of the fill.

Picture: This selects a specified picture for the fill. The picture can be embedded for portability and fitted, tiled, or centered.

Rotation angle: The object can be rotated by dragging on the circular handle or by changing this number.

For analysis plots:

Absolute: This is the absolute graphic option. Absolute maintains its position with respect to the plot window through any scale or offset changes performed on the curves.

Relative: This is the relative graphic option. Relative maintains its position with respect to the curves. A relative graphic placed close to the peak of a curve remains near that peak after scaling or panning. The field to the right of this option specifies the curve that the graphic is to remain relative to.

For schematics:

Grid Snap: This causes the object to originate on the nearest circuit grid point.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Help: This command button invokes the help topic for this dialog box.


Element dialog box (Analysis) (obsolete)

Element dialog box (Analysis)

This dialog box is invoked upon double clicking one of the element graphic objects while in select mode. This dialog box contains the following options:

Border: This area controls the characteristics of the border.

Color: The color boxes control the color of the border. To change the color, simply click on one of the other color boxes. No Color removes the border.

Weight: This drop down list box defines the width of the border. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the border. The outline may be solid or it may be a pattern of dashes.

Fill: This area controls the characteristics of the fill.

Color: The color boxes control the color of the fill. To change the color, simply click on one of the other color boxes. No Color lets the schematic show within the inside of the element.

Pattern: This drop down list box defines the pattern of the fill.

Absolute: This is the absolute graphic option. Absolute maintains its position with respect to the plot window through any scale or offset changes performed on the curves.

Relative: This is the relative graphic option. Relative maintains its position with respect to the curves. A relative graphic placed close to the peak of a curve remains near that peak after scaling or panning. The field to the right of this option specifies the curve that the graphic is to remain relative to.

Rotation angle: The object can be rotated by dragging on the circular handle or by changing this number.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Apply: This command button applies any edits to the object. The changes are only permanent when the OK button is used to close the dialog box.

Help: This command button invokes the help topic for this dialog box.


Flowchart dialog box

This dialog box is invoked upon double clicking one of the flowchart graphic objects while in select mode. This dialog box contains the following options:

Border: This area controls the characteristics of the border.

Color: The color boxes control the color of the border. To change the color, simply click on one of the other color boxes. No Color removes the border.

Weight: This drop down list box defines the width of the border. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the border. The outline may be solid or it may be a pattern of dashes.

Fill: This area controls the characteristics of the fill.

None: This selects no fill.

Solid: This selects a solid fill using Color1.

Gradient: This selects a fill that gradually changes from Color1 at the top to Color2 at the bottom.

Pattern: This drop down list box defines the pattern of the fill.

Picture: This selects a specified picture for the fill. The picture can be embedded for portability and fitted, tiled, or centered.

Label: This controls the text and its font and color associated with a flowchart element

Rotation angle: The object can be rotated by dragging on the circular handle or by changing this number.

Grid Snap: This causes the object to originate on the nearest circuit grid point.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Help: This command button invokes the help topic for this dialog box.


Line dialog box

This dialog box is invoked upon double clicking one of the line graphic objects. This dialog box contains the following options:

Begin Style: This drop down list box defines the beginning style of the line.

End Style: This drop down list box defines the ending style of the line.

Weight: This drop down list box defines the width of the line. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the line. The line may be solid or it may be a pattern of dashes.

Grid Snap: This causes the object to originate on the nearest circuit grid point.

Color: The color boxes below the Pattern list box control the color of the object. To change the color, simply click on one of the other color boxes.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Help: This command button invokes the Line dialog box help topic.


Line dialog box (Analysis)

This dialog box is invoked upon double clicking one of the line graphic objects. This dialog box contains the following options:

Begin Style: This drop down list box defines the beginning style of the line.

End Style: This drop down list box defines the ending style of the line.

Weight: This drop down list box defines the width of the line. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the line. The line may be solid or it may be a pattern of dashes.

Color: The color boxes below the Pattern list box control the color of the object. To change the color, simply click on one of the other color boxes.

Absolute: This is the absolute graphic option. Absolute maintains its position with respect to the plot window through any scale or offset changes performed on the curves.

Relative: This is the relative graphic option. Relative maintains its position with respect to the curves. A relative graphic placed close to the peak of a curve remains near that peak after scaling or panning. The field to the right of this option specifies the curve that the graphic is to remain relative to.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Apply: This command button applies any edits to the object. The changes are only permanent when the OK button is used to close the dialog box.

Help: This command button invokes the Line dialog box help topic.


Measure dialog box

This dialog box is invoked when double clicking, in Select mode, on one of the horizontal tags or vertical tags that have been placed in an analysis plot. This dialog box contains the following options:

Color: The color boxes control the color of the pointer. To change the color, simply click on one of the other color boxes.

Text: These color boxes control the color of the text. To change the color, simply click on one of the other color boxes.

Style: This drop down list box determines the style of the pointers for the tag. The default style is the arrow with the solid head.

Weight: This drop down list box determines the weight of the line for the pointers. The three options are for 1 to 10 pixels.

Pattern: This drop down list box determines the pattern of the line for the measure.

Alias: The drop down list box defines the waveform that the first point of the measure is pointing to.

Alias2: The drop down list box defines the waveform that the second point of the measure is pointing to.

Lock: If enabled, this option locks the measure to the data points it is currently attached to.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Font: This command button invokes the Font dialog box which allows editing of the Font, Font Style, Size, and Effects of the text.

Format: This command button invokes the Format dialog box which allows changing the numeric format display of the tag.

Help: This command button invokes the Measure dialog box help topic.


Picture dialog box

This dialog box lets you place or edit a picture file in the schematic. The picture file may be in WMF, EMF, BMP, GIF, TIFF, PNG, ICO, or JPG format. This dialog box consists of the following:

File: Enter the name of the picture file into this text field. If the file is in the current directory, then it just needs the file name, otherwise it would need a path and a name.

Browse: This command button invokes the Open Picture dialog box which lets you search the hard drive for any available picture files. Upon selecting a file name, the path and file name will be placed in the File text field.

Embed: This check box controls whether the picture is to be embedded in the circuit file (which takes more disk space but is convenient) or merely included as a link (which takes no space but is inconvenient because the link is easily lost).

Create From: This lets you pick the analysis whose plot picture. Each time the analysis run is made, the picture is updated, so this makes a convenient self-updating picture.

Border: This area controls the characteristics of the border.

Color: The color boxes control the color of the border. To change the color, simply click on one of the other color boxes. If No Color is selected then no border will be printed.

Weight: This drop down list box defines the width of the border. The choices are between 1 to 10 pixels.

Fill: This area controls the characteristics of the fill. This will only fill areas of the file that do not have a predetermined color.

Color: The color boxes control the color of the fill. To change the color, simply click on one of the other color boxes. If No Color is selected the schematic will show through in the background.

Keep Aspect Ratio: If enabled, Micro-Cap attempts to maintain the aspect ratio of the image when it is resized. The edges of the image must remain on the schematic grid so the aspect can get slightly skewed on smaller images.

Revert to Original Size: This command button reverts the image to the original size specified in the image file. The change is only permanent if the OK button is used to close the dialog box.

Rotation Angle: This lets you see and edit the rotation angle of the text.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Apply: This command button applies any edits to the picture object. The edits are only permanent if the OK button is used to close the dialog box.

Help: This command button invokes the dialog box help topic.


Picture dialog box (Analysis)

This dialog box lets you place or edit a picture file in the schematic. The picture file may be in WMF, EMF, BMP, GIF, TIFF, PNG, ICO, or JPG format. This dialog box consists of the following:

File: Enter the name of the picture file into this text field. If the file is in the current directory, then it just needs the file name, otherwise it would need a path and a name.

Browse: This command button invokes the Open Picture dialog box which lets you search the hard drive for any available picture files. Upon selecting a file name, the path and file name will be placed in the File text field.

Embed: This check box controls whether the picture is to be embedded in the circuit file (which takes more disk space but is convenient) or merely included as a link (which takes no space but is inconvenient because the link is easily lost).

Create From: This lets you pick the analysis whose plot picture. Each time the analysis run is made, the picture is updated, so this makes a convenient self-updating picture.

Border: This area controls the characteristics of the border.

Color: The color boxes control the color of the border. To change the color, simply click on one of the other color boxes. If No Color is selected then no border will be printed.

Weight: This drop down list box defines the width of the border. The choices are between 1 to 10 pixels.

Fill: This area controls the characteristics of the fill. This will only fill areas of the file that do not have a predetermined color.

Color: The color boxes control the color of the fill. To change the color, simply click on one of the other color boxes. If No Color is selected the schematic will show through in the background.

Keep Aspect Ratio: If enabled, Micro-Cap attempts to maintain the aspect ratio of the image when it is resized. The edges of the image must remain on the schematic grid so the aspect can get slightly skewed on smaller images.

Revert to Original Size: This command button reverts the image to the original size specified in the image file. The change is only permanent if the OK button is used to close the dialog box.

Absolute: This is the absolute graphic option. Absolute maintains its position with respect to the plot window through any scale or offset changes performed on the curves.

Relative: This is the relative graphic option. Relative maintains its position with respect to the curves. A relative graphic placed close to the peak of a curve remains near that peak after scaling or panning. The field to the right of this option specifies the curve that the graphic is to remain relative to.

Waveform List Box: This lets you select the waveform or curve that is used in the Relative option.

Rotation Angle: This lets you see and edit the rotation angle of the text.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Apply: This command button applies any edits to the picture object. The edits are only permanent if the OK button is used to close the dialog box.

Help: This command button invokes the dialog box help topic.


Polygon dialog box

This dialog box is invoked upon double clicking one of the element graphic objects while in select mode. This dialog box contains the following options:

Border: This area controls the characteristics of the border.

Color: The color boxes control the color of the border. To change the color, simply click on one of the other color boxes. No Color removes the border.

Weight: This drop down list box defines the width of the border. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the border. The outline may be solid or it may be a pattern of dashes.

Round Corners: For rectangles this allows rounded corners.

Note Fill is available for closed polygons only.

Fill: This area controls the characteristics of the fill.

None: This selects no fill.

Solid: This selects a solid fill using Color1.

Gradient: This selects a fill that gradually changes from Color1 at the top to Color2 at the bottom.

Pattern: This drop down list box defines the pattern of the fill.

Picture: This selects a specified picture for the fill. The picture can be embedded for portability and fitted, tiled, or centered.

Points: This area lets you add, delete, or edit the points that make up the polygon. To edit the point, simply change the values in the fields. To add a point, click on one of the + buttons. The point will be placed after the point at which the button was pressed. To delete a point, click on one of the - buttons. The corresponding point will be deleted. The keywords Min and Max are available for both the X and the Y data points. These place that polygon point at the minimum or maximum of the axis range.

Lock: This locks the location disallowing any movement of the polygon.

Background: This places the polygon behind the plot.

Absolute: For analysis plots only, the causes the polygon to stay at an absolute pixel location.

Relative: For analysis plots only, the causes the polygon to stay at a pixel location relative to the waveform specified in the adjacent list box.

Closed Polygon: This is checked if the object is a closed polygon. If it is an open polygon, then checking this box closes it.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Help: This command button invokes the help topic for this dialog box.


Performance Tag dialog box

Function Tag dialog box

This dialog box is invoked when placing or editing a performance tag in an analysis plot. Depending on the performance function defined for the tag, the performance tag can be displayed as a point tag, horizontal tag, vertical tag, or a string of text. This dialog box contains the following options:

Text: These color boxes control the color of the text. To change the color, simply click on one of the other color boxes.

Border: These color boxes control the color of the border if it is displayed as a text string or the arrows if it is displayed as a tag. To change the color, simply click on one of the other color boxes.

Fill: These color boxes control the color of the fill if it is displayed as a text string. To change the color, simply click on one of the other color boxes.

Style: This drop down list box determines the style of the pointers for the tags. The default style is the arrow with the solid head.

Weight: This drop down list box determines the weight of the line for the pointers. The three options are for 1 to 10 pixels.

Pattern: This drop down list box determines the pattern of the line for the measure.

Function: This field defines the performance or measure function that the performance tag will mark. Click the Get button to select a function.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Font: This command button invokes the Font dialog box which allows editing of the Font, Font Style, Size, and Effects of the text.

Format: This command button invokes the Format dialog box which allows changing the numeric format display of the tag.

Help: This command button invokes this Function Tag dialog box help topic.


Rectangle dialog box (obsolete)

Rectangle dialog box

This dialog box is invoked upon double clicking one of the rectangle graphic objects while in select mode. This dialog box contains the following options:

Border: This area controls the characteristics of the border.

Color: The color boxes control the color of the border. To change the color, simply click on one of the other color boxes. No Color removes the border.

Weight: This drop down list box defines the width of the border. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the border. The outline may be solid or it may be a pattern of dashes.

Round Corners: For rectangles this allows rounded corners.

Fill: This area controls the characteristics of the fill.

None: This selects no fill.

Solid: This selects a solid fill using Color1.

Gradient: This selects a fill that gradually changes from Color1 at the top to Color2 at the bottom.

Pattern: This drop down list box defines the pattern of the fill.

Picture: This selects a specified picture for the fill. The picture can be embedded for portability and fitted, tiled, or centered.

Rotation angle: The object can be rotated by dragging on the circular handle or by changing this number.

Absolute: This is the absolute graphic option. Absolute maintains its position with respect to the plot window through any scale or offset changes performed on the curves.

Relative: This is the relative graphic option. Relative maintains its position with respect to the curves. A relative graphic placed close to the peak of a curve remains near that peak after scaling or panning. The field to the right of this option specifies the curve that the graphic is to remain relative to.

Grid Snap: This causes the object to originate on the nearest circuit grid point.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Help: This command button invokes the help topic for this dialog box.


Rectangle dialog box (Analysis) (obsolete)

Rectangle dialog box (Analysis)

This dialog box is invoked upon double clicking one of the rectangle graphic objects while in select mode. This dialog box contains the following options:

Border: This area controls the characteristics of the rectangle border.

Color: The color boxes control the color of the border. To change the color, simply click on one of the other color boxes. No Color removes the border.

Weight: This drop down list box defines the width of the rectangle border. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the rectangle border. The outline may be solid or it may be a pattern of dashes.

Round Corners: If enabled, this check box option rounds the corners of the rectangle.

Fill: This area controls the characteristics of the rectangle fill.

Color: The color boxes control the color of the fill. To change the color, simply click on one of the other color boxes. No Color lets the schematic show within the inside of the rectangle.

Pattern: This drop down list box defines the pattern of the rectangle fill.

Absolute: This is the absolute graphic option. Absolute maintains its position with respect to the plot window through any scale or offset changes performed on the curves.

Relative: This is the relative graphic option. Relative maintains its position with respect to the curves. A relative graphic placed close to the peak of a curve remains near that peak after scaling or panning. The field to the right of this option specifies the curve that the graphic is to remain relative to.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Apply: This command button applies any edits to the object. The changes are only permanent when the OK button is used to close the dialog box.

Help: This command button invokes the Rectangle dialog box help topic.


Region Enable dialog box

This dialog box is invoked upon placing or editing a region enable box. This dialog box contains the following options:

Expression: This field defines the Boolean expression that will be used to determine whether the circuitry within the region box is enabled or disabled. When the expression evaluates to True (non-zero), the circuitry will be enabled, otherwise it is disabled.

Show: When enabled, the Boolean expression for the region will be displayed in the schematic.

Font: Sets the font for the Boolean expression.

Color: Sets the color for the Boolean expression.

Check: If this box is checked, the region enable box is enabled or disabled by clicking a visible check mark on or off, rather than evaluating the expression.

Group: This specifies an optional group name. If used the check box becomes a radio button.

Border: This area controls the characteristics of the border.

Color: The color boxes control the color of the border. To change the color, simply click on one of the other color boxes. No Color removes the border.

Weight: This drop down list box defines the width of the border. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the border. The outline may be solid or it may be a pattern of dashes.

Round Corners: For rectangles this allows rounded corners.

Fill: This area controls the characteristics of the fill.

None: This selects no fill.

Solid: This selects a solid fill using Color1.

Gradient: This selects a fill that gradually changes from Color1 at the top to Color2 at the bottom.

Pattern: This drop down list box defines the pattern of the fill.

Picture: This selects a specified picture for the fill. The picture can be embedded for portability and fitted, tiled, or centered.

Grid Snap: This causes the object to originate on the nearest circuit grid point.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Help: This command button invokes the help topic for this dialog box.


Star Dialog Box

This dialog box is invoked upon double clicking one of the element graphic objects while in select mode. This dialog box contains the following options:

Border: This area controls the characteristics of the border.

Color: The color boxes control the color of the border. To change the color, simply click on one of the other color boxes. No Color removes the border.

Weight: This drop down list box defines the width of the border. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the border. The outline may be solid or it may be a pattern of dashes.

Fill: This area controls the characteristics of the fill.

None: This selects no fill.

Solid: This selects a solid fill using Color1.

Gradient: This selects a fill that gradually changes from Color1 at the top to Color2 at the bottom.

Pattern: This drop down list box defines the pattern of the fill.

Picture: This selects a specified picture for the fill. The picture can be embedded for portability and fitted, tiled, or centered.

Rotation angle: The object can be rotated by dragging on the circular handle or by changing this number.

Number of Points: This sets the number of points in the star/

Grid Snap: This causes the object to originate on the nearest circuit grid point.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Help: This command button invokes the help topic for this dialog box.


Star Dialog Box (Analysis)

This dialog box is invoked upon double clicking one of the element graphic objects while in select mode. This dialog box contains the following options:

Border: This area controls the characteristics of the border.

Color: The color boxes control the color of the border. To change the color, simply click on one of the other color boxes. No Color removes the border.

Weight: This drop down list box defines the width of the border. The choices are between 1 to 10 pixels.

Pattern: This drop down list box defines the pattern of the border. The outline may be solid or it may be a pattern of dashes.

Fill: This area controls the characteristics of the fill.

None: This selects no fill.

Solid: This selects a solid fill using Color1.

Gradient: This selects a fill that gradually changes from Color1 at the top to Color2 at the bottom.

Pattern: This drop down list box defines the pattern of the fill.

Picture: This selects a specified picture for the fill. The picture can be embedded for portability and fitted, tiled, or centered.

Rotation angle: The object can be rotated by dragging on the circular handle or by changing this number.

Absolute: This is the absolute graphic option. Absolute maintains its position with respect to the plot window through any scale or offset changes performed on the curves.

Relative: This is the relative graphic option. Relative maintains its position with respect to the curves. A relative graphic placed close to the peak of a curve remains near that peak after scaling or panning. The field to the right of this option specifies the curve that the graphic is to remain relative to.

Number of Points: This sets the number of points in the star/

Grid Snap: This causes the object to originate on the nearest circuit grid point.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Help: This command button invokes the help topic for this dialog box.


Tag dialog box

This dialog box is invoked when double clicking, in Select mode, on one of the point tags that have been placed in an analysis plot. This dialog box contains the following options:

Color: The color boxes control the color of the pointer. To change the color, simply click on one of the other color boxes.

Text: These color boxes control the color of the text. To change the color, simply click on one of the other color boxes.

Style: This drop down list box determines the style of the pointer for the tag. The default style is the arrow with the solid head.

Weight: This drop down list box determines the weight of the line for the pointer. The three options are for 1 to 10 pixels.

Pattern: This drop down list box determines the pattern of the line for the pointer.

Alias: This drop down list box defines the waveform that the point tag is pointing to.

Lock: If enabled, this option locks the tag to the data point it is currently attached to.

OK: This command button closes the dialog box, implementing all of the changes.

Cancel: This command button closes the dialog box without implementing any changes.

Apply: This command button applies any edits to the object. The changes are only permanent when the OK button is used to close the dialog box.

Font: This command button invokes the Font dialog box which allows editing of the Font, Font Style, Size, and Effects of the text.

Format: This command button invokes the Format dialog box which allows changing the numeric format display of the tag.

Help: This command button invokes the Tag dialog box help topic.


Title Block Page

The Title Block page displays the fields that appear in the schematic title block. The title block will appear on the schematic and in any schematic printouts only if the Title option is selected from the View options under the Option menu or if the [image] icon is enabled. The title block uses the contents of the five text fields. Field 1 is printed in large text, and the rest are printed in smaller text. Several options facilitate printing the file name, date, page, and sheet numbers. These options are enabled by placing the following key words in the appropriate text field.

$NAME This prints the circuit name.

$NAMEEXT This prints the circuit name with its extension

$MC This prints the version of Micro-Cap that is being used.

$DATE This prints the current date.

$TIME This prints the current time.

$USER This prints the user's name as entered during the Micro-Cap installation.

$COMPANY This prints the user's company as entered during the Micro-Cap installation.

$PAGE This prints the page number.

$PAGENAME This prints the name of the page.

$MAXPAGE This prints the largest page number.

$SECTION This prints the section number.

$SECTIONNAME This prints the name of the section.

$MAXSECTION This prints the largest section number.

$SHEET This prints the sheet number.

$MAXSHEET This prints the largest sheet number.

$DATESAVED This prints the date the file was last saved.

$TIMESAVED This prints the time the file was last saved.

$PATH This prints the path of the file.

Select Title Block: This lets you select from different title block designs. The designs are created by Title Block editor located on the Windows menu.

One Title: If enabled, this option places just one title bar on a multi-sheet printout. The title block will appear on the lower right hand sheet. Otherwise, the title block will appear on all sheets.

Keep Aspect Ratio: If enabled this option will cause the title block outline to keep its aspect ration as the mouse is used to resize it.

Border: This controls the title block border color.

Fill: This controls the title block fill color.

Default: This sets the title block properties for all of the objects in this page to the values specified in the Default Properties For New Circuits dialog box under the Options menu.

Set Default: This sets the values in the Default Properties For New Circuits dialog box page to the values that are currently specified in this page.

Revert to Original Size: This restores the title block to the size specified in the Title Block editor (same number of grids in width and length)

OK: This accepts any edits that have been made and exits the dialog box.

Cancel: This cancels any edits that have been made and exits the dialog box.

Apply: This applies your changes.

Help: This accesses the Help article for this dialog box..


Object Editor

The Object Editor

This editor displays a list of all of the objects contained in the currently selected shape. When an object is highlighted, its coordinates will be displayed on the right side of the editor. These coordinates may be edited, and new objects may be added by clicking on the tool bar icons. The Object Editor consists of the following elements.

Objects list box: This list box contains a listing of all of the objects that comprise the shape.

Object parameters: These boxes contain the coordinates of each of the objects. Select an object to view its coordinates. Rectangles, diamonds, ellipses, arcs, lines, and text use two sets of coordinates to define the coordinates of the corners of the object's bounding box. The bounding box is a rectangular box that contains the object. Polygon parameters are a set of N, X, Y coordinates. The Included Shape parameter is the coordinate of the position where the included shape has been placed. Coordinates are numerically equal to the number of grid positions from the upper left origin at the highest scale.

Delete: This command button deletes the selected object.

Close: This command button exits the Object Editor.

Help: This command button will invoke the Object Editor topic in the Help menu.

Tool Bar: This contains the following options:

Rectangle: This icon adds a rectangle to the object list. The first coordinate is the upper left corner, and the second coordinate is the lower right corner.

Diamond: This icon adds a diamond to the object list. The diamond is enclosed by a rectangular region. This region may be seen when the diamond is selected back in the drawing region of the Shape Editor. The first coordinate is the upper left corner of the region, and the second coordinate is the lower right corner.

Ellipse: This icon adds an ellipse to the object list. Its coordinates are determined in the same manner as the diamond's.

Arc: This icon adds an arc to the object list. Its coordinates are determined in the same manner as the diamond's.

Block: This icon adds a block to the object list. Its coordinates are located at the end of each lead. The coordinates appear in the order of top left lead to bottom left lead, then top right lead to bottom right lead. By clicking on the icon next to each lead coordinate, it is possible to edit each lead as follows:

This leaves the lead as just a straight line.

This adds an edge triggered clock symbol to the lead.

This adds an inverter bubble to the lead.

This adds both the clock symbol and the inverter bubble to the lead.

This eliminates the lead entirely.

Line: This icon adds a line to the object list. The first coordinate is the starting point of the line, and the second coordinate is the ending point.

Closed Polygon: This icon adds a closed polygon to the object list. Each coordinate represents one of the vertices.

Open Polygon: This icon adds an open polygon to the object list. Each coordinate represents one of the vertices.

Include Shape: This icon adds an existing shape to the object list. The coordinate is the upper left corner of its region, shown when it is selected.

Text: This icon adds a text object to the object list. The first coordinate is the upper left corner of its region, and the second coordinate is the lower right corner.

Import Picture: This icon selects the Import Picture dialog box which lets you import images as a part of your title block.

Seven Segment LED: This icon adds a seven segment LED shape for use in animated components.

LED Diode: This icon adds a LED diode shape for use in animated components.

Switch: This icon adds a switch shape for use in animated components.

SPST: This icon adds a SPST switch shape for use in animated components.

SPDT: This icon adds a SPDT switch shape for use in animated components.

DPST: This icon adds a DPST switch shape for use in animated components.

Traffic Light: This icon adds a traffic light primitive shape for use in animated components.

Meter: This icon adds a meter shape for use in animated components.

Analog Bar: This icon adds an analog bar shape for use in animated components.

Relay: This icon adds a relay shape for use in animated components.

Analog LED: This icon adds an analog LED shape for use in animated components.

Analog LED: This icon adds a circular analog LED shape for use in animated components.

Motor: This icon adds a motor shape for use in animated components.

Current: This icon adds a direction indicator for positive current to the shape. This object is only visible on the schematic when the Currents display, [image], is enabled.

Border: This button changes the border color of the selected object.

Fill: This button changes the fill color of the selected object. The button will only be active when a fill is available for the object that has been selected.


Operating Point Methods dialog box

The dialog box lets you select which methods will be used and the order in which they are used. The top method is used first, and so on to the end of the list. The dialog box also provides a means to test for the best methods and adjusts the order accordingly. It provides these options:

Available: This list displays all of the available operating point methods that are not currently being used. The left and right arrow buttons can move methods between the available and used list.

Using/Time/Iterations: This shows the operating point methods that the circuit is currently using. If a Test For Best has been run, then it will also show the time it takes along with the number of iterations. The up and down arrow keys change the priority of the method when a simulation is run. Micro-Cap will use the highest priority method first (the top method) and if it fails on that, it goes to the next method until it finds one that converges or fails on all of them.

Test For Best: This tests all of the operating point methods and arranges them in order from the quickest to the slowest.

Default: This sets the operating point methods to their default order.

OK: This closes the dialog box and saves the changes.

Cancel: This closes the dialog box without making any changes.

Help: This invokes the help topic for this dialog box.


File Import dialog box

This dialog box lets you import waveform data used to match curves in the optimizer. The file format used can be the numeric output files created by Micro-Cap, or the CSV (comma separated values) format that is common to programs such as Excel. The dialog box consists of the following:

File: This field specifies the name of the file to have its data imported from.

Browse: This lets you browse your system for the file to be imported from.

Expression: This specifies the expression name to use for the imported data when importing a CSV file. This field should contain the expression from the circuit that the optimizer will try to fit the data to. The expression specified will be used in all of the Y_Level performance functions that will be entered along with the data.

Append: When enabled, the data imported is appended to existing data. When disabled, the imported data overwrites any existing data.

OK: This imports the file data and exits the dialog box.

Cancel: This closes the dialog box without importing any data.

Help: This accesses the help topic for this dialog box.


Optimizer Settings

These settings tell the optimizer when the solution is good enough to quit.

Powell:

Maximum Per-iteration Change: If the relative difference in the RMS error function from one iteration to the next drops below this value, the optimization will stop. This value is typically 1u to 1m.

Maximum Percentage Per-Iteration Change: If the relative difference in the error percentage from one iteration to the next drops below this value, the optimization will stop.

Maximum Percentage Error: If the actual percentage error of the RMS error function drops below this value, optimization will stop. This value is typically 0.1 to 5.0.

Hooke:

Maximum Per-iteration Change: If the relative difference in the RMS error function from one iteration to the next drops below this value, the optimization will stop. This value is typically 1u to 1m.

Maximum Percentage Error: If the actual percentage error of the RMS error function drops below this value, optimization will stop. This value is typically 0.1 to 5.0.

Step Length Multiplier: This is a convergence parameter, which should be set to a value between 0 and 1. Larger values give greater probability of optimizing highly nonlinear functions, at a cost of more iterations. Smaller values reduce the number of iterations (and the program running time), but increases the risk of not finding the optimal answer.

Step Length Tolerance: This is the criterion for stopping the optimization. When the method begins to make less and less progress on each iteration, it checks to see if the step size is below this value to stop the optimization.

Maximum Iterations: This sets the maximum number of iterations during the Hooke optimization.

DE:

Maximum Iterations: This sets the maximum number of iterations used.

Minimum Iterations: This sets the minimum number of iterations used.

Crossover Probability: This is the probability that a parameter will be changed in any given generation.

Mutation Factor: This factor determines the mutation rate in each generation.

Multiplier: This factor sets the population. Population size equals multiplier*number of variables.

Initial Range Factor: This factor is used to create initial values for the Low and High fields of the parameters being optimized. The Low value is set to Nominal Value / Initial Range Factor. The High value is set to Nominal Value * Initial Range Factor. These are only suggested limits and can be changed by the user.

Initialize Each Method: If this flag is enabled each optimization method is initialized to the value in the Initial field prior to starting the method. Otherwise, each may benefit from using the ending values of the prior method.

Methods: This section lets you select the optimization methods to be used. Select one or more of the available methods. Click the right arrow and it adds the method to the Using list. Using this control tool you can determine which of the methods will be used and the order in which they will be used.


Optimize dialog box

This dialog box defines all of the settings and displays the results for any optimization performed. It consists of the following:

Find:

Parameter: This is where you select the parameter to be optimized. Click on the Get button to select a parameter. The choice of parameters is the same as in the Stepping dialog box. The optimization for the parameter can be enabled/disabled using the icon to the left of the parameter field.

Low: This is the lower limit on the parameter value.

Initial: This shows the initial value of the parameter.

High: This is the upper limit on the parameter value.

Current: The current value of the parameter is displayed here during the optimization process.

Optimized: The most optimal value of the parameter found so far is displayed here during the optimization process.

That:

Maximizes, Minimizes, Equates list box: This is where you select one or more optimizing criteria. You can maximize or minimize the chosen performance function. You can also match a curve by using the equate option together with the Y-Level performance function.

-: This removes the optimizing criterion for the current row.

+: This adds a new optimizing criterion at the end of the list. You can have multiple maximize or minimize criteria, or multiple equate criteria, but you cannot mix maximize / minimize criteria with equate criteria. Each criterion carries equal weight.

Get: This select the performance function and its parameters.

Performance Function Expression: This field displays the performance function that the optimizer will try to minimize, maximize, or equate.

To: The optimizer will try to match the selected performance function to this value if equate is selected. If Y_Level is used, the optimizer tries to match the Y expression value to the value in this field.

Current: The current value of the performance function is displayed here during the optimization process.

Optimized: The most optimal value of the performance function found so far is displayed here during the optimization process.

Error: The shows a measure of the error for the row criteria.

File Import: This accesses the File Import dialog box where you can select waveform data by naming its expression and the file where it is stored. This can be used when trying to match a curve using the Equates option. The file format is the same as the numeric output format for waveforms and curves. It can also handle CSV files.

Clear That: This clears all That fields.

Start With:

Initial: This sets the starting values of the parameters to be optimized with the value shown in the Initial column, at the beginning of each optimization method. The methods do not use the optimized value from the prior method.

Existing: This leaves the starting values of the parameters to be optimized with their ending values from any prior optimization method. Each method except the first, gains the advantage of using an already optimized value from the prior method.

Random: This randomly chooses one of the N grid points (High - Low) / N.

Step All: This chooses each of the N grid points (High - Low) / N.

Grids: This specifies the number of gridpoints.

Number of Tries: This specifies the number of optimization attempts at each gridpoint.

Log: This specifies the use of a log scale between Low and High.

Minimize Dialog: This option minimizes the dialog box so the optimized plot can be seen.

Update Plot: This option updates the plot for each optimization value to show progress towards the optimization goal.

Show Log: This provides a log of t9he optimization process.

Time: This field shows the cumulative time spent optimizing.

RMS Error: This shows the sum of all criteria errors. In equate optimization, it shows the square root of the sum of the squares of the differences between the target and actual values.

Percent Error: For equate optimizations, this shows the average percentage error.

Optimize: This button starts the optimizer.

Stop: This button stops the optimizer.

Apply: This button modifies the circuit by changing its parameters to the optimized values.

Format: This button lets you choose the numeric format of the displayed values.

Settings: This button invokes the Optimizer Settings dialog box.

Constraints: This button opens up a dialog box to enter constraints. There are four fields for constraints. Each constraint is entered as a Boolean statement. Here are some examples.

PD(R1)<=100m

V(OUT)>=1.2

VCE(Q1)*IC(Q1)<=200m

These constraints force the optimizer to operate within specified bounds.

Close: This button closes the Optimize dialog box.

Help: This button invokes this help topic.


Package Editor

The Package editor manages the Package library. This library provides the package information for the components in the Micro-Cap Component library and enables the program to create netlist files for use by external PCB programs. It stores the name of each package and the pin information for each package. All package information is linked to the components using the Package editor. The editor consists of the following.

Command buttons:

Add: This command adds a basic package to the Package library. A Find dialog box appears requesting the name of the component whose package and pin information is to be defined. This command should be chosen when the package contains only one instance of the specified component.

Add Complex: This command adds a complex package to the Package library. A Find dialog box appears requesting the name of the component whose package and pin information is to be defined. This command should be chosen when the package contains multiple instances of the specified component.

Duplicate: This command duplicates the currently selected entry, except for the component name, which is chosen from a Find dialog box. The purpose of the command is to speed data entry when the new part is very similar to an existing part, except for the component name.

Delete: This command deletes the highlighted package.

Find: This command finds a specified library entry. A Find dialog box appears requesting the text of the entry. The text would typically be the part name followed by the package type, although the search routine works with fragments by returning multiple items. For example, performing a find on "740" will return all entries that start with 740.

Close: This command closes the Package editor and optionally saves any changes to the files.

Help: This command accesses the Package editor Help System.

Info: This command displays model information for the part. This is particularly useful for subcircuits as it may describe what the pin names refer to within the subcircuit model.

File Command Buttons:

New (Ctrl+N): This command creates a new package library file. Any packages added to it are available for use in the Package library.

Open (Ctrl+O): This command loads an existing package library file. Its packages are then available for use in the Package library.

Merge: This command merges a Package library file (*.PKG) with the current Package library file. It provides a dialog box to let you locate the external library file that you want to merge with the current library. Only unique packages from the external library file are included. Packages with duplicate names are not merged.

Save File: This command saves the current package library file under its current name.

Save File As: This command saves the current package library file under a new name specified by the user.

Remove: This command removes the currently loaded package library file. Its packages are no longer available for use in the Package library.

Data fields:

Package: This is the package as it will appear in the Attribute dialog box of the specified component for the Package attribute.

Component: This is the component that the package is being defined for. This field is fixed except when the package is first entered from an Add, Add Complex, or Duplicate command.

Pin Cnt: This controls the pin count for the entry.

Accel: This field overwrites the Package field when the schematic is translated to an Accel netlist.

OrCad: This field overwrites the Package field when the schematic is translated to an OrCad netlist.

Protel: This field overwrites the Package field when the schematic is translated to a Protel netlist.

PADS: This field overwrites the Package field when the schematic is translated to a PADS netlist.

Pin fields:

These fields define the configuration of the pins in the PCB netlist. For a basic package, there are two fields: Pin Name and PCB. The Pin Name fields contain the names of the pins as they appear in Micro-Cap for the specified component. These are the pin names as they appear in the Component editor. If the Pin Name is set to NC#, for no connection, the corresponding PCB field is ignored. The PCB fields contain the names of the pins that will be used in the output PCB netlist. Normally, these are the pin numbers from the component's data sheet that correspond to the pins specified in the Pin Name fields. For a complex package, a third field will be present called Gate. Since a complex package has multiple instances of the component in it, the Gate fields specify which instance the pin is being defined for. A '*' in the Gate field indicates that all instances of the component in the package share this pin.

Package selector:

The selector is a list box that lets you select a package for viewing or editing. The packages are sorted in groups according to their first character. The tabs at the top of the selector control the group that is shown in the list box.

Where more than one package is available for a part, a default package can be specified by clicking on the adjacent check box. When the part is placed in a schematic, the default package is specified for the PACKAGE attribute.

Expanding the Package editor window size:

To expand the Package editor window size, move the mouse to one of the window edges and when the two-headed arrow icon comes up drag the window edge with the left mouse button.


Parts List dialog box

This dialog box creates a text file containing the part names from the currently selected group or from the entire library. This text file can then be used to import into other programs such as Excel. The options are:

File: This text field chooses the path and the file name to place the list in.

Browse: This button lets you browse through the folders to choose a path and a name to place the list in.

Show: This group chooses the parts to list.

All Parts: This option places all parts within the selected component file in the list.

Selected Group Only: This option places all parts that are within the group in the list. This includes parts that are within children groups of the selected group.

Delimiter: This group chooses the delimiter between columns.

Tabs: This option places a tab between each column.

Semicolon: This option places a semicolon between each column.

Commas: This option places a comma between each column.

Spaces: This option places a space between each column.

Text Qualifier: This group chooses the text qualifier for a column entry.

Double Quotes: This option places double quotes around all column entries in the list.

Single Quotes: This option places single quotes around all column entries in the list.

None: This does not place a text qualifier around any column entries.

Save: This chooses which fields from the Component editor to display in the list.

Memo: This places the Memo field as a column.

Definition: This places the Definition field as a column.

Shape: This places the Shape field as a column.

Cost: This places the Cost field as a column.

Power: This places the Power field as a column.

OK: This button creates the list and closes the dialog box.

Cancel: This button closes the dialog box without creating the list.

Help: This button invokes this help topic.


Path dialog box

This lets you specify one or more default paths for DATA (circuits), LIBRARY (model libraries and macros), PICTURE (wmf and bmp picture files), and DOCUMENT (document files). If more than one path is specified, they must be separated by a semicolon (;). This is most useful for the Library field. Micro-Cap first looks locally in the circuit for model data. It looks in the LIBRARY paths next, searching multiple paths in left to right order. Local .PATH commands within the circuit can be used to specify different paths.

Data: This text field sets the default path for circuit files, numeric output, text files, probe files, Monte Carlo files, filter impedance files, User Source files, digital stimulus files, PLA files, sensitivity output files, PCB netlists, and Bill of Materials netlists.

Model library and include files: This text field sets the default path for where the library files or macro files will be stored. When entering an analysis, if Micro-Cap can't find a model in the local circuit, it will use this path to find the Nom.lib file or any files referenced in a .lib or .inc that are not specified with a path. It will also search this path for any macro files used within the circuit. Multiple paths must be separated with a semicolon.

Picture: This text field sets the default path where any picture files will be stored. When a picture file is created through Micro-Cap or inserted into a schematic, this is the default path it will use.

Document: This text field sets the default path for documentation files. This path will be used when accessing the Micro-Cap manuals via the Help menu. It also sets the default path for documents that have been defined for a component in the Link field of the Component Editor.

Preferred Paths: The preferred paths section lets you store and manipulate paths so that it is easy to change between two different sets of paths

Preferred Path List: This is a list of the preferred path names that have already been saved. Clicking on one of these names will immediately change all four paths to the values associated with that name.

Add: This command adds a new preferred path using the paths that are currently defined.

Update: This command updates the selected preferred path name with the paths currently defined.

Delete: This command deletes the selected preferred path.

File Dialog Initial Path: The initial path section lets you choose the method by which the path in the Open File dialog box will be initially set to when the dialog box is invoked.

Use Defined Path: The initial path in the Open File dialog box will be set to the path defined in the appropriate path field within this dialog box. If multiple paths are listed in the field, the first path will be chosen.

Use Last Path: The initial path in the Open File dialog box will be set to the last path from which a similar file was opened. Data file, library file, and graphic file types will all have their own last path stored.

Use Current Path: The initial path in the Open File dialog box will be set to the same path as the currently active file in Micro-Cap.

Look in subfolders: When enabled, the search operation also looks in any subdirectories that the paths in any of the Path fields may have.

Allow Non-existent Paths: This lets you specify paths which do not exist at the time of creation, but may later. For example, USB or CD drives.

User Paths: This lets you define path names variables and the associated paths that can be used in any place where a file path is expected such as the FILE attribute of a WAV source or in a .LIB statement. There are three commands to manage the list:

Add: This invokes the User Path dialog box which lets you define new path names and associated paths.

Edit: This lets you edit selected user paths.

Delete: This lets you delete selected user paths.

The user path lets you assign a path to a specific name. For example, you can have the following name/path combination:

MyPath=C:\MyCircuits\

In order to use this in a circuit, you would reference the user path name within <> characters. For example, the following statement would work:

.Include <MyPath>model.txt

OK: This accepts the changes and exits the dialog box.

Cancel: This ignores any changes and exits the dialog box.

.Path: This places .Path command statements into the currently active circuit which will localize the path information for that circuit. The .Path dialog box that is invoked from this button lets you select which paths are to be localized.

Help: This invokes the help topic for this dialog box.


.Path dialog box

This dialog box is invoked from the .Path command in the Path dialog box available under the File menu. It provides a selection of paths that may be localized in the active circuit by adding or updating .Path command statements. The .Path command statements have priority over the paths defined within the Path dialog box. The dialog box consists of the following:

Path Groups: This section lets the user select which paths are to be added or updated in the active circuit. All four paths (Data, Library, Picture, and Document) are available for localizing.

OK: This will add or update the .Path commands for the selected paths in the text area of the active circuit.

Cancel: This closes the dialog box without performing any action.

Help: This invokes the help topic for this dialog box.


User Path dialog box

This dialog box adds or edits new user path variables. User path variables let the user substitute a variable in place of a long path sequence wherever a path may be specified. For example, you can have the following name/path combination:

MyPath=C:\MyCircuits\

In order to use this in a circuit, you would reference the user path name within <> characters. For example, the following statement would work:

.Include <MyPath>model.txt

Enter Name: This field defines the name of the user path variable.

Enter Path: This field defines the path that the variable name will have assigned to it.

...: This button lets you browse for the desired path.

OK: This command button adds or updates the user path variable.

Cancel: This command button closes the dialog box without adding or updating.

Help: This command button invokes this help topic.


Printed Circuit Board dialog box

This dialog box creates netlist files to be used as input to the Protel, Accel, OrCad, or PADS. It uses the information specified in the PACKAGE, GATE, and COMPNAME attributes for each component. The Package pin information is defined and stored in the Package Editor which is available under the Windows menu.

PCB Type: This determines the PCB format that the schematic will be converted to. The options are as follows:

Protel 1: This option creates a Protel 1 netlist from the active schematic. This file can then be used as an input to the Protel program to create PCB files.

Protel 2: This option creates a Protel 2 netlist from the active schematic. This file can then be used as an input to the Protel program to create PCB files.

Accel: This option creates an Accel netlist from the active schematic. This file can then be used as an input to the Accel program to create PCB files.

OrCad: This option creates an OrCad netlist from the active schematic. This file can then be used as an input to the OrCad program to create PCB files.

PADS: This option creates a PADS netlist from the active schematic. This file can then be used as an input to the PADS program to create PCB files.

Options:

Rename Parts: If enabled, this option will rename the components that don't have a COMPNAME attribute so that they have a standard name designation. For example, a resistor with the part name 'Limiter' will be changed to a name such as 'R1'. When disabled, the components will use the PART name assigned in the circuit.

File: This text field defines the name and path to where the PCB file is to be saved.

Browse: This command button lets you browse through the available folders on the drive to choose a file name to save the PCB file to.

OK: This command button creates a PCB file with the selected options.

Cancel: This command button closes the PCB dialog box without producing a PCB file.

Help: This command button invokes this help topic.


Add Expression dialog box

This dialog box may be invoked through the Add Curve option in the Probe menu. This dialog box lets you enter an expression to plot in the probe window.

Enter An Expression: This field contains the expression that is to be plotted. An example is VCE(Q1)*IC(Q1) which plots the transistor's collector power. The expressions may contain any saved variables. Right clicking in this field will provide access to all of the operators, expressions, and basic circuit variables.

OK: This closes the dialog box and plots the expression.

Cancel: This closes the dialog box without plotting the expression.

Help: This accesses the help topic for this dialog box.


Performance Plots Scales and Format Page

Performance/FFT Plots Scales and Formats Page

This page lets you specify the numeric format for the plot scales, and Cursor mode tables. It allows selection of Same Y Scales for separate plot groups.

X: This group includes:

Scale Factor: This lets you apply a scale factor. Under Auto, Micro-Cap picks a suitable scale factor from the list (T,G,Meg,K,m,u,n,p,f).

Scale Units: This lets you add units (Volts, Amps, etc,) to the plot. If Auto is selected, Micro-Cap will attempt to guess what the units should be from the plot expression.

Scale Format: This is the numeric format used to print the X axis scale. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Cursor Format: This numeric format is used to print the plot's X value in the table below the plot when in Cursor mode and in the tracker boxes. Clicking on the Format command button lets you define the number of digits to be displayed along with choosing whether to display the number in Scientific, Engineering, or Default notation. To the right of the command button is a text string that displays the currently defined format.

Auto / Static Grids: This specifies the number of grids to use when auto scaling or when the Static Grid option is enabled. Static grids are the old-style fixed grids used in MC6.

Enable Scaling: This option enables auto scaling in the X or Y direction. To autoscale in the Y direction only, disable this option in the X panel, and vice versa.

Y: This group provides a similar set of commands for the Y axis group.

Same Y Scales for Each Plot Group: Enabling this checkbox forces the plot to use a single Y scale for each graph group. If disabled, a separate Y scale will be used for each waveform that has a separate range.

Static Grids: Enabling this checkbox sets the X and Y grids to a static location within the plot window. The grids will be fixed on the screen even when panning or resizing the waveforms. The Grid Spacing and Bold Grid Spacing fields will have no effect.

Keep X Scales the Same: If enabled, this option keeps the X scales of different plot groups the same.

Default: This reverts all of the settings in this page to the default settings.


Default Performance Plot/FFT Numeric Output page

This panel lets you control the default content of numeric output files (*.TNO, *.ANO, and *.DNO).

Include Main Header: This adds the header information defined in the Header page of the Properties dialog box.

Include Analysis Limits: This adds the analysis limits.

Include Branch Header: This adds the header for each branch of the simulation such as the temperature, stepped variable, and Monte Carlo case.

Include Waveform Headers: This adds the expression headers to the waveform value columns.

Allow Duplicate Y Expressions: When enabled, Y expressions that use duplicate expressions will be printed to the numeric output. When disabled, any duplicate expressions will not be printed to the numeric output.

Table Formats: This controls how the numeric output curve / waveform tables will be arranged. Horizontal is the conventional format, with column vectors arrayed horizontally. Vertical arranges one column of the analysis variable (time, frequency, or DCINPUT1) followed sequentially by single column vectors, one for each output. Vertical X,Y Alternate is the same but with an extra analysis variable column inserted between each output vector. Finally Vertical X,Y Pairs produces column pairs consisting of the analysis variable and one output. The pairs are arranged vertically, one after the other.

Curves X: This controls the format of the X values of the waveforms / curves ( typically T in transient, F in AC).

Curves Y: This controls the format of the Y values of the waveforms / curves.

Default: This button copies the current set of default parameters/options to the panel, overwriting any changes you have made.


Performance/FFT Scales and Formats page

This page accesses the numeric format features of the performance plot or the FFT window. Its layout and function are the same for all plots. To edit a waveform format, select it from the Curves list. Any changes to a waveform can affect all waveforms in its plot group.

X: This group includes:

Range Low: This sets the low range for the X axis for the selected plot.

Range High: This sets the high range for the X axis for the selected plot.

Grid Spacing: This is the distance between X grids.

Bold Grid Spacing: This is the distance between bold X grids.

Scale Factor: This lets you specify an optional X scale factor from the list (None, Auto, T, G, Meg, K, m, u, n, p, f).

Scale Units: This lets you specify optional X axis units from the list (None, Auto, Seconds, Volts, Amps, Ohms, ...). Auto can select suitable units for simple expressions such as S for Time, but complex expressions such as T+10 are ignored.

Scale Format: This accesses a dialog box where you select the numeric format used to print the X axis scale. Click on the Format button to edit the format. The options are Scientific, Engineering, and Default. To the right of the Format button is a text string that displays the current format.

Cursor Format: This numeric format is used to print the plot's X value in the table below the plot when in Cursor mode and in the tracker boxes. Its format is the same as the scale format described above.

Auto Scale: This command scales the X Range and places the numbers into the Low, High, and Grid Spacing fields. The effect on the plot can be seen by clicking the Apply button.

Log: If checked, this makes the X axis a log scale.

Auto/Static Grids: This is the number of X axis grids to use when auto scaling or Static Grids are used.

Enable Scaling: When this item is checked, all X axis scaling and panning commands (F6, CTRL + +, CTRL + -,mouse drag) are enabled. When disabled, no scaling options are available for this axis.

Y: This group provides a similar set of commands for the Y axis group.

Same Y Scales for Each Plot Group: Enabling this check box forces the Auto Scale command to use a single common scale for all plots within a plot group. If the box is unchecked, the Auto Scale function will generate multiple scales for each plot in a plot group.

Static Grids: Enabling this checkbox sets the X and Y grids to a static location within the plot window. The grids will be fixed on the screen even when panning or resizing the waveforms. The Grid Spacing and Bold Grid Spacing fields will have no effect.

Keep X Scales the Same: This option forces all horizontal scales using the same X expression to be the same.

Use Common Formats: Clicking this button copies the X and Y formats of the selected curve to the format fields of all plots.

Common Y Scale: Clicking this button copies the Y range fields of the selected curve to the Y range fields of all curves that share the same plot group.


Performance Plot/FFT Window Numeric Output page

Performance Plot/Fourier Window Numeric Output page

Numeric output may be obtained for each curve by enabling the output button in the curve row. Content is also controlled from the Numeric Output page of the Properties dialog box (F10). This page consists of the following:

Curves:

Curve List: This list displays all of the Y expressions that are available for numeric output. Click in the checkbox to enable the associated waveform for numeric output.

Alias: This field provides a way to define an alias name for the waveform header in the numeric output. This is particularly useful if you want to substitute a short descriptive name for a long mathematical expression.

Up/Down Arrows: These two buttons change the order that the selected expression will be printed in the numeric output. The curves are printed in order from top to bottom in the curves list.

Check All: This enables all available expressions for numeric output.

Clear All: This disables all available expressions for numeric output.

Hide Non-selected: This hides unselected plots in the list.

X Format: This button controls the numeric format for the X values of the selected waveform.

Y Format: This button controls the numeric format for the Y values of the selected waveform.

Use Common Formats: This button sets the format for all curves to that of the selected waveform.

Show: This section allows selection of the other material to include in the numeric output file.

Include Main Header: This prints the main header.

Include Analysis Limits: This adds the analysis limits.

Include Branch Headers: This adds branch headers that identify the item(s) being stepped or the Monte Carlo case number.

Include Waveform Headers: This prints identifying expression text above each numeric column.

Allow Duplicate Y Expressions: When enabled, Y expressions that use duplicate expressions will be printed to the numeric output. When disabled, any duplicate expressions will not be printed to the numeric output.

Table Formats: This controls how the numeric output curve / waveform tables will be arranged. Horizontal is the conventional format, with column vectors shown horizontally. Vertical prints the time column, followed sequentially by single column vectors, one for each output. Vertical X,Y Alternate is the same but with an extra analysis variable column inserted between each output vector. Finally Vertical X,Y Pairs produces column pairs consisting of the analysis variable and one output. The pairs are arranged vertically.

Default: This sets the Show settings to their default values.

Set Default: This button makes the current set of Show options the standard defaults for the panel. This alters the standard defaults for this panel only but it does so for all future uses of the Default button and for all newly created circuits as well, so use it carefully.


Performance Plot page

This page accesses the main plot features of the performance window. It includes these items:

Curves: This list box lets you select the waveform that the performance functions will operate on. The Add and Delete buttons at the bottom let you add or delete a particular performance plot. There must be at least one plot in this list. The check box for each curve controls whether the selected performance curve will be plotted or not. If you want to hide the curve from the plot group, remove the check mark by clicking in the box.

Title: This field contains the plot title. If the Auto checkbox is enabled, the title is automatically created from the function name and analysis run details. If the flag is off, the title remains unaltered, even if the performance function is changed. Enabling the Auto checkbox automatically reverts the title to its standard format.

You can use .define statements in the title. For example, if you have a statement such as:

.define Title My Circuit

you can reference this in the title field by stating '$Title$'.

Many of the variables from the title block of the schematic are available such as: $MC, $DATE, $TIME, $USER, $COMPANY, $NAME, and $NAMEEXT.

X Axis: This field lists the variables available for plotting along the X axis. This includes temperature, if it was stepped, and any parameter values that were stepped.

Runs: If Accumulate Plots is enabled in the Analysis Limits, this lets you select the run number whose curves the performance functions will operate on.

Temperature: If temperature has been stepped and was not selected as an X axis variable, each value creates a separate curve. This lets you select the temperature whose curve the performance functions will operate on.

Plot Group: This is the plot group for the plot. You can add more plots to the current window by clicking on the Add command button in the Plots list box. These additional plots may be grouped together or plotted separately by using the same or a different graph number.

What To Plot: The first row of this group simply selects a performance function and its parameters.

Stepped Variables List: If more than one variable has been stepped, there will be one or more List boxes. These list boxes let you select which instance of the stepped variable(s) the performance functions will process. For instance, if you stepped R1, L1, and C1 through 5 values each and chose R1 for the x axis variable, there would be a list box for L1 and one for C1. From these two lists, you could select any of the 5 X 5 = 25 possible curves and plot a performance function versus the R1 value.


Find Package dialog box

This dialog box lets you locate a part's package by its component name plus its package name. You can specify only part of the name and the program shows you the parts whose names partially match. You then click on the name of the part you want and Micro-Cap highlights the package information that was selected.

You can use the standard wild card characters '?' and '*' in the search. '?' stands for one unspecified character and '*' stands for one or more unspecified characters. An '*' is added to the end of your search string. For example,

(Blank) Finds all part names in the entire Package library.

* Finds all part names in the entire Package library.

2N Finds all part names that begin with 2N.

1N?11 Finds all part names that have 1N, then any single character, then 11, then any number of characters.

File: This text shows the file that the selected package has been found in.

OK: This closes the dialog box and highlights the selected part.

Cancel: This closes the dialog box without changing the highlighted part.

Help: This accesses the Find Package help topic.


Combinations page

This page controls how the Fit to Standard Value command in the Edit menu, the Combinations and Single button options in the Attribute dialog box, and the Combinations and Single Part option in the Filter Designer are applied. The page consists of the following:

Resistor:

Maximum Error (%): This field determines the maximum error in percentage terms that can occur for Micro-Cap to find a valid fit. This may need to be increased if trying to match Single Parts. If no match can be found, Micro-Cap will leave the original value intact.

Maximum Parallel Elements: This field determines the maximum amount of parallel resistors that will be used to try and find a fit. The larger the value in this field, the longer the procedure will take.

Maximum Parts Count: This field determines the maximum amount of resistors that will be used to try to find a valid fit. The larger the value in this field, the longer the procedure will take.

File: This field defines the .RES file that is to be used which contains the list of valid resistor values. The format of this file can be found in the Component Lists Format section.

Browse: This button invokes a dialog box where another .RES file can be selected.

Capacitor:

Maximum Error (%): This field determines the maximum error in percentage terms that can occur for Micro-Cap to find a valid fit. This may need to be increased if trying to match Single Parts. If no match can be found, Micro-Cap will leave the original value intact.

Maximum Series Elements: This field determines the maximum amount of series capacitors that will be used to try and find a fit. The larger the value in this field, the longer the procedure will take.

Maximum Parts Count: This field determines the maximum amount of capacitors that will be used to try to find a valid fit. The larger the value in this field, the longer the procedure will take.

File: This field defines the .CAP file that is to be used which contains the list of valid capacitor values. The format of this file can be found in the Component Lists Format section.

Browse: This button invokes a dialog box where another .CAP file can be selected.

Inductor:

Maximum Error (%): This field determines the maximum error in percentage terms that can occur for Micro-Cap to find a valid fit. This may need to be increased if trying to match Single Parts. If no match can be found, Micro-Cap will leave the original value intact.

Maximum Parallel Elements: This field determines the maximum amount of parallel inductors that will be used to try and find a fit. The larger the value in this field, the longer the procedure will take.

Maximum Parts Count: This field determines the maximum amount of inductors that will be used to try to find a valid fit. The larger the value in this field, the longer the procedure will take.

File: This field defines the .IND file that is to be used which contains the list of valid inductor values. The format of this file can be found in the Component Lists Format section.

Browse: This button invokes a dialog box where another .IND file can be selected.

Format: This sets the format that will be used for the new component values.

Default: This sets all of the fields back to their original default values.


Component Palettes page

This page lets you name the nine component palettes and control their display in the Main tool bar. You can also toggle their display on and off during schematic use with CTRL + palette number.

Name: This controls the name of each individual palette.

Show: If enabled, the corresponding palette will be shown in the schematic.


Did You Know? page

This page accesses a list of new feature reminders. When the user accesses an area of Micro-Cap where a new feature in the version can be a potential help, a reminder dialog box will appear on the screen that describes the new feature. This page provides a method to disable these reminders.

All On: This button turns on all reminders.

All Off: This button turns off all reminders.


Error window page

Show: When enabled, the Error Window is displayed on the screen. This window can also be enabled/disabled under the Options menu.

Clear on Run: When enabled, this option clears the Error Window when a new run is attempted.

Clear on Edit: When enabled, this option clears the Error Window when a schematic edit occurs.

Show Help for Error: When enabled, this option shows help lines in the Error window..


Shortcuts page

The Shortcuts page lets you customize the accelerator or shortcut keys for all of the menu commands available in Micro-Cap. The page consists of the following:

Show Commands Containing: The text field narrows down the choices in the Commands list. Typing in a text string will display in the Commands list only those commands that contain the text string. The Commands list is updated dynamically while the string is typed in. For example, type in Clear to show just the commands that contain the word Clear.

Commands: This list shows all of the available commands that can have a shortcut key assigned to them. Narrow down the list by entering a text string in the Show Commands Containing field. Click on a command to add or edit its shortcut key.

Shortcut key: This field defines the shortcut key for the selected command. Use the Ctrl, Shift, or Alt keys along with any standard keys to define an entry. Click on the Assign button to assign the shortcut to the selected command or click on the Remove button to remove the currently assigned shortcut from the selected command.

Currently used by: This field displays all commands that currently use the shortcut key specified in the Shortcut key field.

Button: The Assign button opens the Button Editor which lets you create a new or choose an existing tool bar icon to assign to the selected command. The Remove button removes the assigned tool bar icon from the selected command. Only icons that have been assigned by the user may be removed.

Default: This sets all of the shortcut keys back to their default values.


International Settings page

This page controls the language that will be used for some of the text strings within the program. Available languages can be downloaded by going to the Help menu and selecting Check for Updates.

Languages: This displays a list of the available languages that are currently installed for Micro-Cap. Select a new entry to change to that language. If a new entry is selected, Micro-Cap must be restarted. <Auto> scans Windows settings in attempting to determine which language should be used. English is the default language.

Use English Shortcut Keys: When enabled, all shortcut key references will be specified with the English keyboard names.


Options - Analysis page

This page accesses a list of analysis operational choices:

Select Mode: This causes the mode to revert to Select after any other mode is completed. This flag applies only when in an analysis.

Add DC Path to Ground: This option automatically adds a 1/R_NODE_GND (set in the Global Settings) resistor to any path where there is no DC path to ground. It will only be active when the DC Path to Ground Check is enabled.

Inertial Cancellation: If enabled, this option causes the logic simulator to employ inertial cancellation, which cancels logic pulses whose duration is shorter than the device delay. If this option is disabled, the simulator does not cancel short pulses.

Select Curve Color: If enabled, this option colors the selected curve branch in the Select Color Primary. It is nearly always on, except when many hundreds of branches would slow down the redraw required by the select color.

Smart Entry: If enabled, Micro-Cap estimates the initial values when a parameter is selected in the Stepping dialog box.

Plot on Top: If enabled, this option places the analysis plot on top of the schematic if they are overlaid. If unchecked, the schematic floats above the plot.

Analysis Progress Bar: If enabled, this option displays a progress bar during a simulation run in the Status Bar area, if the Status Bar feature is enabled on the Options menu.

Macro Drill Down: Prior to MC9, probing a macro produced a list of macro nodes and parts, which could be selected for display. This option enables direct probing of macro schematics and subcircuit netlists.

Convergence Assist: This option enables the Convergence Assist routine which attempts to optimize selected Global Settings parameters to help a circuit converge. It may modify RELTOL, ABSTOL, VNTOL, ITL4, ITL2, METHOD, GMIN, and others to achieve convergence. If it succeeds, it adds a .OPTIONS statement to the circuit with the modified parameters, so that subsequent runs converge more readily.

Dynamic Auto Run: In Micro-Cap, you can simultaneously see and edit the schematic and view the analysis plot. The plot is dynamically updated after every edit is made to the schematic if this option is enabled. If it is disabled, the analysis and plot are updated only when you expressly ask for it by clicking the Run button or pressing F2.

Derivative Threshold: Function sources using expressions need partial derivatives. The expressions for these derivatives are created automatically. Complex expressions can lead to even more complex derivatives, which can bog down the analysis. If the symbol length of the derivative expression exceeds this threshold, then a numeric derivative is used instead.

Data Point Buffer: This sets the size of the data point buffer. An analysis plot line is drawn only when the number of undrawn data points equals this value. Since it is much faster to plot a line with 10 points if they are closely spaced, making this a large value usually speeds up analyses that are plot-time limited.

Smoothing: This sets the global parameters for numeric smoothing. Individual devices can either inherit these settings or specigy their own.

Use Smoothing: This check box enables smoothing.

Fraction: This parameter governs the extent of the smoothing. It is limited to 50% of the distance between data points.

Default: This command button restores the Options to their default settings.


Options - Circuit page

This page accesses a list of circuit operational choices:

Text Increment: This controls whether non-command grid text is incremented during a paste, step, drag copy, or mirror operation. Incrementing means that the ending numerals in the text are increased by one. If no numerals are present, a '1' is added to the text.

Component Cursor: If enabled, this option replaces the mouse arrow with the shape of the currently selected component whenever Component mode is active. This has the advantage of showing what the currently selected component is and its size.

Copy / Paste Model Information: This option copies and pastes any associated .model, .subckt, or .define text statements along with the part. This is handy when pasting localized models between circuits. This will not work while in an analysis mode.

Node Snap: This flag compels components, wires, and text to originate on a node if a node's pin connection dot is within one grid of the object being placed or moved.

Rubberbanding: If enabled, this option causes drag operations to extend the circuit wires to maintain node connections. If disabled, drag operations sever selected wires at their endpoints and drag them without changing their shape or length. This option may also be toggled by clicking on the button, [image], or by using the CTRL+SHIFT+R shortcut key combination.

Block Select Display Mode: This option enables the block select mode, which shows the background of selected objects in the Block Select color. This makes the selected objects easier to spot, especially when there is only one object. If disabled, the selected object is drawn in the standard foreground Select color.

Auto Show Model: This mode causes model statements added to the schematic text area by the Model command to automatically split the circuit window and show the newly added model statement.

Node Highlight: This option automatically highlights the entire node as the mouse cursor passes near the node. This option is useful for determining the connectivity of the node and to see possible misconnections that could otherwise be easily missed.

Automatically Add Opamp Power Supplies: This option automatically adds and connects the VCC and VEE power supplies for level 3 opamp primitives. It places the batteries on a schematic page called Power Supplies. Note that it will not work for vendor-generated opamp subckt models.

Element Info: If enabled, this shows element information for the object under the mouse pointer. Generally this is the same information displayed in the Status bar at the bottom of the window, but more useful because it is visually near where you are pointing.

Expanded Element Info: If enabled, this shows additional element information for the object under the mouse pointer. This includes a fair amount of data from the device structure such as beta, transconductance, capacitance, etc.

Component Import: If enabled, any time a circuit is loaded, Micro-Cap will compare the components in the circuit to those in the Component library. If the component does not exist in the library, it will be imported in so that it will now exist in the Component library. If the component has the same name as one in the library, it will compare the shape name assigned to it along with the locations of the pins. If either of these do not match, the component will be imported into the library under a new name. This does not bring over the underlying model, just the schematic information. This is quite useful when receiving circuit files from another user so the schematic will appear as the other user created it. When disabled, all components will use the information assigned to them in the Component library rather than the information stored in the circuit. If a component in the circuit does not exist in the Component library, a Part Not Found will be placed at its location in the schematic. Disabling this feature can be useful when you change the shape name or the pin locations of a component in the Component Editor and want the changes to affect previously saved circuit files when they are loaded.

Select Mode: This option causes the schematic mode to revert to Select after any other mode is completed. For example, to place a component you must be in the Component mode. After placing the component, the mode normally stays in Component mode. If this option is selected, the mode reverts to Select immediately after a component is placed. The same thing would happen when drawing wires, placing text, querying a part, or any other mode-based action.

Attribute Dialog Box Enable: When enabled, the dialog box will be automatically invoked as needed when a component is placed in the schematic.

Nodes Recalculation Threshold: If the Show Node Numbers option is enabled, nodes are recalculated and displayed whenever any schematic editing is done. For large schematics this can become time-consuming. This value sets an upper limit for node count beyond which automatic node recalculation will be ignored, even if the Show Nodes option is enabled.

File Link Default: This field lets you set the default link for the File link mode. The default is www.google.com/search?q="%s"+"data sheet" which does a Google search for the part name. The %s stands for the part name. If a component has its Link field undefined in the Component Editor, this is the link that will be invoked when the component is clicked on while in File Link mode.

Default: This command button restores the Options to their default settings.


Options - General page

This page accesses a list of general operational choices:

Time Stamp: This option adds a time stamp to all numeric output files.

Date Stamp: This option adds a date stamp to all numeric output files.

Warning Time: This sets the duration of warning messages.

Help File on Top: If enabled, the Help file, when invoked, will always stay on top of the main Micro-Cap window. When disabled, the Help file will go behind when the Micro-Cap window is the active window.

Print Background: If enabled, this option adds the user-selected background color to the printouts. It is usually disabled, since most background colors do not print well.

Component List Size: This value sets the number of part names to include in the Recent Parts section of the Component menu.

Add Parentheses to Define:. This brackets the right side of .define statements with a pair of parentheses to avoid expansion problems. For example, with the added parentheses,

.DEFINE A 1+V(1) is interpreted as (1+V(1))

Without the added parentheses an expression like 1/A becomes

1/1+V(1) = 1+V(1).

With the added parentheses the 1/A becomes 1/(1+V(1)).

Component Menu Shape Display: This option shows the shape as different components are selected from the Component menu.

Splitter Size: This value sets the size in pixels of the window splitters.

Show Full Paths Title: This option shows the full file and path in the window title bar. If you use long path names, disabling this option may unclutter the title bars, though it may be hard to distinguish files of the same name in different folders.

Use Bitmaps in Menus: This option enables or disables the use of bitmap icons on the menus.

Auto Load Last Files: This check box determines whether files used during the last run will be automatically loaded when the program is run.

Sort Model Parameters: If enabled, this option alphanumerically sorts model parameters in the Attribute dialog box, the numeric output, and the Model Parameters Limits editor.

Bold Group Names: This option bolds the group names in the Component menu and panel hierarchical display.

Auto Load Last Files: This value sets the number of files that will be automatically loaded when the program is run.

Large Tool Bar: This uses large tool bar icons.

WMF / EMF Transparent: This causes imported pictures to use a transparent background

Quick Help: This invokes the Quick Help pop-up list of expressions in the analysis limits X and Y expression fields.

User Name: This sets the name that will be substituted when the $USER variable is used. This is typically used in the title blocks or on headers of text files.

Company Name: This sets the name that will be substituted when the $COMPANY variable is used. This is typically used in the title blocks or on headers of text files.

Component Menu Column Height: This sets the depth of the columns in the Component menu. Reducing this may be helpful in keeping the menu on screen vertically.

Sound Error: This controls the use of sound for errors, illegal operations, and to indicate the end of a simulation run.

Sound Illegal Operation: This controls the use of sound for illegal operations.

Sound Finished Run: This controls the use of sound for the end of a simulation run.

Default: This command button restores the Options to their default settings.


Color Palettes page

This page lets you define your own colors. Click on any of the color squares and you invoke a color editor that lets you customize the hue, saturation, and luminance of the selected palette color.

This color palette applies to all palettes in the program. When you look at the standard color palette in a place such as the Properties dialog box, it is an 8x8 size. However, the top 16 colors are fixed Windows colors. The Color Palette in the Preferences lets you edit the bottom 48 colors. When you edit a color here, the top two rows are not shown since those can't be edited. Any change here changes the master palette that Micro-Cap uses throughout the program.

Default: This command button sets the color palette to the original default colors.


Panel page

This section lets you control the display and appearance of the Component panel. The page consists of the following:

Tab Position: This option sets the locations of the Browse and Search tabs within the Component Panel. The options are Top, Bottom, Left, and Right.

Single Expand: When enabled, only a single group path will be expanded at the same time. Any other groups not in the path will be automatically closed.

Show: When enabled, the Component Panel is displayed on the screen. You can also toggle the display of the Component Panel by selecting Panel under the Options menu.

Display: This list determines which panels will be available for display within the Component Panel. Enable the checkbox to show the specified panel.


Rainbow page

This page controls the Rainbow color sequence used when the Rainbow option is selected for simulations that use multiple branches such as Stepping and Monte Carlo.

List: The list box shows the actual sequence of colors used when the Rainbow option is active. The up and down arrow buttons can be used to move colors up or down in the sequence. The + button adds a new color into the sequence. The - button deletes the currently selected color from the sequence.

Colors: Selecting a color from the palette will modify the currently selected color from the sequence. When the + button is clicked, the color currently selected will be the color of the new item in the list.

Default: This button restores the original colors for the rainbow sequence.


Recent Files

This dialog box lets you pin files to the Recent Files list. Pinning causes file names to remain on the list

File List Size: This specifiies the maximum number of recently used file names to retain.

Remove: Removes the selected file.

Paths on Menus: This provides these options:

Show Full Paths: This includes the full path name. For example C:\MC12W\DATA\FILTER.CIR.

Variablize Paths: This includes a path variable name if used. For example <STUFF> FILTER.CIR.

Don't Show Paths: This excludes the path name. For example FILTER.CIR.


Auto Save page

This page lets you enable options from which you can enable automatic saving of circuit files to disk every time you run an analysis or on a specific time schedule.

Auto Save Circuits Before Running Analysis: If enabled, this will save the circuit to disk when an analysis mode is first entered.

Automatically Save File Every X Minutes: If enabled, any open circuit file will be saved to disk every X minutes, with X being the value specified in the text field on this line.

If neither of these options are enabled, the circuit file will only be saved when the user performs a Save or Save As operation.


Slider page

This controls how the Slider works. The slider is a device for smoothly changing the value of component, model, and symbolic (.define or .param) variables, while watching the analysis plot respond. Both the mouse and the Up and Down cursor keys control the slider. Sliders can be placed anywhere on the screen. The page consists of the following:

Component Slider: This option shows a slider adjacent to voltage and current sources, resistors, inductors, and capacitors while in an analysis mode.

Floating Slider:

Format: This sets the initial format for a slider. The format on an individual slider can be modified by double clicking on the header portion of the slider.

Font: This sets the initial font for a slider. The font on an individual slider can be modified by double clicking on the header portion of the slider.

Position: This option sets the initial position of a slider when created. Once created, the slider may be moved around the screen. The options are Left, Top, Right, Bottom, and Float.

Slider Percentage Step Size: This is the percent change that occurs for each key press that increases (Up Arrow) or decreases (Down Arrow) the value of a selected slider.

Default: This sets the settings back to their default values.


Status Bar page

This page lets you change the Status bar text attributes.

Display Status Bar: When enabled, the status bar is displayed at the bottom of the Micro-Cap window. The Status bar may also be enabled/disabled through the Options menu.

Font: This controls the type of font used. The Windows operating system controls the types of fonts that are available.

Size: This controls the size of the font used.

Font Style: This controls the style of the font that is used. Typical styles are bold and italic.

Sample: This displays a sample of the text defined by the above selections.

Panes: This controls optional information in the Status bar.

Track: This displays the coordinates that the mouse cursor is pointing to. In the schematic, this will be grid coordinates, and in an analysis, it will be the point defined by the X and Y axis.

Time: This displays the current time on the Status Bar.

Threads: This displays the threads count in the Status Bar.


Style page

The Style page lets you select and define different circuit styles. Styles consist of text fonts, colors, sizes, font styles, and display effects. Styles provide an easy method for defining the font characteristics of a string of text. This page consists of the following:

Styles: This lists the styles that are currently defined. Select a style to edit or delete it.

Color1: This defines the color of the style or the first gradient color.

Color2: This defines the second gradient color of the text.

Outline: This defines the outline color of the text.

Outline Width: This sets the width in pixels of the text outline.

Font: This defines the font type of the style.

Size: This defines the size of the font for the style.

Font Style: This defines the style of the font.

Effects: This defines any effects that are to be applied to the text for the style.

Name: This field defines the name of the style.

Add: This adds a new style entry to be defined.

Delete: This deletes the selected style.

Default: This defaults the styles to the original set of styles that come with Micro-Cap. Warning: Any user defined styles will be deleted if this is clicked.


Threads page

Threads are separate execution streams that can be used to execute multiple tasks in parallel, usually saving considerable run time. Threads are most commonly used when running simulations that produce multiple branches such as Stepping, Monte Carlo, Harmonic distortion, or Intermodulation distortion. There are several threading control options:

Use Threads: If enabled, this option uses threads if your computer has multiple CPUs available.

Use Threads Count: If the Use Threads option is enabled, this specifies the maximum number of threads to use.

Use Extra Thread for Plotting: If enabled, this option uses one thread for plotting, if it is not being used for an analysis.


Main Tool Bar page

This page lets you select the buttons that will appear in the main tool bar.

Tool Bar: This controls a listing of the menus that contain commands that are applicable in this window. Select a menu to view the available buttons.

Buttons: This window displays the buttons that are available for the selected menu. Clicking on the checkbox next to a button will let you show or not show the button in the main tool bar.

Show Button: If this checkbox is enabled, the selected button will be shown in the main tool bar.

Show Tool Bar: If this checkbox is enabled, the selected buttons that have Show Button enabled will show in the main tool bar. If disabled, all buttons for the menu in the Tool Bar group will not be available in the main tool bar no matter what the Show Button checkbox is set to.

Draw Button: When Component is selected in the Tool Bar group, it is possible to draw an icon for a specified component. Clicking the mouse in this field will draw either black or gray.

Text Box: When Component is selected in the Tool Bar group, this field defines the component that the button is to be linked to.

Browse: When Component is selected in the Tool Bar group, clicking this command button invokes the Find Component dialog box which lets you search for a component to link the button to.

All On: Clicking on this command button, will enable the Show Button checkbox and Show Tool Bar checkbox for all available buttons meaning that all of the available buttons will appear in the tool bar.

All Off: Clicking on this command button, will disable the Show Button and Show Tool Bar checkboxes for all available buttons meaning that the tool bar will not be visible.

Default: Clicking on this command button, will set the main tool bar so that it displays a default set of buttons.


Warnings page

This page lets you enable specific warning messages including:

File: This provides a warning when closing an edited file whose changes have not yet been saved.

Quit: This asks if you really want to quit.

Opamp Power Supplies: This alerts the user when Micro-Cap adds VCC and VEE power supplies.

Add DC Path to Ground: This warns when adding resistors to avoid a DC path to ground.

Excessive Time Points: This warns when the circuit analysis limits call for an excessive number of time points.

Excessive Data Points: This warns when the circuit analysis has created an excessive number of data points. Data points equal time points times number of waveform or graphs plotted.

Excessive Source Points: This warns when a source in the schematic (Pulse Source, PWL, Stim, etc) has created an excessive number of points over the time range of the analysis.

Revert: This asks for confirmation before allowing a file revert.

AC Signal: This warns the user when attempting an AC analysis and the AC signal for all sources in the circuit is zero. This is nearly always incorrect as all AC voltages and currents will also be zero.

Part and Node the Same: This warns when a node and a part share the same name. For example, if a node is named R1 and there is also a resistor named R1, this warning will appear since plotting an expression such as V(R1) will now be ambiguous.

Spice3 TEMP Parameter: Issues a warning when the SPICE3 Temp parameter is used as a device attribute.

Level Changed: Issues a warning when a Level parameter is changed where the model parameters would need to change

TNOM and T_MEASURED: Issues a warning when both TNOM and T_MEASURED have been specified for a part.

Smoke Pervasive Change: Issues a warning when a change to a Smoke display might affect many user settings.

Model Attribute Not Used: Issues a warning when both a time varying expression and a model attribute are defined for a resistor, capacitor, or inductor. Model attributes cannot be used when time-varying expressions are defined for the resistance, inductance, flux, capacitance, or charge.

Change Part Name: Issues a warning when changing part names that use invalid characters.

Duplicate Part Name: Issues a warning when multiple devices have been defined with the same part name.

Leave / Retrace with Threads: Issues a warning when using Retrace or Leave disables the use of threads.

Create .IC Statement: Issues a warning when generating an .IC statement in the State Variables Editor.

F or S in Transmission Line: Issues a warning when an F or S variable is used in the transmission line component, and an analysis besides AC or Dynamic AC analysis is being run.

Excessive Temperature Coefficients: Issues a warning when one of the temperature coefficients in a resistor, capacitor, or inductor is set to an excessive value.

Duplicate Components: Issues a warning when there are duplicate component names found upon existing the Component editor.

Missing ')' for .Model statement: Issues a warning when a .Model statement is missing a right parentheses at the end of the statement. For example, this model statement is missing a right parentheses. .MODEL 2N2222A NPN (

Numeric node / pin names: Issues a warning when numeric pin names (for macros or subckts) or numeric node names are used. You should always use text node and pin names. For example, if the text "1" is placed on node 2, what does V(1) mean?

Digital Messages: Enables / disables the printing of digital warning messages.

Improper FFT X Variables: Issues a warning when X expression variables are likely incorrect as for example, when X has Time and Y has FFT(V(OUT)). You would normally use F in the X expression when Y has FFT(V(OUT)).

Monte Carlo Create Circuit. Issues a message that the command will create a circuit which will be available when you return to the schematic editor;

Unknown Model Parameter. Issues a warning that an unknown model parameter was found in a .model statement.

All On: This enables all of the available warnings.

All Off: This disables all of the available warnings.

OK: This localizes the models according to the above settings and closes the dialog box.

Cancel: This closes the dialog box without localizing the models.

Help: This invokes the help topic for this dialog box.


Window tabs page

This section lets you control the display and appearance of the Window tabs. The page consists of the following:

Tab Bar Positions: This option determines the location of the Window Tabs. The two options are Top or Bottom.

Style: This option determines the style of the Window Tabs. The two options are Tabs or Buttons.

Show: When enabled, the Window Tabs are displayed on the screen when any files are loaded.

Show Full Paths: When enabled, the full path of the file is shown in the tab.

Show Icon: When enabled, the icon of the file type is shown in the tab.


Periodic Steady State dialog box

This dialog box is available from the Analysis Limits dialog box in Transient, Harmonic Distortion, and Intermodulation Distortion. There are three numeric fields:

Number of Stabilization Periods: This specifies the number of periods that the program will run the analysis before it begins the PSS computations.

Maximum Iterations: This specifies the maximum number of iterations that the PSS is allowed to run to reduce the periodic error to a value below the specified Maximum Error.

Maximum Error: This is the maximum periodic error. PSS successfully ends if the actual periodic error falls below this amount.

The Show Plots check box, if checked, draws one plot for each iteration to show progress toward the final solution. The PSS error and iteration are shown in the status bar and also at the bottom of the Schematic Info page.

Periodic error is the largest relative change between iterations of the state variables (node voltages, source currents, and inductor currents).


Data Point Reduction dialog box

This dialog box lets you discard every n'th data point in a save or display operation. This is useful when you use very small time steps, but do not need all of the resulting data points produced. Note that if you reduce data points for a save operation, it will also use the display reduce figure when displaying it during a retrieve operation. For example, if both the Save and Display are set to keep every tenth point, performing a save and then retrieving the file without changing either of these will produce an analysis showing every hundredth point. If a DSP operator is used in conjunction with either of these methods, then they are forced to use every data point, and any changes in this dialog box will not have an affect.

Save every n'th data point: This list box controls the percentage of data points saved in the file when the Run Options is set to Save, or the percentage of data points saved to a probe file in a probe analysis.

Display every n'th data point: This list box controls the percentage of data points that are plotted when the Run Options is set to Normal or Retrieve. This will be disabled if Now is selected and a DSP waveform is being plotted.

When:

Now: This uses the Display settings to reduce the number of data points in the plot that is presently in memory. The deleted data points cannot be retrieved.

Run Time: This will use the Save and Display settings the next time a simulation is run with the circuit file.

Throw Data Out: This throws out all of the data for the analysis at the end of each branch of a stepping or Monte Carlo run. It should only be used if a Performance Plot, FFT Window, or Monte Carlo histogram is being created and you don't care about the raw analysis data

OK: This accepts any changes and closes the dialog box.

Cancel: This ignores any changes and closes the dialog box.

Help: This accesses the help topic for this dialog box.


Rename Page dialog box

This dialog box lets you rename the page. This box may be called up by double clicking on a page selector tab or right clicking on a page selector tab and choosing Rename.

Name: This text field lets you specify the name of the page.

OK: This closes the dialog box and changes the page name to the name specified in the text field.

Cancel: This closes the dialog box without changing the name.

Help: This accesses the Rename Page help topic.


Replace dialog box

This dialog box lets you perform a find and replace operation on a text file or in the text area. The replace operation lets you make multiple edits swiftly. This operation is not case sensitive in its search mode.

Find What: This text field designates the text segment that is to be searched for. Clicking on the arrow invokes a list of previously used strings.

Replace With: This text field designates the text that is to replace the text shown in the Find What text field. Clicking on the arrow invokes a list of previously used strings.

Whole Word: This forces the search to match the string in the text field to an entire word instead of returning partial matches.

All Text Pages: When the text page is in a schematic text area, this option lets you conduct the replace operation over all text pages within the schematic.

Find Next: This command button executes a search operation for the next instance of text designated by the Find What text field.

Find Previous: This command button executes a search operation for the previous instance of text designated by the Find What text field.

Replace: This command button will replace the text that has just been found and highlighted by the Find Next operation with the text designated by the Replace With text field.

Replace All: This command button will replace, with the text designated in the Replace With text field, all instances of the text, designated by the Find What text field, found in the text area or text file.

Close: This command button will close the Replace dialog box.

Help: This command button will invoke the Replace help topic.


Model Parameter Limits Editor

This editor lets you set the minimum and maximum values that the model parameters can have. It also shows the default values, but does not allow you to edit them. A warning message is generated and placed in the numeric output file for parameters that do not fall within the limit values. You can also run a comprehensive check of all models from Windows / Check Model Library Parameters.

Types: This list displays all of the available models that are in Micro-Cap. Select one to set limits on its parameters.

Parameter: This group displays all of the parameter information for the selected model.

Name: The first column displays the name of the parameters in the selected model.

Default: This column displays the corresponding default values for each parameter. The default values are used when a parameter is not specified.

Min: This column sets a minimum value for each parameter. This value will be used in the Check Model Library Parameters as a lower limit.

Max: This column sets a maximum value for each parameter. This value will be used in the Check Model Library Parameters as an upper limit.

OK: This accepts any changes and closes the dialog box.

Cancel: This ignores any changes and closes the dialog box.

Default: This button sets all of the min and max fields to their default values.

Find: This button invokes the Find Model Parameter dialog box which locates parameter names and/or descriptions. Modern bipolar and MOSFET models have a great many model parameters. The Find command helps you locate them for editing or review.

Help: This button invokes this help topic.

Show Binning: For MOSFET models that contain binning parameters, this option toggles whether the binning parameters will be displayed in the parameter list. Disabling this option makes the parameter list more manageable.


Save Changes dialog

Yes: This exits and saves any changes made during the session..

No: This exits without saving any changes made during the session.

Cancel: This command button ignores the request to quit. Any changes are still in memory.

Help: This command button invokes this help page.


Select A Pin Name dialog box

When performing a Make Macro command, if the select box crosses a node that has two or more text labels attached to it, this dialog box selects the text label that the pin name will refer to. The dialog box consists of the following:

Pins: This is a list box that contains a listing of all of the text labels on a specific node. Since a pin name can only reference one text label, one of these labels must be chosen to be the pin name. Click on the desired pin name in the list to select it.

OK: This connects the pin name to the selected text label and closes the dialog box.

Cancel: This places a generic pin name on the conflicting node such as 'Pin3' and closes the dialog box.

Help: This invokes the help topic for this dialog box.


Shape Editor

The Shape Editor

This editor is used to build new shapes or change existing shapes. Shapes are used to represent components in a schematic. Each shape is composed of objects such as lines, circles, and rectangles.

New (Ctrl+N): This command opens up a new Shape library file in the Shape Editor with one blank shape. Any shapes added to it are available for use in the Component library.

Open (Ctrl+O): This command loads an existing Shape library file from the disk. Its shapes are then available for use in the Component library.

Save: This command saves the current shape library file under its existing name.

Save As: Closing the Shape editor will prompt you to save all shape files loaded. However, this save option lets you change the name of the selected file.

Revert: This command reloads the current shape library file from the disk. It is a convenient way to restore the file and ignore any changes.

Translate: This command translates the current shape library file to an older format under a new name specified by the user.

Remove: This command removes the selected Shape library file from the Shape editor. The shapes in this file will not be accessible. At least one file must be present.

Add Shape: This adds a new shape with a user-specified name to the currently selected shape group and shape file.

Add Group: This adds a new shape group with a user-specified name to the currently selected shape file.

Undo (Ctrl+Z): Most operations that change a shape may be reversed by using the Undo function. Multiple Undo commands are allowed.

Redo (Ctrl+Y): The Redo command cancels one Undo command. Multiple Redo commands are allowed.

Cut (Ctrl+X): This option deletes the selected shape objects and copies them to the clipboard.

Copy (Ctrl+C): This option copies selected shape objects to the clipboard.

Paste (Ctrl+V): This option copies in the contents of the clipboard starting at the last mouse click.

Clear (Delete): This option deletes the selected shape objects without copying them to the clipboard.

Select All (Ctrl+A): This option selects all objects within the present shape.

Select (Ctrl+E): This option enables the select mode. Individual objects of the shape can be selected by clicking on them. A double click on an object invokes the Object Editor. This lets you view or edit the shape object coordinates. A group of objects is selected by drawing a box around them. SHIFT + Left mouse button lets you add an item to a group which is already selected. SHIFT + Box lets you add a group of items to a group which is already selected.

Pan: Click this button to activate the Pan mode. Panning is used to move the display view to see different parts of a large shape. As usual, you can also use the keyboard or the mouse. Mouse panning involves dragging the right mouse button and can be done in any mode. Alternatively, you can select this mode and drag with the left mouse button.

Rectangle: This icon enables the rectangle drawing mode. Rectangles are added by clicking and dragging with the left mouse button. To change the shape of the rectangle, drag one of the eight handles (small black rectangles).

Diamond: This icon enables the diamond drawing mode. Diamonds are added by clicking and dragging with the left mouse button. To change the shape of the diamond, drag on one of the handles on its perimeter.

Ellipse: This icon enables the ellipse drawing mode. Ellipses are added by clicking and dragging with the left mouse button. To change the shape of the ellipse, drag on one of the handles on its perimeter. To create a circle, press the SHIFT key while dragging the mouse.

Arc: This icon enables the arc drawing mode. Arcs are added by clicking and dragging with the left mouse button. To change the shape of the arc, drag on one of the handles on its perimeter.

Block: This icon enables the block drawing mode. Blocks are added by clicking and dragging with the left mouse button. To change the size and the number of pins, double-click on the block to invoke the Block editor.

Line: This icon enables the line drawing mode. Lines are added by clicking and dragging with the left mouse button. To change the direction or length of the line, drag on one of the two handles.

Closed Polygon: This icon enables the closed polygon drawing mode. Click the left mouse button in the Shape display to create a vertex. There is no limit to the number of vertices Clicking the right mouse button or double clicking the left mouse button will close the polygon. To change the dimensions, drag on one of the handles.

Open Polygon: This icon enables the open polygon drawing mode. Click the left mouse button in the Shape display to create a vertex. There is no limit to the number of vertices Clicking the right mouse button or double clicking the left mouse button will end the polygon. To change the dimensions, drag on one of the handles.

Include Object Mode: This icon enables the object mode. Clicking in the drawing region calls up a list of existing shape objects. Any of these may be imported into the active shape by clicking on its entry in the list. Once the shape is included, it may be dragged about.

Text: This icon enables the text mode. Clicking in the drawing region invokes the text dialog box, allowing you to place text in the shape. To edit the text, double click it in select mode.

Import Picture: This icon selects the Import Picture dialog box which lets you import images as a part of your shape.

Seven Segment LED: This icon lets you create a seven segment LED shape for use in animated components.

Digital LED Diode: This icon lets you create an LED diode shape for use in animated components.

Digital Switch: This icon lets you create a switch shape for use in animated components.

SPST Switch: This icon lets you create an analog SPST switch for use in animated components.

SPDT Switch: This icon lets you create an analog SPDT switch for use in animated components.

DPST Switch: This icon lets you create an analog DPST switch for use in animated components.

Stoplight: This icon lets you create a three-color stoplight shape for use in animated components.

Meter: This icon lets you create an analog / digital voltage / current meter for use in animated components.

Analog Bar: This icon lets you create an analog bar shape for use in animated components.

Relay: This icon lets you create a moving relay shape for use in animated components.

Analog Colored LED: This icon lets you create a colored analog LED diode shape for use in animated components.

Analog Colored LED: This icon lets you create a colored analog LED with a circular shape for use in animated components.

Motor: This icon lets you create a DC motor shape with a rotating shaft for use in animated components.

Current: This icon lets you add a direction indicator for positive current to the shape. This object is only visible on the schematic when the Currents display, [image], is enabled.

Line: This icon selects the outline color of the shape. You can also select the default or no color options.

Fill: This icon selects the fill color of the shape. You can also select the default or no color options.

Grid: This icon displays a grid. The grid is a two-dimensional array of locations where shape objects must originate and terminate if their nodes are accessible in a schematic.

Grid Snap: When enabled, this icon forces the coordinates of all shape objects to occur at a grid point. This ensures that the coordinate points will be usable as connecting points (pins) in a schematic.

Find: This command lets you locate shapes by name. As you type the shape name, it fills the list box with all shapes that match the string.

Zoom-Out: This option will zoom out on the drawing region. This does not affect the size of the image in the schematic.

Zoom-In: This option will zoom in on the drawing region. This does not affect the size of the image in the schematic.

Bring To Front: This option will send the selected object to the top of the stack. Each object has an area enclosing it in which a mouse may click to select the object. The selected object's area is given the highest priority in the case of overlapping areas.

Send To Back: This option will send the selected object to the bottom of the stack. The selected object's area is given the lowest priority in the case of overlapping areas.

Next Object: In the case of objects that are stacked on one another in the drawing region, this option will select the next object in the stack. Click the button until the one you want is selected.

Font: This option invokes the Font dialog box, which allows editing of the font, font style, size, and effects of any selected text.

Flip X: This option will flip any selected objects about the x-axis. The x-axis is considered to be the horizontal line in the middle of the selected region.

Flip Y: This option will flip any selected objects about the y-axis. The y-axis is considered to be the vertical line in the middle of the selected region.

Rotate: This option rotates all of the selected objects in a counterclockwise motion through 90 degree increments.

Mirror: This option creates a mirror image of the selected region. The region may be mirrored either vertically or horizontally. The Copy Text check box has no effect in the Shape Editor.

Move Shapes: This lets you move shapes from any shape group or file to another shape group or file.

Sort: This commands lets you sort shape names within a group or whole file alphanumerically or alphanumerically plus. You can sort shape names or group names, within a group or within a group and its children groups.

Help: This accesses the Help topic for the Shape Editor.

Shape Drawing Window: This region appears on the right side of the Shape Editor and shows the selected shape. It lets you create or edit a shape. All modes interact inside this region. You may change the image size, and pan or scroll to see larger shapes.

Name Edit Field: This box contains the name of the currently selected shape. Clicking in the box allows you to edit the name.

Shape List Box: This list contains the names of all existing shapes in all of the shape files that are currently loaded in Micro-Cap. Clicking the left mouse button on a shape name will display the shape. Scrolling through the list with the up and down cursor keys allow you to scan the shapes in the drawing region. Dragging on a shape name lets you move it in the list.

Add: This command button adds a new shape to the library.

Delete: This command button will delete the currently selected shape.

Revert: This command restores the selected shape to its original version when the shape was first displayed. This only affects the displayed shape. Edits on other shapes during the current invocation of the Shape editor remain in effect. Selecting a new shape disables the Revert feature for the old shape. All edits on all shapes are temporary, however, and may be discarded when you exit the editor or close the file. Only when you exit or close the file are the changes saved to disk.

Editor: The Object Editor contains a listing of all of the objects in the shape along with their numeric parameters. This editor may also be used for editing the shape. This provides finer control over object size and shape than can be obtained with the mouse. Some features, such as the digital block pin symbols, are only changeable form the Object Editor.

Duplicate: This creates a new shape by copying the currently selected shape.

Close: This command button will close the Shape Editor. If any changes have been made, you will be prompted whether you want to save the file or not.

Help: This command button will invoke the Shape Editor topic in the Help menu.


Shape Group - Name dialog box

This dialog box, which in invoked from the Component editor's Shape list box <Edit List> provides a way to assign multiple shapes to a single component or to delete existing shape assignments. It consists of the following:

Delete: This list displays the current shape group:shape pairs assigned to the selected component. Selecting an entry from the list and clicking the Delete button deletes the pair for the component. The shape group Main must exist for every component, so it is not available in this list.

Assignments: This section provides a method for assigning a new shape group:shape pair to a component.

Shape Group: This field defines the name of the shape group to be assigned. Existing shape groups can be selected by clicking the drop down arrow to the right of the field. If a new shape group is to be created, just type in the new name in the field.

Shape Name: This field defines the actual shape to be assigned. Clicking in the field provides a list of all of the available shapes.

Save: Once a shape group and a shape name have been defined, clicking Save assigns that pair to the component.

OK: This command button closes the dialog box and makes permanent any operations that were performed.

Cancel: This command button closes the dialog box without making any changes.

Help: This command button invokes the help topic for this dialog box.


Block Pins dialog box

Block dialog box

This dialog box is invoked when you double-click on an existing block or click in the drawing area to place a new block. The dialog box lets you choose the number of pins and their alignment and spacing on each of the four sides of the rectangular shape. You can also specify the pin length and function (analog or four types of digital).

This leaves the selected (red) lead as just a straight line.

This adds an edge triggered clock symbol to the selected (red) lead.

This adds an inverter bubble to the selected (red) lead.

This adds both the clock symbol and the inverter bubble to the selected (red) lead.

This eliminates the selected (red) lead entirely.


Text dialog box - Title Block Editor

The text dialog box is used in cases where the only input is a text string. The text is entered directly into the text box. Enter produces a line feed that enables text to be placed on multiple lines. Text that is placed in the dialog box and allowed to wrap around the box without using the Enter keystroke will appear in the shape as just one line.

Keyword List: This is a list of keywords for common field names that can be used in addition to ordinary text. Included are:

#APPROVED

#CHECKED

#COMPANY

#DATE

#DESCRIPTION

#DESIGNED

#DOC_N

#MAXPAGE

#MAXSHEET

#PAGE

#SECTION

#SHEET

#TITLE

OK: This command button places any text entered into the spot where the mouse was initially clicked to invoke the dialog box.

Cancel: This command button closes the dialog box without placing any text.

Font: This command button invokes the Font dialog box which allows editing of the Font, Font Style, Size, Effects, and Color of the text.

Help: This command button invokes the Text dialog box help topic.


Text dialog box - Shape Editor

The text dialog box is used in cases where the only input is a text string. The text is entered directly into the text box. Enter produces a line feed that enables text to be placed on multiple lines. Text that is placed in the dialog box and allowed to wrap around the box without using the Enter keystroke will appear in the shape as just one line.

Text Always Up: This forces the selected text to always be oriented in a readable, vertical position even if the part is rotated 180 degrees.

OK: This command button places any text entered into the spot where the mouse was initially clicked to invoke the dialog box.

Cancel: This command button closes the dialog box without placing any text.

Font: This command button invokes the Font dialog box which allows editing of the Font, Font Style, Size, Effects, and Color of the text.

Help: This command button invokes the Text dialog box help topic.


Slider dialog box

Sliders are graphical controls used to alter component values or model parameters in a direct and immediate way. Like stepping, they show how parameter values affect the analysis curve, but a slider does it in a spontaneous and intuitive way. Sliders are available in all analysis modes. This dialog box lets you add a slider or modify an existing slider.

Parameter: The top Parameter list box specifies the name of the model parameter, component, or symbolic variable value to be stepped. Since dissimilar parts may share the same model name, the electrical definition is shown along with the model name. Clicking on the list box displays a list of the items available for stepping. The bottom list box specifies the name of the parameter to be stepped. The contents of the list box depends upon whether the Parameter Type option is Component, Model, or Symbolic. Clicking on the list box displays a list of the available parameters. To select a parameter, click on it.

Component: In this case, the top list box shows a list of all part names.

Model: In this case, the top list box shows a list of all model names.

Symbolic: In this case the top list box shows all available .define parameters.

For Models, since dissimilar parts such as NPNs and MOSFETs may use the same model name, the electrical definition accompanies the name, as in this case, 'NMOS Q2'. This specifies that we want to assign one of the parameters in all NMOS devices using the model name 'Q2'. Clicking on the list box displays a list of the models or components available for stepping. To select a model, click on it.

The second list box specifies the name of the model parameter to be assigned. Clicking on the list box displays a list of the parameters available for the slider. To select a parameter, click on it.

Min: This field sets the minimum value of the parameter for the slider.

Max: This field sets the maximum value of the parameter for the slider.

Step Size: This is the step size that occurs for each key press that increases (Up Arrow) or decreases (Down Arrow) the value of a selected slider. It sets all the interim values between the Min and Max values. This can be an absolute number such as 10 or it can be a percentage such as 5%.

Method

Linear: In the linear method, the parameter is incremented linearly as the slider is moved.

Log: In the log method, the parameter is incremented logarithmically as the slider is moved.

List: In the list method, the slider goes through a fixed list of values specified in the List field.

Parameter Type

Component: This selects Component mode and fills the left 'Parameter' list box with the names of all components whose parameters can be assigned. Component sliders let you modify any parameters unique to the component and its private model parameters. It does not modify the parameters of other components that use the same model name.

Model: This selects the Model mode and fills the 'Parameter' list box with all of the model names used in the circuit. A slider changes the selected parameter of all components that use the specified model name. This can potentially effect many devices, and is less selective than Component mode.

Symbolic: Symbols are variables created with a .DEFINE or a .PARAM statement. They can be used in component value parameters or in model parameters. Assigning them is a powerful way of controlling many parameter values. For example, you can control the W and L of many MOSFET devices with this:

.DEFINE W1 2U

.DEFINE L1 0.3U

.MODEL NM1 NMOS (W=W1 L=L1...)

This lets you selectively modify only the W and L of the devices that use the symbols W1 and L1.

Font: This sets the font for the slider text.

Format: This sets the format for the slider values.

Default: This defaults the Min and Max values for the assigned parameter.

OK: This closes the dialog box and creates the slider or modifies the existing slider.

Cancel: This closes the dialog box without making any changes.

Help: This invokes the help topic for this dialog box.


Smoke Format Page

• Formats: This tab sets the numeric format of these values:

Rated Value: This controls the numeric format for the user-specified Rated Value.

Derating: This controls the numeric format for the user-specified Derating percentage.

Derated for Reliability: This controls the numeric format for the computed Derating for Reliability value.

Derated for Reliability and Temperature: This controls the numeric format for the computed Derating for Reliability and Temperature value.

Measured Value: This controls the numeric format for the computed Measured value.

Percent of Rated Value: This controls the numeric format for the computed Percent of Derated value.

Default: This selects the default values.

Set Default: This saves the current choices as default values.


Stepping dialog box

This dialog box is invoked from within an analysis by pressing the F11 function key, by clicking on the Stepping command button, or by selecting it from the AC, DC, Dynamic AC, Dynamic DC, Harmonic Distortion, Intermodulation Distortion, or Transient menus. The format of the dialog box is common to all the analysis types. The dialog box has four numeric data fields and three radio button options.

Parameter Panels: The dialog box provides tabs for up to twenty parameters, although two or three is a practical maximum. Each tab accesses a panel which controls a single parameter. Stepping for each parameter is enabled when its Step It option is set to Yes. The tab will display the name of the parameter being stepped. When the Step It option is set to Yes for a panel, a check mark will be displayed on the tab.

Step What: The left Step What list box in each parameter panel specifies the name of the model parameter, component, or symbolic variable value to be stepped. Since dissimilar parts may share the same model name, the electrical definition is shown along with the name. Clicking on the list box displays a list of the items available for stepping. The right Step What list box in each panel specifies the name of the parameter to be stepped. The contents of the list box depends upon whether the Parameter Type option is Component, Model, or Symbolic. Clicking on the list box displays a list of the available parameters. To select a parameter, click on it.

Component: In this case, the left list box shows a list of all part names.

Model: In this case, the left list box shows a list of all model names.

Symbolic: In this case the left list box shows all available .define parameters.

For Model stepping, since dissimilar parts such as NPNs and MOSFETs may use the same model name, the electrical definition accompanies the name, as in this case, 'NMOS Q2'. This specifies that we want to step one of the parameters in all NMOS devices using the model name 'Q2'. Clicking on the list box displays a list of the models or components available for stepping. To select a model, click on it.

The second list box specifies the name of the model parameter to be stepped. Clicking on the list box displays a list of the parameters available for stepping. To select a parameter, click on it.

From: This field specifies the initial value of the parameter to be stepped. When a log step is chosen, this value cannot zero. When List is chosen as the Method, this field contains all of the values the parameter is to be stepped through. Each value needs to be separated by a comma.

To: This field specifies the final value of the parameter to be stepped. When a log step is chosen, this value cannot be equal to zero.

Step Value: The step value either adds to (linear step) or multiplies (log step) the initial value, depending on the choice of stepping method. The Step Value must be a positive number.

Step It

Yes: This enables stepping for the parameter, so that it is active for the next analysis run.

No: This disables stepping for the parameter, so that it is inactive for the next analysis run.

Method

Linear: In the linear method, the step value is added to the initial value until the final value is reached. For example, a 'From' value of 20, a 'To' value of 30, and a 'Step Value' of 5, produces parameter values of 20, 25, and 30.

Log: In the log method, the step value multiplies the initial value until the final value is reached. For example, a 'From' value of 2, a 'To' value of 16, and a 'Step Value' of 2, produces parameter values of 2, 4, 8, and 16.

List: List stepping lets you enter a comma-delimited set of specific values in the From field. An example is, '4,7,8.5,12'.

Parameter Type

Component: This selects Component mode and fills the left 'Step What' list box with the names of all components whose parameters can be stepped. Component stepping lets you step all parameters unique to the component and its private model parameters. It does not step the parameters of other components that use the same model name. For this option to work, each individual component must have its own private copy of the model parameters. Thus the PRIVATEANALOG / PRIVATEDIGITAL preference flags must be enabled for this option to work. If it is not enabled, this option behaves exactly the same as the Model option, it steps all parts that use the model name.

Model: This selects the Model mode and fills the 'Step What' list box with all of the model names used in the circuit. Model stepping changes the selected parameter of all components that use the specified model name. This can potentially effect many devices, and is less selective than Component mode.

Symbolic: Symbols are variables created with a .DEFINE or a .PARAM statement. They can be used in component value parameters or in model parameters. Stepping them is a powerful way of controlling many parameter values. For example, you can control the W and L of many MOSFET devices with this:

.DEFINE W1 2U

.DEFINE L1 0.3U

.MODEL NM1 NMOS (W=W1 L=L1...)

This lets you selectively step only the W and L of the devices that use the symbols W1 and L1.

Change: The Change option only comes into play if you are stepping multiple parameters.

Step all variables simultaneously: In this type of change, all parameters change value simultaneously, so you get a small set of matched parameter values. Each parameter must contain the same number of steps. Use simultaneous stepping when you want only specific combinations.

Step variables in nested loops: In this type of change, each parameter changes value independently, so you get all combinations of the specified values. Use nested stepping when you want all combinations of parameter variation.

For example, suppose you step L1 through the values 1u and 2u and you step C1 from 1n to 2n. Simultaneous stepping, will produce two runs, and nested stepping will produce four runs as shown below.

Nested Simultaneous

L1=1u C1=1n L1=1u C1=1n

L1=1u C1=2n L1=2u C1=2n

L1=2u C1=1n

L1=2u C1=2n

Simultaneous stepping requires an equal number of steps for each parameter. If the parameter panels specify different numbers of steps, an error message will be issued. Use nested stepping when you want all combinations of parameter variation. Use simultaneous stepping when you want only specific combinations.

All On: This button turns on the Step It flag for all active panels.

All Off: This button turns off the Step It flag for all active panels.

Default: This button creates a set of step values ranging from 1/2 to twice the nominal parameter value.

OK: This button accepts the changes made and exits the dialog box.

Cancel: This button ignores any changes and exits the dialog box.

Help: This accesses the help topic for this dialog box.


Clipboard Data Import for Model Program

This dialog box controls how numeric data that has been placed in the clipboard is to be imported into the Model Program

Delimiters: These let you select a delimiter (data separator) for the clipboard data. You can choose from Tab, Senicolon, Comma, Space, and Other.

Treat Consecutive Delimiters As One: This option lets you treat consecutive delimiters as one, so for example, if comma was the delimiter and you had this in the clipboard:

1,,,2

3,,4

it would be treated as this

1,2

3,4

Ignore Leading Delimiters: This option ignores leading delimiters. For example if the option is enabled and comma is the delimiter,

,,1,2

3,4

would be interpreted as

1,2

3,4

Start Import At Row: This sets the starting row in case you want to skip some header text.

End Import At Row: This sets the last row to import.


Tolerances dialog box

Ordinarily, tolerances are applied when the model statement is created and this may be practical for models which employ a few parameters. Modern MOSFET and BJT models, however, have so many parameters, that as a practical matter, it is difficult to enter all of these tolerances, even if they are known. This dialog box, which is accessible from the Monte Carlo dialog box and also from Edit / Change / Tolerances, lets you apply tolerances to all parameters at once. You can apply LOT and DEV tolerances to any part that has a model statement. You can also save Tolerance sets for later use on other models of the same type. The dialog box has these fields:

Types: This list the parts types found in the circuit. You can select one or more types for tolerancing, although only one type is usually selected.

Models: This lists each model found for the selected part type(s). You can select one or more models for tolerancing. For resistors, capacitors, and inductors, if the Model attribute has not been specified in the schematic, the part will still appear in this list but be preceded by a <Blank> designator. If selected for tolerancing, Micro-Cap will prompt for a model name to assign the selected part(s) along with the subset of parts from that entry to apply it to.

Parameters: This lists the model parameters for each selected model. Select the parameters that are to be toleranced.

Lot: This controls the options for the Lot tolerance.

Add/Change: This adds or changes the Lot tolerance of the selected parameter(s) to the value in the Tolerance field, when the Apply button is clicked.

Leave: This option leaves the Lot tolerances unchanged.

Remove: This option removes the Lot tolerance of the selected parameter(s).

Lot#: This field lets you enter a lot # for the Lot tolerance to provide a means for lot deviations to track one another.

Distribution: This lets you select the type of distribution. Default means that the model will use the distribution setting from the Monte Carlo Options dialog box.

Tolerance: This field lets you enter the tolerance. You can enter an absolute tolerance or a percentage tolerance. For a percentage tolerance, you must specify the % symbol.

Dev: This controls the options for the Dev tolerance. The options are the same as for the Lot tolerance above.

Tolerance Sets: This lets you assign a name to a tolerance set so it can be used for other parts of the same model statement type. To name a set, click on Save and enter a name, such as 60n_MOSFET or Caps_5%. This will save the tolerance settings on the current parameter list so the tolerances must first be applied to the parameters before saving. To apply a tolerance set to the selected parameters, select the set name from the list and click on Apply. To delete a tolerance set, select the name of the set to be removed, then click on the Delete button.

Note: Tolerances can not be applied to parameters that are not defined in the model statements and have undefined defaults. For example, in a model statement such as,

.MODEL MM1 NMOS (Level=1)

In this example, you can't apply a tolerance to the GAMMA parameter because it is not defined in the model statement and its default value is undefined. You can apply a tolerance to GAMMA if its value is defined in the model statement such as in this example,

.MODEL MM1 NMOS (Level=1 GAMMA=.65)

Apply: This applies the specified tolerances to the circuit. This is a temporary application. Hitting the OK button makes it permanent.

Format: This sets the format that will be used when adding previously unspecified parameter values to a model statement.

OK: This closes the dialog box and makes any tolerance changes in the circuit.

Cancel: This closes the dialog box without adding any tolerances.

Help: This invokes the help topic for this dialog box.


Assign Models dialog box

This dialog box assigns a model to components that do not currently have their MODEL attribute assigned in order to specify tolerances. The dialog box has these fields:

Model Name: This field specifies the name of the model to be assigned.

Select Components to assign model to: This field specifies the components in the schematic that can have this model assigned to it. Click on a component name to select it. Use the CTRL or SHIFT keys in conjunction with a mouse click in order to select multiple components.

OK: This accepts the changes and exits the dialog box.

Cancel: This ignores the changes and exits the dialog box.

Help: This invokes the help topic for this dialog box.


Tool Bar page

This page lets you select the buttons that will appear in the local tool bar of the window.

Tool Bar: This controls a listing of the menus that contain commands that are applicable in this window. Select a menu to view the available buttons.

Buttons: This window displays the buttons that are available for the selected menu. Clicking on a button will let you show or not show the button in the local tool bar.

Show Button: If this checkbox is enabled, the selected button will be shown in the local tool bar.

All On: Clicking on this command button, will enable the Show Button checkbox for all available buttons meaning that all of the available buttons will appear in the tool bar.

Default: Clicking on this command button, will set the tool bar in the local window so that it displays a default set of buttons.

All Off: Clicking on this command button, will disable the Show Button checkbox for all available buttons meaning that the tool bar will not be visible.

Top: If this radio button is selected, the local tool bar appears at the top of the window. The tool bar may be moved clockwise by double clicking in an open gray area of the tool bar.

Left: If this radio button is selected, the local tool bar appears at the left of the window. The tool bar may be moved clockwise by double clicking in an open gray area of the tool bar.

Right: If this radio button is selected, the local tool bar appears at the right of the window. The tool bar may be moved clockwise by double clicking in an open gray area of the tool bar.

Bottom: If this radio button is selected, the local tool bar appears at the bottom of the window. The tool bar may be moved clockwise by double clicking in an open gray area of the tool bar.

OK: This closes the dialog box and saves any changes.

Cancel: This closes the dialog box without saving any changes.

Apply: This temporarly applies any changes so you can see the effect.

Help: This accesses the help topic.


Convert Touchstone Files dialog box

This dialog box converts Touchstone file parameters from S, Y, Z, G, H, T, or ABCD format to any other format (S, Y, Z, G, H, T, ABCD). The extension of the touchstone file should be in the format:

.<param type><# of ports>p

For example, the extension .S4P would designate a 4 port S parameter Touchstone file.

The dialog box consists of the following:

Parameter: This field selects the parameter type that the Touchstone file is to be translated to.

Format: This field selects the format that will be used for the parameter data.

File: This field defines the file name that will be created from the translation. The Browse button can be used to locate a file on the hard drive to copy over.

From: This label shows the current header format used in the file.

To: This label shows the header format that will be created.

OK: This closes the dialog box and translates the file.

Cancel: This closes the dialog box without translating the file.

Help: This invokes the help topic for this dialog box.


Check For Updates

This shows the latest version of Micro-Cap available from the Spectrum web site and assists in downloading it to your local machine. The latest revisions of the manuals and help files are also available.


Waveform Buffer dialog box

The Waveform Buffer provides a storage facility for curves and waveforms. It can store a plotted curve from AC, DC, Transient, Harmonic Distortion or Intermodulation Distortion analysis. Use the Plot Now or Add to Limits to place the highlighted curve(s) in another simulation.

There are several ways to save curves to the buffer. You can use Retain or Save a Waveform to the Buffer from Scope / Waveform Buffer or from the Waveform Buffer tool bar button [image]. Save a Waveform to the Buffer saves a plotted curve to the buffer. Retain saves the curve and adds a plot of the saved curve to the analysis limits. Retain is also available from a right-click on the expression text in the plot.

Curve list: The list shows the waveform names, the circuit from which they came, and the date and time when they were saved. A check box adjacent to the name protects the curve from deletion under Auto Save mode or when clicking Delete All. The plot on the right shows the selected waveform.

Allow X Meg: This field defines the amount of memory that the Waveform Buffer may use. The amount of memory currently used is shown in a string right above this field.

Auto Save: The Auto Save check box, if enabled, automatically saves all waveforms and curves until the user-set memory limit is reached. Curves are then deleted as needed starting with the oldest.

Plot Now: This adds the selected plot to the analysis limits and redraws the analysis plot.

Add To Limits: This adds the selected plot to the analysis limits but does not redraw the plot. The waveform will appear the next time a simulation is run.

Close: This closes the dialog box.

Delete: This deletes the selected waveforms. The Delete key also works.

Delete All: This deletes all waveforms except for those that have their checkbox enabled.

Help: This accesses the Help page for the dialog box.


Waveform Buffer Add dialog box

This dialog box lets you add the specified curve to the Waveform Buffer. The dialog box consists of the following:

Label: This defines the name that the waveform will be labeled with in the Waveform Buffer. The plot below shows the selected waveform that is to be added. The text string below shows how much memory this waveform will use within the buffer.

Run: If Accumulate Plots is enabled in the Analysis Limits, this field selects the run number that is to be stored in the buffer.

Temperature: If temperature stepping has been performed, this field selects the temperature value of the waveform that is to be stored in the buffer.

Stepped Variable: If stepping has been performed, these fields select the specific parameter values of the waveform that is to be stored in the buffer.

OK: This closes the dialog box and adds the waveform to the buffer.

Cancel: This closes the dialog box without adding a waveform to the buffer.

Help: This invokes the help topic for this dialog box.


Worst Case Properties Format Page

This page controls the numeric format to use in printing the output.

Nominal Value: This sets the format for the nominal value.

Tolerances %: This sets the format for the toleance percent value.

Parameters: This sets the format for parameters.

Variances: This sets the format for variances.

Sensitivity: This sets the format for sensitivity.

Sensitivity%/%: This sets the format for sensitivity expressed as a ratio.

Outputs: This sets the format for the worst case change and value of the output variables

Percent Outputs: This sets the format for the worst case percent change of the output variables.

OK: This accepts the changes.

Cancel: This cancels the changes.

Apply: This applies any changes the user has made.

Help: This displays help for this dialog box.


Worst Case Properties Libraries page

This page shows the current set of libraries that are available for use. Only the checked file will be used. Tolerances from the checked file will be available for use when you right click in the tolerance fields of the main display.

Add: This adds a new tolerance library.

Edit: This replace the selected library with another.

Delete: This deletes the selected tolerance library from the list

Default: This installs the default tolerance library, which is initally "Standard.tlib", but may be changed with the Set Default button.

Set Default: This makes the displayed bias tolerance libraries as the default.

OK: This accepts the edits.

Cancel: This cancels the edits.

Apply: This applies any changes the user has made.

Help: This displays help for this dialog box.


Worst Case Properties Bias Tolerances Page

Worst Case Dialog Box Properties Bias Tolerances Page

This dialog box lets you add, edit, or delete the circuit's bias tolerance categories.

New: This creates a new bias tolerance type.

Delete: This deletes the selected tolerance type.

Default: This installs the default bias tolerance type(s), which is initally only one type, "Drift", but may be changed with the Set Default button.

Set Default: This makes the displayed bias tolerance type(s) the default.

OK: This accepts the edits.

Cancel: This cancels the edits.

Apply: This applies any changes the user has made.

Help: This displays help for this dialog box.


Windows dialog box

This dialog box is used to show, hide, or delete specified windows. The dialog box consists of the following:

Name: This list shows the available windows that can be worked with.

Activate: This activates the selected window bringing it to the front.

Show Window(s): This enables all of the selected windows so that they are available on the screen.

Close Window(s): This closes all of the selected windows so that they are no longer available on the screen.

Delete Window(s): This deletes all of the selected windows.

Close: This closes the dialog box.

Help: This accesses the help topic for this dialog box.


Slider Windows dialog box

This dialog box is used to show, hide, or delete sliders. The dialog box consists of the following:

Name: This list shows the available windows that can be worked with.

Show Window(s): This enables all of the selected sliders so that they are available on the screen.

Close Window(s): This closes all of the selected sliders so that they are no longer available on the screen.

Delete Window(s): This deletes all of the selected sliders.

Close: This closes the dialog box.

Help: This accesses the help topic for this dialog box.


.AC Statement

.AC Statement (SPICE files only)

General Form:

.AC [[DEC] | [OCT] | [LIN]] <data points> <fmin> <fmax>

Examples:

.AC DEC 30 20 20K

.AC LIN 50 10 100K

Description:

The .AC command arguments are mapped into the appropriate Micro-Cap Analysis Limits dialog box fields upon selecting AC from the Analysis menu. DEC (decade), OCT (octal), and LIN (linear) specify the type of fixed frequency step to be used during the AC analysis. DEC and OCT select the Log Frequency Step option and LIN selects the Linear Frequency Step option on the AC Analysis Limits dialog box.

<data points> specifies the number of data points per decade for the decade option or the total number of data points for the linear option. It is mapped into the Number of Points field. <fmin> specifies the first frequency of the run and <fmax> specifies the last. These are mapped into the Frequency Range field.

A waveform source need not be present in the circuit, but if there is no source, all output will be zero. For waveform sources, the small signal model is simply an AC voltage or current source. The AC value of the source is determined from the parameter line for SPICE components and from the attribute value for schematic components.

SPICE Voltage or Current sources:

The AC magnitude value is specified as a part of the device parameter. For example, a source with the value attribute "DC 5.5 AC 2.0" has an AC magnitude of 2.0 volts. These sources are in the Waveform Sources section of the Component menu and are called 'Voltage Source' and 'Current Source'.

Pulse and sine sources:

These sources have their magnitude fixed at 1.0 volt and the phase fixed at 0 degrees.

User sources:

User sources provide a signal comprised of the real and imaginary parts specified in the files. This is only meaningful if the signal specified for the source was saved versus frequency. A user source specified with a transient waveform will have a magnitude fixed at 1.0 volt.

Function sources

These sources create an AC signal only if a FREQ expression is specified.


.ARRAY Statement

.ARRAY Statement (Schematics only)

Array variables are like symbolic variables except that their values, which may be real or complex, are accessed by indices which select an element of the array.

One Dimensional Array Syntax

.ARRAY arrayname V1[,V2 [,V3...[,Vn]]...] where the V values can be real or complex. Note that there must be at least one element (V1) in the array.

Examples

.ARRAY RESISTANCE 3.3K,4.5K,5.0K

.ARRAY WIDTHS .07u,1u,1.2u,1.5u,2u

The .ARRAY command declares an array of values that can be used by device attribute fields and model parameters. Array elements are accessed from zero as NAME(0), NAME(1) and so on either with a fixed integer or an integer variable.

For example, consider these statements:

.ARRAY CAP 1p,10p,15p,24p,36p

.DEFINE INDEX 0

With these declarations, you can use CAP(INDEX) as the CAPACITANCE attribute of one or more capacitors and then step the INDEX variable to assign the values 1p, 10p, 15p, 24p, 36p successively to the capacitors. You can also define the index directly in the array call such as CAP(2).

Here is another example:

.MODEL N1 NPN ( BF=BETA1(INDEX) CJE=1.8P CJC=0.8P TF=.5N )

.MODEL N2 NPN ( BF=BETA2(INDEX) CJC=1P CJE=2P TF=1N TR=1N )

.DEFINE INDEX 0

.ARRAY BETA1 100,200,300

.ARRAY BETA2 60,70,90

With these declarations, you can step INDEX, simultaneously accessing both beta arrays, assigning unique pairs of beta values for use in the two model statements.

Two Dimensional Array Syntax

.ARRAY arrayname (m,n)

{v11,v12,...v1n},

{v21,v22,...v2n},

{v31,v32,...v3n},

...

{vm1,vm2,...vmn}

Here is a two-dimensional array with two rows of three complex values:

.ARRAY RV (2,3) {1+2*j , 2+3*j , 4+6*j}, {5+2*j , 3+7*j , 4+2*j}

With these definitions, RV(I)(J) accesses column J from row I. RV(1,2) would access the element 4+2*j. Remember the elements start at 0, so J=2 accesses the third element in the I=1 or second row.

Three Dimensional Array Syntax

.ARRAY arrayname (m,n,p)

{

{v111,v121,...v1n1},

{v221,v231,...v2n1},

{v311,v321,...v3n1},

...

{vm11,vm21,...vmn1}

},

{

{v112,v122,...v1n2},

{v222,v232,...v2n2},

{v312,v322,...v3n2},

...

{vm12,vm22,...vmn2}

},

...

...

...

{

{v11p,v12p,...v1np},

{v22p,v23p,...v2np},

{v31p,v32p,...v3np},

...

{vm1p,vm2p,...vmnp}

}

Put braces around all dimensions except the first and the last. For two dimensional arrays, put braces around each row. For three dimensional arrays, put braces around each row, and around each two-dimensional array.


.BEGIN_MEASURE Statement

.BEGIN_MEASURE Statement (Schematic and SPICE)

General Form

.BEGIN_MEASURE <measure_name[<parameter list>]> <AUTO_ADD>

Example

.BEGIN_MEASURE PW(X) AUTO_ADD

This statement defines the beginning of a measure block. It works with the .END_MEASURE to define the beginning and ending of a measure block.

<measure_name> This is the name of the measure function.

<parameter list> This is a comma delimited list of measure parameters.

<AUTO_ADD> If the word AUTO_ADD is present, then this measure will be included in the Measurements window if the Auto Measure option is set.

Here is an example from the Measure definitions library.

.BEGIN_MEASURE PW(X) AUTO_ADD

.MEASURE TRAN AVG1 AVG X

.MEASURE TRAN T1 TARG X VAL=AVG1 RISE=1

.MEASURE TRAN T2 TARG X VAL=AVG1 FALL=1

.MEASURE TRAN PW PARAM T2-T1

.END_MEASURE PW

In this example, PW is the measure_name and X is the sole parameter in the parameter list.


.DC Statement

.DC Statement (SPICE files only)

General Form:

Linear Sweep Type

.DC [LIN] <v1> <start1> <end1> <increment1> [<v2> <start2> <end2> <increment2>]

Log Sweep Type

.DC <OCT | DEC> <v1> <start1> <end1> <points1 per octave or decade>

+ [<v2> <start2> <end2> <points2 per octave or decade>]

List Sweep Type

.DC <v1> LIST <value>* [<v2> LIST <value>*]

Examples:

.DC VIN1 -.001 .001 1U

.DC VCC 0 5 0.1 IB 0 0.005 0.0005

.DC DEC RES RMOD(R) 1m 100 5

.DC PARAM FILTER_Q 10 20 1

.DC VCC LIST 4.0 4.5 5.0 5.5 6.5 VEE LIST 24 25 26

Description:

<v1> and <v2> must be one of the following:

1. The name of an independent source in the circuit. e.g. VCC

2. A model parameter name in the form:

<model type> <model name(parameter name)> e.g. NPN QF(BF)

3. Operating temperature in the form: TEMP

4. A symbolic parameter in the form:

PARAM <symbolic parameter name> e.g. PARAM temp1

5. The part name of a resistor in the circuit.

Sweep specifications can be different for <v1> and <v2>. That is, you can use linear sweeping for one variable and log for the other.The '.DC' command arguments are mapped into the appropriate Micro-Cap Analysis Limits dialog box fields upon selecting DC from the Analysis menu.


Animated Seven Segment

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Useven

U3

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_HC

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

3

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

ON STATE attribute:

<High | Low>

This attribute defines whether the input pins are active high or active low.

Example:

High

Common attributes:

Description

The seven segment component is designed to represent the display of a seven segment display. It has an input pin for each segment of the display. Each segment in the display is lit if its control pin is at the ON STATE, otherwise it is unlit. ON STATE can be specified as either HIGH or LOW.. It is intended to work with basic seven segment decoders/drivers although any input will control the display of the corresponding segment.

For more information on the I/O model statement, view the Input/Output model topic.


AtoD Converters

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U4

UAD

TIMING MODEL attribute:

<timing model name>

This attribute defines the model name for the timing model statement. The timing model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

D0_ADC

DLY_B

ADCDLY

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_ACT

IO_HC

MNTYMXDLY attribute:

<delay select value>

This attribute defines the MNTYMXDLY parameter for selecting the minimum, typical, or maximum delays from the gate's timing model. The default is 0.

0 = Value of DIGMNTYMX in the Global Settings.

1 = Minimum timing delay

2 = Typical timing delay

3 = Maximum timing delay

4 = Worst case timing delay (minimum/maximum)

Example:

1

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

4

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

The input node voltage and reference node voltage are both sampled with respect to the ground node at the rising edge of the Convert signal, which may be of any width. Only one conversion is performed per rising edge. The sampling ends when the Status output becomes high. 1/GMIN resistors are connected between the reference and ground nodes and the input and ground nodes. The ADC device converts the analog voltage difference between the <in node> pin and the <gnd node> pin to an equivalent digital representation. The digital output is the binary equivalent of:

(V(in,gnd)^(2*<bits>)/V(ref,gnd))

If the analog input value, V(in node), is less than V(gnd node), then all data bits are set to '0', and over-range is set to '1'. If this value exceeds V(ref node) then all data bits are set to '1', and the over-range pin is again set to '1'.

The sampling of the input voltage occurs on the rising edge of the CONVERT signal. Only one conversion is performed per rising edge.

The Out0, Out1,...OutN pins go to the 'X' state and the STATUS pin goes to the '1' state TPCS seconds after the rising edge of the CONVERT signal. TPSD seconds later, the Out0, Out1,...OutN pins change to valid data. TPDS seconds later, the STATUS pin goes to the '0' state.

Model Statement Syntax:

.model <timing model name> UADC ([model parameters])

Example:

.model ADCMOD UADC (tpcsty=10ns tpsdty=25ns tpdsty=12ns)

AtoD Converter Timing Parameters Table:

Name Parameter Units Default

TPCSMN Delay: rising edge of convert to

rising edge of status, min Sec. 0

TPCSTY Delay: rising edge of convert to

rising edge of status, typ Sec. 0

TPCSMX Delay: rising edge of convert to

rising edge of status, max Sec. 0

TPSDMN Delay: rising edge of status to output

and over-range signals, min Sec. 0

TPSDTY Delay: rising edge of status to output

and over-range signals, typ Sec. 0

TPSDMX Delay: rising edge of status to output

and over-range signals, max Sec. 0

TPDSMN Delay: output and over-range signals

to falling edge of status, min Sec. 0

TPDSTY Delay: output and over-range signals

to falling edge of status, typ Sec. 0

TPDSMX Delay: output and over-range signals

to falling edge of status, max Sec. 0

Any timing parameters that are not specified in the model statement have their values determined through the unspecified propagation delay rules.

For more information on the I/O model statement, view the Input/Output model topic.

Special Component Editor fields

Bits <bits>

The Component Editor has a special 'Bits' field for ADC devices. It lets you specify the number of output bits for the ADC. When you enter the number of bits, the system places the following pins on the display and you must drag them into place on the shape.

In

Convert

Ref

Gnd

Status

Over-range

Out0

Out1

.

.

.

OutN-1

If N bits are specified there will be N output pins Out0...OutN-1.

SPICE format:

Syntax:

U<name> ADC (<# of bits>)

+<digital power node> <digital ground node>

+<input node> <ref node> <gnd node> <convert node>

+<status node> <over range node>

+<output node msb> ... <output node lsb>

+<timing model name> <I/O model name>

+[MNTYMXDLY=<delay select value>]

+[IO_LEVEL=<interface subckt select value>]

Examples:

U1 ADC(8) $G_DPWR $G_DGND

+ansig ref1 0 conv1 stat1 over1

+out7 out6 out5 out4 out3 out2 out1 out0

+D0_ADC IO_STD

<# of bits> defines the number of digital bits the analog signal is converted to and is also equivalent to the number of output nodes. The output nodes are listed in the order of most significant bit to least significant bit.


Animated Analog Bar

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Bar1

LOW attribute:

<low_value>

This attribute defines the low value of the bar.

Examples:

0

-10

HIGH attribute:

<high_value>

This attribute defines the high value of the bar.

Examples:

20

10

Common attributes:

The animated analog bar produces a colored bar whose height tracks its input voltage. When the voltage equals low_value the bar is at a minimum. When the voltage equals high_value the bar is at a maximum.


Animated Analog LED

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

LED2

COLOR attribute:

<color name> , <on voltage> , <on current>, [rs] , [cjo]

This attribute defines the color of the LED along with its voltage and current settings and optional series resistance and junction capacitance.

Examples:

Red,1.7,0.015,250m,30p

Common attributes:

The animated analog LED is a light emitting diode whose color appears when the voltage across its two terminals equals or exceeds <on voltage>. It is modeled as a conventional diode with the model parameters RS set to [rs] and CJO set to [cjo]. Other model parameters are adjusted so that the diode voltage and current match the specified <on voltage> and <on current>. [rs] defaults to .5. [cjo] defaults to 20pF.

The choice of color is controlled by the user-selected palette color associated with <colorname>. To change the color name or actual on-screen color, double click on a LED, then click on the COLOR attribute, then on the LED Color button in the Attribute dialog box. This invokes the LED Color dialog box which lets you edit the existing LED COLOR attributes or add additional ones. The following are supplied with the original Micro-Cap library.

YELLOW, 2.0, 15m, 500m, 20pF

GREEN, 2.1, 15m, 500m, 20pF

BLUE, 3.4, 12m, 500m, 20pF

RED, 1.7, 15m, 500m, 20pF


Animated Meter

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Meter1

LOW attribute:

<low>

This attribute defines the low value of the meter.

Examples:

0

-10

HIGH attribute:

<high>

This attribute defines the high value of the meter.

Examples:

20

10

SCALE attribute:

< T | G | MEG | K | m | u | n | p | f >

This attribute defines the unit scale if Autoscale is off.

Examples:

m

K

AUTOSCALE attribute:

<On | Off>

This attribute defines whether Autoscale is on or off.

Examples:

On

ANALOG OR DIGITAL attribute:

<Analog | Digital>

This attribute defines whether the meter display will be analog or digital.

Examples:

Digital

AMPS OR VOLTS attribute:

<Amps | Volts>

This attribute defines whether the meter measures amps or volts.

Examples:

Volts

INPUT RESISTANCE attribute:

<Rin>

This attribute defines the input resistance of the meter. 1/Gmin will be used if this is undefined. This is only used when in Voltmeter mode.

Examples:

1E9

Common attributes:

The animated meter is a voltage or current meter whose display can be either analog or digital.

Click on the Digital or Analog text on the meter shape to select either an analog or digital display.

Click on the Amps or Volts text on the meter shape to select either an ammeter or a voltmeter.

Click on the Autoscale text on the meter shape to toggle between automatic scaling and manual scales. In manual scaling the lower limit is set by low and the higher limit is set by high. The digital meter mode always uses autoscaling.

The SCALE attribute is effective only when AUTOSCALE is OFF and the ANALOG meter option is selected. With an input voltage of 8000, a scale of k would read 8 when the analog range is 10 (LOW=0 and HIGH=10).

When the meter is in voltmeter mode, rin is added across the input terminals. If unspecified, the value of rin is 1/GMIN. When the meter is in ammeter mode, the input resistance is .001 ohms.


Fixed Analog

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Vin

Vcc

VALUE attribute:

<value>

This attribute defines the voltage value.

Examples:

15V

12.5

Common attributes:

Description

The fixed analog component produces a fixed DC voltage. It is the equivalent of a battery and a ground combined into one component. The voltage of <value> will be produced at the pin of the component.

SPICE format:

There is no fixed analog in SPICE. Use SPICE independent voltage source with a ground.


O (Digital output device)

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

O1

OAD

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

D0_AD

DLY_3

DDLY

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_AC

IO_HCT

Common attributes:

When a digital input node is connected to an analog node, the A/D interface circuit requires an O device. Its function is to translate analog voltages into digital levels on the digital node. The system automatically breaks the connection and inserts the AtoD circuit specified in the I/O model. That circuit always employs an O device. The function of the O device is to translate the analog voltages on the analog side to digital states on the digital side.

The O device contains a resistor, RLOAD, in parallel with a capacitor, CLOAD. They are connected between the analog interface node and the reference node, which is usually ground. The analog voltage across the parallel combination is monitored by the device. The digital output is the state whose 'State N low level voltage' and 'State N high level voltage' bracket the actual voltage across the parallel RC network. To determine which bracket contains the voltage level, a progressive search is employed. The search starts at the current state bracket. If the voltage is outside the state range, it tries the next highest bracket. If the search fails at state 19, it checks state 0. If this fails, it tries the next highest state. If the entire model is unsuccessfully searched, the system uses the SXNAME if it has been defined. Otherwise, it uses the state with the nearest voltage match.

This searching algorithm allows for the easy creation of hysteresis loops. Consider the following model statement:

S0NAME='0' S0VLO=-1.5 S0VHI=1.7

S1NAME='1' S1VLO=.9 S1VHI=7

Suppose the voltage starts at 0. The digital level is '0'. As the voltage rises it must exceed the 'S0VHI=1.7' value to exit the '0' state. When it does, it drops into the '1' state. When the voltage start to decline, it must drop below the 'S1VLO=.9' level to drop into the '0' state. This provides a hysteresis of S0VHI-S1VLO = 1.7 - .9 = .8 volts. Similar hysteresis values can be designed into the other states.

The state characters used in the model statement must be chosen from the set { 0, 1, R, F, X, Z}. The 'Z' state is usually not used since it conveys no level information and is really just a statement about the impedance level. Other characters will generate error messages and stop the simulation.

Model Statement Syntax:

.model <model name> DOUTPUT ([model parameters])

Example:

.model 74AD DOUTPUT (S0NAME=X S0VLO=1 S0VHI=2)

O device Parameters Table:

Name Parameter Units Default

RLOAD Output resistance ohm 0

CLOAD Output capacitance farad 0

S0NAME State '0' character abbreviation

S0VLO State '0' low level voltage volt

S0VHI State '0' high level voltage volt

S1NAME State '1' character abbreviation

S1VLO State '1' low level voltage volt

S1VHI State '1' high level voltage volt

.

.

.

S19NAME State '19' character abbreviation

S19VLO State '19' low level voltage volt

S19VHI State '19' high level voltage volt

SXNAME State to use when the voltage is outside all ranges

For more information on the I/O model statement, view the Input/Output model topic.

SPICE format:

Syntax:

O<name> <interface node> <reference node>

+<model name>

+DGTLNET=<digital node name>

+<I/O model name>

Example:

O1 A DGND DPWR DO74 DGTLNET=D IO_STD


Battery

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Vin

Vcc

VALUE attribute:

<value>[LOT[/#][/GAUSS|/UNIFORM|WCASE]=<tolvalue>[%]]

This attribute defines the battery value.

Examples:

15V

12.5

3 LOT/1/Gauss=10%

Common attributes:

Description

The battery produces a constant DC voltage. It is implemented internally as a SPICE independent voltage source. The Fixed Analog component is equivalent to a battery with its negative pin grounded.

The battery provides simple constant voltage values. If you need a voltage source that is dependent on other circuit variables or time, use one of the dependent sources or the function source (NFV).

A battery can be toleranced by adding the Lot statement to the VALUE attribute. For example, if a 10V battery was to have a 20% tolerance, the VALUE attribute would be defined as:

10 Lot=20%

The slider that may appear in an analysis mode if Show Slider in the Component Slider segment is enabled within the Slider panel of the Preferences dialog box has its maximum value set at (Value + 2*Value) and its minimum value at (Value - 2*Value) where Value is the value of the component when the analysis is first entered.

SPICE format:

There is no battery in SPICE. Use the SPICE independent voltage source.


Blank

Arrow, Bubble

Schematic format:

TEXT attribute:

<text>

This attribute defines the text description of the "blank" device.

Examples:

Drain-Source connection

Output impedance

IR1

If a component is defined "blank" in the Component Editor,the part can be used to annotate schematics. For instance,an arrow has no electrical significance, but can be used on a schematic to point out current flow. The Arrow, Arrow2, Arrow3, Bubble1, and Bubble 2 devices are all examples of the "blank". Note that an arrow can also be produced with the line graphic. Click on [image]. Choose Line from the pop-up menu. Drag in the schematic to produce a line. Click on [image]. Double click on the line to invoke the Line dialog box. Change the Style to an arrow.


Capacitor

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

C1

INCAP

CLoad

CAPACITANCE attribute:

<capacitance> [LOT[/#][/GAUSS|/UNIFORM|WCASE] = <tolerance>[%]] [IC=<initial value>]

This attribute defines the capacitance. The value may be a constant or it may be a dynamically changing expression. The IC sets an initial voltage across the capacitor.

Examples:

2.5PF/(POW((1-V(P,M)/0.7),.5))

2.5P*(1+2e-6*T)

10uF LOT=10%

5E-6 IC=5V

CHARGE attribute:

[charge]

This attribute defines the charge. The expression must reference the voltage through itself such as V(C1).

Example:

ATAN(V(C1))

FREQ attribute:

[<fexpr>]

This attribute defines the AC value. The value may be a constant or it may be a dynamically changing expression. This attribute only affects AC analysis. Transient analysis will use the CAPACITANCE or CHARGE attribute.

Examples:

V(10)*sqrt(f)

10p*(f/1000)

MODEL attribute:

[model name]

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

Cmod

Modcap

Common attributes:

CAPACITANCE attribute

[capacitance] may be a simple number or an expression involving time domain variables. It is evaluated in the time domain only. Consider the following expression:

1N/SQRT(1+V(C1))

V(C1) refers to the value of the voltage across C1 during a transient analysis, a DC operating point calculation prior to an AC analysis, or during a DC analysis. It does not mean the AC small signal voltage across C1. If the DC operating point value for V(C1) was 3, the capacitance would be evaluated as 1N/SQRT(1+3)) =.5n. The constant value, .5n, would be used in AC analysis.

CHARGE attribute

[charge], if used, must be an expression involving time-domain variables, including the voltage across the capacitor.

Initial conditions

The initial condition in the CAPACITANCE attribute assigns an initial voltage across the capacitor. The capacitor does have a polarity in order to assign the initial condition correctly. In the Attribute dialog box of a capacitor, enable the Display Pin Names checkbox to view the polarity of a capacitor in the schematic. The initial condition will be set with respect to this polarity.

Rules about using CHARGE and CAPACITANCE expressions

1) Either [capacitance] or [charge] must be given.

2) If both [capacitance] and [charge] are given, the user must ensure that [capacitance] is the derivative of [charge] with respect to the capacitor voltage. [capacitance] = d([charge])/dV

3) If [capacitance] is not given and [charge] is given, Micro-Cap will create an expression for capacitance by taking its derivative, C = dQ/dV.

4) If [capacitance] is given as an expression, C(V), and [charge] is not given, Micro-Cap creates an equivalent circuit consisting of a current source of value C(V)*DDT(V). In this case, the charge variable for the capacitor will always be zero. In all other cases the charge variable is available.

5) If [charge] is given, its expression must involve the voltage across the capacitor. Even for a constant capacitance, Q(C) = C*V(C);

6) If either [capacitance] or [charge] are given as time-varying expressions, then the MODEL attribute is ignored. The capacitance and charge values are determined solely by the expressions and unaffected by model parameters.

FREQ attribute

If <fexpr> is used, it replaces the value determined during the operating point in an AC analysis. <fexpr> may be a simple number or an expression involving frequency domain variables. The expression is evaluated during AC analysis as the frequency changes. For example, suppose the <fexpr> attribute is:

1+V(1,2)*(1+10m*log(f))

In this expression, f refers to the AC analysis frequency variable and V(1,2) refers to the AC small signal voltage between nodes 1 and 2. Note that there is no time domain equivalent to <fexpr>. Even if <fexpr> is present, [capacitance] and/or [charge] will be used in transient analysis.

MODEL attribute

If [model_name] is given then the model parameters specified in a library or a model statement are employed. If either [capacitance] or [charge] are given as time-varying expressions, then the MODEL attribute is ignored.

Stepping effects

Both the CAPCITANCE attribute and the model parameters may be stepped. If CAPACITANCE is stepped, it replaces [capacitance], even if it is an expression. The stepped value may be further modified by the quadratic and temperature effects.

Quadratic effects

If [model name] is used, [capacitance] is multiplied by a factor, QF, a quadratic function of the time-domain voltage, V, across the capacitor.

QF = 1 + VC1*V + VC2*V*V

This is intended to provide a subset of the old SPICE2G POLY keyword, which is no longer supported.

Temperature effects

The temperature factor is computed as follows:

If [model name] is used, [capacitance] is multiplied by a temperature factor, TF.

TF = 1 + TC1*(T-Tnom) + TC2*(T-Tnom)*(T-Tnom)

TC1 is the linear temperature coefficient and is sometimes given in data sheets as parts per million per degree C. To convert ppm specs to TC1 divide by 1E6. For example, a spec of 1500 ppm/degree C would produce a TC1 value of 1.5E-3.

T is the device operating temperature and Tnom is the temperature at which the nominal capacitance was measured. T is set to the analysis temperature from the Analysis Limits dialog box. Tnom is determined by the Global Settings TNOM value, which can be overridden with a .OPTIONS statement. T and Tnom may be changed for each model by specifying T_MEASURED, T_ABS, T_REL_GLOBAL, and T_REL_LOCAL in the model statement.

Monte Carlo effects

LOT and DEV Monte Carlo tolerances, available only when [model name] is used, are obtained from the model statement. They are expressed as either a percentage or as an absolute value and are available for all for the model parameters except the T_parameters. Both forms are converted to an equivalent tolerance percentage and produce their effect by increasing or decreasing the Monte Carlo factor, MF, which ultimately multiplies the final value. For standard tolerancing, the C (capacitance multiplier) parameter in the model statement needs to be the parameter toleranced.

How to tolerance an impedance element

MF = 1 + tolerance percentage/100

If tolerance percentage is zero or Monte Carlo is not in use, then the MF factor is set to 1.0 and has no effect on the final value.

The final capacitance used in the analysis, cvalue, is calculated as follows:

cvalue = [capacitance] * C * QF * TF * MF

Model Statement Syntax:

.model <model name> CAP ([model parameters])

Example:

.model Cload CAP (C=1 VC1=1u TC1=1m TC2=2u)

Capacitor Parameters Table:

Name Parameter Units Default

C Capacitance multiplier 1

LS Series inductance H 0

RP Parallel resistance Ohms Infinite

RS Series resistance Ohms 0

VC1 Linear voltage coefficient 1/V 0

VC2 Quadratic voltage coefficient 1/(V^2) 0

TC1 Linear temperature coefficient 1/Celsius 0

TC2 Quadratic temperature coefficient 1/(Celsius^2) 0

T_MEASURED Measured temperature Celsius undefined

T_ABS Absolute temperature Celsius undefined

T_REL_GLOBAL Relative to current temperature Celsius undefined

T_REL_LOCAL Relative to AKO model temperature Celsius undefined

Information on T_MEASURED, T_ABS, T_REL_GLOBAL, AND T_REL_LOCAL can be found in the .model temperature parameter topic.

The slider that may appear in an analysis mode if Show Slider in the Component Slider segment is enabled within the Slider panel of the Preferences dialog box has its maximum value set at (Value + 2*Value) and its minimum value at (Value - 2*Value) where Value is the value of the component when the analysis is first entered.

Noise effects

RS and RP, if specified, generate thermal noise currents in the usual manner.

Irs=sqrt(4*K*T/RS)...(per unit bandwidth)

Irp=sqrt(4*K*T/RP)...(per unit bandwidth)

SPICE format:

Syntax:

C<name> <plus> <minus> [model name] <capacitance> [IC=<initial voltage>]

Examples:

C1 2 3 1u

C2 7 8 CLOAD 15N

Ctot 11 21 5U IC=5.5

<plus> and <minus> are the positive and negative node numbers. The polarity references from the plus and minus nodes are used for the initial condition. If the capacitance parameter is an expression, it must be enclosed by { } brackets.


Constraints

The CONSTRAINT primitive provides a way of checking complex conditional timing parameters. It lets you check setup and hold time, pulse width, and frequency, and it includes a general user-defined check to model unique requirements.

Constraints usually accept as inputs the part or subcircuit inputs and typically work in concert with logic expressions, pin-to-pin delays, and other digital primitives. Constraints are passive warning devices. They create timing violation messages and place them in the Numeric Output window. They never affect simulation results. The I/O model attribute is required only to handle the case of an accidental connection of a Constraint digital node to an analog node.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

UCON

CONSTRAINT attribute:

[BOOLEAN: <Boolean assignments>]

+[SETUP_HOLD: <setup_hold specifications>]

+[WIDTH: <width specifications>]

+[FREQ: <frequency specifications>]

+[GENERAL: <general specifications>]

This attribute defines the constraint specifications for the device. A BOOLEAN:, SETUP_HOLD:, WIDTH:, FREQ:, or GENERAL: statement must be placed at the beginning of the assignments. A name may also be placed in this attribute that will be defined in the text area with a .define statement.

Examples:

FREQ: NODE=CLK MAXFREQ=25Meg WIDTH: NODE=PREBAR

MIN_LO=20ns SETUP_HOLD: DATA(5)=A B C D E CLOCK LH=CLK

SETUPTIME=10ns HOLDTIME=2ns

CON1 w/.following define statement in the text area

.define CON1

+WIDTH:

+ NODE = GATE

+ MIN_HI =20ns

+ MIN_LO = 20ns

+ WHEN = {PREBAR!='0}

+SETUP_HOLD:

+ DATA(4) = INA INB INC IND

+ SETUPTIME_HI=22ns

+ SETUPTIME_LO=24ns

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_LS

IO_S

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

0

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

BOOLEAN

The BOOLEAN: statement denotes the beginning of the <Boolean assignments>. The <Boolean assignments> assign temporary variables that may be used in any of the WHEN statements. The assignment must appear in the following form:

<boolean variable> = {<boolean expression>}

<boolean variable> = any valid variable name

Boolean variable may be any valid node name. The <boolean expression> must be enclosed within curly brackets, { }, but may span more than one line with the use of the '+' continuation character. The <boolean expressions> will return either a TRUE or FALSE value. There are six Boolean operators, and they are listed below from the highest priority to the lowest.

~ unary not

== equal to

!= not equal to

& and

^ exclusive or

| or

The == and != operators are allowed to have logic values ,such as '0 or '1, as an operand. The logic value must be preceded by a '. An example is CLRBAR=='0, which will be TRUE whenever CLRBAR is at a 0 logic state. The operands allowed in the <boolean expressions> are previously assigned <boolean variables>, the boolean constants: TRUE and FALSE, reference functions, and the logic levels ('0, '1, 'R, 'F, 'X). The logic levels may only be used with the == and != operators. Transition functions are not allowed in the Constraints.

Reference functions

Reference functions are used to detect logical level transitions on either <reference nodes> or <input nodes>. Each of the functions returns either a TRUE or FALSE value and may be used within any <boolean expression>. There are three possible reference functions as listed below:

CHANGED(<node>,<time>)

CHANGED_HL(<node>,<time>)

CHANGED_LH(<node>,<time>)

These reference functions produce a TRUE value when the <node> has undergone the specified transition within the past <time> relative to the current time, otherwise, they will produce a FALSE value. CHANGED checks to see if the <node> made any transition, CHANGED_HL checks to see if the <node> made a high to low transition, and CHANGED_LH checks to see if the <node> made a low to high transition. Only the most recent transition will be taken into account. A zero may be placed as the <time> value. This will instruct the function to only check for a transition at the current simulation time.

SETUP_HOLD

The SETUP_HOLD: statement denotes the beginning of a <setup_hold time specifications>. This section has the following syntax:

+SETUP_HOLD:

+ CLOCK <assertion edge> = <input clock node>

+ DATA(<# of data inputs>) = <first input node>...<nth input node>

+ [SETUPTIME = <time value>]

+ [HOLDTIME = <time value>]

+ [WHEN = {<boolean expression>}]

+ [MESSAGE = "<extra message text>"]

+ [ERRORLIMIT = <limit value>]

Ex: +SETUP_HOLD:

+ CLOCK LH=CLK

+ DATA(4)=INA INB INC IND

+ SETUPTIME=10NS

+ HOLDTIME=5NS

CLOCK specifies the node and edge that is to be used as reference for the setup and hold specifications. The edge must be either LH or HL denoting a rising and falling edge, respectively and determining which edge the setup and hold times are to be measured in relation to. DATA defines the number and name of the nodes that are to have their setup and hold times checked. There must be at least one DATA <input node> specified. Multiple <input nodes> must be separated by a space or comma. SETUPTIME defines the minimum amount of time that the <input nodes> must be stable before the <assertion edge> of the <input clock node>. Some devices have different setup times specified, depending on the data level. In this case, one or both of the following statements may be used.

SETUPTIME_LO = <time value>

SETUPTIME_HI = <time value>

SETUPTIME_LO performs a setup check on low data when the clock edge occurs, and SETUPTIME_HI performs a setup check on high data when the clock edge occurs. HOLDTIME defines the minimum amount of time that the <input nodes> must be stable after the <assertion edge>edge of the <input clock node>. Some devices have different hold times specified, depending on the data level. In this case, one or both of the following statements may be used.

HOLDTIME_LO = <time value>

HOLDTIME_HI = <time value>

HOLDTIME_LO performs a setup check on low data when the clock edge occurs, and HOLDTIME_HI performs a setup check on high data when the clock edge occurs.

The evaluation begins when the specified Clock node experiences the specified <assertion edge>. The WHEN <boolean expression> is evaluated and if TRUE, all SETUPTIME and HOLDTIME blocks with nonzero values are checked during this clock cycle. If the WHEN evaluates to FALSE, then no checks are done for this clock cycle. The WHEN function disables checking when it is inappropriate, as for example, during a RESET or PRESET operation.

Setup time checks occur at the CLOCK <assertion edge>. If the specified hold time is zero, simultaneous CLOCK and DATA transitions are allowed, but the previous DATA transition is checked for setup time. If the hold time is not zero, simultaneous CLOCK and DATA transitions are reported as errors. Hold time checks are done on any DATA input that changes after the CLOCK <assertion edge>. If the setup time is zero, simultaneous CLOCK and DATA transitions are allowed, but the next DATA transition occurring before the non-asserting edge is checked for hold time. If the setup time is not zero, simultaneous CLOCK and DATA transitions are reported as errors.

If either the CLOCK node or the DATA node are unknown, the check is skipped to avoid the profusion of errors that usually result. If a clock is X when DATA changes or vice-versa, the error has probably already been flagged elsewhere.

The constraint is checked only if <boolean expression> is true. If the number of constraint warning messages exceeds <limit value>, no further messages are issued. <extra message text> if any, is added to the standard error message.

WIDTH

The WIDTH: statement denotes the beginning of a <width specifications>. This section has the following syntax:

+WIDTH:

+ NODE = <input node>

+ [MIN_LO = <time value>

+ [MIN_HI = <time value>

+ [WHEN = {<boolean expression>}]

+ [MESSAGE = "<extra message text>"]

+ [ERRORLIMIT = <limit value>]

Ex: +WIDTH:

+ NODE = CLRBAR

+ MIN_LO = 20ns

+ ERRORLIMIT = 10

NODE specifies the <input node> whose width will be checked. MIN_HI specifies the minimum time that the <input node> must remain at a high state, 1. MIN_LO specifies the minimum time that the <input node> must remain at a low state, 0. Either one or both of these statements must be present in a WIDTH: section. All <time value> must be zero or greater. Micro-Cap will not perform a check on any <time value> that is specified as a zero. WHEN, MESSAGE, and ERRORLIMIT act the same as in the SETUP_HOLD: section.

FREQ

The FREQ: statement denotes the beginning of a <frequency specifications>. This section has the following syntax:

+FREQ:

+ NODE = <input node>

+ [MINFREQ = <frequency value>]

+ [MAXFREQ = <frequency value>]

+ [WHEN = {<boolean expression>}]

+ [MESSAGE = "<extra message text>"]

+ [ERRORLIMIT = <limit value>]

Ex: +FREQ:

+ NODE = CLK2

+ MAXFREQ = 20MEG

+ WHEN = {CLRBAR!='0}

NODE specifies the <input node> whose frequency will be checked. MINFREQ specifies the minimum allowable frequency of the input node. MAXFREQ specifies the maximum allowable frequency of the input node. Either one or both of these statements must be present in a FREQ: section. All <frequency value> must be zero or greater. This constraint will check the <input node> period length versus the value of 1/<frequency value> and will report any subsequent violations. Micro-Cap won't report following violations until one period of the input node is valid. WHEN, MESSAGE, and ERRORLIMIT act the same as in the SETUP_HOLD: section.

GENERAL

The GENERAL: statement denotes the beginning of a <general specifications>. This section has the following syntax:

+GENERAL:

+ WHEN = {<boolean expression>}

+ MESSAGE = "<extra message text>"

+ [ERRORLIMIT = <limit value>]

Ex: +GENERAL:

+ WHEN = {PREBAR=='0 & CLRBAR=='0}

+ MESSAGE = "Preset and Clear are both active - UNSTABLE"

WHEN defines a <boolean expression> that specifies the general condition. When this expression is evaluated as TRUE, the MESSAGE text will be reported in the output file. ERRORLIMIT acts the same as in the SETUP_HOLD: section.

The SETUP_HOLD, WIDTH, FREQ, and GENERAL sections may appear in any order within a constraint device. Multiple constraints of the same type may also appear in the device. Each constraint will be evaluated whenever the input node undergoes a transition.

For more information on the I/O model statement, view the Input/Output model topic.

How it works

When any of the CONSTRAINT inputs change, the <boolean expression> is evaluated. If the result is TRUE, then an error message containing the simulation time and the <message text> is generated.

Constraint points to remember:

Constraints may be one or many.

Constraints may occur in any order.

Constraints may be duplicated. That is, you can use more than one WIDTH or SETUP_HOLD specification.

Constraints may include <extra message text> that is appended to the standard internally generated message text.

Each constraint specification has its own ERRORLIMIT. The default value is copied from the Global Settings value of DIGERRDEFAULT. DIGERRDEFAULT, like all Global Settings values, may be overridden by using the .OPTIONS command. That is, placing the text,

.OPTIONS DIGERRDEFAULT=12

in your circuit changes the DIGERRDEFAULT value for the circuit. When more than ERRORLIMIT violations of the particular constraint check have occurred, no further messages are issued. Other constraints continue to issue messages.

DIGERRLIMIT, from the Global Settings, is used to limit the total number of error messages from all sources.

Special Component Editor pin fields

Inputs <inputs>

The Component Editor has a special 'Inputs' field for CONSTRAINTs. You don't edit these fields directly. Instead, you click in the Shape/Pin Display and add an input pin. This lets you define the names and pin locations of the input pins used by the constraint device.

Note that these devices are used mainly for modeling commercial parts, and are found principally in subcircuits in the Digital Library text files. Because they can have a variable number of inputs and outputs, there are an infinite number of pin combinations, and since a component in the Component library requires the specification of pin placements, placing all possible logic expression primitives in the library is clearly impossible. Accordingly, only a few such devices are found in the library, and these are mainly for illustration. These devices are really targeted for use in the subcircuits of the Digital Library. While you can use them directly in schematics, their real power derives from their use in commercial part models, which can be readily placed and used in schematics.

SPICE format:

Syntax:

U<name> CONSTRAINT (<# of inputs>)

+<digital power node> <digital ground node>

+<first input node>...<nth input node>

+<I/O model name>

+[IO_LEVEL=<interface subckt select value>]

+[BOOLEAN: <boolean assignments>]

+[SETUP_HOLD: <setup_hold specifications>]

+[WIDTH: <width specifications>]

+[FREQ: <frequency specifications>]

+[GENERAL: <general specifications>]

Example:

U1 CONSTRAINT(4) $G_DPWR $G_DGND

+CLRBAR CLK INA INB

+IO_LS

+FREQ:

+ NODE = CLK

+ MAXFREQ = 20MEG

+SETUP_HOLD:

+ DATA(2) = INA INB

+ CLOCK HL = CLK

+ SETUPTIME =15ns

+ HOLDTIME = 5ns

+ WHEN = {CLRBAR!='0}

+WIDTH:

+ NODE=CLRBAR

+ MIN_LO=25ns

+SETUP_HOLD:

+ DATA(1) = CLRBAR

+ CLK HL = CLK

+ SETUPTIME_HI = 10ns


DtoA Converters

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U2

UDA

TIMING MODEL attribute:

<timing model name>

This attribute defines the model name for the timing model statement. The timing model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

D0_DAC

DLY_3

DACDLY

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_AC

IO_HCT

MNTYMXDLY attribute:

<delay select value>

This attribute defines the MNTYMXDLY parameter for selecting the minimum, typical, or maximum delays from the gate's timing model. The default is 0.

0 = Value of DIGMNTYMX in the Global Settings.

1 = Minimum timing delay

2 = Typical timing delay

3 = Maximum timing delay

4 = Worst case timing delay (minimum/maximum)

Example:

0

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

3

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

A 1/GMIN resistor is connected between the reference and ground nodes. The DAC device converts the decimal value of the binary inputs to an analog voltage and impresses that voltage between the <out node> and the <gnd node>. The analog voltage is calculated every time an input bit changes. The analog voltage is determined by the equation:

V(ref,gnd)*((binary value of the inputs)/(2^(# of bits))) = V(out)

Binary inputs in the 'X' state translate to analog voltages halfway between the analog voltage for the '0' state and the '1' state.

Following a change on one or more of the binary inputs, the analog output changes linearly from the old state to the new state over the specified TSW time.

See the sample circuit AD16.CIR for an example of the use of this type of device.

Model Statement Syntax:

.model <timing model name> UDAC ([model parameters])

Example:

.model DACMOD UDAC (tswmn=10ns tswty=20ns tswmx=25ns)

DtoA Converter Timing Parameters Table:

Name Parameter Units Default

TSWMN Switching time: change in input data to

a stable output, min Sec. 0

TSWTY Switching time: change in input data to

a stable output, typ Sec. 0

TSWMX Switching time: change in input data to

a stable output, max Sec. 0

Any timing parameters that are not specified in the model statement have their values determined through the unspecified propagation delay rules.

For more information on the I/O model statement, view the Input/Output model topic.

Special Component Editor fields

Bits <bits>

The Component Editor has a special Bits field for DAC devices. It lets you specify the number of input bits. When you enter the number of bits, the system places the following pins on the display and you must drag them into place on the shape.

Out

Ref

Gnd

In0

In1

.

.

.

In<bits-1>

SPICE format:

Syntax:

U<name> DAC (<# of bits>)

+<digital power node> <digital ground node>

+<out node> <ref node> <gnd node>

+<input node msb> ... <input node lsb>

+<timing model name> <I/O model name>

+[MNTYMXDLY=<delay select value>]

+[IO_LEVEL=<interface subckt select value>]

Examples:

U1 DAC(8) $G_DPWR $G_DGND

+outsig ref1 0

+in7 in6 in5 in4 in3 in2 in1 in0

+D0_DAC IO_STD

<# of bits> defines the number of input digital bits that are converted to an analog signal and is also equivalent to the number of input nodes.


Diode

The diode can now be modeled through the standard SPICE model, a model with PSpice extensions, and either of the two Juncap models created by Philips. The available model levels are:

Level 1: Standard SPICE

Level 2: PSpice

Level 4: Juncap

Level 200: Juncap 2

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

D1

DL

VALUE attribute:

[area] [OFF] [IC=<vd>]

This attribute defines any of the optional diode parameters:

Examples:

1.0 OFF IC=1mV

2.1 IC=.7mV

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

1N4148

1N3600

Common attributes:

The initial condition, 'IC=<vd>', assigns an initial junction voltage to the diode. Area multiplies or divides model parameters as shown in the model parameters table. The OFF keyword forces the diode off during the first iteration of the DC operating point.

Model statement

Syntax

.MODEL <model name> D ([model parameters])

Example

.MODEL 1N4148 D (IS=1E-16 RS=0.55 TT=5N)

The level 1 diode model is a standard SPICE diode model with an additional linear parallel resistance added to account for leakage effects and individual temperature parameters. The level 2 diode model is compatible with the PSpice diode model.

Noise Equations

Flicker and shot noise is generated by the diode current, I. The resistors RS and RL generate thermal noise. The noise currents are computed as follows:

Irs = (4*k*T / RS)^0.5

Irl = (4*k*T / RL)^0.5

Ii = (2*q*I + KF*(I^AF) / Frequency)^0.5

SPICE format:

Syntax:

D<name> <anode> <cathode> <model name> [area] [OFF] [IC=<vd>]

Example:

D1 7 8 1N914 1.0 OFF IC=1mV

The values of <anode> and <cathode> represent the anode and cathode node numbers. The initial condition, 'IC=<vd>', assigns an initial junction voltage to the diode. Area multiplies or divides model parameters as shown in the diode parameters table . The 'OFF' keyword forces the diode off during the first iteration of the DC operating point. SPICE diode names must begin with the letter D.


Delay Lines

This device provides a constant delay according to the timing model parameters. Unlike the other digital devices, there is no inertial cancellation of narrow pulse widths through delay lines. The input of the delay line is propagated to the output after the delay time specified in the timing model statement. Any pulse width on the input will be propagated through to the output. No inertial cancellation will occur. The delay line has just one input and one output.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Udly

U2

TIMING MODEL attribute:

<timing model name>

This attribute defines the model name for the timing model statement. The timing model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

D0_DLY

DLY1

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_S

IO_LS

IO_HC

MNTYMXDLY attribute:

<delay select value>

This attribute defines the MNTYMXDLY parameter for selecting the minimum, typical, or maximum delays from the gate's timing model. The default is 0.

0 = Value of DIGMNTYMX in the Global Settings.

1 = Minimum timing delay

2 = Typical timing delay

3 = Maximum timing delay

4 = Worst case timing delay (minimum/maximum)

Example:

2

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

0

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

Model Statement Syntax:

.model <timing model name> UDLY ([model parameters])

Example:

.model dlymod UDLY (dlymn=1ns dlyty=7ns dlymx=14ns)

Standard Gate Timing Parameters Table:

Name Parameter Units Default

DLYMN Delay, min Sec. 0

DLYTY Delay, typ Sec. 0

DLYMX Delay, max Sec. 0

Any timing parameters that are not specified in the model statement have their values determined through the unspecified propagation delay rules.

For more information on the I/O model statement, view the Input/Output model topic.

SPICE format:

Syntax:

U<Name> DLYLINE

+<digital power node > <digital ground node >

+<input node> <output node>

+<timing model name> <I/O model name >

+[MNTYMXDLY =<delay select value>]

+[IO_LEVEL =<interface subckt select value>]

Example:

U1 DLYLINE $G_DPWR $G_DGND

+IN OUT

+DLY_5 IO_STD

+MNTYMXDLY=0 IO_LEVEL=2


Animated DPST Switch

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Switch1

STATE attribute:

<Open | Closed>

This attribute defines the state of the switch.

Examples:

Open

RON attribute:

<ron>

This attribute defines the on resistance of the switch.

Examples:

1m

ROFF attribute:

<roff>

This attribute defines the off resistance of the switch.

Examples:

1e12

GROUP attribute:

<group_name | ! | NOT group_name>

This attribute defines a group of animated switches that this switch may be associated with.

Examples:

Group1

NOT Group22

! Grp33a

Common attributes:

Double clicking in the switch area toggles the state of these switches between open and closed. The switches are modeled with a simple resistor whose on and off values are set by ron (default=.001) and roff (default=1E15). Double clicking just outside of the switch area accesses the Attribute dialog box for the device. A click on a switch with a GROUP attribute causes all others that share the same GROUP attribute to behave the same. If group_name is preceded with the reserved word NOT or the character !, the switch behaves oppositely to that of switches with group_name.


Fixed Digital

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

Uin

VALUE attribute:

<value>

This attribute defines the value of the stimulus. This device maintains a constant digital state through an analysis.

Examples:

0

1

F

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_ACT

IO_HC

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

4

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

Description

This device produces a constant digital state. It is actually the same device as a one node stimulus generator. This is a simpler way to produce a constant state through an analysis for nodes like Clear or Preset.

SPICE format:

There is no Fixed Digital available in SPICE. A Stimulus generator would need to be used.


Animated Digital Switch

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Uswitch

U3

UUP

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_HC

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

3

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

STATE attribute:

<output_state>

This attribute defines the output state of the switch. It must be either 0 or 1.

Example:

1

GROUP attribute:

<group_name || NOT group_name>

This attribute defines a group of animated switches that this switch may be associated with.

Examples:

Group1

NOT Group22

Common attributes:

Description:

The switch is designed to produce either a digital zero or one state. It has a single output pin at which the selected digital state will appear. During a simulation, the switch may be double clicked on to toggle it between its zero and one output. The appearance of the switch's arm will change to indicate which state the switch is currently connected to. A double click on a switch with a GROUP attribute causes all others that share the same GROUP attribute to behave the same. If group_name is preceded with the reserved word NOT, the switch behaves oppositely to that of switches with group_name.

For more information on the I/O model statement, view the Input/Output model topic.


N (Digital input device)

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

N1

NDA

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

D0_DA

DLY_3

ADLY

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_AC

IO_HCT

IS attribute:

<initial state>

This attribute defines the initial state of the digital input at the operating point calculation.

Example:

1

Common attributes:

When a digital output node is connected to an analog node the interface circuit requires an N device. Its function is to translate digital levels to analog voltages and impedances to drive the analog node. The system automatically breaks the connection and inserts the DtoA circuit specified in the I/O model. That circuit always employs an N device. The function of the N device is to translate the digital states to impedance changes on the analog side.

The N device contains two resistors and two optional capacitors. The resistance of the resistors changes in response to changes in the digital input. In a SPICE file, the digital input node is specified by <digital node name>. In a schematic, the digital input node is simply the node connected to the DIGITAL pin which is defined in the Component Editor. When this digital input changes from a '0' to a '1', the value of RHI changes linearly versus time from the '0' state high resistance to the '1' state high resistance. Similarly, the value of RLO changes linearly versus time from the '0' state low resistance to the '1' state low resistance.

The transition from the old resistance to the new resistance is accomplished in a linear fashion over the switching time specified in the DINPUT model for the new state. The output voltage changes from the old level to the new level during the switching time. The output curve looks somewhat like an exponential due to the simultaneous change of the two resistor values. The transition values of resistance for each state are obtained from the DINPUT model. Normally, the <high level node> and <low level node> are connected to the voltage sources that correspond to the highest and lowest logic levels. The connection is usually made within the particular DtoA interface circuit called for in the I/O model.

Digital input may be any of the following states {0, 1, R, F, X, Z}. The N device will generate an error message if any state other than these are presented.

The initial condition of the digital input to the N device is determined during the initial operating point calculation. To override this value, you use the IS command:

IS=<initial state>

The digital input is set to <initial state> at T=tmin and remains there until one of the devices driving the node changes the node's state.

Model Statement Syntax:

.model <model name> DINPUT ([model parameters])

Example:

.model 74DA DINPUT (CLO=1p CHI=2p S0NAME=X S0RLO=10 S0RHI=30)

N device Parameters Table:

Name Parameter Units Default

CLO Capacitance to low level node farad 0

CHI Capacitance to high level node farad 0

S0NAME State '0' character abbreviation

S0TSW State '0' switching time sec

S0RLO State '0' resistance to low level node ohm

S0RHI State '0' resistance to high level node ohm

S1NAME State '1' character abbreviation

S1TSW State '1' switching time sec

S1RLO State '1' resistance to low level node ohm

S1RHI State '1' resistance to high level node ohm

.

.

.

S19NAME State '19' character abbreviation

S19TSW State '19' switching time sec

S19RLO State '19' resistance to low level node ohm

S19RHI State '19' resistance to high level node ohm

For more information on the I/O model statement, view the Input/Output model topic.

SPICE format:

Syntax:

N<name> <interface node> <low level node> <high level node>

+<model name>

+DGTLNET=<digital node name>

+<I/O model name>

+[IS=<initial state>]

Example:

N1 A DGND DPWR DIN74 DGTLNET=D IO_STD


Edge-Triggered Flip-Flops

The preset and clear nodes are active low for both the JK and the D flip-flops. Edge-triggered flip-flops change state on the edges of the clock, the falling edge for the JK and the rising edge for the D. The logic of the flip-flops can be viewed in their truth tables.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

Uff

UJK

TIMING MODEL attribute:

<timing model name>

This attribute defines the model name for the timing model statement. The timing model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

D0_EFF

DLY4

JKDLY

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD_ST

IO_AC

IO_S

MNTYMXDLY attribute:

<delay select value>

This attribute defines the MNTYMXDLY parameter for selecting the minimum, typical, or maximum delays from the gate's timing model. The default is 0.

0 = Value of DIGMNTYMX in the Global Settings.

1 = Minimum timing delay

2 = Typical timing delay

3 = Maximum timing delay

4 = Worst case timing delay (minimum/maximum)

Example:

0

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

1

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

Both of these flip-flops change their state a specified delay time after the active edge of the clock. The active edge of the JKFF is the negative or falling edge. The active edge of the DFF is the positive or rising edge.

Initialization

Flip-flop devices may be initialized to a particular state by using DIGINITSTATE. The flip-flop true outputs are set according to this table:

DIGINITSTATE Flip-flop Q output

0 0

1 1

All other values X

DIGINITSTATE is set in the Global Settings dialog box. It can also be changed for a particular circuit with the .OPTIONS command.

X-levels

As with other devices, X states are not propagated to the output if the logic precludes that from happening. For example, if clearbar = X, and Q = 0, the Q stays at 0, since both clearbar possibilities (clearbar = 0 and clearbar = 1) both produce Q = 0. Similarly, if clearbar = X, and Q = 1, Q goes to X since the two clearbar possibilities (clearbar = 0 and clearbar = 1) each produce different Q outputs.

Timing violations

The timing constraints will be checked only if the value is nonzero. If a constraint is violated, the simulator places a warning message in the Numeric Output window, and in the text file CIRCUITNAME.TNO. The window is accessed from the Transient menu.

Model Statement Syntax:

.model <timing model name> UEFF ([model parameters])

Example:

.model JKDLY UEFF (tppcqlhty=10ns tppcqlhmx=25ns tpclkqlhty=12ns

+twpclty=15ns tsudclkty=4ns)

Edge-Triggered Flip-Flop Timing Parameters Table:

Name Parameter Units Default

TPPCQLHMN Delay: preb/clrb to q/qb low to hi, min Sec. 0

TPPCQLHTY Delay: preb/clrb to q/qb low to hi, typ Sec. 0

TPPCQLHMX Delay: preb/clrb to q/qb low to hi, max Sec. 0

TPPCQHLMN Delay: preb/clrb to q/qb hi to low, min Sec. 0

TPPCQHLTY Delay: preb/clrb to q/qb hi to low, typ Sec. 0

TPPCQHLMX Delay: preb/clrb to q/qb hi to low, nom Sec. 0

TWPCLMN Delay: min preb/clrb width low, min Sec. 0

TWPCLTY Delay: min preb/clrb width low, typ Sec. 0

TWPCLMX Delay: min preb/clrb width low, max Sec. 0

TPCLKQLHMN Delay: clk/clkb edge to q/qb low to hi, min Sec. 0

TPCLKQLHTY Delay: clk/clkb edge to q/qb low to hi, typ Sec. 0

TPCLKQLHMX Delay: clk/clkb edge to q/qb low to hi, max Sec. 0

TPCLKQHLMN Delay: clk/clkb edge to q/qb hi to low, min Sec. 0

TPCLKQHLTY Delay: clk/clkb edge to q/qb hi to low, typ Sec. 0

TPCLKQHLMX Delay: clk/clkb edge to q/qb hi to low, max Sec. 0

TWCLKLMN Min clk/clkb width low, min Sec. 0

TWCLKLTY Min clk/clkb width low, typ Sec. 0

TWCLKLMX Min clk/clkb width low, max Sec. 0

TWCLKHMN Min clk/clkb width hi, min Sec. 0

TWCLKHTY Min clk/clkb width hi, typ Sec. 0

TWCLKHMX Min clk/clkb width hi, max Sec. 0

TSUDCLKMN Setup j/k/d to clk/clkb edge, min Sec. 0

TSUDCLKTY Setup j/k/d to clk/clkb edge, typ Sec. 0

TSUDCLKMX Setup j/k/d to clk/clkb edge, max Sec. 0

TSUPCCLKHMN Setup preb/clrb hi to clk/clkb edge, min Sec. 0

TSUPCCLKHTY Setup preb/clrb hi to clk/clkb edge, typ Sec. 0

TSUPCCLKHMX Setup preb/clrb hi to clk/clkb edge, max Sec. 0

THDCLKMN Hold j/k/d after clk/clkb edge, min Sec. 0

THDCLKTY Hold j/k/d after clk/clkb edge, typ Sec. 0

THDCLKMX Hold j/k/d after clk/clkb edge, max Sec. 0

A non-zero timing constraint parameter will be compared to the input waveforms. Any violations will produce an error in the output file. Timing constraint parameters that are not specified in the model statement have their values determined through the unspecified timing constraint rules. Any propagation timing parameters that are not specified in the model statement have their values determined through the unspecified propagation delay rules.

For more information on the I/O model statement, view the Input/Output model topic.

SPICE format:

Two types of edge-triggered flip-flops are provided, the JKFF and the DFF. Both of these devices change after the active edge of the clock. The active edge of the JKFF is the negative or falling edge. The active edge of the DFF is the positive or rising edge.

Syntax:

U<name> JKFF (<# of flip-flops>)

+<digital power node> <digital ground node>

+<presetbar node> <clearbar node> <clockbar node>

+<first J input node>...<nth J input node>

+<first K input node>...<nth K input node>

+<first Q output node>...<nth Q output node>

+<first QBAR output node>...<nth QBAR output node>

+<timing model name> <I/O model name>

+[MNTYMXDLY=<delay select value>]

+[IO_LEVEL=<interface subckt select value>]

U<name> DFF (<# of flip-flops>)

+<digital power node> <digital ground node>

+<presetbar node> <clearbar node> <clock node>

+<first D input node>...<nth D input node>

+<first Q output node>...<nth Q output node>

+<first QBAR output node>...<nth QBAR output node>

+<timing model name> <I/O model name>

+[MNTYMXDLY=<delay select value>]

+[IO_LEVEL=<interface subckt select value>]

Examples:

U1 JKFF(2) $G_DPWR $G_DGND

+PREBAR CLRBAR CLK

+J1 J2 K1 K2 Q1 Q2 Q1BAR Q2BAR

+D0_EFF IO_STD IO_LEVEL=1

U4 DFF(1) $G_DPWR $G_DGND

+PREB CLRB CLKIN

+DIN Q QBAR DLY_DFF IO_ACT

<# of flip-flops> defines the number of flip-flops in the array. The preset, clear, and clock nodes are common to all flip-flops in a particular array.


Dependent Source - SPICE polynomial VofV

Dependent Source - SPICE polynomial EVofV

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

E1

Emult

VALUE attribute:

[POLY(<k>)] n1p n1m ...[nkp nkm] [p0...pk] [IC=c1...[,ck]]

This attribute defines the dependent source value.

Examples:

POLY(2) 10 0 5 0 0 0 0 0 1

POLY(3) 6 0 15 5 0 1 1 1 1 0 10

Common attributes:

N1p is the first positive controlling node. N1m is the first negative controlling node. Nkp is the k'th positive controlling node. Nkm is the k'th negative controlling node. P0 is the first polynomial coefficient. Pk is the k'th polynomial coefficient. C1 is the first initial condition. Ck is the k'th initial condition. The TABLE, VALUE, LAPLACE, and FREQ features are not supported in the schematic version of the E device. These features are supported in the Function and Laplace devices.

When the POLY keyword is not used, the general equation for the dependent source function is

F=p0+p1*v1+p2*(v2^2)+p3*(v3^3)+...pk*(vk^k)

F is the output value of the dependent voltage

v1,v2,v3,...vk are the k independent variable values

p0,p1,p2,...pk are the k+1 polynomial coefficients

When the POLY keyword is used the computation of the polynomial is computed as follows:

The values of the exponents E1,E2,E3,...,En are chosen by a rather complex procedure which is best understood by referring to the polynomial coefficients table.

SPICE format:

Syntax

E<name> <plusout> <minusout> [POLY(<k>)] n1p n1m

+ [n2p n2m...nkp nkm] [p0 p1...pk] [IC=c1,[c2,[c3...[,ck]]]]

<plusout> is the positive output node number of the source. <minusout> is the negative output node number of the source. N1p is the first positive controlling node. N1m is the first negative controlling node. Nkp is the k'th positive controlling node. Nkm is the k'th negative controlling node. P0 is the first polynomial coefficient. Pk is the k'th polynomial coefficient. C1 is the first initial condition. Ck is the k'th initial condition.

Examples

E1 10 20 30 40 1.0

E2 7 0 POLY(3) 10 15 20 25 30 35 1.0 2.1 3.5 10.0 20.0 30.0

PSpice supported formats:

These may only be used in a SPICE text file. In a schematic use the function or Laplace sources.

E<name> <plusout> <minusout> VALUE = {<expression>}

E<name> <plusout> <minusout> TABLE{<expression>} =

+ <<input value>,<output value>>*

E<name> <plusout> <minusout> LAPLACE {<expression>} =

+ {<Laplace transfer function>}

E<name> <plusout> <minusout> FREQ

+ {<expression>} = [KEYWORD]

+ <<frequency value>,<magnitude value>,<phase value>>*

<plusout> is the positive output node number of the source. <minusout> is the negative output node number of the source.


Dependent Source - SPICE polynomial IofI

Dependent Source - SPICE polynomial FIofI

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

F1

Fsum

VALUE attribute:

[POLY(<k>)] v1 ...[vk] [p0...pk] [IC=c1...[,ck]]

This attribute defines the dependent source value.

Examples:

POLY(2) Vln Vpn 0 0 0 0 1

POLY(3) V1 V2 V3 0 1 1 1 Vin 10

Common attributes:

V1 is the voltage source whose current is the first controlling variable. Vk is the voltage source whose current is the k'th controlling variable. P0 is the first polynomial coefficient. Pk is the k'th polynomial coefficient. C1 is the first initial condition. Ck is the k'th initial condition.

When the POLY keyword is not used, the general equation for the dependent source function is

F=p0+p1*v1+p2*(v2^2)+p3*(v3^3)+...pk*(vk^k)

F is the output value of the dependent voltage

v1,v2,v3,...vk are the k independent variable values

p0,p1,p2,...pk are the k+1 polynomial coefficients

When the POLY keyword is used the computation of the polynomial is computed as follows:

The values of the exponents E1,E2,E3,...,En are chosen by a rather complex procedure which is best understood by referring to the polynomial coefficients table.

SPICE format:

Syntax

F<name> <plusout> <minusout> [POLY(<k>)] v1 [v2 vk]

+ [p0 p1...pk] [IC=c1,[c2,[c3...[,ck]]]]

<plusout> is the positive output node number of the source. <minusout> is the negative output node number of the source. V1 is the voltage source whose current is the first controlling variable. Vk is the voltage source whose current is the k'th controlling variable. P0 is the first polynomial coefficient. Pk is the k'th polynomial coefficient. C1 is the first initial condition. Ck is the k'th initial condition.

Examples:

F1 1 2 3 4 1.0

F2 4 0 POLY(2) V1 V2 1.0 2.0 10.0 20.0


File Stimulus

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

UFS1

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STM

IO_AC

IO_HCT

FILE attribute:

<stimulus file name>

This attribute defines the name of the file that the digital transition table is defined in.

Examples:

DIG1.STM

CLOCK.DOC

REPEAT attribute:

<repeat value>

This attribute defines the number of times that the waveform within the file will be repeated.

Examples:

5

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

2

SIGNAMES attribute:

<signal names from stimulus file>

This attribute selects one or more signal names form the stimulus file for use by the output nodes.

Examples:

CLEAR PRESET Q QB

AIN BIN

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

<# of outputs>

In a SPICE file, this specifies the number of signals or output nodes. For schematic components, this value is defined when the component is first entered into the Component library. Simply picking an FSTIM device from the Component library menu supplies this information.

<node>*

For SPICE circuit components, this list defines the node names of the output nodes. For a schematic circuit component, this data is automatically acquired from the output node numbers or node names. Node names are defined by the user by placing grid text on the output nodes. The number of names in this list must equal <# of outputs>.

<stimulus file name>

This is the stimulus file name specified as a text string enclosed in double quotes.

SIGNAMES

This attribute selects one or more of the signal names from the stimulus file header for use by one of the output nodes, <node>*. The signal from the stimulus file is assigned to drive the <node> positionally associated with it. If no signal names are specified, then the program will expect to find signal names in the stimulus file that match the output node names, <node>*. This command must be the last command in a SPICE file component specification.

Example:

U1 FSTIM(3) $G_DPWR $G_DGND

+ A B C

+ IO_FS

+ FILE = "PATTERN.STM"

In the above example, there is no SIGNAMES command, so the stimulus file PATTERN.STM must contain the signal names A, B, and C in the header. The signals for A, B, and C would be assigned to the FSTIM outputs A, B, and C.

Example:

U2 FSTIM(3) $G_DPWR $G_DGND

+ A B C

+ IO_FS

+ FILE = "PATTERN.STM"

+ SIGNAMES = X Y Z

In the above example, there is a SIGNAMES command, so the stimulus file PATTERN.STM must contain the signal names X, Y, and Z in the header. The signals for X, Y, and Z would be assigned to the FSTIM outputs A, B, and C.

Example:

U3 FSTIM(4) $G_DPWR $G_DGND

+ A B C D

+ IO_FS

+ FILE = "PATTERN.STM"

+ SIGNAMES = X Y

The stimulus file PATTERN.STM must contain the signal names X, Y, C, and D. The signals for X and Y would be assigned to the FSTIM outputs A and B respectively. The signals for C and D would be assigned to the FSTIM outputs C and D respectively.

The sample circuit FSTIM8 illustrates the use of the file stimulus device.

File

The File Stimulus device expects to read a file in the following format:

<Header>

One or more blank lines

<Transition tables>

<Header>

This consists of the following:

[TIMESCALE=<time scale value>]

[<first signal name>...<last signal name>]

[OCT(<signal name bit3>...<signal name of lsb>]

[HEX(<signal name bit 4>...<signal name of lsb>]

The header contains the optional [TIMESCALE=<time scale value>] line and a single line list of signal names. The signal names may be separated by spaces, commas, or tabs. The line may not be continued with the continuation character '+'. The line may contain up to 256 signals. The signal names will be associated with signal values from the transition tables, in the same order.

The optional OCT(sig 1-msb, sig2, sig3-lsb) radix function lets you declare segments of the transition table as octal numbers. It decodes each octal digit from the table into three binary values and assigns these values to the three signal names. The function must have exactly three signal names as arguments and it consumes one octal digit from each row in the transition table.

The optional HEX(sig 1-msb, sig2, sig3, sig4-lsb) radix function lets you declare segments of the transition table as hex numbers. It decodes each hex digit from the table into four binary values and assigns these values to the four signal names. The function must have exactly four signal names as arguments and it consumes one octal digit from each row in the transition table.

Signal names not using the HEX or OCT function are assumed to be in binary format. Each signal name in binary format consumes exactly one binary digit from the transition table.

The total number of physical outputs is:

Outputs = binary names + 3*octal names + 4*hex names

The total number of digits in the state portion of the transition table will be:

Digits = binary names + OCT statements + HEX statements

<Transition tables>

The transition table format is as follows:

<time> <state value>*

<Transition tables> start on the first non-blank line following the header. Each line must contain a transition time, <time>, followed by a space or tab, followed by one or more <state values>.

<time>

Transition times are always expressed in units of seconds. Times may be absolute or, if preceded by a '+', relative to the previous time. The <time> value is multiplied by the <time scale value> to get the actual transition time.

<value>

Each digit of <value> provides one state for each binary signal name, three states for each OCT set of three signal names, or four states for each HEX group of four signal names. Each digit is striped from the table and assigned to the signal names in the same left to right order. The list of valid digits are:

Binary Octal Hex

Logic state 0,1 0-7 0-F

Unknown X X X

High-impedance Z Z Z

Rising R R None

Falling F F None

Transition Table example

TIMESCALE=1ns

A B C D HEX(A4,A3,A2,A1) OCT(D3,D2,D1)

0 0000F3 ;transition time = 0

1 000104 ;transition time = 1ns

+2 001015 ;transition time = 3ns (1ns + 2ns)

5 001196 ;transition time = 5ns

SPICE format:

Syntax:

U<name> FSTIM (<# of outputs>)

+<digital power node> <digital ground node>

+<node>*

+<I/O model name>

+FILE=<stimulus file name>

+[IO_LEVEL=<interface subckt select value>]

+[SIGNAMES=<signal names from stimulus file>]


Gallium arsenide field effect transistor

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

B1

Bfet

VALUE attribute:

[area] [OFF] [IC=vds[,vgs]]

This attribute defines any of the optional GaAsfet parameters:

Examples:

1.5 OFF IC=25,8

2.1 IC=15V

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

FLK202

FLC103WG

Common attributes:

The GaAsFET is an n-channel device. There is no p-channel version. Three models are selected by the level number.

Level=1 Curtice model

Level=2 Raytheon or Statz model

Level=3 TriQuint model

Level=4 Parker-Skellern model

Area multiplies or divides parameters as shown in the GaAsFET parameters table. The default value of area is 1.0. The [OFF] keyword forces the device off for the first iteration of the operating point. The initial condition, '[IC=vds[,vgs]]', assigns initial voltages to the drain-source and gate-source terms. This works only in transient analysis when the operating point is not calculated or the UIC flag is set.

Model statement

Syntax:

.Model <model name> GASFET ([model parameters])

Example:

.Model B1 GASFET (VTO=-2 ALPHA=2.5 BETA=1e-4 LAMBDA=1e-3)

Noise

The parasitic lead resistances, RG, RD, and RS, generate thermal noise currents.

Ig^2 = 4*k*T / RG

Id^2 = 4*k*T / RD

Is^2 = 4*k*T / RS

The drain current generates a noise current.

I^2 = 4*k*T*gm*2/3 + KF*(Id^AF) / Frequency

where gm = del(Id) / del(Vgs) (at operating point)

SPICE format:

Syntax:

B<name> <drain> <gate> <source> <model name>

+ [area] [OFF] [IC=<vds>[,<vgs>]]

Example:

B1 10 20 30 FLC091WF 1.5 OFF IC=25.0,8.0

The drain, gate, and source node numbers are represented by <drain>, <gate>, <source>. SPICE GaAsFET names must begin with the letter B.


Gated Flip-Flops/Latches

The preset and clear nodes are active low for both the SR flip-flop and the D latch. Gated latches change state when the gate input is at a high level. The logic of the latches can be viewed in their truth tables.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

Ultch

USR

TIMING MODEL attribute:

<timing model name>

This attribute defines the model name for the timing model statement. The timing model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

D0_GFF

DLY_2

SRDLY

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_ACT

IO_LS

MNTYMXDLY attribute:

<delay select value>

This attribute defines the MNTYMXDLY parameter for selecting the minimum, typical, or maximum delays from the gate's timing model. The default is 0.

0 = Value of DIGMNTYMX in the Global Settings.

1 = Minimum timing delay

2 = Typical timing delay

3 = Maximum timing delay

4 = Worst case timing delay (minimum/maximum)

Example:

2

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

0

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

The outputs of these devices follow the input while the gate node is high. The input state sampled during the high state of the gate node is latched and stable during the low state of the gate node.

Initialization

Flip-flop devices may be initialized to a particular state by using DIGINITSTATE. The flip-flop true outputs are set according to this table:

DIGINITSTATE Flip-flop Q output

0 0

1 1

All other values X

DIGINITSTATE is set in the Global Settings dialog box. It can also be changed for a particular circuit with the .OPTIONS command.

X-levels

As with other devices, X states are not propagated to the output if the logic precludes that from happening. For example, if clearbar = X, and Q = 0, the Q stays at 0, since both clearbar possibilities (clearbar = 0 and clearbar = 1) both produce Q = 0. Similarly, if clearbar = X, and Q = 1, Q goes to X since the two clearbar possibilities (clearbar = 0 and clearbar = 1) each produce different Q outputs.

Timing violations

The timing constraints will be checked only if the value is nonzero. If a constraint is violated, the simulator places a warning message in the Numeric Output window, and in the text file CIRCUITNAME.TNO. The window is accessed from the Transient menu.

Model Statement Syntax:

.model <timing model name> UGFF ([model parameters])

Example:

.model SRMOD UGFF (tppcqlhty=10ns tppcqlhmx=25ns tpdqlhty=12ns

+twghty=15ns tsudgty=4ns)

Gated Latch Timing Parameters Table:

Name Parameter Units Default

TPPCQLHMN Delay: preb/clrb to q/qb low to hi, min Sec. 0

TPPCQLHTY Delay: preb/clrb to q/qb low to hi, typ Sec. 0

TPPCQLHMX Delay: preb/clrb to q/qb low to hi, max Sec. 0

TPPCQHLMN Delay: preb/clrb to q/qb hi to low, min Sec. 0

TPPCQHLTY Delay: preb/clrb to q/qb hi to low, typ Sec. 0

TPPCQHLMX Delay: preb/clrb to q/qb hi to low, max Sec. 0

TWPCLMN Min preb/clrb width low, min Sec. 0

TWPCLTY Min preb/clrb width low, typ Sec. 0

TWPCLMX Min preb/clrb width low, max Sec. 0

TPGQLHMN Delay: gate to q/qb low to hi, min Sec. 0

TPGQLHTY Delay: gate to q/qb low to hi, typ Sec. 0

TPGQLHMX Delay: gate to q/qb low to hi, max Sec. 0

TPGQHLMN Delay: gate to q/qb hi to low, min Sec. 0

TPGQHLTY Delay: gate to q/qb hi to low, typ Sec. 0

TPGQHLMX Delay: gate to q/qb hi to low, max Sec. 0

TPDQLHMN Delay s/r/d to q/qb low to hi, min Sec. 0

TPDQLHTY Delay s/r/d to q/qb low to hi, typ Sec. 0

TPDQLHMX Delay s/r/d to q/qb low to hi, max Sec. 0

TPDQHLMN Delay s/r/d to q/qb hi to low, min Sec. 0

TPDQHLTY Delay s/r/d to q/qb hi to low, typ Sec. 0

TPDQHLMX Delay s/r/d to q/qb hi to low, max Sec. 0

TWGHMN Min gate width hi, min Sec. 0

TWGHTY Min gate width hi, typ Sec. 0

TWGHMX Min gate width hi, max Sec. 0

TSUDGMN Setup s/r/d to gate edge, min Sec. 0

TSUDGTY Setup s/r/d to gate edge, typ Sec. 0

TSUDGMX Setup s/r/d to gate edge, max Sec. 0

TSUPCGHMN Setup preb/clrb hi to gate edge, min Sec. 0

TSUPCGHTY Setup preb/clrb hi to gate edge, typ Sec. 0

TSUPCGHMX Setup preb/clrb hi to gate edge, max Sec. 0

THDGMN Hold s/r/d after gate edge, min Sec. 0

THDGTY Hold s/r/d after gate edge, typ Sec. 0

THDGMX Hold s/r/d after gate edge, max Sec. 0

A non-zero timing constraint parameter will be compared to the input waveforms. Any violations will produce an error in the output file. Timing constraint parameters that are not specified in the model statement have their values determined through the unspecified timing constraint rules. Any propagation timing parameters that are not specified in the model statement have their values determined through the unspecified propagation delay rules.

For more information on the I/O model statement, view the Input/Output model topic.

SPICE format:

Two types of latches are supported by Micro-Cap: the SR flip flop and D type latch. Both devices change during the high level of the gate.

Syntax:

U<name> SRFF (<# of latches>)

+<digital power node> <digital ground node>

+<presetbar node> <clearbar node> <gate node>

+<first S input node>...<nth S input node>

+<first R input node>...<nth R input node>

+<first Q output node>...<nth Q output node>

+<first QBAR output node>...<nth QBAR output node>

+<timing model name> <I/O model name>

+[MNTYMXDLY=<delay select value>]

+[IO_LEVEL=<interface subckt select value>]

U<name> DLTCH (<# of latches>)

+<digital power node> <digital ground node>

+<presetbar node> <clearbar node> <gate node>

+<first D input node>...<nth D input node>

+<first Q output node>...<nth Q output node>

+<first QBAR output node>...<nth QBAR output node>

+<timing model name> <I/O model name>

+[MNTYMXDLY=<delay select value>]

+[IO_LEVEL=<interface subckt select value>]

Examples:

U1 SRFF(2) $G_DPWR $G_DGND

+PREBAR CLRBAR GATE

+S1 S2 R1 R2 Q1 Q2 Q1BAR Q2BAR

+D0_GFF IO_HCT MNTYMXDLY=3

U4 DLTCH(1) $G_DPWR $G_DGND

+PREB CLRB GATEIN

+DIN Q QBAR DLYLATCH IO_LS

<# of latches> defines the number of latches in the array. The preset, clear, and gate nodes are common to all latches in a particular array.


Dependent Source - SPICE polynomial IofV

Dependent Source - SPICE polynomial GIofV

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

G1

Gmult

VALUE attribute:

[POLY(<k>)] n1p n1m ...[nkp nkm] [p0...pk] [IC=c1...[,ck]]

This attribute defines the dependent source value.

Examples:

POLY(2) 10 0 5 0 0 0 0 0 1

POLY(3) 6 0 15 5 0 1 1 1 1 0 10

Common attributes:

N1p is the first positive controlling node. N1m is the first negative controlling node. Nkp is the k'th positive controlling node. Nkm is the k'th negative controlling node. P0 is the first polynomial coefficient. Pk is the k'th polynomial coefficient. C1 is the first initial condition. Ck is the k'th initial condition. The TABLE, VALUE, LAPLACE, and FREQ features are not supported in the schematic version of the G device. These features are supported in the Function and Laplace devices.

When the POLY keyword is not used, the general equation for the dependent source function is

F=p0+p1*v1+p2*(v2^2)+p3*(v3^3)+...pk*(vk^k)

F is the output value of the dependent voltage

v1,v2,v3,...vk are the k independent variable values

p0,p1,p2,...pk are the k+1 polynomial coefficients

When the POLY keyword is used the computation of the polynomial is computed as follows:

The values of the exponents E1,E2,E3,...,En are chosen by a rather complex procedure which is best understood by referring to the polynomial coefficients table.

SPICE format:

Syntax

G<name> <plusout> <minusout> [POLY(<k>)] n1p n1m [n2p n2m]...[nkp nkm]

+ [p0 p1...pk] [IC=c1,[c2,[c3...[,ck]]]]

<plusout> is the positive output node number of the source. <minusout> is the negative output node number of the source. N1p is the first positive controlling node. N1m is the first negative controlling node. Nkp is the k'th positive controlling node. Nkm is the k'th negative controlling node. P0 is the first polynomial coefficient. Pk is the k'th polynomial coefficient. C1 is the first initial condition. Ck is the k'th initial condition.

Examples

G1 10 20 30 40 1.0

G2 7 0 POLY(3) 10 15 20 25 30 35 1.0 2.1 3.5 10.0 20.0 30.0

PSpice supported formats:

These may only be used in a SPICE text file. In a schematic use the function or Laplace sources.

G<name> <plusout> <minusout> VALUE = {<expression>}

G<name> <plusout> <minusout> TABLE{<expression>} =

+ <<input value>,<output value>>*

G<name> <plusout> <minusout> LAPLACE {<expression>} =

+ {<Laplace transfer function>}

G<name> <plusout> <minusout> FREQ

+ {<expression>} = [KEYWORD]

+ <<frequency value>,<magnitude value>,<phase value>>*

<plusout> is the positive output node number of the source. <minusout> is the negative output node number of the source.


Ground

The stuff beneath your feet. Also, the reference node that is arbitrarily assigned the exalted position of zero voltage.


Dependent Source - SPICE polynomial VofI

Dependent Source - SPICE polynomial HVofI

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

H1

Hsum

VALUE attribute:

[POLY(<k>)] v1 ...[vk] [p0...pk] [IC=c1...[,ck]]

This attribute defines the dependent source value.

Examples:

POLY(2) Vln Vpn 0 0 0 0 1

POLY(3) V1 V2 V3 0 1 1 1

Vin 10

Common attributes:

V1 is the voltage source whose current is the first controlling variable. Vk is the voltage source whose current is the k'th controlling variable Pk is the k'th polynomial coefficient. C1 is the first initial condition. Ck is the k'th initial condition.

When the POLY keyword is not used, the general equation for the dependent source function is

F=p0+p1*v1+p2*(v2^2)+p3*(v3^3)+...pk*(vk^k)

F is the output value of the dependent voltage

v1,v2,v3,...vk are the k independent variable values

p0,p1,p2,...pk are the k+1 polynomial coefficients

When the POLY keyword is used the computation of the polynomial is computed as follows:

The values of the exponents E1,E2,E3,...,En are chosen by a rather complex procedure which is best understood by referring to the polynomial coefficients table.

SPICE format:

Syntax

H<name> <plusout> <minusout> [POLY(<k>)] v1 [v2 vk]

+ [p0 p1...pk] [IC=c1,[c2,[c3...[,ck]]]]

<plusout> is the positive output node number of the source. <minusout> is the negative output node number of the source. V1 is the voltage source whose current is the first controlling variable. Vk is the voltage source whose current is the k'th controlling variable. P0 is the first polynomial coefficient. Pk is the k'th polynomial coefficient. C1 is the first initial condition. Ck is the k'th initial condition.

Examples:

H1 1 2 3 4 1.0

H2 4 0 POLY(2) V1 V2 1.0 2.0 10.0 20.0


IGBT

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Z1

ZAS

VALUE attribute:

[AREA=<area>] [WB=<base_width>] [AGD=<agd>] [KP=<kp>]

[TAU=<tau>] [OFF] [IC=[vgs[,vae[,vds[,veb]]]]]

This attribute defines any of the optional IGBT parameters:

Example:

AREA=2E-7 WB=10u

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Example:

IXGH10N170

Common attributes:

Model statement

Syntax:

.Model <model name> NIGBT ([model parameters])

Example:

.Model IXGH16N170 NIGBT (TAU=220.00E-9 KP=5.4217 BVF=9.2190)

To see a list of model parameters for each of these, view the Reference manual.

Description

This device model is based upon the implementation by Gregory Oziemkiewicz of the IGBT model developed by Allen R. Hefner at the National Institute of Standards and Technology. The parameter names, default values and units are compatible with the most SPICE versions of the same model.

The <area>, <base_width>, <agd>, <kp>, and <tau> attributes, if specified, supersede model parameters of the same name.

The [OFF] keyword forces the device off for the first iteration of the operating point. The initial condition, IC=[vgs[,vae[,vds[,veb]]]], assigns initial voltages to the model nodes. Additional model information can be found in these references:

Implementation and Development of the NIST IGBT Model in a SPICEbased Commercial Circuit Simulator, Gregory Todd Oziemkiewicz, Engineer's Thesis, University of Florida, December 1995.

Modelling Buffer Layer IGBT's for Circuit Simulation, Allen R. Hefner Jr, IEEE Transactions on Power Electronics, Vol. 10, No. 2, March 1995

An Experimentally Verified IGBT Model Implemented in the Saber Circuit Simulator, Allen R. Hefner, Jr., Daniel M. Diebolt, IEE Transactions on Power Electronics, Vol. 9, No. 5, September 1994

SPICE format:

Syntax:

Z<name> <gate> <collector> <emitter> <model name>

+ [AREA=<area>]

+ [WB=<base_width>]

+ [AGD=<agd>]

+ [KP=<kp>]

+ [TAU=<tau>]

+ [OFF]

+ [IC=[vgs[,vae[,vds[,veb]]]]]

Example:

Z1 1 2 0 IXGH10N170

+ AREA=1E-4 WB=100U AGD=.1N KP=1E-5

+ TAU=100N OFF IC=1,2,3,4


Inductor

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

L1

Secind

INDUCTANCE attribute:

<inductance> [LOT[/#][/GAUSS|/UNIFORM|WCASE] = <tolerance>[%]] [IC=<initial current>]

This attribute defines the inductance. The inductance may be a constant or it may be a dynamically changing expression.

Examples:

5N*(1+V(6)/100)

2.5m*(1+2e-6*T)

10M LOT=20%

5E-4 IC=1mA

FLUX attribute:

[flux]

This attribute defines the flux. The expression must reference the current through itself such as I(L1).

Examples:

1u*ATAN(I(L2))

FREQ attribute:

[<fexpr>]

This attribute defines the AC value. The value may be a constant or it may be a dynamically changing expression. This attribute only affects AC analysis. Transient analysis will use the VALUE attribute.

Examples:

1.2m+5m*(1+log(F))

10u*(F/100)

MODEL attribute:

[model name]

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

Lmod

Modind

Common attributes:

INDUCTANCE attribute

The format is similar to the SPICE format. Thus, the inductance may be an arbitrary function of any valid time-domain variable, instead of just a polynomial function of the inductor's own current. The expression is evaluated in the time domain only. It is not evaluated in AC. Consider this expression:

100P + I(L1) * 2P

I(L1) refers to the value of the current during a transient analysis, a DC operating point calculation prior to an AC analysis, or during a DC analysis. It does not mean the AC small signal current in L1. If the operating point value for the L2 current was 2, the inductance would be evaluated as 100p+2*2p=104p. The constant value, 104p, is used in AC analysis.

If the inductor is linked to a Core model, then the value is equivalent to the number of turns on the core. Information on the Core can be found in the K component topic.

Initial conditions

The initial condition assigns an initial current through the inductor. A positive current flows from its plus pin to its minus pin.

FLUX attribute

[flux], if used, must be an expression involving time-domain variables, including the current through the inductor and possibly other symbolic (.define or .param) variables.

Rules about using FLUX and INDUCTANCE expressions

1) Either [inductance] or [flux] must be supplied.

2) If both [inductance] and [flux] are time-varying expressions, the user must ensure that [inductance] is the derivative of [flux] with respect to the inductor current.

[inductance] = d([flux])/dI

3) If [inductance] is not given and [flux] is a time-varying expression, Micro-Cap will create an expression for inductance by taking the derivative, L = dX/dI.

4) If [inductance] is a time-varying expression, and [flux] is not given, Micro-Cap will create an equivalent circuit for the inductor consisting of a voltage source of value L(I)*DDT(I).

5) If [flux] is a time-varying expression, it must involve the current through the inductor. Even for a constant inductor, X(L) = L*I(L).

6) If either [inductance] or [flux] are time-varying expressions, then the MODEL attribute is ignored and the inductor cannot be referenced by a K device (mutual inductance). The inductance and flux values are determined solely by the expressions and unaffected by model parameters. Time-varying expression means any expression that uses a variable that can vary during a simulation run, such as V(L1) or I(L2).

FREQ attribute

If <fexpr> is used, it replaces the value determined during the operating point in AC analysis. <fexpr> may be a simple number or an expression involving frequency domain variables. The expression is evaluated during AC analysis as the frequency changes. For example, suppose the <fexpr> attribute is:

10m+I(L1)*(1+10n*f)

In this expression, f refers to the AC analysis frequency variable, I(L1) refers to the AC small signal current through inductor L1. Note that there is no time domain equivalent to <fexpr>. Even if <fexpr> is present, [inductance] or [flux] will be used in transient analysis.

Stepping effects

Both the INDUCTANCE attribute and the model parameters may be stepped. If INDUCTANCE is stepped, it replaces [inductance], even if it is an expression. The stepped value may be further modified by the quadratic and temperature effects.

Quadratic effects

If [model name] is used, [inductance] is multiplied by a factor, QF, a quadratic function of the time-domain current, I, through the inductor.

QF = 1 + IL1*I + IL2*I*I

This is intended to provide a subset of the old SPICE2G POLY keyword, which is no longer supported.

Temperature effects

The temperature factor is computed as follows:

If [model name] is used, [inductance] is multiplied by a temperature factor, TF.

TF = 1 + TC1*(T-Tnom) + TC2*(T-Tnom)*(T-Tnom)

TC1 is the linear temperature coefficient and is sometimes given in data sheets as parts per million per degree C. To convert ppm specs to TC1 divide by 1E6. For example, a spec of 200 ppm/degree C would produce a TC1 value of 2E-4. T is the device operating temperature and Tnom is the temperature at which the nominal inductance was measured. T is set to the analysis temperature from the Analysis Limits dialog box. Tnom is determined by the Global Settings TNOM value, which can be overridden with a .OPTIONS statement. T and Tnom may be changed for each model by specifying T_MEASURED, T_ABS, T_REL_GLOBAL, and T_REL_LOCAL in the model statement.

Monte Carlo effects

LOT and DEV Monte Carlo tolerances, available only when [model name] is used, are obtained from the model statement. They are expressed as either a percentage or as an absolute value and are available for all of the model parameters except the T_parameters. Both forms are converted to an equivalent tolerance percentage and produce their effect by increasing or decreasing the Monte Carlo factor, MF, which ultimately multiplies the final value. For standard tolerancing, the L (inductance multiplier) parameter in the model statement needs to be the parameter toleranced.

How to tolerance an impedance element.

MF = 1 + tolerance percentage/100

If tolerance percentage is zero or Monte Carlo is not in use, then the MF factor is set to 1.0 and has no effect on the final value. To perform a Monte Carlo run on the inductor value, the LOT statement must be placed in the model statement behind the L parameter.

.model LMOD IND(L=1 lot=5%)

This model statement will provide a 5% tolerance on the inductance value.

The final inductance used in the analysis, lvalue, is calculated as follows:

lvalue = [inductance] * L * QF * TF * MF

Model Statement Syntax:

.model <mode name> IND ([model parameters])

Example:

.model Lmod IND (L=1 IL1=1u TC1=1m TC2=2u)

Inductor Parameters Table:

Name Parameter Units Default

L Inductance multiplier 1

CP Parallel capacitance F 0

RS Series resistance Ohms 0

IL1 Linear current coefficient 1/V 0

IL2 Quadratic current coefficient 1/(V^2) 0

TC1 Linear temperature coefficient 1/Celsius 0

TC2 Quadratic temperature coefficient 1/(Celsius^2) 0

T_MEASURED Measured temperature Celsius undefined

T_ABS Absolute temperature Celsius undefined

T_REL_GLOBAL Relative to current temperature Celsius undefined

T_REL_LOCAL Relative to AKO model temperature Celsius undefined

Information on T_MEASURED, T_ABS, T_REL_GLOBAL, AND T_REL_LOCAL can be found in the .model temperature parameter section.

The slider that may appear in an analysis mode if Show Slider in the Component Slider segment is enabled within the Slider panel of the Preferences dialog box has its maximum value set at (Value + 2*Value) and its minimum value at (Value - 2*Value) where Value is the value of the component when the analysis is first entered.

Noise effects

RS, if specified, generates a thermal noise current in the usual manner.

Irs=sqrt(4*K*T/RS)...(per unit bandwidth)

SPICE format:

Syntax:

L<name> <plus> <minus> [model name] <inductance> [IC=<initial current>]

Examples:

L1 2 3 3m

L2 7 8 LMOD 1N

L3 11 21 2U IC=2

<plus> and <minus> are the positive and negative node numbers. The polarity references from the plus and minus nodes are used for the initial condition. Positive current flows into the Plus terminal of the inductor. If the inductance parameter is an expression, it must be enclosed by { } brackets.


Dependent sources - Linear IofI

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Ist2

ILink

VALUE attribute:

<value>

This attribute defines the IofI value. <value> must be a constant.

Examples:

10m

12.5

Common attributes:

Description

This ideal, linear, two-port function transforms the input current to an output current. Positive input current flows into the plus input lead (or out the minus input lead).

Iout = <value>*Iin.

SPICE format:

There are no linear dependent sources in SPICE 2G.6.


Dependent sources - Linear IofV

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Ist2

ILink

VALUE attribute:

<value>

This attribute defines the IofV value. <value> must be a constant.

Examples:

10m

12.5

Common attributes:

Description

This ideal, linear, two-port function transforms the input voltage to an output current. Input voltage is the voltage between the plus and minus input leads.

Iout = <value>*Vin.

SPICE format:

There are no linear dependent sources in SPICE 2G.6.


Isource

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Iin

Idc

VALUE attribute:

<value>[LOT[/#][/GAUSS|/UNIFORM|WCASE]=<tolvalue>[%]]

This attribute defines the Isource value.

Examples:

12mA

.012

Common attributes:

Description

The Isource produces a constant DC current. It is implemented internally as an independent current source. <value> must be a constant.

SPICE format:

There is no Isource in SPICE. Use the SPICE independent current source.


Independent Current Source - Current Source

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

I1

SinI60

VALUE attribute:

This attribute defines the value of the independent current source..The value attribute is identical to the SPICE statement without using I<name>, <plus>, and <minus>. This attribute may be redirected by placing a name in this entry that corresponds to a define statement on the text page.

Examples:

Sig w/ accompanying statement on text page ".define Sig DC 4 AC 1"

SIN 0 .1 10K

AC 2 PULSE .4 1.6 .1u .1u .2u .1u .5u

EXP 1 2 150n 50n 550n 100n

Common attributes:

This is the Current Source component from the Analog Primitives / Waveform Sources group of the Component menu.

The DC parameter sets the DC value of the source for DC analysis, for the operating point calculation in AC analysis, and in transient analysis if no transient waveform specification has been defined.

The AC Magnitude and AC Phase parameters are only applicable to AC analysis and are used to set the amplitude and phase of the small signal stimulus

The other available parameters are dependent on the tab (PULSE, SIN, EXP, PWL, SFFM, NOISE, GAUSSIAN} in the Attribute dialog box that selects the transient specification type.

The slider that may appear in an analysis mode if Show Slider in the Component Slider segment is enabled within the Slider panel of the Preferences dialog box has its maximum value set at (Value + 2*Value) and its minimum value at (Value - 2*Value) where Value is the value of the component when the analysis is first entered.

Default Settings and Save Settings

These buttons are available for the SPICE independent (Voltage source and Current source) sources. They provide a method of saving lengthy VALUE attributes which can then be easily recalled. The Default Settings will revert the saved settings to the original values that came with Micro-Cap. The Save Settings button lets you save the current VALUE attribute to one of five slots available for each type within the source. The saved settings can be easily recalled by clicking the button that contains the name associated with the settings.

SPICE format:

Syntax:

I<name> <plus> <minus> [[ DC ] value]

+[ AC magval [phaseval]]

+[PULSE i1 i2 [td[tr[tf[pw[per]]]]]]

or [SIN io ia [freq[td[df[phase]]]]]

or [EXP i1 i2 [td1[tc1[td2[tc2]]]]]

or [PWL t1 i1 t2 i2...[tn in]]

or [SFFM io ia freq [mi[fm]]]

or [NOISE interval [amplitude [start [end [seed]]]]]

or [GAUSSIAN amp tpeak width [period]]

Examples:

Iin 2 0 DC 3 AC 3m

Ipul 4 0 PULSE 1.1m -.4 0m 1N 1N 50N 100N


Jumper

A jumper is used to route a signal path over another without connecting. This is present for compatibility with MC4 circuits. Wires may cross in Micro-Cap now without connecting. It is recommended that you don't use this component for new circuits.


K Device

K Device - (Mutual inductance/Core model)

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

K1

Kcouple

Ktran

INDUCTORS attribute:

<inductor name> <<inductor name>>*

This attribute defines the inductors that are to be mutually coupled. If the MODEL attribute is specified then only one inductor needs to be declared, otherwise there must be at least two inductors.

Examples:

L1 L2 L3 L4

lp ls

COUPLING attribute:

<coupling value>

This attribute defines the coupling coefficient value. The value must be between 0 and 1.

Examples:

.98

.85

MODEL attribute:

[model name]

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

Kmod

3B7

Common attributes:

Description

The K device specifies a mutual inductance between two or more linear inductors. Only inductors that have a constant inductance value may be specified inside a K device. A time domain varying inductance will not work with a K device. You can specify a nonlinear magnetic core by using a MODEL attribute.

The K device is used to magnetically couple two or more inductors. The COUPLING attribute defines the coupling coefficient which must be between 0 and 1. This coefficient is defined by the formula:

coupling coefficient = M/sqrt(Lm*Ln) where

Lm and Ln are inductor values in henries

M is the mutual inductance between Lm and Ln

For an ideal transformer, the coupling coefficient would be 1. When a model name is not specified, the value of the inductors is in henries, and there must be at least two inductors coupled.

Coupled linear inductors

In this mode, the K device provides a means to specify the magnetic coupling between multiple inductors. The equations that define the coupling are:

Vi = Li(dIi/dt) + Mij(dIj/dt) + Mik(dIk/dt) + ...

where Ii is the current flowing into the plus lead of the i'th inductor. When used to couple linear inductors, <model name> is not used.

Nonlinear magnetic core(s)

When a model name is specified, the mutual coupling becomes a nonlinear magnetics model based on the Jiles-Atherton model. This model is based upon contemporary theories of domain wall bending and translation. The anhysteretic magnetization curve is described using a mean field approach. All magnetic domains are coupled to the bulk magnetization and magnetic fields. The anhysteretic curve is regarded as the magnetization curve that would prevail if there were no domain wall pinning. Of course, such pinning does occur, mainly at defect sites. The hysteresis effect that results from the pinning is modeled as a simple frictional force, characterized by a single constant, K. The resulting state equation produces a realistic ferromagnetic model.

The Core is modeled as a state-variable nonlinear inductor. Micro-Cap solves a differential equation for the B and H fields and derives the terminal current and voltage from these values. The B field and the H field are available as output variables in transient analysis. See the sample circuit file CORE.CIR for an example of BH loop plots.

With the <model name> present, the following things change:

1. The linear K device becomes a nonlinear magnetic core. The model for the core is a variation of the Jiles-Atherton model.

2. Inductors are interpreted as windings and each inductor <inductance> is interpreted as the number of turns for the winding. In this case, <inductance> must be a constant whole number. It may not be an expression.

3. The list of coupled inductors may contain just one inductor. Use this method to create a single magnetic core device, not coupled to another inductor.

4. A model statement is required to define the model parameters or <model name> must be in the model library referenced by .LIB statements.

To avoid any problems with DC paths to ground on the secondary, Micro-Cap connects a 1/GMIN resistor between the plus pins of all mutually coupled inductors. GMIN is a global constant and can be changed from its usual value of 1E-12 from the Global Settings dialog box.

To place a single core in a circuit, use this procedure:

1. Place an inductor in the circuit with these attributes:

PART L1

INDUCTANCE 1

The value 1 represents the number of turns.

2. Place a K device in the circuit with these attributes:

PART K1

INDUCTORS L1

COUPLING .98

MODEL KCORE

3. Edit the model parameters for the KCORE model (this can be done through the Attribute dialog box or by editing the model statement in the text area):

.MODEL KCORE CORE (model parameters)

Steps 2 and 3 change the inductor L1 from a standard linear model to a nonlinear core model whose properties are controlled by the model statement.

To place two magnetically coupled cores in a circuit, use this procedure:

1. Place the first inductor in the circuit with these attributes:

PART L1

INDUCTANCE Number of primary turns

2. Place the second inductor in the circuit with these attributes:

PART L2

INDUCTANCE Number of secondary turns

3. Place a K device in the circuit with these attributes:

PART K2

INDUCTORS L1 L2

COUPLING Coupling coefficient

MODEL KCORE

4. Edit the model parameters for the KCORE model (this can be done through the Edit command button in the Attribute dialog box or by editing the model statement in the text area):

.MODEL KCORE CORE (model parameters)

This procedure creates two coupled cores whose magnetic properties are controlled by the KCORE model statement. See the sample circuit file CORE3 for an example of multiple, coupled core devices.

Model Statement Syntax:

.model <model name> CORE ([model parameters])

Example:

.model K1 CORE (Area=2.54 Path=.54 MS=2e5)

Core Parameters Table:

Name Parameter Units Default

AREA Cross-sectional core area cm^2 1

PATH Mean magnetic path length cm 1

GAP Length of the air gap cm 0

MS Saturation magnetization Amp/m 400000

A Shape parameter Amp/m 25

C Domain wall flexing constant .001

K Domain wall pinning constant 25

Note that the model parameters are a mix of MKS or SI units (a/m) and CGS units (cm and cm2).

Plotting B and H fields

B(L1) Plots the B field of inductor L1 in CGS units of Gauss.

H(L1) Plots the H field of inductor L1 in CGS units of Oersteds.

BSI(L1) Plots the B field of inductor L1 in SI units of Teslas.

HSI(L1) Plots the H field of inductor L1 in SI units of Amps/Meter.

To derive model parameters from data sheet values, use the MODEL program. Doing it manually requires this procedure:

1. Many data sheets provide the value of Bsat in Gauss. To calculate the required value of MS in units of Amps/meter, multiply the Bsat value in Gauss by 79.577. This yields the required model value for MS in Amps/meter.

2. Run the sample circuit CORE.CIR and adjust the values of A, K, and C, to fit the data sheet BH curve. The effect of increasing each parameter is as follows:

Parameter u HC BR

A - + +

K + +

C + - -

where u is the slope or permeability, HC is the coercive force value, and BR is the remanence.

SPICE format:

Syntax:

K<name> L<inductor name> <L<inductor name>>*

+ <coupling value>

K<name> <L<inductor name>>*

+ <coupling value> <model name>

Example:

Kin LP LS .85

K1 L1 L2 L3 .98

Klink LIN .95 3B7 2

Ktrn LP LS .99 1107PA10_3

L<inductor name> refers to the inductors that are to be mutually coupled. In SPICE, an inductor name must begin with an L. The <coupling value> is the coupling coefficient. Two or more inductors must be present unless a model name is declared, then one inductor may be used. The model name defines the core material.


Animated Digital LED

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Uled

U3

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_HC

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

3

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

Description

The LED component is designed to represent the display of a light emitting diode. It has a single input pin. Depending on the digital state or the analog voltage at the input pin, the LED will be lit with a different color on the schematic. The colors the LED uses are defined in the Color/Font page of the circuit's Properties dialog box. In this page, there is a list of digital states that have a corresponding color.

For more information on the I/O model statement, view the Input/Output model topic.


Laplace source - formula type IofI

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

G1

Sfilter

LAPLACE attribute:

<expression>

This attribute defines the Laplace expression .

Examples:

1/(1+.001*s+1E-8*s*s)

exp(-(C*S*(R+S*L))^.5)

NUMBER_OF_DATAPOINTS attribute:

<value>

This sets the number of data points that will be used in the convolution method for transient analysis. This must be a power of 2.

Examples:

1024

8192

TMAX_FOR_CONVOLUTION attribute:

<time>

This sets the TMax for the convolution method in transient analysis. 1/TMax is the frequency sampling.

Examples:

1m

50u

Common attributes:

Description

Laplace sources are characterized by a linear transfer function. The Formula type uses an algebraic expression to describe the transfer function in terms of the complex frequency variable, S.

In AC analysis, the value of the transfer function is computed from the algebraic expression involving S, where S = 2*PI*frequency*j.

In DC analysis, the value of the transfer function is computed from the given algebraic expression involving S, where S=0.

For transient analysis, it is necessary to first determine the impulse response of the function. The impulse response is obtained by performing an inverse Fourier transform on the transfer function. Then, during the transient run, the output of the source is obtained from the convolution of the waveform at the source input nodes and impulse response waveform. This allows the source to accurately respond to any input waveform, not just simple, predefined waveforms.

The accuracy of this procedure is limited by the number of time points in the impulse response, or alternatively, by the bandwidth of the function. As a practical matter, no more than 8192 time points should be computed for the impulse response, due to memory and time limitations. The actual number of time points is a logarithmic function of the value of RELTOL from the Global Settings.

Number of timepoints = 2^(6-log(RELTOL))

As a general rule, these sources will give the best transient analysis results on narrow band functions. Wide band functions, such as the differentiator, f(s) = s, and the integrator, f(s) = 1/s, are best modeled by using discrete components. See, for example, the sample circuits INT (integrator macro), and DIF (differentiator macro).

See the circuits L1, L2, and L3 for sample circuits with formula sources.

SPICE format:

See the dependent SPICE sources EVofV and GIofV .


Laplace source - formula type IofV

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

G1

Sfilter

LAPLACE attribute:

<expression>

This attribute defines the Laplace expression .

Examples:

1/(1+.001*s+1E-8*s*s)

exp(-(C*S*(R+S*L))^.5)

NUMBER_OF_DATAPOINTS attribute:

<value>

This sets the number of data points that will be used in the convolution method for transient analysis. This must be a power of 2.

Examples:

1024

8192

TMAX_FOR_CONVOLUTION attribute:

<time>

This sets the TMax for the convolution method in transient analysis. 1/TMax is the frequency sampling.

Examples:

1m

50u

Common attributes:

Description

Laplace sources are characterized by a linear transfer function. The Formula type uses an algebraic expression to describe the transfer function in terms of the complex frequency variable, S.

In AC analysis, the value of the transfer function is computed from the algebraic expression involving S, where S = 2*PI*frequency*j.

In DC analysis, the value of the transfer function is computed from the given algebraic expression involving S, where S=0.

For transient analysis, it is necessary to first determine the impulse response of the function. The impulse response is obtained by performing an inverse Fourier transform on the transfer function. Then, during the transient run, the output of the source is obtained from the convolution of the waveform at the source input nodes and impulse response waveform. This allows the source to accurately respond to any input waveform, not just simple, predefined waveforms.

The accuracy of this procedure is limited by the number of time points in the impulse response, or alternatively, by the bandwidth of the function. As a practical matter, no more than 8192 time points should be computed for the impulse response, due to memory and time limitations. The actual number of time points is a logarithmic function of the value of RELTOL from the Global Settings.

Number of timepoints = 2^(6-log(RELTOL))

As a general rule, these sources will give the best transient analysis results on narrow band functions. Wide band functions, such as the differentiator, f(s) = s, and the integrator, f(s) = 1/s, are best modeled by using discrete components. See, for example, the sample circuits INT (integrator macro), and DIF (differentiator macro).

See the circuits L1, L2, and L3 for sample circuits with formula sources.

SPICE format:

See the dependent SPICE sources EVofV and GIofV .


Laplace source - formula type VofI

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

G1

Sfilter

LAPLACE attribute:

<expression>

This attribute defines the Laplace expression .

Examples:

1/(1+.001*s+1E-8*s*s)

exp(-(C*S*(R+S*L))^.5)

NUMBER_OF_DATAPOINTS attribute:

<value>

This sets the number of data points that will be used in the convolution method for transient analysis. This must be a power of 2.

Examples:

1024

8192

TMAX_FOR_CONVOLUTION attribute:

<time>

This sets the TMax for the convolution method in transient analysis. 1/TMax is the frequency sampling.

Examples:

1m

50u

Common attributes:

Description

Laplace sources are characterized by a linear transfer function. The Formula type uses an algebraic expression to describe the transfer function in terms of the complex frequency variable, S.

In AC analysis, the value of the transfer function is computed from the algebraic expression involving S, where S = 2*PI*frequency*j.

In DC analysis, the value of the transfer function is computed from the given algebraic expression involving S, where S=0.

For transient analysis, it is necessary to first determine the impulse response of the function. The impulse response is obtained by performing an inverse Fourier transform on the transfer function. Then, during the transient run, the output of the source is obtained from the convolution of the waveform at the source input nodes and impulse response waveform. This allows the source to accurately respond to any input waveform, not just simple, predefined waveforms.

The accuracy of this procedure is limited by the number of time points in the impulse response, or alternatively, by the bandwidth of the function. As a practical matter, no more than 8192 time points should be computed for the impulse response, due to memory and time limitations. The actual number of time points is a logarithmic function of the value of RELTOL from the Global Settings.

Number of timepoints = 2^(6-log(RELTOL))

As a general rule, these sources will give the best transient analysis results on narrow band functions. Wide band functions, such as the differentiator, f(s) = s, and the integrator, f(s) = 1/s, are best modeled by using discrete components. See, for example, the sample circuits INT (integrator macro), and DIF (differentiator macro).

See the circuits L1, L2, and L3 for sample circuits with formula sources.

SPICE format:

See the dependent SPICE sources EVofV and GIofV .


Laplace source - formula type VofV

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

G1

Sfilter

LAPLACE attribute:

<expression>

This attribute defines the Laplace expression .

Examples:

1/(1+.001*s+1E-8*s*s)

exp(-(C*S*(R+S*L))^.5)

NUMBER_OF_DATAPOINTS attribute:

<value>

This sets the number of data points that will be used in the convolution method for transient analysis. This must be a power of 2.

Examples:

1024

8192

TMAX_FOR_CONVOLUTION attribute:

<time>

This sets the TMax for the convolution method in transient analysis. 1/TMax is the frequency sampling.

Examples:

1m

50u

Common attributes:

Description

Laplace sources are characterized by a linear transfer function. The Formula type uses an algebraic expression to describe the transfer function in terms of the complex frequency variable, S.

In AC analysis, the value of the transfer function is computed from the algebraic expression involving S, where S = 2*PI*frequency*j.

In DC analysis, the value of the transfer function is computed from the given algebraic expression involving S, where S=0.

For transient analysis, it is necessary to first determine the impulse response of the function. The impulse response is obtained by performing an inverse Fourier transform on the transfer function. Then, during the transient run, the output of the source is obtained from the convolution of the waveform at the source input nodes and impulse response waveform. This allows the source to accurately respond to any input waveform, not just simple, predefined waveforms.

The accuracy of this procedure is limited by the number of time points in the impulse response, or alternatively, by the bandwidth of the function. As a practical matter, no more than 8192 time points should be computed for the impulse response, due to memory and time limitations. The actual number of time points is a logarithmic function of the value of RELTOL from the Global Settings.

Number of timepoints = 2^(6-log(RELTOL))

As a general rule, these sources will give the best transient analysis results on narrow band functions. Wide band functions, such as the differentiator, f(s) = s, and the integrator, f(s) = 1/s, are best modeled by using discrete components. See, for example, the sample circuits INT (integrator macro), and DIF (differentiator macro).

See the circuits L1, L2, and L3 for sample circuits with formula sources.

SPICE format:

See the dependent SPICE sources EVofV and GIofV .


Logic Expression

The Logic Expression device allows logic to be specified through logic expressions using logic operators in conjunction with the input and output nodes. Intermediary nodes, which are not assigned as either an input or output node such as ABAR and BBAR in the example above, may also be used. The LOGIC: statement begins the logic assignment sequence. Both output nodes and temporary nodes may be assigned a logic expression.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

Ulog

LOGIC attribute:

LOGIC:{<logic expressions>}

This attribute defines the logic assignments for the device. The LOGIC: statement must be placed at the beginning of the assignments. A name may also be placed in this attribute that will be defined in the text area with a .define statement.

Examples:

LOGIC: C={A & B} D={A | B} E= {D & (~A)}

LOGIC: CX={A ^ B} C = {~B} D = {(A & CX) | (~B)}

DECODE w/ following define statement in the text area

.define decode

+LOGIC:

+abar = {~a}

+bbar = {~b}

+out1 = {abar & bbar}

+out2 = {a & bbar}

+out3 = {abar & b}

+out4 = {a & b}

TIMING MODEL attribute:

<timing model name>

This attribute defines the model name for the timing model statement. The timing model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

D0_gate

LOGMOD

DLYlog

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_ACT_OC

IO_HC

MNTYMXDLY attribute:

<delay select value>

This attribute defines the MNTYMXDLY parameter for selecting the minimum, typical, or maximum delays from the gate's timing model. The default is 0.

0 = Value of DIGMNTYMX in the Global Settings.

1 = Minimum timing delay

2 = Typical timing delay

3 = Maximum timing delay

4 = Worst case timing delay (minimum/maximum)

Example:

3

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

0

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

Note that these devices are used mainly for modeling commercial parts, and are found principally in subcircuits in the Digital Library text files. Because they can have a variable number of inputs and outputs, there are an infinite number of pin combinations, and since a component in the Component library requires the specification of pin placements, placing all possible logic expression primitives in the library is clearly impossible. Accordingly, only a few such devices are found in the library, and these are mainly for illustration. These devices are really targeted for use in the subcircuits of the Digital Library. While you can use them directly in schematics, their real power derives from their use in commercial part models, which can be readily placed and used in schematics.

Format definitions

LOGIC:

Marks the start of a group of one or more <logic assignments>. A <logic assignment> is one of the following forms:

<temporary value> = {<logic expression>}

<output node> = {<logic expression>}

<temporary value>

Any use of a name which is not in the list of the pin names for the device, automatically creates a temporary value which may be used in other <logic assignments>. The use of temporary values substantially simplifies and improves the readability of logic expressions, thus reducing errors.

<output node>

This is one of the output node names. Assignment to an <output node> causes the result of the <logic expression> evaluation to be scheduled after the appropriate delay from the timing model, to the output node.

<logic expression>

This is a C-like, infix-notation expression which generates one of the five valid digital logic levels { 0, 1, R, F , X }. The expression must be enclosed in curly braces {...}. The <logic expression> may use the continuation character (+) to span more than one line.

Each node must have just one assignment, but may be used in logic expressions for other nodes. The format is <node> = {<logic expression>}. There are four logic operators, and they are listed below from the highest priority to the lowest.

~ Unary not

& And

^ Exclusive or

| Or

Operands are one of the following

<input nodes>

Previously assigned <temporary values>

Previously assigned <output nodes>

Constants: '0, '1, 'R, 'F, and 'X. The single quote is

part of the constant name.

Parentheses may be freely used to group expressions. An expression may not reference a node that has not been previously assigned, so internal feedback loops are not allowed. External feedback loops are allowed as long as the feedback output node also appears in the list of input nodes.

Simulation behavior

The LOGIC statement is evaluated when any input or output pin changes state. Each <logic assignment> is evaluated in the order listed within the LOGIC statement. Expressions have no delay. Any <output node> that changes is scheduled with the appropriate delay from the timing model. Note that usually, the timing model delays are set to zero. Instead, delay is modeled by having the outputs drive the inputs of a pin-to-pin delay device. These devices provide logical control of delay based upon inputs that makes implementing data sheet delays easy. Internal feedback is forbidden. This means a <logic assignment> should only use previously assigned <temporary values> or <output nodes>.

Model Statement Syntax:

.model <timing model name> UGATE ([model parameters])

Example:

.model LOGMOD UGATE (tplhty=10ns tplhmx=25ns tphlty=12ns tphlmx=27ns)

Logic Expression Timing Parameters Table:

Name Parameter Units Default

TPLHMN Delay low to high, min Sec. 0

TPLHTY Delay low to high, typ Sec. 0

TPLHMX Delay low to high, max Sec. 0

TPHLMN Delay high to low, min Sec. 0

TPHLTY Delay high to low, typ Sec. 0

TPHLMX Delay high to low, max Sec. 0

Any timing parameters that are not specified in the model statement have their values determined through the unspecified propagation delay rules.

For more information on the I/O model statement, view the Input/Output model topic.

Special Component Editor fields

Pins <input pins, output pins>

The Component Editor has a special 'Pins' field for these devices. You don't edit the fields directly. Instead, you click in the Shape/Pin Display and add an input or an output pin. This is how you define the names and the locations of the pins used by the logic expression device.

SPICE format:

Syntax:

U<name> LOGICEXP (<# of inputs>,<# of outputs>)

+<digital power node> <digital ground node>

+<first input node>...<nth input node>

+<first output node>...<nth output node>

+<timing model name> <I/O model name>

+[MNTYMXDLY=<delay select value>]

+[IO_LEVEL=<interface subckt select value>]

+LOGIC:

+<logic assignments>*

Examples:

U1 LOGICEXP(2,4) $G_DPWR $G_DGND

+A1 B1 O0 O1 O2 O3

+D0_GATE IO_STD

+MNTYMXDLY=0 IO_LEVEL=2

+LOGIC:

+ ABAR = {~A}

+ BBAR = {~B}

+ O0 = {ABAR & BBAR}

+ O1 = {A & BBAR}

+ O2 = {ABAR & B}

+ O3 = {A & B}


Loop Gain Probe

The device is used to specify the point where a circuit loop is to be broken for the purpose of measuring gain and phase margins in Stability Analysis.

The direction of the probe does not matter if the Middlebrook method is used.


Laplace source - table type IofI

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

G1

Stable

FREQ attribute:

<(Freq1,Mag1,Phas1) (Freq2,Mag2,Phas2) ... (FreqN,MagN,PhasN)>

This attribute defines the Laplace data triplets in the following format. This attribute may be redirected by placing a name in this entry that corresponds to a define statement on the text page.

Freqi is the i'th frequency in hertz.

Magi is the i'th magnitude value or the i'th real value.

Phasi is the i'th phase value or the i'th imaginary value.

Example

(0.0,1.0,0.0) (1MEG,0.707,-45) (10MEG,0.2,-85)

Ltab w/ accompanying statement on text page

".define Ltab (0,1,0) (1k,2.5,30) (4k,5, 67)"

KEYWORD attribute:

<[DB | MAG] [DEG | RAD] [R_I]>

This attribute defines the type of data that will comprise the FREQ attribute.

Examples:

DB DEG

R_I

NUMBER_OF_DATAPOINTS attribute:

<value>

This sets the number of data points that will be used in the convolution method for transient analysis. This must be a power of 2.

Examples:

1024

8192

TMAX_FOR_CONVOLUTION attribute:

<time>

This sets the TMax for the convolution method in transient analysis. 1/TMax is the frequency sampling.

Examples:

1m

50u

Common attributes:

Description

The keywords DB, MAG, DEG, RAD, R_I are interpreted as follows:

DB: Magnitude value is expressed in decibels. (default)

MAG: Magnitude value is true magnitude.

DEG: Degrees value is expressed in degrees. (default)

RAD: Degrees value is expressed in radians.

R_I: The table contains real and imaginary parts.

If the R_I keyword is applied, then the data triplet takes the form of (freqi, reali, imagi).

Laplace sources are characterized by a linear transfer function. The Table type uses a table of ordered data triplets which describe the transfer function. Each data triplet comprises the frequency, magnitude, and phase of the transfer function.

In AC analysis, the value of the transfer function is obtained by interpolation from the given table.

In DC analysis, the value of the transfer function is computed using the lowest frequency data point supplied.

For transient analysis, it is necessary to first determine the impulse response of the function. The impulse response is obtained by performing an inverse Fourier transform on the transfer function. Then, during the transient run, the output of the source is obtained from the convolution of the waveform at the source input nodes and impulse response waveform. This allows the source to accurately respond to any input waveform, not just simple, predefined waveforms.

The accuracy of this procedure is limited by the number of time points in the impulse response, or alternatively, by the bandwidth of the function. As a practical matter, no more than 8192 time points should be computed for the impulse response, due to memory and time limitations. The actual number of time points is a logarithmic function of the value of RELTOL from the Global Settings.

Number of timepoints = 2^(6-log(RELTOL))

As a general rule, these sources will give the best transient analysis results on narrow band functions. Wide band functions, such as the differentiator, f(s) = s, and the integrator, f(s) = 1/s, are best modeled by using discrete components. See, for example, the sample circuits INT (integrator macro), and DIF (differentiator macro).

The Laplace Table source is used to define a transfer function with a table. The table contains ordered triplets listing the frequency (Hz), magnitude (dB) or real value, and phase (degrees) or imaginary value of the transfer function. The parameter string is governed by six rules:

1) Values are separated by commas, triplets are enclosed in parentheses and are separated by spaces.

2) Data triplets must be arranged in order of ascending frequency.

3) The function is constant at M1,P1 for inputs below F1.

4) The function is constant at MN,PN for inputs above FN.

5) The function is interpolated for frequencies between the table values. Magnitude is interpolated logarithmically and phase is interpolated linearly.

6) The table should contain one data point at DC or zero frequency.

The table may be entered directly as the parameter string or indirectly using the .define statement. For illustration, see the circuit P1.

SPICE format:

See the dependent SPICE sources EVofV and GIofV .


Laplace source - table type IofV

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

G1

Stable

FREQ attribute:

<(Freq1,Mag1,Phas1) (Freq2,Mag2,Phas2) ... (FreqN,MagN,PhasN)>

This attribute defines the Laplace data triplets in the following format. This attribute may be redirected by placing a name in this entry that corresponds to a define statement on the text page.

Freqi is the i'th frequency in hertz.

Magi is the i'th magnitude value or the i'th real value.

Phasi is the i'th phase value or the i'th imaginary value.

Example

(0.0,1.0,0.0) (1MEG,0.707,-45) (10MEG,0.2,-85)

Ltab w/ accompanying statement on text page

".define Ltab (0,1,0) (1k,2.5,30) (4k,5, 67)"

KEYWORD attribute:

<[DB | MAG] [DEG | RAD] [R_I]>

This attribute defines the type of data that will comprise the FREQ attribute.

Examples:

DB DEG

R_I

NUMBER_OF_DATAPOINTS attribute:

<value>

This sets the number of data points that will be used in the convolution method for transient analysis. This must be a power of 2.

Examples:

1024

8192

TMAX_FOR_CONVOLUTION attribute:

<time>

This sets the TMax for the convolution method in transient analysis. 1/TMax is the frequency sampling.

Examples:

1m

50u

Common attributes:

Description

The keywords DB, MAG, DEG, RAD, R_I are interpreted as follows:

DB: Magnitude value is expressed in decibels. (default)

MAG: Magnitude value is true magnitude.

DEG: Degrees value is expressed in degrees. (default)

RAD: Degrees value is expressed in radians.

R_I: The table contains real and imaginary parts

If the R_I keyword is applied, then the data triplet takes the form of (freqi, reali, imagi).

Laplace sources are characterized by a linear transfer function. The Table type uses a table of ordered data triplets which describe the transfer function. Each data triplet comprises the frequency, magnitude, and phase of the transfer function.

In AC analysis, the value of the transfer function is obtained by interpolation from the given table.

In DC analysis, the value of the transfer function is computed using the lowest frequency data point supplied.

For transient analysis, it is necessary to first determine the impulse response of the function. The impulse response is obtained by performing an inverse Fourier transform on the transfer function. Then, during the transient run, the output of the source is obtained from the convolution of the waveform at the source input nodes and impulse response waveform. This allows the source to accurately respond to any input waveform, not just simple, predefined waveforms.

The accuracy of this procedure is limited by the number of time points in the impulse response, or alternatively, by the bandwidth of the function. As a practical matter, no more than 8192 time points should be computed for the impulse response, due to memory and time limitations. The actual number of time points is a logarithmic function of the value of RELTOL from the Global Settings.

Number of timepoints = 2^(6-log(RELTOL))

As a general rule, these sources will give the best transient analysis results on narrow band functions. Wide band functions, such as the differentiator, f(s) = s, and the integrator, f(s) = 1/s, are best modeled by using discrete components. See, for example, the sample circuits INT (integrator macro), and DIF (differentiator macro).

The Laplace Table source is used to define a transfer function with a table. The table contains ordered triplets listing the frequency (Hz), magnitude (dB) or real value, and phase (degrees) or imaginary value of the transfer function. The parameter string is governed by six rules:

1) Values are separated by commas, triplets are enclosed in parentheses and are separated by spaces.

2) Data triplets must be arranged in order of ascending frequency.

3) The function is constant at M1,P1 for inputs below F1.

4) The function is constant at MN,PN for inputs above FN.

5) The function is interpolated for frequencies between the table values. Magnitude is interpolated logarithmically and phase is interpolated linearly.

6) The table should contain one data point at DC or zero frequency.

The table may be entered directly as the parameter string or indirectly using the .define statement. For illustration, see the circuit P1.

SPICE format:

See the dependent SPICE sources EVofV and GIofV .


Laplace source - table type VofI

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

G1

Stable

FREQ attribute:

<(Freq1,Mag1,Phas1) (Freq2,Mag2,Phas2) ... (FreqN,MagN,PhasN)>

This attribute defines the Laplace data triplets in the following format. This attribute may be redirected by placing a name in this entry that corresponds to a define statement on the text page.

Freqi is the i'th frequency in hertz.

Magi is the i'th magnitude value or the i'th real value.

Phasi is the i'th phase value or the i'th imaginary value.

Example

(0.0,1.0,0.0) (1MEG,0.707,-45) (10MEG,0.2,-85)

Ltab w/ accompanying statement on text page

".define Ltab (0,1,0) (1k,2.5,30) (4k,5, 67)"

KEYWORD attribute:

<[DB | MAG] [DEG | RAD] [R_I]>

This attribute defines the type of data that will comprise the FREQ attribute.

Examples:

DB DEG

R_I

NUMBER_OF_DATAPOINTS attribute:

<value>

This sets the number of data points that will be used in the convolution method for transient analysis. This must be a power of 2.

Examples:

1024

8192

TMAX_FOR_CONVOLUTION attribute:

<time>

This sets the TMax for the convolution method in transient analysis. 1/TMax is the frequency sampling.

Examples:

1m

50u

Common attributes:

Description

The keywords DB, MAG, DEG, RAD, R_I are interpreted as follows:

DB: Magnitude value is expressed in decibels. (default)

MAG: Magnitude value is true magnitude.

DEG: Degrees value is expressed in degrees. (default)

RAD: Degrees value is expressed in radians.

R_I: The table contains real and imaginary parts

If the R_I keyword is applied, then the data triplet takes the form of (freqi, reali, imagi).

Laplace sources are characterized by a linear transfer function. The Table type uses a table of ordered data triplets which describe the transfer function. Each data triplet comprises the frequency, magnitude, and phase of the transfer function.

In AC analysis, the value of the transfer function is obtained by interpolation from the given table.

In DC analysis, the value of the transfer function is computed using the lowest frequency data point supplied.

For transient analysis, it is necessary to first determine the impulse response of the function. The impulse response is obtained by performing an inverse Fourier transform on the transfer function. Then, during the transient run, the output of the source is obtained from the convolution of the waveform at the source input nodes and impulse response waveform. This allows the source to accurately respond to any input waveform, not just simple, predefined waveforms.

The accuracy of this procedure is limited by the number of time points in the impulse response, or alternatively, by the bandwidth of the function. As a practical matter, no more than 8192 time points should be computed for the impulse response, due to memory and time limitations. The actual number of time points is a logarithmic function of the value of RELTOL from the Global Settings.

Number of timepoints = 2^(6-log(RELTOL))

As a general rule, these sources will give the best transient analysis results on narrow band functions. Wide band functions, such as the differentiator, f(s) = s, and the integrator, f(s) = 1/s, are best modeled by using discrete components. See, for example, the sample circuits INT (integrator macro), and DIF (differentiator macro).

The Laplace Table source is used to define a transfer function with a table. The table contains ordered triplets listing the frequency (Hz), magnitude (dB) or real value, and phase (degrees) or imaginary value of the transfer function. The parameter string is governed by six rules:

1) Values are separated by commas, triplets are enclosed in parentheses and are separated by spaces.

2) Data triplets must be arranged in order of ascending frequency.

3) The function is constant at M1,P1 for inputs below F1.

4) The function is constant at MN,PN for inputs above FN.

5) The function is interpolated for frequencies between the table values. Magnitude is interpolated logarithmically and phase is interpolated linearly.

6) The table should contain one data point at DC or zero frequency.

The table may be entered directly as the parameter string or indirectly using the .define statement. For illustration, see the circuit P1.

SPICE format:

See the dependent SPICE sources EVofV and GIofV .


Laplace source - table type VofV

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

G1

Stable

FREQ attribute:

<(Freq1,Mag1,Phas1) (Freq2,Mag2,Phas2) ... (FreqN,MagN,PhasN)>

This attribute defines the Laplace data triplets in the following format. This attribute may be redirected by placing a name in this entry that corresponds to a define statement on the text page.

Freqi is the i'th frequency in hertz.

Magi is the i'th magnitude value or the i'th real value.

Phasi is the i'th phase value or the i'th imaginary value.

Example

(0.0,1.0,0.0) (1MEG,0.707,-45) (10MEG,0.2,-85)

Ltab w/ accompanying statement on text page

".define Ltab (0,1,0) (1k,2.5,30) (4k,5, 67)"

KEYWORD attribute:

<[DB | MAG] [DEG | RAD] [R_I]>

This attribute defines the type of data that will comprise the FREQ attribute.

Examples:

DB DEG

R_I

NUMBER_OF_DATAPOINTS attribute:

<value>

This sets the number of data points that will be used in the convolution method for transient analysis. This must be a power of 2.

Examples:

1024

8192

TMAX_FOR_CONVOLUTION attribute:

<time>

This sets the TMax for the convolution method in transient analysis. 1/TMax is the frequency sampling.

Examples:

1m

50u

Common attributes:

Description

The keywords DB, MAG, DEG, RAD, R_I are interpreted as follows:

DB: Magnitude value is expressed in decibels. (default)

MAG: Magnitude value is true magnitude.

DEG: Degrees value is expressed in degrees. (default)

RAD: Degrees value is expressed in radians.

R_I: The table contains real and imaginary parts

If the R_I keyword is applied, then the data triplet takes the form of (freqi, reali, imagi).

Laplace sources are characterized by a linear transfer function. The Table type uses a table of ordered data triplets which describe the transfer function. Each data triplet comprises the frequency, magnitude, and phase of the transfer function.

In AC analysis, the value of the transfer function is obtained by interpolation from the given table.

In DC analysis, the value of the transfer function is computed using the lowest frequency data point supplied.

For transient analysis, it is necessary to first determine the impulse response of the function. The impulse response is obtained by performing an inverse Fourier transform on the transfer function. Then, during the transient run, the output of the source is obtained from the convolution of the waveform at the source input nodes and impulse response waveform. This allows the source to accurately respond to any input waveform, not just simple, predefined waveforms.

The accuracy of this procedure is limited by the number of time points in the impulse response, or alternatively, by the bandwidth of the function. As a practical matter, no more than 8192 time points should be computed for the impulse response, due to memory and time limitations. The actual number of time points is a logarithmic function of the value of RELTOL from the Global Settings.

Number of timepoints = 2^(6-log(RELTOL))

As a general rule, these sources will give the best transient analysis results on narrow band functions. Wide band functions, such as the differentiator, f(s) = s, and the integrator, f(s) = 1/s, are best modeled by using discrete components. See, for example, the sample circuits INT (integrator macro), and DIF (differentiator macro).

The Laplace Table source is used to define a transfer function with a table. The table contains ordered triplets listing the frequency (Hz), magnitude (dB) or real value, and phase (degrees) or imaginary value of the transfer function. The parameter string is governed by six rules:

1) Values are separated by commas, triplets are enclosed in parentheses and are separated by spaces.

2) Data triplets must be arranged in order of ascending frequency.

3) The function is constant at M1,P1 for inputs below F1.

4) The function is constant at MN,PN for inputs above FN.

5) The function is interpolated for frequencies between the table values. Magnitude is interpolated logarithmically and phase is interpolated linearly.

6) The table should contain one data point at DC or zero frequency.

The table may be entered directly as the parameter string or indirectly using the .define statement. For illustration, see the circuit P1.

SPICE format:

See the dependent SPICE sources EVofV and GIofV .


Macro

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

X1

MAC1

FILE attribute:

<macro circuit name>

This attribute calls the macro circuit name.

Examples:

SCR

INT

Param:<parameter name> attribute(s):

<value>

These attributes will appear in the Attribute dialog box if there is a .parameters statement in the macro circuit. These attributes define the value of the parameters that are to be passed to the macro circuit.

Examples:

Param:KA=2

Param:GAIN=10

Common attributes:

Description

Macros are the schematic equivalents of subcircuits. They are circuit building blocks that have been created and saved to disk for use in other circuits.

To create a macro you must:

1. Create a circuit. Place grid text on the nodes that you want to make available as macro pins. If you want to pass numeric parameters to the macro, use symbolic names for VALUE attributes and/or model parameter values and declare these names in a .parameters statement. Save the circuit to the LIBRARY folder using the desired macro name with an extension of .MAC.

2. Enter a component in the Component library as follows:

a. Select Component Editor from the Windows menu.

b. Select the group that you want the macro to go in.

c. Click on the Add Component button, [image].

d. Enter the macro file name for the Name field. Don't use the file name extension though.

e. Select a shape that has the same number of leads as the macro. You may need to create a shape in the Shape editor for your specific macro.

f. Select Macro for the Definition field.

g. Place pins on the shape by clicking in the Shape drawing area. Name the pins with the same grid text names that you placed on the nodes in the macro circuit.

h. Close the Component Editor and save when prompted.

i. Add optional .MACRO statements to one of the *.LIB files to substitute long parameter lists for shorter names.

Alternatively, create the circuit as in Step 1, then use the make Macro command at Edit / Box / Make Macro. It automates Step 2.

To use a macro you must:

Select the macro from the Component library. Place it in the circuit that will use it and edit its parameters, if it has any. You can also use an alias which, using a .macro statement, substitutes a short name like 2N5168 for the macro FILE name and a corresponding set of parameters. The two possibilities are:

1. <macro circuit name> like this:

SCR

When a macro is placed in a circuit, the program reads the macro circuit file, determines if it has parameters from the .PARAMETERS statement in the macro circuit file and shows these parameters and their default values in the Attribute dialog box. Edit the parameter values from their default values to those you want.

2. An alias which, using a .macro statement, substitutes a short name like

2N5168

for the macro name and corresponding parameter list. The .macro statement defines all of the parameters that the macro will use automatically.

The format of the macro command is:

.MACRO <alias> <macro circuit name(parameter list)>

This statement lets you store the parameters that turn a general macro for, say an SCR, into a specific model for a specific part like the 2N5168 SCR, and to access the part with a simple meaningful name, like 2N5168. The parameters must appear in the list in the same order as they are listed in the .Parameters statement in the macro circuit file. For more information go to the .MACRO topic.

SPICE format:

There is no SPICE macro. Use a subcircuit.


Animated DC Motor

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Motor1

RPSPV attribute:

<revs_per_sec_per_volt>

This attribute defines the revolutions per second per volt..

Examples:

1

RMOTOR attribute:

<motor_resistance>

This attribute defines the resistance of the motor.

Examples:

50

LMOTOR attribute:

<motor_inductance>

This attribute defines the inductance of the motor.

Examples:

1

Common attributes:

The animated DC motor rotates at an angular velocity controlled by the instantaneous input voltage. The rate of rotation is:

Revolutions per second = (input voltage ) * ( revs_per_sec_per_volt )

The motor is modeled electrically as a resistor of value motor_resistance in series with an inductor of value motor_inductance.

The voltage on the Velocity pin is equal to the velocity in revolutions per second.

Warning: If the rotation rate is too high the display will appear to be still due to a rapid rotation rate. A rate of 10 RPS is a good working maximum.


Function Source - Formula type current

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Funct1

NFI1

VALUE attribute:

<formula>

This attribute defines the nonlinear function expression .

Examples:

Uo*Cox*Wid/Len*((Vgs1-VT1)-(Vds1/2))*Vds1*(1+Lam*Vds1)

1.5+2*sin(2*PI*1E6*t)+25*IB(Q1)

FREQ attribute:

[<fexpr>]

This attribute defines the AC value. The value may be a constant or it may be a dynamically changing expression. This attribute only affects AC analysis. Transient analysis will use the VALUE attribute.

Examples:

V(10)*sqrt(f)

log(I(L1))*(f/1000)

NOISE EXPRESSION attribute:

[noise_expr]

This attribute defines a noise current equal to the expression. The expression should only contain f as a variable. This only has an effect during a Noise analysis

Examples:

sqrt(f)/1e12

1200*(f/1e9)

DERIVATIVE attribute:

[<Algebraic> | <Numeric> | <Default>]

This attribute defines the derivative method that will be used with the source.

Examples:

Algebraic

Numeric

Common attributes:

Description

Function sources provide the time domain portion of the Analog Behavioral Modeling capability. The Formula type uses an algebraic formula, or expression, to compute the value of the output variable as a function of any set of valid time-domain variables. Any nodes referred to in an expression must be in the form V(node1[,node2]).

Here is an example of an expression that models a vacuum triode:

K* pow((V(Plate)-V(Cathode)+Mu*(V(Grid)-V(Cathode))),1.5)

See the sample circuits F1, F2, F3, and F4 for examples of formula sources.

FREQ usage

If <fexpr> is used, it replaces the ordinary small-signal AC incremental value determined during the operating point. <fexpr> may be a simple number or an expression involving frequency domain variables. The expression is evaluated during AC analysis as the frequency changes. For example, suppose the <fexpr> attribute is this:

1+V(3)*(1+1e6/F)

In this expression, F refers to the AC analysis frequency variable, V(3) refers to the AC small-signal voltage from node 3 to ground. There is no time-domain equivalent to <fexpr>. Even if <fexpr> is present, only <value> will be used in transient analysis.

NOISE EXPRESSION usage

If [noise_expr] is used, it generates a noise current equal to the expression. For example, to simulate shot noise, you might use an expression like this:

1e-16 * ((6.5ma)**1.1) / f

Note that the expression should contain only frequency (F) dependent variables.

DERIVATIVE attribute

Derivatives of the expressions are evaluated in several ways:

Algebraic:

Algebraic formulas are created for each the derivative of each variable in the expression. This is generally the preferred way as it is usually more accurate. However, complex expressions with many variables sometimes result in large unwieldy derivative expressions which take much longer to evaluate than simple numerical derivatives.

Numeric:

Derivatives are calculated numerically by simple perturbation. This method often works the best when the formulas are complex but well behaved and have no discontinuities.

Default:

In this case derivatives are evaluated according to the state of the Global Settings NUMERIC_DERIVATIVE flag.

SPICE format:

There is no SPICE function source.


Function Source - Formula type voltage

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Funct1

NFV1

VALUE attribute:

<formula>

This attribute defines the nonlinear function expression .

Examples:

Uo*Cox*Wid/Len*((Vgs1-VT1)-(Vds1/2))*Vds1*(1+Lam*Vds1)

1.5+2*sin(2*PI*1E6*t)+25*IB(Q1)

FREQ attribute:

[<fexpr>]

This attribute defines the AC value. The value may be a constant or it may be a dynamically changing expression. This attribute only affects AC analysis. Transient analysis will use the VALUE attribute.

Examples:

V(10)*sqrt(f)

I(R1)*(f/1000)

DERIVATIVE attribute:

[<Algebraic> | <Numeric> | <Default>]

This attribute defines the derivative method that will be used with the source.

Examples:

Algebraic

Numeric

Common attributes:

Description

Function sources provide the time domain portion of the Analog Behavioral Modeling capability. The Formula type uses an algebraic formula, or expression, to compute the value of the output variable as a function of any set of valid time-domain variables. Any nodes referred to in an expression must be in the form V(node1[,node2]).

Here is an example of an expression that models a vacuum triode:

K* pow((V(Plate)-V(Cathode)+Mu*(V(Grid)-V(Cathode))),1.5)

See the sample circuits F1, F2, F3, and F4 for examples of formula sources.

FREQ usage

If <fexpr> is used, it replaces the ordinary small-signal AC incremental value determined during the operating point. <fexpr> may be a simple number or an expression involving frequency domain variables. The expression is evaluated during AC analysis as the frequency changes. For example, suppose the <fexpr> attribute is this:

1+V(3)*(1+1e6/F)

In this expression, F refers to the AC analysis frequency variable, V(3) refers to the AC small-signal voltage from node 3 to ground. There is no time-domain equivalent to <fexpr>. Even if <fexpr> is present, only <value> will be used in transient analysis.

DERIVATIVE attribute

Derivatives of the expressions are evaluated in several ways:

Algebraic:

Algebraic formulas are created for each the derivative of each variable in the expression. This is generally the preferred way as it is usually more accurate. However, complex expressions with many variables sometimes result in large unwieldy derivative expressions which take much longer to evaluate than simple numerical derivatives.

Numeric:

Derivatives are calculated numerically by simple perturbation. This method often works the best when the formulas are complex but well behaved and have no discontinuities.

Default:

In this case derivatives are evaluated according to the state of the Global Settings NUMERIC_DERIVATIVE flag.

SPICE format:

There is no SPICE function source.


N-Channel JFET

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

J1

Jsub

VALUE attribute:

[area] [OFF] [IC=vds[,vgs]]

This attribute defines any of the optional JFET parameters:

Examples:

1.5 OFF IC=25,8

2.1 IC=15V

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2N3070

J211

Common attributes:

Description

The value of [area], whose default is 1, multiplies or divides parameters as shown in the JFET parameters table. The [OFF] keyword turns the JFET off for the first operating point iteration. The initial condition section, [IC=vds[,vgs]], assigns initial voltages to the drain-source and gate-source terms. For both p-channel and n-channel devices, negative VTO implies a depletion mode device and positive VTO implies an enhancement mode device. This conforms to the SPICE model.

Model Statement

Syntax:

.MODEL <model name> NJF([model parameters])

Examples

.model j1 NJF(VTO=-2 BETA=1e-4 LAMBDA=1e-3)

.MODEL J2 NJF(vto=-2 beta=.0001 lambda=.001)

Noise

The resistors RS and RD generate thermal noise currents.

Ird^2 = 4*k*T / RD

Irs^2 = 4*k*T / RS

The drain current generates a noise current.

I^2 = 4*k*T*gm*2/3 + KF*(Id^AF) / Frequency

where gm = del(Id) / del(Vgs) (at operating point)

SPICE format:

Syntax:

J<name> <drain> <gate> <source> <model name>

+ [area] [OFF] [IC=vds[,vgs]]

Example:

J1 10 20 30 U308 1.5 OFF IC=25.0,8.0

The drain, gate, and source node numbers are represented by <drain>, <gate>, and <source>. SPICE JFET names must begin with the letter J.


N-Channel MOSFET

This section applies to the standard SPICE and BSIM models. The following MOSFET types are available in separate sections:

EKV MOSFET model

Philips MOSFET Model 11

Philips MOSFET Model 20

Philips MOSFET Model 31

Philips MOSFET Model 40

Philips MOSFET PSP Model

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

M1

Mos4

VALUE attribute:

This attribute defines any of the optional MOSFET parameters:

[L=<length>] [W=<width>] [AD=<drainarea>] [AS=<sourcearea>]

[PD=<drainperiphery>] [PS=<sourceperiphery>] [NRD=<drainsquares>]

[NRS=<sourcesquares>] [NRG=<gatesquares>] [NRB=<bulksquares>]

[M=<mval>] [OFF] [IC=<vds>[,vgs[,vbs]]]

Examples:

L=1.5e-6 W=.25 OFF IC=25,8,3

L=1u W=100m IC=15V

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2SK175

IRF024

Common attributes:

Supported Models

Level Model Name

1 Schichman-Hodges

2 MOS2 Grove-Frohman model (SPICE 3F5)

3 MOS3 empirical model (SPICE 3F5)

4 BSIM1 Original BSIM model (Berkeley Short Channel IGFET)

5 BSIM2 Second generation BSIM model

8, 49, or 53 BSIM3 Third generation BSIM model BSIM3v3.3 (7/29/2005)

14 or 54 BSIM4 Fourth generation BSIM4.5.0

44 EKV 2.6 Charge based-short channel model developed by the Swiss Institute of Technology.

Various Philips MOSFET models.

For other model levels, view the additional MOSFET sections at the top of this topic. The Level parameter in the Attribute dialog box has a button available next to that will display all available levels.

Description

<width> and <length> are the drawn device dimensions, before side diffusion, in meters. They can be specified from the schematic (or SPICE file), .MODEL, or .OPTIONS statements. W and L VALUE attribute values supersede those in the .MODEL statement, which supersede those in the .OPTIONS statement.

The initialization [IC=<vds>[,vgs[,vbs]]] assigns initial voltages to the drain-source, gate-source, and body-source terms. This works during transient analysis when the operating point is not calculated or the UIC flag is set. The [OFF] keyword forces the device off during the first iteration of the DC operating point.

<sourcearea> and <drainarea> are the diffusion areas and <sourceperiphery> and <drainperiphery> are the diffusion peripheries. Source and drain junction capacitances may be specified directly by the model parameters CBS and CBD. If CBS and CBD are absent, they are calculated from the area and periphery terms.

The parasitic resistances may be specified directly with the model parameters RS, RD, RG, and RB. If absent from the model statement, they are calculated from the product of the model parameter sheet resistivity, RSH, and the number of squares terms, <drainsquares>, <sourcesquares>, <gatesquares> and <bulksquares>. If these terms are absent or zero, and the model parameters RS, RD, RG, and RB are absent or zero, then the parasitic resistances are not included in the model.

<mval> is a multiplier that provides a way to simulate the effect of paralleling many devices. It multiplies the effective width, overlap, and junction capacitances, and the junction currents. It multiplies the drain and source areas, and the device width, and divides the four resistances RS, RD, RG, and RB.

Parameter Default Units

L DEFL (in Global Settings) m

W DEFW (in Global Settings) m

NRD 0

NRS 0

NRG 0

NRB 0

PD 0 m

PS 0 m

AS 0 sq m

AD 0 sq m

M 1

Model statement

Syntax:

.MODEL <model name> NMOS([model parameters])

Examples:

.MODEL M1 NMOS(W=0.2 L=0.8U KP=1E-6 GAMMA=.65)

.model M2 nmos(W=0.1 L=0.9u KP=1.2e-6 gamma=1e-3)

Noise equations

Noise models for the BSIM3 and BSIM4 are defined separately. Noise models for all other cases are as follows:

Parasitic lead resistor thermal noise

Irg^2 = 4*k*T / RG

Ird^2 = 4*k*T / RD

Irs^2 = 4*k*T / RS

Irb^2 = 4*k*T / RB

Channel and shot flicker noise

Ichannel^2 = Ishot^2 + Iflicker^2

Intrinsic flicker noise:

If NLEV = 0 Iflicker^2 = KF*Idrain^AF / ( COX * Leff^2 * f )

If NLEV = 1 Iflicker^2 = KF*Idrain^AF / ( COX * Weff * Leff * f )

If NLEV = 2 or 3 Iflicker^2 = KF*gm^2 / ( COX * Weff * Leff * f^AF )

Intrinsic shot noise:

If NLEV < 3 Ishot^2 = (8/3)*k*T*gm

If NLEV = 3 Ishot^2 = GDSNOI*(8/3)*k*T*gm*beta*(Vgs-Vth)*(1+a+a^2)/(1+a)

a = 1 - Vds/Vdsat if Vds <= Vdsat (linear region) and a = 0 elsewhere.

Binning

Binning is the process of adjusting model parameters for different values of drawn channel length (L) and width (W). Its is available in all BSIM versions. Binning in BSIM1 and BSIM2 uses the Berkeley method and uses the length and width terms only.

Binning for both BSIM3 (Level = 8 or Level = 49) and BSIM4 (Level = 14) uses length, width, and product terms. There are two ways to bin in these models:

Original Berkeley method

This method is used if the parameter BINFLAG is <= 0.9 or, if either the WREF or LREF parameters are absent.

A binnable parameter X, with a nominal value of X0 is calculated for a given L and W as follows:

Leff = L - 2*DL

Weff = W - 2*DW

X = X0 + XL/Leff + XW/Weff + XP/Leff/Weff

XL = Parameter X's length dependence

XW = Parameter X's width dependence

XP = Parameter X's product (length*width) dependence

HSPICE method

This method uses the model parameters LMIN, LMAX, WMIN, WMAX and LREF, WREF to provide multiple cell binning. LMIN, LMAX, WMIN, WMAX define the cell boundary. LREF, WREF are offset values used to interpolate a value within the cell boundaries. The model parameters are assumed to apply for the case Leff = Lref and Weff = Wref.

When this method is used Micro-Cap expects to find multiple model statements (or parameter sets) of the form:

.MODEL NC.1 NMOS (WMIN=1U WMAX=5U LMIN=.1U LMAX=.3U...)

.MODEL NC.2 NMOS (WMIN=5U WMAX=20U LMIN=.1U LMAX=.3U...)

.MODEL NC.3 NMOS (WMIN=1U WMAX=5U LMIN=.3U LMAX=1U...)

.MODEL NC.4 NMOS (WMIN=5U WMAX=20U LMIN=.3U LMAX=1U...)

Here NC is the basic model name and NC.1, NC.2, ... are the model parameters for the W values between WMIN to WMAX and L values between LMIN to LMAX.

Micro-Cap selects the model statement or parameter set for which the following statements are both true:

WMIN <= W AND W <= WMAX

LMIN <= L AND L <= LMAX

If it can't find a model statement (or parameter set) for which these conditions are true, an error message is generated. Once the model statement (or parameter set) is selected the binnable parameters are calculated as follows:

Leff = L - 2*DL

Weff = W - 2*DW

X = X0 + Xl*(1/Leff - 1/LREF) + Xw*(1/Weff - 1/WREF)+ Xp / (1/Leff -1/LREF) / (1/Weff - 1/WREF)

where Xl = Parameter X's length dependence

Xw = Parameter X's width dependence

Xp = Parameter X's product (length*width) dependence

Note that the starting values of L and W are those specified on the device line for a SPICE netlist device or in a VALUE attribute for a schematic device. Micro-Cap allows L and W to be specified in the model statement also, but binning always uses the L and W specified at the device level.

The units for the geometry parameters can be selected to be in microns by setting the model parameter BINUNIT = 1. For other choices of BINUNIT, the dimensions are in meters.

Short-distance matching for BSIM3 and BSIM4

BSIM3 and BSIM4 use the parameter VTH0M to account for short-distance VTH matching. The device threshold is adjusted as follows:

VTH = VTH + VTH0M / SQRT(Weff*Leff)

SPICE format:

Syntax:

M<name> <drain> <gate> <source> <bulk> <model name>

+ [M=<mval>]

+ [L=<length>] [W=<width>] [AD=<drainarea>] [AS=<sourcearea>]

+ [PD=<drainperiphery>] [PS=<sourceperiphery>]

+ [NRD=<drainsquares>] [NRS=<sourcesquares>] [NRG=<gatesquares>]

+ [NRB=<bulksquares>] [OFF] [IC=<vds>[,vgs[,vbs]]]

Example:

M1 5 7 9 0 IRF350 L=1.5E-6 W=0.25 OFF IC=25.0,8.0

The drain, gate, source, and bulk node numbers are represented by <drain>, <gate>, <source> , and <bulk>. SPICE MOSFET names must begin with the letter M.


NPN Bipolar Transistor

NPN Bipolar Transistor (Gummel Poon)

The NPN bipolar transistor can now be modeled through the standard Gummel Poon model and the Mextram bipolar transistor created by Philips. The available model levels are:

Level 1: Gummel Poon (use the NPN or NPN4 components)

Level 2: Mextram 504 NPN (use the NPN or NPN4 components)

Level 21: Mextram 504 NPN Thermal (use the NPNT or NPN4T components)

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

q1

QP

VALUE attribute:

[area] [OFF] [IC=<vbe>[,vce]]

This attribute defines any of the optional BJT parameters:

Examples:

1.5 OFF IC=3,8

2.1 IC=3V

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2N2222

BD159

Common attributes:

Description

'Area', whose default is 1, multiplies or divides parameters as shown in the model parameters table for the Gummel Poon model. The 'OFF' keyword forces the BJT off for the first iteration of the operating point. The initial condition, 'IC=vbe,vce', assigns initial voltages to the base-emitter and collector-base junctions. This works only in transient analysis when the operating point is not calculated or the UIC flag is set. The substrate node is set to ground. To use a substrate node, choose the NPN4 device.

Model statement:

Syntax:

.MODEL <model name> NPN ([model parameters])

Examples:

.MODEL 2N2222A NPN (BF=120 VAF=100 IS=1.3E-16)

.MODEL Q2 NPN (IS=1e-15 BF=55 TR=.5N)

Noise

RE, RB, and RC generate thermal noise currents.

Ie^2 = (4*k*T) / RE

Ib^2 = (4*k*T) / RB

Ic^2 = (4*k*T ) / RC

Both the collector and base currents generate frequency-dependent flicker and shot noise currents.

Ic^2 = 2*q*Ic + KF*ICBAF / Frequency

Ib^2 = 2*q*Ib + KF*IBEAF / Frequency

where

KF is the flicker noise coefficient

AF is the flicker noise exponent

SPICE format:

Syntax:

Q<name> <collector> <base> <emitter> [substrate]

+ <model name> [area] [OFF] [IC=<vbe>[,vce]]

Example:

Q1 5 7 9 2N3904 1 OFF IC=.65,.35

The values of <collector>, <base>, <emitter>, and <substrate> represent the collector, base, emitter and substrate node names. SPICE BJT names must begin with the letter 'Q'. The substrate node is optional and will default to ground if not specified. If the substrate is specified with a name rather than a number, the name must be enclosed in square brackets, [ ].


N-Port

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

X1

SPort

FILE attribute:

<file name>

The FILE attribute specifies the path and name of the N-Port parameter file.

Examples:

Gg10v20m.z3p

C:\MC7\SPARAM\RF.S2P

Common attributes:

Description

The N_PORT device is a general device with N ports characterized by a set of S, Y, Z, G, H, T, or ABCD parameters contained in standard Touchstone data files.

Typically these files are provided by RF suppliers in a text file as a table of values. Here, for example, is a set of typical 2-port S parameters:

! SIEMENS Small Signal Semiconductors

! BFG194

! Si PNP RF Bipolar Junction Transistor in SOT223

! VCE = -10 V IC = -20 mA

! Common Emitter S-Parameters: August 1996

# GHz S MA R 50

! f S11 S21 S12 S22

! GHz MAG ANG MAG ANG MAG ANG MAG ANG

0.010 0.3302 -25.4 35.370 169.9 0.0053 85.3 0.9077 -10.0

0.020 0.3471 -48.2 33.679 161.6 0.0108 77.5 0.8815 -19.8

0.050 0.4525 -95.0 27.726 139.2 0.0226 61.4 0.7258 -43.7

0.100 0.5462 -131.5 19.023 118.7 0.0332 52.2 0.5077 -68.7

0.150 0.5723 -149.4 13.754 106.4 0.0394 49.1 0.3795 -84.8

0.200 0.5925 -159.8 10.787 99.1 0.0443 50.1 0.3068 -95.0

0.250 0.6023 -167.0 8.757 93.4 0.0497 51.2 0.2581 -104.8

0.300 0.6089 -172.2 7.393 89.0 0.0552 52.4 0.2298 -112.2

0.400 0.6166 179.7 5.617 82.1 0.0661 54.2 0.1930 -125.5

...

Micro-Cap converts the incoming parameters to Y-parameters and then implements the N_PORT device as a set of Laplace table sources.

The library that comes with Micro-Cap contains elements to handle 1, 2, 3, and 4 port files. This part is not limited to just those 4 types. If more ports are needed, a new element may be created in the Component Editor. When the definition has been set to N_PORT a Ports field will appear that lets the number of ports for the component be defined.

SPICE format:

There is no SPICE N-Port.


Function Source - Table type NTIofI

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

FTcomp

NTI1

TABLE attribute:

(x1,y1) (x2,y2) [(x3,y3) ... (xk,yk)]

This attribute defines the nonlinear function table data pairs in the above format. This attribute may be redirected by placing a name in this entry that corresponds to a define statement on the text page. Braces are required for expressions and optional for variables.

Examples:

(-1m,25) (1m,25)

({start-1m},{25*level}) ({end},{level}) ({end+3m},{level2})

Itab w/ accompanying statement in text area

".define Itab (0,1) (2.5,6) (5,4)"

Common attributes:

Description

Function sources provide the time domain portion of the Analog Behavioral Modeling capability. The Table type, which is similar to the SPICE3 A device, uses a table of ordered data pairs which describe the output variable as a function solely of the input variable. In essence, the table describes a transfer function. The input variable is current flowing into the positive input lead.

There are three rules for constructing the table pairs:

1) The x,y pairs are separated by commas, pairs are enclosed in parentheses and are separated by spaces. The x,y values may be replaced by expressions containing constants or symbolic variables created with a .define statement. Expressions are evaluated only once, in the setup phase of the analysis, so they must not contain variables that vary during an analysis run, like V(1) or T, or even simulation control variables like tmin that are unknown when the expressions are evaluated.

2) Data pairs must be arranged in input ascending order:

x1 < x2 < x3 ... < xk

3) Expressions used within the table must be enclosed by curly brackets: {}.

There are three rules for calculating from the table pairs:

Given: (x1,y1) (x2,y2) ... (xk,yk)

1) The output value is y1 for input values less than x1.

2) The output value is yk for input values greater than xk.

3) Output values are interpolated for input values between table values.

Example:

(-1,-1) (1,1)

Used with an NTIofI, this set of data would produce a transfer function that clips the output current at -1A for input current below -1A and clips the output current at 1A for input current greater than 1A. For input current between -1A and 1A, the output current matches the input current.

See the sample circuit T1 for an example of table sources.

SPICE format:

There is no SPICE function source.


Function Source - Table type NTIofV

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

NTcomp

NTI1

TABLE attribute:

(x1,y1) (x2,y2) [(x3,x4) ... (xk,yk)]

This attribute defines the nonlinear function table data pairs in the following format. This attribute may be redirected by placing a name in this entry that corresponds to a define statement on the text page. Braces are required for expressions and optional for variables.

Examples:

(-1m,25) (1m,25)

({start-1m},{25*level}) ({end},{level}) ({end+3m},{level2})

Itab w/ accompanying statement in text area

".define Itab (0,1) (2.5,6) (5,4)"

Common attributes:

Description

Function sources provide the time domain portion of the Analog Behavioral Modeling capability. The Table type, which is similar to the SPICE3 A device, uses a table of ordered data pairs which describe the output variable as a function solely of the input variable. In essence, the table describes a transfer function. The input variable is voltage between the positive input lead and the negative input lead.

There are three rules for constructing the table pairs:

1) The x,y pairs are separated by commas, pairs are enclosed in parentheses and are separated by spaces. The x,y values may be replaced by expressions containing constants or symbolic variables created with a .define statement. Expressions are evaluated only once, in the setup phase of the analysis, so they must not contain variables that vary during an analysis run, like V(1) or T, or even simulation control variables like tmin that are unknown when the expressions are evaluated.

2) Data pairs must be arranged in input ascending order:

x1 < x2 < x3 ... < xk

3) Expressions used within the table must be enclosed by curly brackets: {}.

There are three rules for calculating from the table pairs:

Given: (x1,y1) (x2,y2) ... (xk,yk)

1) The output value is y1 for input values less than x1.

2) The output value is yk for input values greater than xk.

3) Output values are interpolated for input values between table values.

Example:

(-1,-1) (1,1)

Used with an NTIofV, this set of data would produce a transfer function that clips the output current at -1A for input voltage below -1V and clips the output current at 1A for input voltage greater than 1V. For input voltage between -1V and 1V, the output current matches the input current.

See the sample circuit T1 for an example of table sources.

SPICE format:

There is no SPICE function source.


Function Source - Table type NTVofI

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

NVcomp

NTV1

TABLE attribute:

(x1,y1) (x2,y2) [(x3,x4) ... (xk,yk)]

This attribute defines the nonlinear function table data pairs in the following format. This attribute may be redirected by placing a name in this entry that corresponds to a define statement on the text page. Braces are required for expressions and optional for variables.

Examples:

(-1m,25) (1m,25)

({start-1m},{25*level}) ({end},{level}) ({end+3m},{level2})

Vtab w/ accompanying statement in text area

".define Vtab (0,1) (2.5,6) (5,4)"

Common attributes:

Description

Function sources provide the time domain portion of the Analog Behavioral Modeling capability. The Table type, which is similar to the SPICE3 A device, uses a table of ordered data pairs which describe the output variable as a function solely of the input variable. In essence, the table describes a transfer function. The input variable is current flowing into the positive input lead.

There are three rules for constructing the table pairs:

1) The x,y pairs are separated by commas, pairs are enclosed in parentheses and are separated by spaces. The x,y values may be replaced by expressions containing constants or symbolic variables created with a .define statement. Expressions are evaluated only once, in the setup phase of the analysis, so they must not contain variables that vary during an analysis run, like V(1) or T, or even simulation control variables like tmin that are unknown when the expressions are evaluated.

2) Data pairs must be arranged in input ascending order

x1 < x2 < x3 ... < xk

3) Expressions used within the table must be enclosed by curly brackets: {}.

There are three rules for calculating from the table pairs:

Given: (x1,y1) (x2,y2) ... (xk,yk)

1) The output value is y1 for input values less than x1.

2) The output value is yk for input values greater than xk.

3) Output values are interpolated for input values between table values.

Example:

(-1,-1) (1,1)

Used with an NTVofI, this set of data would produce a transfer function that clips the output voltage at -1V for input current below -1A and clips the output voltage at 1V for input current greater than 1A. For input current between -1A and 1A, the output voltage matches the input current.

See the sample circuit T1 for an example of table sources.

SPICE format:

There is no SPICE function source.


Function Source - Table type NTVofV

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

NVcomp

NTV1

TABLE attribute:

(x1,y1) (x2,y2) [(x3,x4) ... (xk,yk)]

This attribute defines the nonlinear function table data pairs in the following format. This attribute may be redirected by placing a name in this entry that corresponds to a define statement on the text page. Braces are required for expressions and optional for variables.

Examples:

(-1m,25) (1m,25)

({start-1m},{25*level}) ({end},{level}) ({end+3m},{level2})

Vtab w/ accompanying statement on text page

".define Vtab (0,1) (2.5,6) (5,4)"

Common attributes:

Description

Function sources provide the time domain portion of the Analog Behavioral Modeling capability. The Table type, which is similar to the SPICE3 A device, uses a table of ordered data pairs which describe the output variable as a function solely of the input variable. In essence, the table describes a transfer function. The input variable is voltage between the positive input lead and the negative input lead.

There are three rules for constructing the table pairs:

1) The x,y pairs are separated by commas, pairs are enclosed in parentheses and are separated by spaces. The x,y values may be replaced by expressions containing constants or symbolic variables created with a .define statement. Expressions are evaluated only once, in the setup phase of the analysis, so they must not contain variables that vary during an analysis run, like V(1) or T, or even simulation control variables like tmin that are unknown when the expressions are evaluated.

2) Data pairs must be arranged in input ascending order

x1 < x2 < x3 ... < xk

3) Expressions used within the table must be enclosed by curly brackets: {}.

There are three rules for calculating from the table pairs:

Given: (x1,y1) (x2,y2) ... (xk,yk)

1) The output value is y1 for input values less than x1.

2) The output value is yk for input values greater than xk.

3) Output values are interpolated for input values between table values.

Example:

(-.01,-10) (.01,10)

Used with an NTVofV, this describes an ideal amplifier having a gain of 1000 and with the output clipped to +10 volts. The output value when the input is greater than .01 is limited to 10.0. Similarly, the output value when the input is less than -.01 is limited to -10.0

See the sample circuit T1 for an example of table sources.

SPICE format:

There is no SPICE function source.


Operational Amplifier

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

X1

Op2

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

LF155

LM108

Common attributes:

Description

There are three levels for the OPAMP. Each succeeding level provides increasingly more realistic models at the expense of increasingly more complex equivalent circuits.

Level 1 is a simple voltage-controlled current source with a finite output resistance and open loop gain.

Level 2 is a three stage, two pole, model with slew rate limiting, finite gain, and output resistance.

Level 3 is an enhanced Boyle model, similar to those implemented in other SPICE programs as subcircuits. It is not, however, a macro or subcircuit, but a fully internal Micro-Cap device model. It models positive and negative slew rates, finite gain, AC and DC output resistance, input offset voltage and current, phase margin, common mode rejection, unity gain bandwidth, three types of differential input, and realistic output voltage and current limiting.

Model statement

Syntax:

.MODEL <model name> OPA([model parameters])

Example:

.MODEL LM709 OPA(LEVEL=3 A=45K VOFF=.001 SRP=250K GBW=1E6)

Noise

Noise is not modelled within any of the levels of opamps. The resistors within the model produce no noise at all, and only the transistors and diodes will produce noise. This noise is not intended to match the specifications of an opamp.

SPICE format:

There is no SPICE operational amplifier.


Pin Delay

Pin-to-pin Delay

The PINDLY primitive provides a way of modeling complex conditional pin delays. Conceptually, it can be pictured as a set of channels, where the delay through each is controlled by a set of user-defined rules. These rules assign a delay to a particular channel based upon activity at the PINDLY pins. A typical rule might say:

OUT1 = {CHANGED(REF1,0) & TRN_LH, DELAY(10ns,15ns,18ns)}

This means, "If the REF1 pin changed in the last 0 seconds, and the channel node OUT1 is making a low to high transition, then the delay for the OUT1 channel is min=10ns, typ=15ns, max=18ns."

PINDLY primitives are typically used within a subckt between the logic expression outputs and the subckt outputs. That is, the inputs to a PINDLY are usually the outputs of a logic expression. The outputs of a PINDLY are usually the outputs of the subcircuit which embodies the full digital model of the part. A PINDLY may use multiple conditional rules to determine the delay on each channel. Reference and enable pin states may be used in the rule logic.

PINDLY devices may also include the SETUP, HOLD, WIDTH, FREQ, and GENERAL CONSTRAINT clauses. See the Constraint device topic for more information on these.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

UDLY

PINDELAY attribute:

+[BOOLEAN: <boolean assignment>*]

+[PINDLY: <delay assignment>*]

+[TRISTATE: ENABLE LO | HI = <enable node> <delay assignment>*]

+[SETUP_HOLD: <setup_hold specifications>]

+[WIDTH: <width specifications>]

+[FREQ: <freq specifications>]

+[GENERAL: <general specifications>]

This attribute defines the boolean and delay assignments for the device. A BOOLEAN:, PINDLY:, or TRISTATE: statement must be placed at the beginning of the assignments. A name may also be placed in this attribute that will be defined in the text area with a .define statement.

Examples:

BOOLEAN: CLEAR = {CHANGED_HL(CLRBAR,0)}

+ PINDLY: OUT =

+ {

+ CASE(

+ CLEAR,

+ DELAY(-1,5n,10n), TRN_LH, DELAY(3n,6n,9n), TRN_HL, DELAY(-1,6n,10n),

+ DELAY(-1,7n,11n))

+ }

DELAY1 w/. following define statement in the text area

.define delay1

+PINDLY:

+ OUT1 OUT2 = {

+ CASE(

+ (CHANGED(A,0) | CHANGED(B,0)) & TRN_LH, DELAY(-1,4n,8n),

+ (CHANGED(A,0) | CHANGED(B,0)) & TRN_HL, DELAY(1n,3n,9n),

+ DELAY(2n,5n,10n)

+ )

+ }

+TRISTATE:

+ ENABLE HI = EN1

+ OUT3 = {

+ CASE(

+ TRN_$Z, DELAY(3n,7n,12n),

+ TRN_Z$, DELAY(6n,8n,13n),

+ DELAY(4n,7n,11n))}

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD_OC

IO_AC

IO_HCT

MNTYMXDLY attribute:

<delay select value>

This attribute defines the MNTYMXDLY parameter for selecting the minimum, typical, or maximum delays from the gate's timing model. The default is 0.

0 = Value of DIGMNTYMX in the Global Settings.

1 = Minimum timing delay

2 = Typical timing delay

3 = Maximum timing delay

4 = Worst case timing delay (minimum/maximum)

Example:

0

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

2

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

BOOLEAN

The BOOLEAN: statement denotes the beginning of one or more <boolean assignments>. The <boolean assignments> assign temporary variables that may be used in any of the <delay assignments>. The <boolean assignment> must appear in one of the following forms:

<boolean variable> = {<boolean expression>}

<boolean variable> = any valid variable name

<Boolean variable> may be any valid node name. The <boolean expression> must be enclosed within curly brackets, { }, but may span more than one line with the use of the '+' continuation character. This is a C-like, infix-notation expression which generates one of the two boolean states, TRUE or FALSE. There are six boolean operators, and they are listed below from the highest priority to the lowest.

~ unary not

== equal to

!= not equal to

& and

^ exclusive or

| or

The == and != operators are allowed to have logic values ,such as '0 or '1, as an operand. The logic value must be preceded by a '. An example is CLRBAR=='0, which will be TRUE whenever CLRBAR is at a 0 logic state. The operands allowed in the Boolean expressions are previously assigned <boolean variables>, the boolean constants: TRUE and FALSE, reference functions, transition functions, and the logic levels ('0, '1, 'R, 'F, 'X). The logic levels may only be used with the == and != operators.

Reference functions

Reference functions are used to detect logical level transitions on either <reference nodes> or <input nodes>. Each of the functions returns either a TRUE or FALSE value and may be used within any <boolean expression>. There are three possible reference functions as listed below:

CHANGED(<node>,<time>)

CHANGED_HL(<node>,<time>)

CHANGED_LH(<node>,<time>)

These reference functions produce a TRUE value when the <node> has undergone the specified transition within the past <time> relative to the current time, otherwise, they will produce a FALSE value. CHANGED checks to see if the <node> made any transition, CHANGED_HL checks to see if the <node> made a high to low transition, and CHANGED_LH checks to see if the <node> made a low to high transition. Only the most recent transition will be taken into account. A zero may be placed as the <time> value. This will instruct the function to only check for a transition at the current simulation time.

Transition functions

Transition functions determine the state change on an <output node> for which the <delay expression> is being evaluated. These functions also produce the TRUE and FALSE boolean values. They take no arguments, and refer implicitly to the changes on the <output node> at the current time The transition functions have the simple syntax of:

TRN_pc

p is the initial state value and c is the final state value after the transition. The state values that may be specified are L, H, Z, and $. The L is for the low state, H is for the high state, and Z is for the high impedance state. A TRN_HL will produce a TRUE value on a high to low transition on the output. $ signifies a don't care state. A TRN_Z$ will produce a TRUE value on both a Z to high and a Z to low transition on the output. The Z state, high impedance, should only be used within a TRISTATE section. The following 12 transition functions are the possible combinations of the four states.

TRN_HL, TRN_HZ, TRN_H$, TRN_LH, TRN_LZ, TRN_L$

TRN_ZH, TRN_ZL, TRN_Z$, TRN_$H, TRN_$L, TRN_$Z

Open collector transitions should be modeled with the TRN_LH and TRN_HL functions

PINDLY

The PINDLY: statement denotes the beginning of the <delay assignments> which will specify delay times for the outputs. The single delay expression, <delay assignments> must appear in the following form:

<output node>* = {<delay expression>}

Ex: OUT1 = {DELAY(5n,10n,15n)}

The <output node> is a list of one or more output nodes mentioned in the PINDLY. Multiple <output nodes> may be separated by spaces or commas to share the same rules. All of the output nodes must have exactly one delay assignment. The <delay expressions> must be enclosed within curly brackets, { }, but may span more than one line with the use of the '+' continuation character. The <delay expression> is a triplet of delay values in the following form:

DELAY(<min>,<typ>,<max>)

<min>, <typ>, and <max> are the minimum, typical and maximum delay times specified for the output in seconds. Unknown delays must be specified with a -1. DELAY(-1,10n,20n) specifies an unknown minimum delay, a 10ns typical delay, and a 20ns maximum delay. The unknown delays will be treated according to the unspecified propagation delay rules.

To use rule based delays, the CASE statement must also be included. The CASE statement would be used in the following syntax:

<output node>* = {CASE(

<boolean expression 1>, <delay expression 1>,

<boolean expression 2>, <delay expression 2>,

...

<boolean expression n>, <delay expression n>,

<default delay expression>)}

Ex: +PINDLY:

+OUT1 OUT2 = {CASE(

+CHANGED_HL(CLRBAR,0),DELAY(3n,7n,13n),

+CHANGED(AIN) & TRN_HL, DELAY(-1,10n,12n),

+CHANGED(AIN) & TRN_LH, DELAY(-1,8n,11n),

+DELAY(-1,9n,14n))}

The <boolean expression> may be defined in the BOOLEAN: section or defined within the CASE function by using the Boolean operators and operands as described above. Each <boolean expression> must be matched to a <delay expression>. The final <default delay expression> is placed as a default delay in case none of the <boolean expressions> produces a TRUE value. The <boolean expressions> are evaluated in the order they are placed in the CASE statement until one returns a TRUE. The <boolean expressions> after that one will not be evaluated. The <delay expression> that is matched with the TRUE <boolean expression> will be the resultant delay.

TRISTATE

The TRISTATE: statement denotes the beginning of the tristate <delay assignments> which will specify delay times for any tristate outputs. The tristate outputs are controlled by an enable node. The syntax for the tristate delays is only different from the PINDLY: section in that one enable node must be declared for a TRISTATE section. The enable declaration must immediately follow the TRISTATE: statement. The enable declaration syntax is as follows:

ENABLE HI = <enable node>

ENABLE LO = <enable node>

The ENABLE HI specifies an active high enable node, and the ENABLE LO specifies an active low enable node. One enable node will control all of the <output nodes> in a TRISTATE section. Tristate outputs that use separate enable nodes must be placed in separate TRISTATE sections. The <delay expressions> in a TRISTATE section may employ the Z-state transition functions.

Ex: +TRISTATE:

+ENABLE HI = ENAB1

+OUT1 = {CASE(

+DATA & TRN_LH, DELAY(-1,4n,8n),

+DATA & TRN_HL, DELAY(-1, 6n,9n),

+TRN_Z$, DELAY(-1,12n,15n),

+TRN_$Z, DELAY(-1,10n,14n),

+DELAY(-1,10n,15n))}

For more information on the I/O model statement, view the Input/Output model topic.

Simulation Behavior

The PINDLY statement is evaluated when any input, enable, or output pin changes state. Each <input node> is associated with a corresponding <output node> in the same order of occurrence on the line. The BOOLEAN sections are evaluated first, then the PINDLY and TRISTATE sections are evaluated and the delays for changing <output nodes> calculated. Changing <output nodes> are then scheduled for a state change to the new <input node> state after the appropriate delay.

Special Component Editor pin fields

Pins <paths, enable pins, reference pins>

The Component Editor has a special Pins field for PINDLY devices. You don't edit these fields directly. Instead, you click in the Shape/Pin Display and add a path, enable pin, or a reference pin. Paths have two pins, with an arrow between them. The arrow is drawn from the path input to the path output. This defines the names and locations of the pins that the PINDLY device uses.

Note that these devices are used mainly for modeling commercial parts, and are found principally in subcircuits in the Digital Library text files. Because they can have a variable number of inputs and outputs, there are an infinite number of pin combinations, and since a component in the Component library requires the specification of pin placements, placing all possible logic expression primitives in the library is clearly impossible. Accordingly, only a few such devices are found in the library, and these are mainly for illustration. These devices are really targeted for use in the subcircuits of the Digital Library. While you can use them directly in schematics, their real power derives from their use in commercial part models, which can be readily placed and used in schematics.

SPICE format:

Syntax:

U<name> PINDLY (<# of paths>,<# of enables>,<# of references>)

+<digital power node> <digital ground node>

+<first input node>...<nth input node>

+<first enable node>...<nth enable node>

+<first reference node>...<nth reference node>

+<first output node>...<nth output node>

+<I/O model name>

+[MNTYMXDLY=<delay select value>]

+[IO_LEVEL=<interface subckt select value>]

+[BOOLEAN: <boolean assignment>*]

+[PINDLY: <delay assignment>*]

+[TRISTATE: ENABLE LO | HI = <enable node> <delay assignment>*]

+[SETUP_HOLD: <setup_hold specifications>]

+[WIDTH: <width specifications>]

+[FREQ: <freq specifications>]

+[GENERAL: <general specifications>]

Example:

U1 PINDLY(5,1,7) $G_DPWR $G_DGND

+INA INB INC IND INE

+ENAB

+PREBAR CLRBAR A B C D E

+OUTA OUTB OUTC OUTD OUTE

+IO_STD

+BOOLEAN:

+ DATA = {CHANGED(A,0) | CHANGED(B,0) | CHANGED(C,0) |

+ CHANGED(D,0)}

+PINDLY:

+ OUTA OUTB = {

+ CASE(

+ DATA & CLRBAR=='1 & TRN_LH, DELAY(-1,10N,20N),

+ DATA & CLRBAR=='1 & TRN_HL, DELAY(-1,5N,13N),

+ CHANGED_HL(PREBAR,0), DELAY(-1,-1,30N),

+ DELAY(-1,15ns,31ns))} ;Default delay

+ OUTC OUTD = {

+ CASE(

+ DATA, DELAY(3N,5N,7N),

+ CHANGED_HL(PREBAR,0), DELAY(-1,10N,15N),

+ CHANGED_HL(CLRBAR,0), DELAY(-1,8N,16N),

+ DELAY(4N,11N,17N))} ;Default delay

+TRISTATE:

+ ENABLE HI = ENAB

+ OUTE = {

+ CASE(

+ CHANGED(E,0) & TRN_LH, DELAY(2N,6N,10N),

+ CHANGED(E,0) & TRN_HL, DELAY(3N,7N,14N),

+ TRN_ZH, DELAY(-1,10N,14N),

+ TRN_ZL, DELAY(-1,12N,16N),

+ TRN_$Z, DELAY(-1,8N,13N),

+ DELAY(4N,13N,17N))}


P-Channel JFET

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

J1

Jsub

VALUE attribute:

[area] [OFF] [IC=vds[,vgs]]

This attribute defines any of the optional JFET parameters:

Examples:

1.5 OFF IC=25,8

2.1 IC=15V

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2n2608

MMBF5461

Common attributes:

Description

The value of [area], whose default is 1, multiplies or divides parameters as shown in the JFET parameters table. The [OFF] keyword turns the JFET off for the first operating point iteration. The initial condition section, [IC=vds[,vgs]], assigns initial voltages to the drain-source and gate-source terms. For both p-channel and n-channel devices, negative VTO implies a depletion mode device and positive VTO implies an enhancement mode device. This conforms to the SPICE model.

Model Statement

Syntax:

.MODEL <model name> PJF([model parameters])

Examples

.model j1 PJF(VTO=-2 BETA=1e-4 LAMBDA=1e-3)

.MODEL J2 PJF(vto=-2 beta=.0001 lambda=.001)

Noise

The resistors RS and RD generate thermal noise currents.

Ird^2 = 4*k*T / RD

Irs^2 = 4*k*T / RS

The drain current generates a noise current.

I^2 = 4*k*T*gm*2/3 + KF*(Id^AF) / Frequency

where gm = del(Id) / del(Vgs) (at operating point)

SPICE format:

Syntax:

J<name> <drain> <gate> <source> <model name>

+ [area] [OFF] [IC=vds[,vgs]]

Example:

J1 10 20 30 U308 1.5 OFF IC=25.0,8.0

The drain, gate, and source node numbers are represented by <drain>, <gate>, and <source>. SPICE JFET names must begin with the letter J.


P-Channel MOSFET

This section applies to the standard SPICE and BSIM models. The following MOSFET types are available in separate sections:

EKV MOSFET model

Philips MOSFET Model 11

Philips MOSFET Model 20

Philips MOSFET Model 31

Philips MOSFET Model 40

Philips MOSFET PSP Model

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

M1

Mos4

VALUE attribute:

This attribute defines any of the optional MOSFET parameters:

[L=<length>] [W=<width>] [AD=<drainarea>] [AS=<sourcearea>]

[PD=<drainperiphery>] [PS=<sourceperiphery>] [NRD=<drainsquares>]

[NRS=<sourcesquares>] [NRG=<gatesquares>] [NRB=<bulksquares>]

[M=<mval>] [OFF] [IC=<vds>[,vgs[,vbs]]]

Examples:

L=1.5e-6 W=.25 OFF IC=25,8,3

L=1u W=100m IC=15V

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2SK175

IRF024

Common attributes:

Supported Models

Level Model Name

1 Schichman-Hodges

2 MOS2 Grove-Frohman model (SPICE 3F5)

3 MOS3 empirical model (SPICE 3F5)

4 BSIM1 Original BSIM model (Berkeley Short Channel IGFET)

5 BSIM2 Second generation BSIM model

8, 49, or 53 BSIM3 Third generation BSIM model BSIM3v3.3 (7/29/2005)

14 or 54 BSIM4 Fourth generation BSIM4.5.0

44 EKV 2.6 Charge based-short channel model developed by the Swiss Institute of Technology

Various Philips MOSFET models.

For other model levels, view the additional MOSFET sections at the top of this topic. The Level parameter in the Attribute dialog box has a button available next to that will display all available levels.

Description

Both the original group of SPICE2 model levels 1, 2, and 3 and a BSIM group of models are supported. The BSIM models are supported as levels 4, 5, and 8. Level 4 is the original BSIM1 model. Level 5 is the improved BSIM2 model. Level 8 is the BSIM3 model version 3.2.4. Levels 6 and 7 are not used.

<width> and <length> are the drawn device dimensions, before side diffusion, in meters. They can be specified from the Schematic (or SPICE file), .MODEL, or .OPTIONS statements. W and L VALUE attribute values supersede those in the .MODEL statement, which supersede those in the .OPTIONS statement.

The initialization [IC=<vds>[,vgs[,vbs]]] assigns initial voltages to the drain-source, gate-source, and body-source terms. This works during transient analysis when the operating point is not calculated or the UIC flag is set. The [OFF] keyword forces the device off during the first iteration of the DC operating point.

<sourcearea> and <drainarea> are the diffusion areas and <sourceperiphery> and <drainperiphery> are the diffusion peripheries. Source and drain junction capacitances may be specified directly by the model parameters CBS and CBD. If CBS and CBD are absent, they are calculated from the area and periphery terms.

The parasitic resistances may be specified directly with the model parameters RS, RD, RG, and RB. If absent from the model statement, they are calculated from the product of the model parameter sheet resistivity, RSH, and the number of squares terms, <drainsquares>, <sourcesquares>, <gatesquares> and <bulksquares>. If these terms are absent or zero, and the model parameters RS, RD, RG, and RB are absent or zero, then the parasitic resistances are not included in the model.

<mval> is a multiplier that provides a way to simulate the effect of paralleling many devices. It multiplies the effective width, overlap, and junction capacitances, and the junction currents. It multiplies the drain and source areas, and the device width, and divides the four resistances RS, RD, RG, and RB.

Parameter Default Units

L DEFL (in Global Settings) m

W DEFW (in Global Settings) m

NRD 0

NRS 0

NRG 0

NRB 0

PD 0 m

PS 0 m

AS 0 sq m

AD 0 sq m

M 1

Model statement

Syntax:

.MODEL <model name> PMOS([model parameters])

Examples:

.MODEL M1 PMOS(W=0.2 L=0.8U KP=1E-6 GAMMA=.65)

.model M2 pmos(W=0.1 L=0.9u KP=1.2e-6 gamma=1e-3)

Noise equations

Noise models for the BSIM3 and BSIM4 device are defined separately. Noise models for all other cases are as follows:

Parasitic lead resistor thermal noise

Irg^2 = 4*k*T / RG

Ird^2 = 4*k*T / RD

Irs^2 = 4*k*T / RS

Irb^2 = 4*k*T / RB

Channel and shot flicker noise

Ichannel^2 = Ishot^2 + Iflicker^2

Intrinsic flicker noise:

If NLEV = 0 Iflicker^2 = KF*Idrain^AF / ( COX * Leff^2 * f )

If NLEV = 1 Iflicker^2 = KF*Idrain^AF / ( COX * Weff * Leff * f )

If NLEV = 2 or 3 Iflicker^2 = KF*gm^2 / ( COX * Weff * Leff * f^AF )

Intrinsic shot noise:

If NLEV < 3 Ishot^2 = (8/3)*k*T*gm

If NLEV = 3 Ishot^2 = GDSNOI*(8/3)*k*T*gm*beta*(Vgs-Vth)*(1+a+a^2)/(1+a)

a = 1 - Vds/Vdsat if Vds <= Vdsat (linear region) and a = 0 elsewhere.

Binning

Binning is the process of adjusting model parameters for different values of drawn channel length (L) and width (W). Its is available in all BSIM versions. Binning in BSIM1 and BSIM2 uses the Berkeley method and uses the length and width terms only.

Binning for both BSIM3 (Level = 8 or Level = 49) and BSIM4 (Level = 14) uses length, width, and product terms. There are two ways to bin in these models:

Original Berkeley method

This method is used if the parameter BINFLAG is <= 0.9 or, if either the WREF or LREF parameters are absent.

A binnable parameter X, with a nominal value of X0 is calculated for a given L and W as follows:

Leff = L - 2*DL

Weff = W - 2*DW

X = X0 + XL/Leff + XW/Weff + XP/Leff/Weff

XL = Parameter X's length dependence

XW = Parameter X's width dependence

XP = Parameter X's product (length*width) dependence

HSPICE method

This method uses the model parameters LMIN, LMAX, WMIN, WMAX and LREF, WREF to provide multiple cell binning. LMIN, LMAX, WMIN, WMAX define the cell boundary. LREF, WREF are offset values used to interpolate a value within the cell boundaries. The model parameters are assumed to apply for the case Leff = Lref and Weff = Wref.

When this method is used Micro-Cap expects to find multiple model statements (or parameter sets) of the form:

.MODEL NC.1 NMOS (WMIN=1U WMAX=5U LMIN=.1U LMAX=.3U...)

.MODEL NC.2 NMOS (WMIN=5U WMAX=20U LMIN=.1U LMAX=.3U...)

.MODEL NC.3 NMOS (WMIN=1U WMAX=5U LMIN=.3U LMAX=1U...)

.MODEL NC.4 NMOS (WMIN=5U WMAX=20U LMIN=.3U LMAX=1U...)

Here NC is the basic model name and NC.1, NC.2, ... are the model parameters for the W values between WMIN to WMAX and L values between LMIN to LMAX.

Micro-Cap selects the model statement or parameter set for which the following statements are both true:

WMIN <= W AND W <= WMAX

LMIN <= L AND L <= LMAX

If it can't find a model statement (or parameter set) for which these conditions are true, an error message is generated. Once the model statement (or parameter set) is selected the binnable parameters are calculated as follows:

Leff = L - 2*DL

Weff = W - 2*DW

X = X0 + Xl*(1/Leff - 1/LREF) + Xw*(1/Weff - 1/WREF)+ Xp / (1/Leff -1/LREF) / (1/Weff - 1/WREF)

where Xl = Parameter X's length dependence

Xw = Parameter X's width dependence

Xp = Parameter X's product (length*width) dependence

Note that the starting values of L and W are those specified on the device line for a SPICE netlist device or in a VALUE attribute for a schematic device. Micro-Cap allows L and W to be specified in the model statement also, but binning always uses the L and W specified at the device level.

The units for the geometry parameters can be selected to be in microns by setting the model parameter BINUNIT = 1. For other choices of BINUNIT, the dimensions are in meters.

Short-distance matching for BSIM3 and BSIM4

BSIM3 and BSIM4 use the parameter VTH0M to account for short-distance VTH matching. The device threshold is adjusted as follows:

VTH = VTH + VTH0M / SQRT(Weff*Leff)

SPICE format:

Syntax:

M<name> <drain> <gate> <source> <bulk> <model name>

+ [M=<mval>]

+ [L=<length>] [W=<width>] [AD=<drainarea>] [AS=<sourcearea>]

+ [PD=<drainperiphery>] [PS=<sourceperiphery>]

+ [NRD=<drainsquares>] [NRS=<sourcesquares>] [NRG=<gatesquares>]

+ [NRB=<bulksquares>] [OFF] [IC=<vds>[,vgs[,vbs]]]

Example:

M1 5 7 9 0 IRF350 L=1.5E-6 W=0.25 OFF IC=25.0,8.0

The drain, gate, source, and bulk node numbers are represented by <drain>, <gate>, <source> , and <bulk>. SPICE MOSFET names must begin with the letter M.


PNP Bipolar Transistor

PNP Bipolar Transistor (Gummel Poon)

The PNP bipolar transistor can now be modelled through the standard Gummel Poon model, the Mextram bipolar transistor, or the Modella bipolar transistor. The Mextram and Modella models were created by Philips. The available model levels are:

Level 1: Gummel Poon (use the PNP or PNP4 components)

Level 2: Mextram 504 PNP (use the PNP or PNP4 components)

Level 21: Mextram 504 PNP Thermal (use the PNPT or PNP4T components)

Level 500: Modella LPNP (use the PNP4 component)

Level 501: Modella LPNP Thermal (use the PNP4T component)

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

q1

QP

VALUE attribute:

[area] [OFF] [IC=<vbe>[,vce]]

This attribute defines any of the optional BJT parameters:

Examples:

1.5 OFF IC=3,8

2.1 IC=3V

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2N2222

BD159

Common attributes:

Description

'Area', whose default is 1, multiplies or divides parameters as shown in the model parameters table for the Gummel Poon model. The 'OFF' keyword forces the BJT off for the first iteration of the operating point. The initial condition, 'IC=vbe,vce', assigns initial voltages to the base-emitter and collector-base junctions. This works only in transient analysis when the operating point is not calculated or the UIC flag is set. To use a substrate node, choose the PNP4 device. To use a lateral PNP model, use the PNP4 also.

The model type PNP is used for vertical transistor structures and the LPNP is used for lateral PNP structures. The isolation diode, DJ, and capacitance, CJ, are connected from substrate node to the internal collector node for PNP model type, and from the substrate node to the internal base node for the LPNP model type.

When a PNP4 component is placed in a schematic, the circuit is issued an LPNP model statement. If you want a vertical PNP4, you must manually change the LPNP to PNP in the corresponding model statement for the device.

Model statement:

Syntax:

.MODEL <model name> PNP ([model parameters])

.MODEL <model name> LPNP ([model parameters])

Examples:

.MODEL 2N2222A PNP (BF=120 VAF=100 IS=1.3E-16)

.MODEL Q2 LPNP (IS=1e-15 BF=55 TR=.5N)

Noise

RE, RB, and RC generate thermal noise currents.

Ie^2 = (4*k*T) / RE

Ib^2 = (4*k*T) / RB

Ic^2 = (4*k*T ) / RC

Both the collector and base currents generate frequency-dependent flicker and shot noise currents.

Ic^2 = 2*q*Ic + KF*ICBAF / Frequency

Ib^2 = 2*q*Ib + KF*IBEAF / Frequency

where

KF is the flicker noise coefficient

AF is the flicker noise exponent

SPICE format:

Syntax:

Q<name> <collector> <base> <emitter> [substrate]

+ <model name> [area] [OFF] [IC=<vbe>[,vce]]

Example:

Q1 5 7 9 2N3904 1 OFF IC=.65,.35

The values of <collector>, <base>, <emitter>, and <substrate> represent the collector, base, emitter and substrate node names. SPICE BJT names must begin with the letter 'Q'. The substrate node is optional and will default to ground if not specified. If the substrate is specified with a name rather than a number, the name must be enclosed in square brackets, [ ].


Programmable Logic Arrays

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

UPLA

Uencode

TIMING MODEL attribute:

<timing model name>

This attribute defines the model name for the timing model statement. The timing model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

D0_PLD

DLY_2

PLADLY

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_S

IO_PLD

FILE attribute:

<file name constant> OR <file name expression>

This attribute defines the JEDEC file which contains the program for the array.

Examples:

"JED_FILE.JED" ;a file name constant enclosed in "".

|FILEVAR| ;a file name expression enclosed in ||.

DATA attribute:

<<data constant> OR <<radix flag>$<program data>$>>

This attribute defines the program data and whether it is binary, octal, or hexadecimal. A name, <data constant>, may also be placed in this attribute that will be defined in the text area with a .define statement.

Examples:

B$ 1 0 1 1 1 0 0 1 1 $

O$ 2 5 4 7 3 0 1 2 $

PLORDATA w/ following define statement in text area

.define PLORDATA

+X $

+A 2 7 5

+3 1 9 C

+D E 2 6 $

MNTYMXDLY attribute:

<delay select value>

This attribute defines the MNTYMXDLY parameter for selecting the minimum, typical, or maximum delays from the gate's timing model. The default is 0.

0 = Value of DIGMNTYMX in the Global Settings.

1 = Minimum timing delay

2 = Typical timing delay

3 = Maximum timing delay

4 = Worst case timing delay (minimum/maximum)

Example:

3

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

2

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

The programmable logic array is designed to allow modeling of a wide variety of programmable logic devices. The device is constructed of a user-specified number of inputs, visualized as columns, and a user-specified number of outputs, which form the rows. Each output (row) is a gate, whose inputs are selected from the inputs (columns). The device is programmed by choosing the inputs to be a part of the gate. The type of gate is determined by the PLA type. A PLNAND provides NAND gates, a PLOR provides OR gates, and so on. The PLA device provides a programmable core for modeling commercial PLA parts.

There are two ways to program the PLA. The normal way is to provide the data in a JEDEC format file. These files are normally created as the primary output of a PLA design program. The second method is to include the data directly in the SPICE command line or, for schematics, in the DATA attribute.

Special Component Editor fields

Inputs <number of inputs>

Outputs <number of outputs>

The Component Editor has two special fields for PLA devices, 'Inputs' and 'Outputs'. When you enter these values, Micro-Cap places the specified input and output pins on the display and you must drag them into place on the shape.

File

<file name constant OR file name expression>

The FILE attribute denotes the name of a JEDEC format file in one of two formats:

File name constant enclosed in double quotes ("")

File name expression enclosed in double bars (||)

Schematic PLA devices that use the FILE attribute must use the "file name constant" option as there is no way to define a |file name expression| in a schematic.

If the FILE attribute is used, the DATA attribute is ignored. The mapping of the data in the JEDEC file is controlled by the timing model parameters.

Data

The <data constant> lets you create the data table in the text area or as grid text in the schematic where there is more space. It is created with a .define statement in the schematic or in the text area. The contents of the define statement are substituted for <data constant> when an analysis is run. For example, consider this define statement:

.DEFINE TAB1 B$01 01 10 11 01 11 01 10 01$

If a PLA uses a <data constant> of TAB1, the text "B$01 01 10 11 01 11 01 10 01$" will be substituted for TAB1 when an analysis is run. 'Defines' may be used to move long definitions from any attribute VALUE field (except PART) to the text area, or just to create convenient compact constants.

<radix flag> determines what type of data the program data will be comprised of. There are three possible options as follows:

B binary data

O octal data (most significant bit has the lowest address)

X hexadecimal data (most significant bit has the lowest address)

<program data>

This text string contains the data values that program the PLA. If the data value for a particular column variable is a '0', the input column is not connected to the gate. If the data value is a '1', the input column is connected to the gate. The phrase "connected" means that a new input to the gate is created and the input (column) line is connected to the new gate input. The data values start at the zero address. The <program data> must be enclosed by dollar signs, $, which may be separated by spaces or placed on continuation lines.

True only (PLAND,PLOR,PLNAND,PLNOR,PLXOR,PLNXOR)

The zero address programs the first input to the first output gate. The next input programs the second input to the first output gate, and so on until all possible input connections have been programmed. The process is repeated for all possible input connections to the second gate, and so on until the final gate has been programmed.

True and complement (PLANDC,PLORC,PLNANDC,PLNORC,PLXORC,PLNXORC)

True and complement programming is like true only programming, except that the complement is interleaved and placed after the true. The zero address programs the first true input to the first input gate. The next input programs the connection of the first complement input to the first gate. The next input programs the connection of the second true input to the first output gate. The next input programs the connection of the second complement input to the first gate, and so on until all possible true and complement input connections have been programmed. The process is repeated for all possible true and complement input connections to the second gate, and so on until the final gate has been programmed.

Model Statement Syntax:

.model <timing model name> UPLD ([model parameters])

Example:

.model PLDMOD UPLD (tplhty=10ns tplhmx=25ns tphlty=12ns tphlmx=27ns)

Programmable Logic Array Timing Parameters Table:

Name Parameter Units Default

TPLHMN Delay: in to out, low to high, min Sec. 0

TPLHTY Delay: in to out, low to high, typ Sec. 0

TPLHMX Delay: in to out, low to high, max Sec. 0

TPHLMN Delay: in to out, high to low, min Sec. 0

TPHLTY Delay: in to out, high to low, typ Sec. 0

TPHLMX Delay: in to out, high to low, max Sec. 0

OFFSET JEDEC file: address of first input

and first gate program 0

COMPOFFSET JEDEC file: address of complement

of first input and first gate program 1

INSCALE JEDEC file: amount the JEDEC file

address changes for each new std 1

input pin comp 2

OUTSCALE JEDEC file: amount the JEDEC file

address changes for each new std <# of inputs>

output pin comp 2*<# of inputs>

Any timing parameters that are not specified in the model statement have their values determined through the unspecified propagation delay rules.

For more information on the I/O model statement, view the Input/Output model topic.

SPICE format:

Syntax:

U<name> <pld type> (<# of inputs>,<# of outputs>)

+<digital power node> <digital ground node>

+<input node>* <output node>*

+<timing model name> <I/O model name>

+[FILE=<file name constant OR file name expression>]

+[DATA=<radix flag>$<program data>$]

+[MNTYMXDLY=<delay select value>]

+[IO_LEVEL=<interface subckt select value>]

Examples:

*This example produces the logic expressions:

*O1 = (I1 & I3) O2 = (I1 & I2) O3 = (I2 & I3)

U1 PLAND(3,3) $G_DPWR $G_DGND

+I1 I2 I3 O1 O2 O3

+D0_PLA IO_STD

+DATA=B$

*I1 I2 I3

+1 0 1 ;O1

+1 1 0 ;O2

+0 1 1 $ ;O3

*This example produces the logic expressions:

*O1 = (~I1 | ~I2 | I3) O2 = (~I1 | I2 | I3)

*O3 = (I1 | ~I3) O4 = (~I1 | ~I2 | ~I3)

U2 PLORC(3,4) $G_DPWR $G_DGND

+I1 I2 I3 O1 O2 O3 O4

+DLYPLOR IO_LS

+DATA=B$

*I1 I2 I3

*TF TF TF ;true and complement inputs

+01 01 10 ;O1

+01 10 10 ;O2

+10 00 01 ;O3

+01 01 01 $ ;O4


Pulse Source

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

V1

Vpul

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

5mpul

Triangle

Common attributes:

The Pulse source is similar to the SPICE PULSE independent voltage source. Unlike the SPICE source, it uses a model statement and its timing values are defined with respect to T=0.

Model statement

Syntax:

.MODEL <model name> PUL([model parameters])

Example:

.model step pul(vzero=.5 vone=4.5 p1=10n p2=20n p3=100n p4=110n p5=500n)

Pulse Source Model Parameters Table

Name Parameter Units Default

VZERO Zero level Volts 0

VONE One level Volts 5

P1 Time delay to leading edge s 1e-7

P2 Time delay to one level s 1.1e-7

P3 Time delay to trailing edge s 5e-7

P4 Time delay to zero level s 5.1e-7

P5 Repetition period s 1e-6

The waveform value is generated as follows:

From To Value

0 p1 vzero

p1 p2 vzero+((vone-vzero)/(p2-p1))*(T-p1)

p2 p3 vone

p3 p4 vone+((vzero-vone)/(p4-p3))*(T-p3)

p4 p5 vzero

where From and To are time values, and T=TIME mod p5. The waveform repeats every p5 seconds. Note that P5 > P4 > P3 > P2 > P1.

SPICE format:

There is no SPICE pulse source.


Pullups/Pulldowns

These devices provide a strong '1' to pull up or a strong '0' to pull down a group of open-collector devices whose outputs are wired together. Note that these devices are digital devices, not analog devices. There sole purpose is to provide a strong constant level to a set of open-collector digital devices whose outputs are wired together. Open-collector devices are simply digital devices with a very large value of DRVH in their I/O model. There are no inputs on the device, and the number of outputs is equivalent to the number of resistors in the array. The strength is determined through its I/O model. The pullup resistor provides a 1 level output, and the pulldown resistor provides a 0 level output.

PULLUP and PULLDN devices do not use timing models since there is no delay associated with them. They do, however, need I/O models, since they are digital devices.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Ures

U3

UUP

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

RES1000

IO_HC

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

3

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

These devices provide a constant output level at a user-specified strength. The outputs are as follows:

Device Level Strength

Pullup 1 DRVH(from the I/O model)

Pulldn 0 DRVL(from the I/O model)

A typical I/O model that would need to be created for a pullup resistor is:

.MODEL IO_PULLUP UIO (

+ DRVH=5K DRVL=1MEG

+ ATOD1="ATOD_STD" ATOD2="ATOD_STD"

+ ATOD3="ATOD_STD" ATOD4="ATOD_STD"

+ DTOA1="PULLUP_DTOA" DTOA2="PULLUP_DTOA"

+ DTOA3="PULLUP_DTOA" DTOA4="PULLUP_DTOA"

+ DIGPOWER="DIGIFPWR" )

The DRVH and DRVL parameters determine the strength of the component. The DRVH defines the strength at the one state, and the DRVL defines the strength at the zero state. This model statement places the equivalent of a 5K ohm resistor at the node when the digital state is a one. The ATOD_STD subcircuit was chosen for the AtoD parameters because the 7405 uses the IO_STD_OC interface model which also uses that subcircuit. The DIGIFPWR for the DIGPOWER was also chosen for the same reason. The PULLUP_DTOA subcircuit for the DtoA parameters should be used every time a pullup resistor is in the schematic. These subcircuits all reside in the DIGIO.LIB file.

For more information on the I/O model statement, view the Input/Output model topic.

SPICE format:

Syntax:

U<name> <resistor type> (<# of resistors>)

+<digital power node> <digital ground node>

+<output node>* <I/O model name>

+[IO_LEVEL=<interface subckt select value>]

Examples:

3 pullup resistors:

U1 PULLUP(3)

+$G_DPWR $G_DGND

+OUT1 OUT2 OUT3

+IORES100

2 pulldown resistors:

Udn PULLDN(2) $G_DPWR $G_DGND

down1 down2 IO_STD

The <resistor type> must be defined as either PULLUP (a digital pullup resistor array) or PULLDN (a digital pulldown resistor array). <# of resistors> specifies the number of resistors in the array.


Animated Relay

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Relay1

LIN attribute:

<input_inductance>

This attribute defines the input inductance.

Examples:

1m

RIN attribute:

<input_resistance>

This attribute defines the input resistance.

Examples:

100

ION attribute:

<input_on_current>

This attribute defines the input current that turns the relay on.

Examples:

10m

IOFF attribute:

<input_off_current>

This attribute defines the input current that turns the relay off.

Examples:

9m

RON attribute:

<on_resistance>

This attribute defines the on resistance of the relay switch.

Examples:

1m

ROFF attribute:

<off_resistance>

This attribute defines the off resistance of the relay switch.

Examples:

1e9

BIDIRECTIONAL attribute:

<Yes | No>

This attribute defines whether the input current in either direction can trigger the relay switch. When set to No, the current only triggers the switch when going from the plus input pin to the minus input pin.

Examples:

Yes

GROUP attribute:

<group_name | ! | NOT group_name>

This attribute defines a group of animated switches that this relay may be associated with. Using the group for a relay gives the relay control over all of the other switches that share the same group name.

Examples:

Group1

NOT Group22

! Grp33a

Common attributes:

The animated relay is an SPST relay that responds dynamically to changes in input current. It behaves like a smooth transition, current-controlled W switch. The relay input is modeled as an inductor of value input_inductance and a resistor of value input_resistance.

Model Equations

If BIDIRECTIONAL attribute is set to NO

IC = Current flow into the Plus Input

else

IC = ABS(Current flow into the Plus Input )

LM = Log-mean of resistor values = ln((RON*ROFF)^1/2)

LR = Log-ratio of resistor values = ln(RON/ROFF)

IM = Mean of control currents = (ION+IOFF)/2

ID = Difference of control currents = ION-IOFF

RS = Switch output resistance

If ION > IOFF

If IC >= ION

RS = RON

If IC <= IOFF

RS = ROFF

If IOFF < IC < ION

RS = exp(LM + 3*LR*(IC-IM)/(2*ID) - 2*LR*(IC-IM)^3/ID^3)

If ION < IOFF

If IC <= ION

RS = RON

If IC >= IOFF

RS = ROFF

If IOFF > IC > ION

RS = exp(LM - 3*LR*(IC-IM)/(2*ID) + 2*LR*(IC-IM)^3/ID^3)


Resistors

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

R1

Rdrain

RLoad

RESISTANCE attribute:

<resistance>[LOT[/#][/GAUSS|/UNIFORM|WCASE]=<tolvalue>[%]] [TC1=<tc1> [,<tc2>]]

This attribute defines the value. <value> may be a constant or it may be a dynamically changing expression.

Examples:

10K

1K TC=.004

100K*(1+V(R7)) TC=.001,1e-5

20K*(1+.0015*I(C1))

FREQ attribute:

[<fexpr>]

This attribute defines the AC value. The value may be a constant or it may be a dynamically changing expression. This attribute only affects AC analysis. Transient analysis will use the VALUE attribute.

Examples:

10*f*v(10)

2k+10*(1+F/1e9)

MODEL attribute:

[model name]

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

Rmod

Res2

Common attributes:

The slider that may appear in an analysis mode if Show Slider in the Component Slider segment is enabled within the Slider panel of the Preferences dialog box has its maximum value set at (Value + 2*Value) and its minimum value at (Value - 2*Value) where Value is the value of the component when the analysis is first entered.

RESISTANCE attribute

The format is similar to the SPICE format. <resistance> may be a simple constant or it may be an arbitrary function of any valid time domain variable. The expression is a time domain expression only. It is not evaluated in AC. Consider this expression:

2K*(1+v(10)/25)

V(10) refers to the value of the voltage at node 10 during a transient analysis, a DC operating point calculation prior to an AC analysis, or during a DC analysis. It does not mean the AC small signal voltage at node 10. If the DC oerating point value for V(1) was 25, the resistance would be evaluated as 2k*(1+25/25)=4k. The constant value, 4k, is used in AC analysis.

Stepping effects

The RESISTANCE attribute and all of the model parameters may be stepped. If RESISTANCE is stepped, it replaces <resistance>, even if <resistance> is an expression. The stepped value may be further modified by the temperature effect.

FREQ attribute

If <fexpr> is used, it replaces the value determined during the operating point in an AC analysis. <fexpr> may be a simple number or an expression involving frequency domain variables. The expression is evaluated during AC analysis as the frequency changes. For example, suppose the <fexpr> attribute is:

V(1,2)*(1+f/1e7)

In this expression, f refers to the AC analysis frequency variable, V(1,2) refers to the AC small signal voltage between nodes 1 and 2. Note that there is no time domain equivelant to <fexpr>. Even if <fexpr> is present, <resistance> will be used in transient analysis.

Temperature effects

There are two different temperature factors, a quadratic factor and an exponential factor. The quadratic factor is characterized by the model parameters TC1 and TC2, or <tc1> and <tc2> from the parameter line. The exponential factor is characterized by the model parameter TCE.

If [TC=<tc1>[,<tc2>]] is specified on the parameter line, or the TC1 and TC2 parameters are specified in the model statement, <resistance> is multiplied by a temperature factor, TF.

TF = 1+TC1*(T-Tnom)+TC2*(T-Tnom)^2

TC1 is the linear temperature coefficient and is sometimes given in data sheets as parts per million per degree C. To convert ppm specs to TC1 divide by 1E6. For example, a spec of 3000 ppm/degree C would produce a TC1 value of 3E-3.

If the [model name] is used and TCE is specified, <resistance> is multiplied by a temperature factor, TF.

TF = 1.01^(TCE*(T-Tnom))

If both [model name] and [TC=<tc1>[,<tc2>]] are specified, the temperature coefficients from the RESISTANCE attribute takes precedence.

T is the device operating temperature and Tnom is the temperature at which the nominal inductance was measured. T is set to the analysis temperature from the Analysis Limits dialog box. Tnom is determined by the Global Settings TNOM value, which can be overridden with a .OPTIONS statement. T and Tnom may be changed for each model by specifying T_MEASURED, T_ABS, T_REL_GLOBAL, and T_REL_LOCAL in the model statement.

Monte Carlo effects

LOT and DEV Monte Carlo tolerances, available only when [model name] is used, are obtained from the model statement. They are expressed as either a percentage or an absolute value and are available for all model parameters except the T_parameters. Both forms are internally converted to an equivalent tolerance percentage and produce their effect by increasing or decreasing the Monte Carlo factor, MF, which ultimately multiplies the final value. For standard tolerancing, the R (resistance multiplier) parameter in the model statement needs to be the parameter toleranced.

How to tolerance an impedance element

MF = 1 + tolerance percentage / 100

If tolerance percentage is zero or Monte Carlo is not in use, then the MF factor is set to 1.0 and has no effect on the final value. To perform a Monte Carlo run on the resistor value, the LOT statement must be placed in the model statement behind the R parameter.

.model RMOD RES(R=1 lot=5%)

This model statement will provide a 5% tolerance on the resistance value.

The final resistance, rvalue, is calculated as follows:

rvalue = <resistance> * R * TF * MF

Model Statement Syntax:

.model <model name> RES ([model parameters])

Example:

.model Rload RES (R=1 TC1=1m TC2=2u)

Resistor Parameters Table:

Name Parameter Units Default

R Resistance multiplier 1

CP Parallel capacitance F 0

LS Series inductance H 0

TC1 Linear temperature coefficient 1/Celsius 0

TC2 Quadratic temperature coefficient 1/(Celsius^2) 0

TCE Exponential temperature coefficient %/Celsius 0

NM Noise multiplier 1

T_MEASURED Measured temperature Celsius undefined

T_ABS Absolute temperature Celsius undefined

T_REL_GLOBAL Relative to current temperature Celsius undefined

T_REL_LOCAL Relative to AKO model temperature Celsius undefined

Information on T_MEASURED, T_ABS, T_REL_GLOBAL, AND T_REL_LOCAL can be found in the .model temperature parameter section.

Noise effects

Noise in resistors is due to the random thermal motion of the carriers and is not affected by the presence of direct DC current as in shot noise. Noise is calculated assuming a 1 hertz bandwidth. It is modeled with an ideal thermal noise current calculated as follows:

I=NM*sqrt(4*K*T/Resistance)...(per unit bandwidth)

The NM model parameter multiplies the resistor noise current. A value of zero for NM effectively creates a noiseless resistor.

SPICE format:

Syntax:

R<name> <plus> <minus> [model name] <resistance> [TC=<tc1>[,<tc2>]]

Example:

R1 2 3 1k

R2 7 8 100K TC=.001,1e-5

R3 5 0 RMOD 20K TC=.005,1u

<plus> and <minus> are the positive and negative node numbers. The polarity references are used only for plotting or printing the voltage across, V(RX), and the current through, I(RX), of the resistor. Positive current flows into the plus node and out of the minus node. If the resistance parameter is an expression, it must be enclosed by { } brackets. The temperature coefficients may be specified on either the SPICE line or in the model statement. If a model is specified, then the temperature coefficients are taken from the model statement.


S - Voltage-controlled switch

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

VSwit

S1

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

SMod

SWvolt

Common attributes:

Model statement

Syntax:

.MODEL <model name> VSWITCH([model parameters])

Example:

.model Smod VSWITCH(VON=2 VOFF=0 RON=.01 ROFF=1E7)

.MODEL S2 VSWITCH (RON=1 ROFF=1K VT=3 VH=1)

Voltage-Controlled Switch Model Parameters Table

Name Parameter Units Default

RON On resistance Ohms 1

ROFF Off resistance Ohms 1E6

VON Control voltage for on state Volts 1

VOFF Control voltage for off state Volts 0

VT Threshold voltage Volts None

VH Hysteresis voltage Volts None

The switch can operate in two distinct operational modes, Smooth Transition and Hysteresis.

Smooth Transition Mode:

Use this mode if you do not need input hysteresis. The smooth transition minimizes convergence problems. In this mode VON and VOFF are specified. VT and VH are ignored. The switch impedance changes smoothly from RON to ROFF as the control voltage moves from VON to VOFF and from ROFF to RON as the control voltage moves from VOFF to VON. If VON>VOFF the operation is reversed.

Hysteresis Mode:

Use this mode if you need input hysteresis and the circuit is not sensitive to convergence problems. In the Hysteresis mode, VT and VH are specified. VON and VOFF are ignored. The switch impedance changes abruptly from ROFF to RON as the control voltage moves higher than VT+VH and from RON to ROFF as the control voltage moves lower than VT-VH.

This four-terminal voltage-controlled switch is controlled by the voltage across the two input nodes. The switch impedance is calculated from the input voltage and impressed across the output nodes. The switch is a voltage-controlled resistor. When the switch is open, the resistance is ROFF. When the switch is closed, the resistance is RON. Between VON and VOFF, the resistance varies continuously depending on the voltage between the controlling nodes. In transient analysis, the simulator must calculate data points during the transition region to get an accurate waveform. A simulation with many switch transitions will produce a longer run time.

A 1/Gmin resistor is placed between the controlling nodes to avoid floating nodes. GMIN may be adjusted in the Global Settings. RON and ROFF must be less than 1/GMIN but greater than 0.

Do not make the ratio ROFF/RON larger than about 15 decades. The 15 digits of precision used by the simulator can not make meaningful use of a spread greater than 15 in the ratio.

Do not make the transition region, VON-VOFF, too small as this will cause an excessive number of time points required to cross the region. The smallest allowed values for VON-VOFF is (RELTOL*(max(VON,VOFF))+VNTOL).

Model Equations

VC = Voltage across the control nodes

LM = Log-mean of resistor values = ln((RON*ROFF)^.5)

LR = Log-ratio of resistor values = ln(RON/ROFF)

VM = Mean of control voltages = (VON + VOFF)/2

VD = Difference of control voltages = VON-VOFF

k = Boltzmann's constant

T = Analysis temperature

RS = Switch output resistance

If VON > VOFF

If VC >= VON

RS = RON

If VC <= VOFF

RS = ROFF

If VOFF < VC < VON

RS = exp(LM+3*LR*(VC-VM)/(2*VD)-2*LR*(VC-VM)^3/VD^3)

If VON < VOFF

If VC <= VON

RS = RON

If VC >= VOFF

RS = ROFF

If VOFF > VC > VON

RS = exp(LM-3*LR*(VC-VM)/(2*VD)+2*LR*(VC-VM)^3/VD^3)

Hysteresis Mode:(Used if VON and VOFF are not defined)

If VC >= VT + VH

RS = RON

If VC <= VT - VH

RS = ROFF

Else

RS remains unchanged

Noise

The voltage-controlled switch generates the same noise as an equivalently valued resistor found during the DC operating point. Noise is calculated assuming a 1 hertz bandwidth. It is modeled with an ideal thermal noise current calculated as follows:

I=sqrt(4*K*T/Resistance)...(per unit bandwidth)

SPICE format:

Syntax:

S<name> <plus output node> <minus output node>

+ <plus controlling node> <minus controlling node>

+ <model name>

Example:

S1 3 2 5 0 SMOD


Sample and Hold

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

S1

S10

INPUT EXPR attribute:

<input expression>

This attribute defines the expression to be sampled.

Examples:

V(2)

V(5,4)*I(R1)

SAMPLE EXPR attribute:

<sample expression>

The <input expression> is sampled whenever the <sample expression> is true.

Examples:

V(1,2) > 0

(V(5,4) > 1.1) && (V(3) < 1.2)

PERIOD attribute:

<sampling_period>

This attribute defines the period between samples.

Examples:

100n

tmax/100

PRECISION attribute:

<precision value>

This attribute defines the time precision of the transitions. Recommend range is 1u to 1m. The default is 1e-4.

Examples:

1u

1e-4

Common attributes:

Description

This two-terminal component is an ideal sample and hold device. It samples and stores the numeric value of <input_expression> when the <sample expression> is true or every <sampling_period> seconds. The output voltage of the source is set to the sampled value and remains constant until the next sampling instant.

Note that while <input_expression> is usually a node voltage, the expression can involve circuit variables, as in the second example. <sampling_period> may include a non varying-time expression, as in the second example, where the <tmax> of the analysis run is used to calculate the sampling period.

If <sample expression> is specified:

<input expression> is sampled whenever <sample expression> is >= 1.0. <sample expression> is normally a Boolean expression. The output voltage of the source is set to the sampled value and remains constant until the next sample. Use this for track and hold applications.

If <sample expression> is unspecified and <sampling_period> is specified:

The source samples and stores the numeric value of <input expression> once every <sampling period> seconds, starting at <tmin>. The output voltage of the source is set to the sampled value and remains constant until the next sample.

Both <sample expression> and <sampling_period> are specified:

<sample expression> takes precedence over the <sampling period>, and the <input expression> is sampled as in the first case.

Neither <sample expression> or <sampling_period> are specified:

This will generate an error message. At least one must be specified.

See the sample file SH2.CIR for an example of how to use the sample and hold component.

SPICE format:

There is no Sample and Hold device in SPICE.


Sine Source

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

V1

Vsin

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

Sine60

ABsin

Common attributes:

The Sine source is similar to the SPICE SIN independent voltage source. Unlike the SPICE source, it uses a model statement.

Model statement

Syntax:

.MODEL <model name> SIN([model parameters])

Example:

.model V1 sin(F=1MEG A=0.6 DC=1.5)

Sine Source Model Parameters Table

Name Parameter Units Default

F Frequency Hz 1e6

A Amplitude Volts 1

DC DC level Volts 0

PH Phase Radians 0

RS Source resistance ohms .001

RP Repetition period of exponential s 0

TAU Exponential time constant s 0

Model Equations

If TAU=0 then

V=A*sin(2*PI*F*TIME+PH)+DC

Else

V=A*exp(-T/TAU)*sin(2*PI*F*TIME+PH)+DC

where T=TIME mod RP

RP must be specified for TAU to have an effect.

SPICE format:

There is no SPICE Sine source.


Animated SPDT Switch

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Switch1

STATE attribute:

<Up | Down>

This attribute defines the state of the switch.

Examples:

Up

RON attribute:

<ron>

This attribute defines the on resistance of the switch.

Examples:

1m

ROFF attribute:

<roff>

This attribute defines the off resistance of the switch.

Examples:

1e12

GROUP attribute:

<group_name | ! | NOT group_name>

This attribute defines a group of animated switches that this switch may be associated with.

Examples:

Group1

NOT Group22

! Grp33a

Common attributes:

Double clicking in the switch area toggles the state of these switches between up and down. The switches are modeled with a simple resistor whose on and off values are set by ron (default=.001) and roff (default=1E15). Double clicking just outside of the switch area accesses the Attribute dialog box for the device. A click on a switch with a GROUP attribute causes all others that share the same GROUP attribute to behave the same. If group_name is preceded with the reserved word NOT, the switch behaves oppositely to that of switches with group_name.


Animated SPST Switch

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Switch1

STATE attribute:

<Open | Closed>

This attribute defines the state of the switch.

Examples:

Open

RON attribute:

<ron>

This attribute defines the on resistance of the switch.

Examples:

1m

ROFF attribute:

<roff>

This attribute defines the off resistance of the switch.

Examples:

1e12

GROUP attribute:

<group_name | ! | NOT group_name>

This attribute defines a group of animated switches that this switch may be associated with.

Examples:

Group1

NOT Group22

! Grp33a

Common attributes:

Double clicking in the switch area toggles the state of these switches between open and closed. The switches are modeled with a simple resistor whose on and off values are set by ron (default=.001) and roff (default=1E15). Double clicking just outside of the switch area accesses the Attribute dialog box for the device. A click on a switch with a GROUP attribute causes all others that share the same GROUP attribute to behave the same. If group_name is preceded with the reserved word NOT, the switch behaves oppositely to that of switches with group_name.


Standard Gates

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

Uor

USELECT

TIMING MODEL attribute:

<timing model name>

This attribute defines the model name for the timing model statement. The timing model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

D0_gate

DLY1

GATEDLY

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_ACT_OC

IO_HC

MNTYMXDLY attribute:

<delay select value>

This attribute defines the MNTYMXDLY parameter for selecting the minimum, typical, or maximum delays from the gate's timing model. The default is 0.

0 = Value of DIGMNTYMX in the Global Settings.

1 = Minimum timing delay

2 = Typical timing delay

3 = Maximum timing delay

4 = Worst case timing delay (minimum/maximum)

Example:

1

IO_LEVEL:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

3

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

Model Statement Syntax:

.model <timing model name> UGATE ([model parameters])

Example:

.model DLY1 UGATE (tplhty=10ns tplhmx=25ns tphlty=12ns tphlmx=27ns)

Standard Gate Timing Parameters Table:

Name Parameter Units Default

TPLHMN Delay low to high, min Sec. 0

TPLHTY Delay low to high, typ Sec. 0

TPLHMX Delay low to high, max Sec. 0

TPHLMN Delay high to low, min Sec. 0

TPHLTY Delay high to low, typ Sec. 0

TPHLMX Delay high to low, max Sec. 0

Any timing parameters that are not specified in the model statement have their values determined through the unspecified propagation delay rules.

For more information on the I/O model statement, view the Input/Output model topic.

Special Component Editor fields

Inputs <number of inputs>

The Component Editor has a special 'Inputs' field for standard gates. It lets you specify the number of gate inputs. When you enter a value, the system places an output pin and the specified <number of inputs> pins on the display and you must drag them into place on the shape.

SPICE format:

Syntax:

U<name> < gate type > [(< parameters >)*]

+< digital power node > < digital ground node >

+< input node >* < output node >*

+<timing model name> < I/O model name >

+[ MNTYMXDLY =<delay select value>]

+[ IO_LEVEL =<interface subckt select value>]

Examples:

A 3 input NAND gate:

U1 NAND(3)

+$G_DPWR $G_DGND

+IN1 IN2 IN3 OUT

+D0_GATE IO_STD

+MNTYMXDLY=0

+IO_LEVEL=2

A 3 gate AND array with 2 inputs per gate:

UA ANDA(2,3) $G_DPWR $G_DGND

1A 1B 2A 2B 3A 3B O1 O2 O3

DLY1 IO_ACT

An AND-OR compound gate having 2 input gates with 3 inputs per gate:

UTRAN AO(3,2) $G_DPWR $G_DGND

in1a in1b in1c in2a in2b in2c out

dlymod io_hc_oc MNTYMXDLY=3


Stimulus Generators

View the Stimulus Generator Examples for device statement examples.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

Uin

FORMAT attribute:

<format array>

This attribute defines the format for the values in the stim commands. 1=binary, 3=octal, 4=hexadecimal. The sum of the digits in this attribute must be equivalent to the number of outputs of the stimulus generator.

Examples:

1311 ; A six output stim defined by three binary and one octal value

44 ; An eight output stim defined by two hexadecimal values

1 ; A single output stim defined by a binary value

COMMAND attribute:

<.define name>

This attribute defines the name of the .define variable that contains the stimulus commands for the device. The .define statement will be displayed and available for editing in the Attribute dialog box. The format is '.define <name> <command>*'. This attribute should only contain the <name> of the .define variable and have no stimulus commands. The stimulus commands will be defined through the .define statement in the edit field at the bottom of the Attribute dialog box or in the text area of the schematic.

Example:

AIN w/ following define statement in the text area

.define AIN

+0ns 1011

+100ns 0011

+200ns 1010

+300ns RND

+400ns 100?

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_STD

IO_ACT

IO_HC

TIMESTEP attribute:

<stepsize>

This attribute defines the number of seconds in one clock cycle. This attribute only affects the values in the stim commands that have the suffix 'C'. Values that are specified in seconds will not be affected.

Examples:

5n

10n

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

4

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

SEED attribute:

<seed integer>

By specifying a seed number you can identify and recall in a later simulation the same random numbers. If the seed is >=1 it returns a repeating sequence of random numbers. If the seed is blank or <1 it returns a non-repeating sequence of random numbers. This will only apply if the ? or RND operators are used to define data within the COMMAND define statement.

Example:

6

Common attributes:

<width>

In a SPICE file, this specifies the number of signals or output nodes. For a schematic component this value is defined when the component is entered into the Component library, so simply picking a STIM device from the Component library menu supplies this information.

<format array>

The <command statements use <value> statements to describe the output states. The <format array> is an array of characters that defines the data format to be used by <value>. It is a sequence of characters which specify the number of outputs (signals) that the corresponding character in <value> represents. Each character of <value> is assumed to be a number in base 2^m, where m is the corresponding character in <format array>. That is, if <format array> is '1111', then every <value> used in a <command> statement must have four characters also. The total number of characters in <format array> must equal <width>, and each character is chosen to reflect the data type (1=Binary, 3=Octal, 4=Hex).

<node>*

For SPICE circuit components, this defines the node names of the output nodes. For a schematic circuit component, this data is automatically acquired from the output node numbers or node names.

<stepsize>

The TIMESTEP argument <stepsize> defines the number of seconds per clock cycle. Transition times may be specified in clocks by using the 'c' character. The actual time is calculated by multiplying the number of clocks by <stepsize>. The default value is zero.

<command>*

The stim commands describe the type of output to be generated. The output is created by using the following commands:

<time> <value>

<LABEL=<label name>

<time> INCR BY <value>

<time> DECR BY <value>

<time> GOTO <label name> <n> TIMES

<time> GOTO <label name> UNTIL GT <value>

<time> GOTO <label name> UNTIL GE <value>

<time> GOTO <label name> UNTIL LT <value>

<time> GOTO <label name> UNTIL LE <value>

REPEAT FOREVER

REPEAT <n> TIMES

ENDREPEAT

<time> specifies the time that the new <value>, INCR, DECR, or GOTO command occurs at. The <time> may be specified in either seconds or clock cycles. Clock cycles are specified by using the 'C' suffix. The TIMESTEP value will be multiplied by what precedes 'C' to determine the value in seconds. The time may also be declared relative to the previous time value by placing a '+' character in front of the time, such as +10c or +50ns.

<value> specifies the values for the output node. The format of <value> is defined by the Format attribute. 0, 1, R, F, X, Z, RND, ?, binary, octal, and hexadecimal numbers may all be used. RND and ? both randomly choose a state of 0 or 1. RND will specify randomly chosen states for all <nodes> while ? will specify randomly chosen states for a single entry.

<label name> specifies the beginning of a loop. GOTO <label name> will jump to the next non-label statement after the LABEL=<label name> statement.

<n> specifies how many times to repeat the loop. A value of -1 creates an endless loop.

The times in the stim commands must be in ascending order. The statement after a GOTO loop may occur at the same time as the GOTO statement. The GOTO statement must access a previously defined <label name>. Any absolute time values that are contained in a loop will be converted into relative times after the initial time through the loop. The RND value covers all characters in a <value> whereas the ? command will only pertain to one character.

Another method to construct loops is with the REPEAT/ENDREPEAT command. All stimulus commands between the REPEAT line and the ENDREPEAT line will be looped the amount of times specified. REPEAT FOREVER creates an infinite loop. All times within the loop are considered relative to the beginning of the loop.

Notes

Absolute times within loops are converted to relative times based upon the last used time and the last used increment size.

GOTO labels must have been previously defined in a LABEL statement. No forward references are allowed.

Absolute time values must be in ascending order, except that the time after a GOTO may be the same as the GOTO.

When a GOTO command directs execution to the first statement following its specified label, the programs ignores the time value of this first statement.

UNTIL GT <value> means the loop executes until the node(s) value is greater than <value>. Similarly, GE means greater than or equal to, LT means less than, and LE means less than or equal to.

For more information on the I/O model statement, view the Input/Output model topic.

SPICE format:

Syntax:

U<name> STIM (<width>,<format array>)

+<digital power node> <digital ground node>

+<node>*

+<I/O model name>

+[IO_LEVEL=<interface subckt select value>]

+[TIMESTEP=<stepsize>]

+<commands>*


.SUBCKT

Subckt call

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

X1

XAMP

NAME attribute:

<subcircuit name>

This attribute calls the specific subcircuit. It must be the same name as is found in the .SUBCKT line in the subcircuit description.

Examples:

CLC109_CL

AD830_AD

FILE attribute:

<file name>

This attribute is optional. It works in the same manner as the .LIB command, but it has a higher priority. The name of the file specified here should be the file where the subcircuit may be found.

Examples:

UA741.MOD

DIG000.LIB

PARAMS: attribute

[<<parameter name>=<parameter value>>*]

This parameter is used to define any parameters that have been placed in the subcircuit description.

Examples:

CENTER=10KHZ

BW=1KHZ RIN=75

OPTIONAL attribute:

[<<pin_name>=<node_name>>*]

This parameter is used to define any optional nodes that have been placed in the subcircuit description.

Examples:

DPWR=$G_VCC

TEXT: attribute

[<<text name>=<text value>>*]

This parameter defines any text files that may be imported into the schematic.

Example:

JEDEC="FILENAME.EXT"

Common attributes:

The schematic NAME attribute defines the name of the subcircuit. This name must be the same as the name in the defining .SUBCKT statement.

The schematic FILE attribute defines the name of the file in which the .SUBCKT statement can be found. Micro-Cap looks for the .SUBCKT statement in the following places in the order indicated.

If the circuit is a schematic:

1) In the Text area.

2) In the file named in the FILE attribute.

3) In one or more files named in a '.LIB filename' statement.

4) In one or more of the files named in the default '.LIB NOM.LIB' statement.

If the circuit is a SPICE text file:

1) In the circuit description text.

2) In one or more files named in a '.LIB filename statement.

3) In one or more of the files named in the default '.LIB NOM.LIB' statement.

Note that subcircuits are used extensively in the Analog Library and Digital Library sections of the Component library. They are accessed via the default .LIB statement.

The SPICE keyword or schematic PARAMS: attribute lets you pass multiple numeric parameters to the subcircuit. <parameter name> is its name and <parameter value> defines the value it will assume if the parameter is not included in the subcircuit call. For example:

.SUBCKT CLIP 1 2

+ PARAMS: LOW=0, HIGH=10

Any of these calls are legal:

X1 10 20 CLIP ;results in LOW=0, HIGH=10

X2 10 20 CLIP PARAMS: LOW=1, HIGH=2 ;results in LOW=1, HIGH=2

X3 10 20 CLIP PARAMS: HIGH=4 ;results in LOW=0, HIGH=4

For the PARAMS: attribute, the attribute can be defined such as:

Low=1, High=2

to override the default parameters.

The OPTIONAL attribute provides a way to connect optional nodes defined in the subcircuit to a node in the schematic. Since the node needs to connect across multiple levels of the schematic, a global node name must be used to define the node. For example, to overwrite the optional power node for a CD4000 device, the OPTIONAL attribute could be defined as:

VDD=$G_CDVCC

where $G_CDVCC is a node name in the schematic that the CD4000 device was just placed in.

The SPICE keyword or schematic TEXT: attribute lets you pass text parameters to the subcircuit. <text name> is the name of the text parameter and <text value> defines the value it will assume if the parameter is not included in the subcircuit call. For example:

.SUBCKT STIMULUS 1 2 3 4

+ TEXT: FILE="TEST1.STM"

Either of these calls are legal:

X1 10 20 30 40 STIMULUS ;results in FILE="TEST1.STM"

X2 2 4 5 8 STIMULUS TEXT:FILE="PROD.STM" ;results in FILE="PROD.STM"

Using the subckt component in a Micro-Cap schematic circuit file is easy. Fist, you must enter the subcircuit into the Component library through the Component Editor option under the Windows menu. This requires entering:

Name: Use any unique name. To avoid confusion, it should be the same as the name used in the .SUBCKT control statement, although this is not strictly necessary.

Shape Name: Use any shape with the correct number of leads. You may need to create your own shape in the Shape editor.

Definition: Use SUBCKT.

Once these items have been entered, the pin assignments must be defined. These define where the node numbers called out in the .SUBCKT control statement go on the shape. Pins are assigned by clicking in the Shape/pin display and naming the pin with the subckt node number. The pin is then dragged to the desired position on the shape.

The subckt is then placed in the schematic in the usual way.

For an illustration of the use of subckts, see the sample circuit files SUBCKT1 and PLA2.

SPICE format:

X<name> [node]* <subcircuit name>

+ [PARAMS: <<parameter name> = <parameter value>>*]

+ [TEXT: <<text name> = <text value>>*]

Examples:

X1 10 20 AMP

XDIFF 100 200 DIFF PARAMS: GAIN=10

<subcircuit name> is the name of the subcircuit used in the .SUBCKT statement.

[node]* are the node numbers used in the .SUBCKT statement. The number of nodes in the subcircuit call must be the same as the number of nodes in the .SUBCKT statement. When the subcircuit is called, the nodes in the call are substituted for the nodes in the body of the subcircuit in the same order as they are listed in the .SUBCKT statement.

Any nodes defined in the .SUBCKT statement with the OPTIONAL: keyword may optionally follow the [node]* values. Either all optional nodes or none may be listed. It is not possible to list a subset of the optional nodes because the parser would not be able to discern which nodes you are entering.


Switch

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

DCSwitch

SW1

VALUE attribute:

<[V | T | I]>, <n1,n2> [,<ron>[,<roff>]]

This attribute defines the switch's value.

Examples:

V,2,3

T,5U,6U,1m,1e8

I,2ma,3ma

Common attributes:

This is the oldest of the three types of switches. The newer S and W switches exhibit a slower, but smoother transition between the off and on states. The S and W switches are the recommended switches to use for voltage and current switches.

There are three types of dependent switches, current-controlled, voltage-controlled, and time-controlled. The switch is a four terminal device. A current sensing inductor must be connected across the two input nodes of a current-controlled switch. Voltage-controlled switches are controlled by the voltage across the two input nodes. Time dependent switches use the Transient analysis time variable, 'T', to control the switch.

The two controlling nodes for a time-controlled switch are not used and should be shorted to ground. Leaving the two nodes floating may cause a convergence error.

In transient analysis, care must be taken in choosing the time step of the simulation. If the delta time is too large, the switch might never turn on. There must be at least one time point within the specified window for the switch to close or open.

The switch parameter syntax provides for a normally-on or a normally-off switch. A normally-on switch is one that is on outside the specified window and off inside the window. A normally-off switch is one that is off outside the window and on inside the window.

The optional <ron> impedance defaults to 1e-3ohms. The optional <roff> defaults to 1e9 ohms. When specifying <roff>, be careful that off switch resistances are not so low that they load your circuit, nor so high that they generate excessive voltage by blocking the current from an inductor or a current source.

Switch Rules of Operation

If n1 < n2 then

Switch is closed (ON) when

n1 <= X <= n2

Switch is open (OFF) when

X < n1 OR X > n2

If n1 > n2 then

Switch is open (OFF) when

n1 >= X >= n2

Switch is closed (ON) when

X > n1 OR X < n2

If the first character in the VALUE attribute switch parameter is V, the switch is a voltage-controlled switch. X equals the voltage across the input terminals. n1 and n2 are voltage values.

If the first character in the VALUE attribute switch parameter is I, the switch is a current-controlled switch. X equals the current through the inductor placed across the input terminals. n1 and n2 are current values.

If the first character in the VALUE attribute switch parameter is T, the switch is a time-controlled switch. X= TIME. n1 and n2 are values of the TIME variable.

If the switch is closed, the switch has a resistance of <ron>. If the switch is open, the switch has a resistance of <roff>.

SPICE format:

There is no SPICE multi-use switch.


Tie

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

A1

Vcc

Description

The Tie is used to connect nodes to one another in the Schematic Editor. Nodes that include Ties with the same part attribute are connected together. Ties are also used to connect a schematic between pages in a multi-page schematic. Nodes may also be connected together by giving them the same name through the Text mode, [image].

SPICE format:

There is no Tie in SPICE.


Timer

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

T1

TimerA

INPUTEXPR attribute:

<input expression>

This attribute defines the boolean expression input condition.

Examples:

V(1,2) > 1.3

I(R1)>=1ma AND I(R1)<=5ma

ELAPSED_SCALE attribute:

<elapsed scale>

This attribute scales the elapsed time value.

Examples:

1e6

1

INCREMENT attribute:

<increment>

This attribute defines the amount the count will be increased with each event.

Examples:

10

1

INITIAL attribute:

<initial value>

This attribute defines the initial value of the count.

Examples:

0

256

MIN attribute:

<min>

This attribute defines the minimum value the count pin can go to.

Examples:

0

56

MAX attribute:

<max>

This attribute defines the maximum value the count pin can go to.

Examples:

1000

1e9

Common attributes:

Description

This device provides the following outputs:

Count: The number of events since the beginning of the simulation run or the end of the last reset pulse.

Elapsed Time: The elapsed time since an event occurred.

Last Time: The last time an event occurred

An event occurs whenever <input expression> evaluates to >= 1.0.

<input expression> is typically a Boolean expression defining the event condition such as V(IN)>=3.4.

Count is initially set to <initial value> when the simulation starts and whenever the voltage on the RESET pin exceeds 1.0.

Each time an event occurs, count is increased by <increment>. Count can be no smaller than <min> and no larger than <max>.

Pins: There are three pins, ELAPSED, COUNT, LAST. The pins are all outputs and are connected to voltage sources whose value reflects the elapsed time, count value, and last event time.

The value on the ELAPSED pin is:

(Elapsed simulation time since last event occurred) <elapsed scale>

The value on the COUNT pin is:

(Number of events since T=tmin or last reset) <increment> + <initial value>

The value on the LAST pin is:

The last simulation time at which an event occurred.

Note the Reset pin resets only the COUNT value. It has no effect on the ELAPSED or LAST values.

See the sample file TIMER.CIR for an example of how to use the timer.

SPICE format:

There is no timer in SPICE.


Transmission lines

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

T1

Tlin2

VALUE attribute:

ideal: Z0=<value> [TD=<value>] | [F=<value>[NL=<value>]]

lossy: [<physical length>] | LEN=<value> R=<value> L=<value> G=<value> C=<value>

This attribute defines the transmission line parameters. Parameters for the VALUE attribute take precedence over model parameters. With no model statement, the LEN parameter should be used instead of <physical length>.

Examples:

Z0=75 TD=15N

z0=150 f=100meg nl=.6

Len=100 R=.01 L=4u C=2n

MODEL attribute:

[<model name>]

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

tmod

LINE2

Common attributes:

Description

For the ideal transmission line, Z0 is the characteristic impedance of the line. Line length is specified in one of two ways.

1. By specifying the time delay through the line.

2. By specifying the frequency and the number of wavelengths (default = .25).

The lossy transmission line model is the SPICE3 model that supports the RLC, RC, RG, and LC combinations only. All other combinations of non-zero parameters are not supported. For the lossy transmission line, LEN is the physical length. R is the resistance per unit length. L is the inductance per unit length. G is the conductance per unit length. C is the capacitance per unit length. In transient analysis, the delay times are computed by running an impulse response on the transmission line. In the case of a lossy transmission line model statement, the physical length may be placed after the model name or inside the model statement. The lossy transmission line is represented by a distributed model where the R, L, G, and C are distributed down the line's length.

For the transmission line, the internal time step in transient analysis is limited to half of the smallest transmission delay. Short lines will cause the simulation to slow down. When enabled, the TRYTOCOMPACT flag in the Global Settings will help to speed up the simulation at a cost of a small loss of accuracy.

For AC analysis, the lossy transmission line is basically equivalent to an infinite number of lumped sections which will produce an infinite number of poles for RLC and LC configurations. This is due to the lossy transmission line being modeled through a uniform constant-parameter distributed transmission line.

The F or S variables may be used within a number of the transmission line parameters. For example, the R parameter in the lossy transmission line model can have an expression containing the variable F in order to model the skin effect. Note that the frequency variables will only be updated in an AC or Dynamic AC analysis. In any other type of analysis, these variables will be calculated assuming that the frequency is 0.

Model Statement Syntax:

.model <model name> TRN ( [ideal line model parameters])

.model <model name> TRN ( [lossy line model parameters])

Examples:

.model Tmod TRN (Z0=75 F=1meg NL=.5)

.model Tmod TRN (R=1m L=1u C=1n)

Transmission Line Parameters Table:

Name Parameter Units Default

Ideal

Z0 Characteristic impedance Ohms undefined

TD Transmission delay seconds undefined

F Frequency for NL Hz undefined

NL Relative wavelength .25

Lossy

R Per unit length resistance ohms/unit length undefined

L Per unit length inductance henries/unit length undefined

G Per unit length conductance mhos/unit length undefined

C Per unit length capacitance farads/unit length undefined

LEN Physical length any* undefined

*Any units of length may be used, but it must be consistent with the unit lengths used to derive the R,L,G,C parameters. For example, if LEN is in meters, then the R,L,G,C parameters must be per meter.

The ideal and lossy transmission line parameters may not be mixed in the same model statement.

The principal difference between the two models is in the implementation of the delay. In the ideal model, the delay is implemented as a linked-list of data pairs (time,value) and breakpoints.

The lossy line implementation of the delay is quite different. It uses the SPICE3 convolution method to represent the line, producing an accurate representation of a lossy line. The basic method employed is to convolve the input waveform with the impulse response of the lossy line to produce the output waveform. The impulse response is obtained from a presolved analytical formula. Presolved analytical solutions for the line impulse response are faster and more accurate than evaluating the inverse Fourier transform of the line's S plane representation. Convolution assures that any waveform can be handled, not just linear steps and ramps.

Note that both the parameter line description (R=<value> L=<value> G=<value> C=<value>) and the model description (<model name>) may be given. The parameter line description always takes precedence. It overrides the model description.

If the length modifier, <physical length>, is given, it overrides the model parameter LEN, if <model name> is used. The priority is:

1. Length modifier: <physical length>

2. Parameter line: LEN=<value>

3. Model parameter: .MODEL...(LEN=<value>)

Note that either 'Z0' (Z -zero) or 'ZO' (Z-Oh) may be used in either the VALUE or MODEL parameters for the ideal model.

For examples of lossless transmission line circuits see the TL1, TL2, and TL3 circuits, and for a lossy transmission line circuit see the LTRA3 circuit.

SPICE format:

Syntax:

Ideal Line

T<name> <A port + node> <A port - node>

+ <B port + node> <B port - node>

+ [model name] [Z0=<value>

+[TD=<value>] | [F=<value>[NL=<value>]]]

Examples:

T1 1 2 3 4 Z0=75 TD=5n

T3 1 2 3 4 Z0=50 F=1MEG NL=.25

Lossy Line

T<name> <A port + node> <A port - node>

+ <B port + node> <B port - node>

+ [model name [physical length value]] |

+ [LEN=<value> R=<value> L=<value> G=<value> C=<value>]

Examples:

Tlin 1 0 20 0 TMOD 1

T2 2 0 3 0 R=1m L=1u C=1p LEN=10

The parameters declared determine whether the transmission line is lossy or ideal.


Transformer

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

K1

Trans1

VALUE attribute:

<primary inductance>,<secondary inductance>,<coupling coefficient>

This attribute defines the transformer parameters.

Examples:

.01,.001,.98

4m,1m,.99

Common attributes:

Description

The transformer component consists of two inductors with a mutual inductance between them. It is entirely equivalent to two discrete inductors and a linear K device defining a mutual inductance between them.

This model represents a perfect transformer, not an ideal transformer, so the transformation ratios take into account the impedance.

The coefficient of coupling is related to the mutual inductance by the following equation:

k = M/sqrt(LP*LS)

M is the mutual inductance.

k is the coefficient coupling and -1 <= k <= 1.

LP is the primary inductance.

LS is the secondary inductance.

A resistive impedance of 1/GMIN is added between the positive input pin and the positive output pin to avoid DC convergence problems.

A negative coupling coefficient is the equivalent of flipping the polarity of one side of the transformer.

SPICE format:

There is no SPICE transformer.


Animated Traffic Light

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Light1

TURN-ON VOLTAGES attribute:

<on_voltage>

This attribute defines the voltage needed at the input to turn on one of the lights.

Examples:

3.3

Common attributes:

The animated traffic light is designed to simulate a typical traffic light. There are three lights, red, yellow, and green. Each of the three lights is illuminated when its input control pin voltage exceeds on_voltage.


Tri-State Gates

Tri-state gates have an enable input. When the enable is at a 0 state, the output's strength will be at high impedance, Z.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

UTRI

U3state

TIMING MODEL attribute:

<timing model name>

This attribute defines the model name for the timing model statement. The timing model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

D0_gate

DLYTRI

TRIMOD

I/O MODEL attribute:

<I/O model name>

This attribute defines the model name for the I/O model statement. The I/O model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

IO_AC

IO_LS

IO_HCT

MNTYMXDLY attribute:

<delay select value>

This attribute defines the MNTYMXDLY parameter for selecting the minimum, typical, or maximum delays from the gate's timing model. The default is 0.

0 = Value of DIGMNTYMX in the Global Settings.

1 = Minimum timing delay

2 = Typical timing delay

3 = Maximum timing delay

4 = Worst case timing delay (minimum/maximum)

Example:

2

IO_LEVEL attribute:

<interface subckt select value>

This attribute defines the IO_LEVEL parameter for selecting one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The default is 0.

0 = Value of DIGIOLVL in the Global Settings.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4

Example:

4

POWER NODE attribute:

<digital power node>

This attribute defines the digital power node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DPWR

GROUND NODE attribute:

<digital ground node>

This attribute defines the digital ground node which will be used by the interface subcircuits if an analog device is connected to the gate.

Example:

$G_DGND

Common attributes:

Model Statement Syntax:

.model <timing model name> UTGATE ([model parameters])

Example:

.model TRIMOD UTGATE (tplhty=10ns tplhmx=25ns tphlty=12ns tphlmx=27ns

+tplzty=15ns tphzty=20ns tpzlty=14ns tpzhty=23ns)

Tri-State Gate Timing Parameters Table:

Name Parameter Units Default

TPLHMN Delay low to high, min Sec. 0

TPLHTY Delay low to high, typ Sec. 0

TPLHMX Delay low to high, max Sec. 0

TPHLMN Delay high to low, min Sec. 0

TPHLTY Delay high to low, typ Sec. 0

TPHLMX Delay high to low, max Sec. 0

TPLZMN Delay low to Z, min Sec. 0

TPLZTY Delay low to Z, typ Sec. 0

TPLZMX Delay low to Z, max Sec. 0

TPHZMN Delay high to Z, min Sec. 0

TPHZTY Delay high to Z, typ Sec. 0

TPHZMX Delay high to Z, max Sec. 0

TPZLMN Delay Z to low, min Sec. 0

TPZLTY Delay Z to low, typ Sec. 0

TPZLMX Delay Z to low, max Sec. 0

TPZHMN Delay Z to high, min Sec. 0

TPZHTY Delay Z to high, typ Sec. 0

TPZHMX Delay Z to high, max Sec. 0

Any timing parameters that are not specified in the model statement have their values determined through the unspecified propagation delay rules.

For more information on the I/O model statement, view the Input/Output model topic.

Special Component Editor fields

Inputs <number of inputs>

The Component Editor has a special "Inputs" field for tri-state gates. It lets you specify the number of inputs for the gate. When you enter the number of inputs, the system places an enable pin, an output pin and the specified <number of inputs> pins on the display and you must drag them into place on the shape.

SPICE format:

Syntax:

U<name> <tri-state gate type> [(<parameters>*)]

+<digital power node> <digital ground node>

+<input node>* <enable node> <output node>*

+<timing model name> <I/O model name>

+[MNTYMXDLY=<delay select value>]

+[IO_LEVEL=<interface subckt select value>]

Examples:

A 3 input NAND tri-state gate:

U1 NAND3(3)

+$G_DPWR $G_DGND

+IN1 IN2 IN3 ENAB OUT

+D0_GATE IO_STD

+MNTYMXDLY=0

+IO_LEVEL=2

A 3 tri-state gate AND array with 2 inputs per gate:

UA AND3A(2,3) $G_DPWR $G_DGND

1A 1B 2A 2B 3A 3B ENABLE O1 O2 O3

DLY1 IO_ACT


User file source

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

U1

UserV

FILE attribute:

<file name>

This attribute defines the file name and path (if necessary) that the user source data is stored in.

Examples:

AMP.USR

RADIO.USR

EXPRESSION attribute:

<expression>

This attribute defines the expression that is to be used if the waveform is stored in a file that contains multiple waveforms.

Examples:

V(10) + V(11)

V(IN)

REPEAT attribute:

[number]

This attribute defines the number of times the waveform should repeat.

Examples:

5

ENABLE_EXPR attribute

[enable_expression]

This attribute defines a Boolean expression that will be used to enable the user source output.

Examples

V(OUT)>3.2

Time>110ns

Common attributes:

Description

The User file source is a voltage source whose waveform or curve comes from an ASCII text file. The curve is repeated [number] of times in transient analysis and once in AC and DC analysis. [number] defaults to 1. The files contain a header and N sequential lines, each with a variable number of data values:

Transient analysis:

Two data values per line:Time, Y ;X set to T

Three data values per line:Time, X, Y

AC:

Three data values per line: Frequency, Real(Y), Imag(Y) ;X set to Frequency

Five data values per line: Frequency, Real(X), Imag(X), Real(Y), Imag(Y)

DC: Three data values per line:

DCINPUT1, X, Y

where X is the X expression value, Y is the Y expression value, and DCINPUT1 is the value of variable1.

User files may be created using a text editor, by external software, or by saving one or more curves or waveforms after an analysis run. To save a particular waveform, press F10 to invoke the Plot Properties dialog box after the analysis is over and select the waveform to be saved from the Save Curves section of the dialog box.

When you place a user source in schematic, Micro-Cap reads the current data directory to find any files with the extension *.USR. It then reads the files themselves to see what waveforms are available for use. It presents the files and waveforms as items in drop-down lists in the FILE and EXPRESSION fields so you can easily select the file name and waveform expression..

Curves saved in user files can be displayed directly in an analysis simply by selecting them from the Curves section of the Variables list. To invoke the Variables list, click in the Y Expression field and click the right mouse button. The X and Y parts of a waveform are stored as CurveX and CurveY, to let you select the X and Y parts independently.

If [enable_expression] is given, it gates the source. If it is not given, the source is always enabled. When [enable_expression] is true the waveform starts. If [enable_expression] becomes false, the source stays at its current output level.

See USER for an example of a simple source, USER2 for an example of two sources, and USER3 for an example of a triggered source. Here is the SAMPLE.USR user file as an example of the format used:

[Main]

FileType=USR

Version=2.00

Program=Micro-Cap

[Menu]

;Simple = T,X,Y

;SimpleNoX = T,Y

;Complex = F,Xr,Xi,Yr,Yi

;ComplexNoX= F,Yr,Yi

;FormatType = Simple | Complex | SimpleNoX | ComplexNoX

;Format=FromatType

WaveformMenu=label vs T

[Waveform]

Label=label vs T

MainX=T

LabelX=T

LabelY=label vs T

Format=Simple

Data Point Count=256

0,0,0

2.352941176E-009,2.352941176E-009,0

4.705882353E-009,4.705882353E-009,0

...

...

SPICE format:

There is no User source in SPICE.


Dependent sources - Linear VofI

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Vst2

VLink

VALUE attribute:

<value>

This attribute defines the VofI value. <value> must be a constant.

Examples:

10m

12.5

Common attributes:

Description

This ideal, linear, two-port function transforms the input current to an output voltage. Positive input current flows into the plus input lead (or out the minus input lead).

Vout = <value>*Iin

SPICE format:

There are no linear dependent sources in SPICE.


Dependent sources - Linear VofV

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

Vst2

VLink

VALUE attribute:

<value>

This attribute defines the VofV value. <value> must be a constant.

Examples:

10m

12.5

Common attributes:

Description

This ideal, linear, two-port function transforms the input voltage to an output voltage. Input voltage is the voltage between the plus and minus input leads.

Vout = <value>*Vin.

SPICE format:

There are no linear dependent sources in SPICE.


Independent Voltage Source - Voltage Source

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

V1

Vpul

VALUE attribute:

This attribute defines the value of the independent voltage source..The value attribute is identical to the SPICE statement without using V<name>, <plus>, and <minus>. This attribute may be redirected by placing a name in this entry that corresponds to a define statement on the text page.

Examples:

VSmSig w/ accompanying statement on text page ".define VSmSig DC 4 AC 1"

SIN 0 .1 10K

AC 2 PULSE(.4 1.6 .1u .1u .2u .1u .5u)

EXP 1 2 150n 50n 550n 100n

Common attributes:

This is the Voltage Source component from the Analog Primitives / Waveform Sources group of the Component menu.

The DC parameter sets the DC value of the source for DC analysis, for the operating point calculation in AC analysis, and in transient analysis if no transient waveform specification has been defined.

The AC Magnitude and AC Phase parameters are only applicable to AC analysis and are used to set the amplitude and phase of the small signal stimulus

The other available parameters are dependent on the tab (PULSE, SIN, EXP, PWL, SFFM, NOISE, GAUSSIAN} in the Attribute dialog box that selects the transient specification type.

The slider that may appear in an analysis mode if Show Slider in the Component Slider segment is enabled within the Slider panel of the Preferences dialog box has its maximum value set at (Value + 2*Value) and its minimum value at (Value - 2*Value) where Value is the value of the component when the analysis is first entered.

Default Settings and Save Settings

These buttons are available for the SPICE independent (Voltage source and Current source) sources. They provide a method of saving lengthy VALUE attributes which can then be easily recalled. The Default Settings will revert the saved settings to the original values that came with Micro-Cap. The Save Settings button lets you save the current VALUE attribute to one of five slots available for each type within the source. The saved settings can be easily recalled by clicking the button that contains the name associated with the settings.

SPICE format:

Syntax:

V<name> <plus> <minus> [[ DC] value]

+[ AC magval [phaseval]]

+[PULSE v1 v2 [td[tr[tf[pw[per]]]]]]

or [SIN vo va [freq[td[df[phase]]]]]

or [EXP v1 v2 [td1[tc1[td2[tc2]]]]]

or [PWL t1 v1 t2 v2...[tn vn]]

or [SFFM vo va freq [mi[fm]]]

or [NOISE interval [amplitude [start [end [seed]]]]]

or [GAUSSIAN amp tpeak width [period]]

Examples:

Vin 2 0 DC 3 AC 3

Vpul 4 0 PULSE 1.1 -.4 0 1N 1N 50N 100N


W - Current-controlled switch

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

ISwit

W1

REF attribute:

<controlling voltage source name>

This attribute defines the part name of the voltage source through which the controlling current is being taken.

Examples:

V1

VCURRENT

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

WMod

SWcurrent

Common attributes:

The W switch can operate in two distinct operational modes, Smooth Transition(default) and Hysteresis.

Smooth Transition Mode:

Use this mode if you do not need input hysteresis. The smooth transition minimizes convergence problems. In this mode ION and IOFF are specified. IT and IH are ignored. The switch impedance changes smoothly from RON to ROFF as the control voltage moves from ION to IOFF and from ROFF to RON as the control voltage moves from IOFF to ION. If ION>IOFF the operation is reversed.

Hysteresis Mode:

Use this mode if you need input hysteresis and the circuit is not sensitive to convergence problems. In the Hysteresis mode, IT and IH are specified. ION and IOFF are ignored. The switch impedance changes abruptly from ROFF to RON as the control voltage moves higher than IT+IH and from RON to ROFF as the control voltage moves lower than IT-IH.

Model statement

Syntax:

.MODEL <model name> ISWITCH([model parameters])

Example:

.model Wmod ISWITCH(ION=2m IOFF=0 RON=.01 ROFF=1E7)

.MODEL W2 ISWITCH (RON=1 ROFF=1K IT=1 IH=1.5)

Current-Controlled Switch Model Parameters Table

Name Parameter Units Default

RON On resistance Ohms 1

ROFF Off resistance Ohms 1E6

ION Control current for on state Amps .001

IOFF Control current for off state Amps 0

IT Threshold current Amps None

IH Hysteresis current Amps None

This two-terminal device, current-controlled switch is controlled by the current through the source defined by <controlling voltage source name>. The model parameters RON and ROFF must be greater than zero and less than 1/Gmin.

Do not make the ratio ROFF/RON larger than about 15 decades. The 15 digits of precision used by the simulator can not make meaningful use of a spread greater than 15 in the ratio. Do not make the transition region, ION-IOFF, too small as this will cause excessive number of points required to cross the region. The smallest allowed values for ION-IOFF is (RELTOL*(max(ION,IOFF))+ABSTOL).

Model Equations

IC = Controlling current

LM = Log-mean of resistor values = ln((RON*ROFF)^.5)

LR = Log-ratio of resistor values = ln(RON/ROFF)

IM = Mean of control currents = (ION + IOFF)/2

ID = Difference of control currents = ION-IOFF

k = Boltzmann's constant

T = Analysis temperature

RS = Switch output resistance

If ION > IOFF

If IC >= ION

RS = RON

If IC <= IOFF

RS = ROFF

If IOFF < IC < ION

RS = exp(LM+3*LR*(IC-IM)/(2*ID)-2*LR*(IC-IM)^3/ID^3)

If ION < IOFF

If IC <= ION

RS = RON

If IC >= IOFF

RS = ROFF

If IOFF > IC > ION

RS = exp(LM-3*LR*(IC-IM)/(2*ID)+2*LR*(IC-IM)^3/ID^3)

Hysteresis Mode:(Used if ION and IOFF are not defined)

If IC >= IT + IH

RS = RON

If IC <= IT - IH

RS = ROFF

Else

RS remains unchanged

Noise

The current-controlled switch generates the same noise as an equivalently valued resistor found during the DC operating point. Noise is calculated assuming a 1 hertz bandwidth. It is modeled with an ideal thermal noise current calculated as follows:

I=sqrt(4*K*T/Resistance)...(per unit bandwidth)

SPICE format:

Syntax:

W<name> <plus output node> <minus output node>

+ <controlling voltage source name> <model name>

Example:

W1 3 2 V1 WMOD

<controlling voltage source name> is the voltage source through which the controlling current is being taken.


WAV file source

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

V1

FILE attribute:

<file name>

This attribute defines the WAV file that the source is to use.

Examples:

Audio.Wav

Ode_to_Joy.wav

CHANNEL attribute:

<channel number>

This attribute defines which channel within the WAV file that this source is to use.

Examples:

0

1

SCALE attribute:

<scale>

This attribute scales the output of the source.

Examples:

10

1

REPEAT attribute:

<repeat number>

This attribute defines the number of times the waveform will repeat.

Examples:

1

5

ENABLE attribute:

<enable_expression>

This attribute enables the waveform to play when it evaluates to true.

Examples:

T>110ms

Common attributes:

Description

The WAV File Source will import a waveform from a WAV file. The WAV file data will be converted into a voltage waveform between the values of 1V and -1V.

<file name>: This is the name of the WAV source.

<channel number>: This is the channel number to be used.

<scale>: This is the scale factor to multiply the file values by. Increasing it increases the volume.

<repeat number>: This is the number of times to repeat the file contents.

<enable_expression>: The file will only be played when this Boolean expression evaluates to TRUE.

During a DC operating point calculation, the value on the source is the initial value in the file.

The Play button in the Attribute dialog box can be used to play the contents of a WAV source.

A WAV file can also be created from the output of a simulation in transient analysis. In transient analysis, go to Properties / Save Curves to setup the WAV output.

For an example of the WAV source, see the circuit file WAV.CIR.

SPICE format:

There is no WAV file source in SPICE.


Z Transform Sources

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

EZ

Efilter

ZEXP attribute:

<zexpr>

This attribute defines the Z transform expression.

Examples:

z/(z-1)

(z*z+z)/pow(z-1,3)

CLOCK FREQUENCY attribute:

<freq>

This attribute defines the clock frequency for the Z expression.

Examples:

1e6

10k

Common attributes:

Description

The Z transform source is a voltage source whose waveform is expressed as a complex Z variable expression. It behaves like a Laplace source with Z replaced by EXP(S/<clock frequency>), where S = J * 2 * PI * F, and F = frequency. These sources are mapped into their equivalent Laplace sources with the transform of exp(S/FC) where FC is the clock frequency. The Z transform sources are used to handle Z transform expressions. <zexpr> defines the Z transform expression, and it must contain at least one instance of the variable Z. <freq> is the frequency at which the Z expression is sampled. 1/<freq> is equivalent to the sampling period. This device lets you model anything from a simple delay device to a complex digital filter. These sources come in four configurations as follows:

ZIofI Current dependent current source

ZIofV Voltage dependent current source

ZVofI Current dependent voltage source

ZVofV Voltage dependent voltage source

See the sample file ZDOMAIN.CIR for an example of how to use the source.

SPICE format:

There is no Z Transform source in SPICE.


.DEFINE Statement

.DEFINE Statement (SPICE or Schematic)

General Form 1 (SPICE or Schematic):

.DEFINE [{LOT[t&d]=<n>[%]}] <text1> <text2>

where t&d is [[/<lot#>][/GAUSS|UNIFORM|WCASE]]

Examples:

.Define V1 100*T*sin(2*PI*T)

.DEFINE R1 TEMP*.1*EXP(-T/tau)

.define rval 128.5k

.define {lot=10%} lval 1200mh

.DEFINE {LOT/2/UNIFORM=2%} CVAL 1200NF

Description:

This form of the statement is used to create and define the value of a symbolic variable. It substitutes <text2> for <text1> everywhere except for text from the PART attribute Value field and model parameter name text. While you can't use this statement to change the name of a part or a model parameter name, you can use it to change the name of the model itself.

General Form 2 (Schematics only):

.DEFINE <name(<p1>[,<p2>][...,<pn>])> f(<p1>[,<p2>][...,<pn>])

Examples:

.DEFINE IMPEDANCE(X) V(X)/I(X)

.DEFINE THREE(Y,A,B,C) IF(Y>C,C,IF(Y>B,B,A))

.define distance(x,y,z) pow(x*x+y*y+z*z,0.5)

Description:

This form of the statement works exactly like C language macros, substituting in at run time the values of <p1>[,<p2>][...,<pn>]. It is also similar to the SPICE .FUNC statement. When placing define statements into a schematic page, only a single define statement can be placed in at a time.

The define statement is used for several purposes, among them are:

Replace lengthy strings in tables

Create symbolic variables

Create user-defined functions

String replacement

A good example of string replacement occurs in digital STIM devices. These devices require a COMMAND attribute string to describe their behavior. A typical command might be (entered in the text area):

.define SQUAREWAVE

+ 0ns 0

+ LABEL=START

+ +10ns 1

+ +10ns 0

+ +10ns GOTO START 10 TIMES

In the STIM COMMAND attribute we enter "SQUAREWAVE". Later when an analysis is run, Micro-Cap substitutes the lengthy text.

.DEFINE statements are frequently used for the STIM COMMAND attribute, PLA DATA attribute, Nonlinear Table Source TABLE attribute, and Laplace Table Source FREQ attribute.

The .DEFINE statement substitution is applied for every instance of text in either of the following two places:

1) Command text from the Text area or the schematic.

2) Text from an attribute Value field other than PART.

Symbolic variables

The following lets you globally assign or even step the W and L of all MOSFETs that use the MX model statement.

.Define W1 2u

.Define L1 .3u

.Model MX NMOS (W=W1 L=L1...)

User functions

This function lets you easily calculate collector power in a transistor with the following define:

.define PC(Q) VCE(Q)*IC(Q)

With this definition, PC(Q10) would plot the collector power in transistor Q10.

The HOT function below flags excessive instantaneous transistor collector power by returning a 1.

.define hot(q,max) if((vce(q)*ic(q)>max),1,0)

With this definition, hot(qx3,100mW) would plot a 1 if QX3's instantaneous transistor collector power exceeded 100mW.

Define statements within a circuit are local to that one circuit. However, the define statements in the MCAP.INC file are globally available to all circuits. This file is accessed from the User Definitions item on the Options menu. It can be edited by the user.


.ELIF Statement

.ELIF Statement (SPICE files and schematic text areas only)

General Form

.ELIF expression

Example

.ELIF test1

This statement adds a conditional block to a .IF statement block. These blocks are placed in the text area of a circuit. Together the .IF , .ELIF, .ELSE, and .ENDIF encapsulate a control block. For example:

.IF USING_WORST_CASE1

.MODEL B1 NPN (BF=110...)

.ELIF USING_WORST_CASE2

.MODEL B1 NPN (BF=150...)

.ENDIF

Note that expression must only use variables that are constant during an analysis, such as symbolic variables created by the .DEFINE and .PARAM commands. Such variables can, of course, change between analysis runs as, for example, when the variables are stepped. .ELIF may not be used in a .LIB file.


.ELSE Statement

.ELSE Statement (SPICE files and schematic text areas only)

General Form

.ELSE

Example

.ELSE

This statement adds a conditional block to a .IF statement. Together the .IF, .ELIF, .ELSE, and .ENDIF encapsulate a control block. For example:

.IF BP1>1

.DEFINE F0 1.0Meghz

.ELSE

.DEFINE F0 2.0Meghz

.ENDIF


.END Statement

.END Statement (SPICE files only)

General Form:

.END

Example:

.end

Description

This statement specifies the end of a circuit definition. All circuit descriptions and commands must come before the .END statement.


.END_MEASURE Statement

.END_MEASURE Statement (Schematic text area only)

General Form

.END_MEASURE <measure_name>

Example

.END_MEASURE PW

This statement defines the end of a measure block. It works in conjunction with the .BEGIN_MEASURE to define the beginning and ending of a measure block.

<measure_name> This is the name of the measure function.

Here is an example from the Measure definitions library.

.BEGIN_MEASURE PW(X) AUTO_ADD

.MEASURE TRAN AVG1 AVG X

.MEASURE TRAN T1 TARG X VAL=AVG1 RISE=1

.MEASURE TRAN T2 TARG X VAL=AVG1 FALL=1

.MEASURE TRAN PW PARAM T2-T1

.END_MEASURE PW


.ENDIF Statement

.ENDIF Statement (SPICE files and schematic text areas only)

General Form

.ENDIF

Example

.ENDIF

This statement terminates a .IF statement block. Together the .IF and .ENDIF encapsulate a control block. For example:

.IF BEST_CASE

.DEFINE C1 1.2pF

.ENDIF


.ENDS Statement

.ENDS Statement (SPICE or schematics)

General Form:

.ENDS [Subcircuitname]

Example:

.ENDS

.ENDS LOW

Description:

This statement terminates a subcircuit description. An optional Subcircuitname label can be specified for clarification.


.ENDSPICE Statement

.ENDSPICE Statement (Schematic Text area only)

General Form

.ENDSPICE

Examples

.ENDSPICE

This statement specifies the end of a .SPICE control block. These blocks are placed in the text area of a circuit. For example

.SPICE

.MODEL DD D ()

D1 OUT A DD

C10 A 0 100N

.ENDSPICE

This set of commands creates a small network with a diode and a capacitor and connects it to the OUT node in the main circuit. Node A is available for plotting.


.FUNC Statement

.FUNC Statement (SPICE and Schematics)

General Form:

.FUNC <name(<p1>[,<p2>][...,<pn>])> f(<p1>[,<p2>][...,<pn>])

where f is any legal expression involving the parameters p1, p2, ...pn.

Examples:

.FUNC SQR(A) A*A

.FUNC CLIP(A,MIN,MAX) IF(A>MAX,MAX,IF(A<MIN,MIN,A))

Description:

This statement is very similar to the macro form of the .DEFINE statement and is included as a separate command because it is sometimes used in commercial models. It lets you create your own formulas. The function name must not be the same as any of the predefined functions such as sin, cos, exp, etc. For example, you can easily calculate collector power in a transistor with the following statement:

.FUNC PC(Q) VCE(Q)*IC(Q)

With this definition, PC(Q10) would plot the collector power in transistor Q10.

The HOT function below flags excessive instantaneous transistor collector power by returning a 1.

.func hot(q,max) if((vce(q)*ic(q)>max),1,0)

With this definition, hot(qx3,100mW) would plot a 1 if QX3's instantaneous transistor collector power exceeded 100mW.


.HELP statement

.HELP Statement (Schematics only)

General Form:

.HELP <parameter name> <"help text">

Examples:

.HELP VP "Peak magnitude of the output signal"

.HELP KF "Frequency sensitivity in Hz/Volt"

Description:

This command places parameter help text in a macro schematic. The help text is displayed in the Status bar of the Attribute dialog box when a macro is placed or edited and the cursor is over parameter name.

<parameter name> should be one of the macro parameters listed in the .PARAMETERS statement within the macro circuit.


.IC Statement

.IC Statement (SPICE or schematic)

General Form:

.IC <V(<analog node1>[,<analog node2>])=<voltage value>>*

.IC <I(<inductor>)=<current value>>*

.IC <D(<digital node>)=<digital value>>*

Example:

.IC V(3)=0.04 V(11)=0.66

.IC V(16,15)=-1 D(IN)=X

.ic I(L1)=30m V(1)=5

Description:

The .IC statement assigns initial node voltages, inductor currents, and digital logic states during the AC and transient analysis operation point calculation and during the first data point in DC analysis. It assigns the analog or digital value to the node or branch and holds the value during the entire operation point calculation. After the operating point calculation, the node is released. If a .NODESET and an .IC statement are both present in the circuit, the .IC statement takes precedence. That is, the .NODESET statement is ignored.

Note that using .IC statements to set the voltage across inductors or voltage sources is futile. During the operating point calculation an inductor voltage is set to zero, and a source voltage assumes its TIME=0 value.

The IC statement works as follows in AC and transient analysis.

1. If transient analysis is being run and the Operating Point option is enabled or if AC analysis is being run:

A DC operating point is calculated. The values specified in the .IC statement are fixed during the operating point calculation.

2. If transient analysis is being run and the Operating Point option is disabled:

A DC operating point is not calculated. The initial condition appearing in the .IC statement and device initializations are assigned, and the first timepoint of transient analysis begins using these initial values.


.IF Statement

.IF Statement (SPICE files and schematic text areas only)

General Form

.IF expression

Example

.IF Temp > 55.0

This statement creates the conditional .IF block. Together the .IF , .ELIF, .ELSE, and .ENDIF encapsulate a control block. For example:

.IF BANDPASS_FILTER1

.DEFINE FCTR 41.563Meg

.ELSE

.DEFINE FCTR 42.563Meg

.ENDIF

Note that expression must only use variables that are constant during an analysis, such as symbolic variables created by the .DEFINE and .PARAM commands. Such variables can, of course, change between analysis runs as, for example, when the variables are stepped. .IF may not be used in a .LIB file.


.INCLUDE (.INC) Statement

.INCLUDE (.INC) Statements (SPICE or schematic)

General Form:

.INC[LUDE] <"filename">

Examples:

.include "C:\MC10\DATA\EX1DEF.TXT"

.Inc "mysmall.lib"

Description:

This statement copies statements from an external text file into a schematic or SPICE file prior to an analysis. This is useful if you have an external text file library of model statements or you want all your statements contained in a separate text file. <"Filename"> may include a path. The quotation marks are optional.

This command includes all of the text in the file and can quickly exhaust memory if the included file is large. It should only be used with small text files. For large files, use the .LIB command.


.LIB

.LIB Statement (SPICE or schematic)

General Form:

.LIB ["filename"]

Examples:

.LIB

.LIB "C:\mc10\data\allpars.lbr"

Description:

The .LIB command is both an alternative and a supplement to placing device models in a schematic or SPICE file. It accesses device models from binary library files (*.LBR) or .MACRO, .MODEL, or .SUBCKT statements from text files (*.LIB). "Filename" is any legal file name and may include a path. The quotation marks are optional. There is no default extension, so you must include the file name extension. .LIB files may contain .MODEL, .SUBCKT, .MACRO, .ENDS, .PARAM, or .LIB statements. Other statements are ignored. Text lines are nullified by placing "*" at the beginning of the line or by using ";" to nullify the remaining portion of the line.

"Filename" defaults to the NOM.LIB. The original NOM.LIB supplied with Micro-Cap accesses the entire Model library by listing each of the constituent model library files. You can remove any of the libraries that you don't need to reduce model access time. The default command .LIB NOM.LIB is automatically applied to every circuit and is the main access mechanism to the Micro-Cap Model library.

Whenever Micro-Cap needs a macro statement, model statement, or subcircuit, it will look in these places in the order shown:

If the circuit is a schematic:

In the grid text or text area.

In the file named in the File attribute (if the device has one).

In any file listed in a .LIB statement contained within the circuit.

In any file named in the master NOM.LIB file.

If the circuit is a SPICE text file:

In the circuit description text.

In any file listed in a .LIB statement contained within the circuit.

In any file named in the master NOM.LIB file.

When searching for model library files, Micro-Cap scans the library folders in the Paths option of the File menu. If more than one folder is specified, it searches in left to right order. Should the search fail, an error message is issued. Generally, Micro-Cap first looks for model information locally within the circuit, then globally in the library folders.


.MACRO statement

.MACRO statement (Schematics only)

General Form:

.MACRO <alias> <Macro Circuit Name(parameter list)>

Examples:

.MACRO S2N1595 SCR(5m,2m,.8u,1.1,50,30MEG,10u,1.45,25)

.MACRO KDS_018_13 XTAL(1MEG,600,30K)

Description:

.MACRO is used to create a library of DeviceNames to be used with a Micro-Cap macro circuit. If a macro circuit can model more than one type of device by using parameters, .MACRO can be used to define the different devices in a text file. The .MACRO command is similar to the .DEFINE command available in Micro-Cap schematics. It provides a way to replace lengthy macro parameter calls in a macro's VALUE attribute with short model names that compactly describe the behavior of the macro. All occurrences of the DeviceName in the calling schematic are replaced with MacroCircuitName and any optional parameters (parameter list). The text file containing the .MACRO statements must be referenced in the schematic. This could be accomplished with an .INCLUDE or .LIB statement or the .MACRO statements may be placed directly in the text or schematic area.

For an example of how this works, load the library file THY_LIB.LIB and search for B25RIA10. You will find the following .MACRO statement :

.macro B25RIA10 SCR(100m,60m,.9u,.9,100,100MEG,110u,1,1)

When you run an analysis on a circuit that uses this part, the FILE attribute B25RIA10 is replaced by SCR and the parameters are assigned values from the macro statement (100m,60m,.9u,.9,100,100MEG,110u,1,1) in the same order as defined in the .PARAMETERS statement within the SCR macro itself.

The SCR macro's .PARAMETERS statement is:

.PARAMETERS(IH=50mA, IGT=40mA,TON=1uS, VTMIN=1V, VDRM=50V, DVDT=50Meg,TQ=20Us,K1=1, K2=1)

When a B25RIA10 is used, its IH parameter is set to 100m, its IGT parameter is set to 60m, its TON parameter is set to .9u, and so on.


.MC Statement

.MC Statement (SPICE only)

General Form:

.MC <runs> <analysis> <output> <function> [Seed=value]

Examples:

.MC 50 TRAN V(1) YMAX Seed=238

.MC 100 DC V(1) YMAX

.MC 200 AC V(1) YMAX

Description:

The .MC statement defines a Monte Carlo analysis for the appropriate simulation type. <runs> defines the number of simulation runs that will be performed for the Monte Carlo. <analysis> must be AC, DC, or TRAN. Currently, the <output> and the <function> entries are ignored and are set to V(1) and YMAX for compatibility with the PSpice syntax. Seed sets the random number seed which directly controls the sequence of random numbers generated by the program. When entering the analysis, the <runs> and Seed value are mapped into the Monte Carlo options dialog box.


.MEASURE Statement

.MEASURE Statement (SPICE or schematic)

General Form (SPICE or schematics)

.Measure <analysis type> <var1> <fname> <var2 > <FROM> <x1> <TO> <x2>

Examples

.measure TRAN P1 PP V(B) FROM=1 TO=2

.measure branmax max V(B) From=27m To=47m

.MEASURE TRAN PP1 PP V(OUT) FROM=0 TO=5U

This computes the peak-to-peak value of the expression V(OUT) from 0 to 5u in transient analysis and assigns the value to PP1.

.MEASURE TRAN RR1 RMS V(IN) FROM=0 TO=5U

This computes the RMS value of the expression V(IN) from 0 to 5u in transient analysis and assigns the value to RR1.

For more information on this command see the .Measure Functions article

.Measure commands are a set of tools that, like performance functions, make measurements on curves generated by the analyses.

.Measure commands are similar to those used in other simulators. Their inclusion in Micro-Cap is to make it easier for users familiar

with them. Many of the functions used in the .measure commands are also available as Performance functions described in the last chapter.

Note that .measure statements can be easily built using the Build command within the text dialog box. This convenient dialog box lets you fill in the

blanks and it creates the .Measure statement for you.

You can see .measure variables by

1) Plotting them in the analysis. Values are computed at the end of the analysis and then plotted as straight lines.

2) Viewing them in the Scope Menu / Measurements window.

3) Printing them in analysis text as in

Delay1= [dly1]

where dly1 would be a defined result variable from a .measure command. Don't forget to check the Formula option in the Text dialog box when creating the text.

Note that there are a group of .measure functions stored in the measure.lib and these are available to any circuit. Users may add to these as needed.

Note also that .measure functions are extensible. Unlike Performance functions, they can be extended and new ones invented as needed.


.MODEL Statement

.MODEL Statement (SPICE or schematic)

General Form:

.MODEL <model name> [AKO:<reference model name>] <model type>

+ ([<parameter name>=<value>] [LOT[t&d]=<tol1>[%]] [DEV[t&d]=tol2[%]])

where t&d is [<[/<lot#>][/GAUSS|UNIFORM|WCASE]]

Examples:

.MODEL 2N2222A NPN(BF=150 IS=1E-14)

.model M1 NMOS(KP=2.5E-5 VTO=1.345 CGDO=14.67p

+ CGBO=4.566p)

.MODEL DK D(IS=1E-18)

.model 2N2222A AKO:2N2222 NPN (BF=55 ISE=10F)

.Model BJT1 NPN (RE=12 LOT/1/GAUSS=30% DEV/2/UNIFORM=2%)

Description:

The model statement is one way to define the electrical behavior of a device. <model name> is the name used to reference or access a particular model. <model name> may begin with any number or letter, or with the underscore character. <value> may contain simple run-invariant expressions as in this example:

.MODEL M2 NMOS (VTO=3.5+TEMP*.0015...

This is legal because TEMP (operating temperature) is constant during the run.

The AKO (an acronym for A Kind Of) option lets you clone new models from existing ones. All of the AKO parameters except LOT and DEV are identical to the parent, except where overridden by the specified model values. In the following example, the 1N914A has the same parameters as the 1N914 except RS, which is 10.

.MODEL 1N914A AKO:1N914 D (RS=10)

Tolerances may be specified as an actual value or as a percentage of the nominal parameter value. Both absolute tracking tolerances (LOT) and relative non-tracking (DEV) tolerances may be specified.

Both types of tolerance are specified by placing a keyword after the parameter:

[LOT[t&d]=<tol1>[%]] [DEV[t&d]=tol2[%]]

This example specifies a 10% tolerance for the forward beta of Q1.

.MODEL Q1 NPN (BF=100 LOT=10%)

[t&d] specifies the tracking and distribution, using the following format:

[/<lot#>][/<distribution name>]

These optional specifications must follow the keywords LOT and DEV without spaces and must be separated by "/".

<lot#> specifies which of one hundred random number generators, numbered 0 through 99, are used to calculate parameter values. This lets you correlate parameters of an individual model statement (e.g. RE and RC of NPNA and BF of NPNB). The DEV random number generators are distinct from the LOT random number generators. Tolerances without <lot#> get unique random numbers.

<distribution name> specifies the distribution. It can be any of the following:

Keyword Distribution

UNIFORM Equal probability distribution

GAUSS Normal or Gaussian distribution

WCASE Worst case distribution

If a distribution is not specified in [t&d], the distribution specified in the Monte Carlo dialog box is used.

The model statements for the capacitor, inductor, resistor, diode, GaAsFet, JFET, MOSFET, and BJT devices can individually control the two temperatures.

Measurement temperature: This is the temperature at which the model parameters are assumed to have been measured and serves as a reference point for temperature adjusting the parameter values. The default value is the value set by the .options TNOM statement if present or if not, then the TNOM Global Settings value (which defaults to 27 degrees Celsius).

Device operating temperature: This is the temperature used to adjust the model parameters from their measured values.

To modify the measurement temperature, specify a value for the model parameter, T_MEASURED. For example,

.Model M710 NMOS (level=3 VTO=2.5 T_MEASURED=35)

There are three ways to modify the device operating temperature:

Keyword Device operating temperature

T_ABS T_ABS

T_REL_LOCAL T_REL_LOCAL + T_ABS(of AKO parent)

T_REL_GLOBAL T_REL_GLOBAL + global temperature

The global temperature is determined as follows:

SPICE circuits

In SPICE text circuits, the global temperature is the value set by the .TEMP statement, if present, or a .OPTIONS TNOM=<tempvalue>, if present, or finally, as a last resort, by the TNOM Global Settings value. When you first select an analysis type, the global temperature is determined and placed in the Temperature field of the Analysis Limits dialog box. When this dialog box comes up, you can change the temperature prior to starting the analysis run. Upon exit from the analysis, the final value in this field is used to create a .TEMP statement that is placed in the SPICE text file.

Schematics

In schematics, global temperature is the value in the Temperature field of the Analysis Limits dialog box. .TEMP statements have no effect.

Examples

In this example, the operating temperature is 35 degrees Celsius.

.MODEL N1 NPN(BF=50 T_ABS=35)

In this example, the operating temperature of N1 is 30 degrees Celsius and of N2 is 55 degrees Celsius.

.MODEL N1 NPN(BF=50 T_ABS=30)

.MODEL N2 AKO:N1 NPN(T_REL_LOCAL=25)

In this example, the operating temperature of N1 is 75 degrees Celsius. This segment of text would have to reside in a SPICE text circuit file for the .TEMP statement to have an effect.

.TEMP 35

.MODEL N1 NPN(BF=50 T_REL_GLOBAL=40)


.NODESET Statement

.NODESET Statement (SPICE or schematic)

General Form:

.NODESET <V(analog node)=analog value>*

.NODESET <D(digital node)=digital value>*

.NODESET <I(<inductor>)=<current value>*

Examples:

.NODESET V(12)=3.1 V(22)=1.4V

.nodeset v(7)=4 D(H1)=1 I(L3)=10m

Description:

The .NODESET statement provides an initial guess for node voltages, digital logic states, and inductor currents during the AC and transient analysis operating point calculation. It assigns the analog or digital value to the node and current value to the inductor but, unlike the .IC statement, it does not hold the value during the entire operating point calculation. If both an .IC and a .NODESET statement are present in the circuit, the .IC statement takes precedence and the .NODESET statement is ignored.

Note that using .NODESET statements to set the voltage across inductors or voltage sources is futile as their initial voltages are predetermined.

This command is similar to the .IC command. It applies to any DC operating point calculation, not just for transient analysis. Nodeset initializes as a hint or aid to the DC operating point calculation. Its principal use is in breaking numeric ties in metastable flip-flops, though it can help convergence in difficult circuits.

This command can affect transient analysis even when the operating point is disabled because it sets state variables.


.NOISE Statement

.NOISE Statement (SPICE files only)

General Form:

.NOISE V(node1[,node2]) <source name> [<interval value>]

Examples:

.NOISE V(4,3) VAC1 5

.NOISE V(10) V1 1.0

Description:

The noise command arguments are placed into the proper Micro-Cap fields upon selecting AC from the Analysis menu. The user should then select ONOISE, INOISE ,or both, as the Y expression. Simply selecting one of these variables enables the Noise analysis mode.

V(node1[,node2]) is any valid AC voltage variable and defines the output at which to measure the noise value. <source name> can be either an independent current or voltage source. It defines the input node(s) at which to calculate the equivalent input noise (inoise).

Noise analysis calculates the RMS value of the noise at the output specified by V(node1[,node2]), arising from the contributions of all noise sources within the circuit. All semiconductors and resistors contribute noise.

Note that selecting one of the noise variables precludes plotting normal AC small signal variables, like node voltages. You can't plot INOISE and V(1) at the same time.

Noise is plotted is units of Volts per root Hertz.


.OP Statement

.OP Statement (SPICE files only)

General Form:

.OP

Example:

.OP

Decription:

In a SPICE file, this command normally specifies that the results of the operating point calculation be printed. Since these are always printed to the Numeric Output window and the CIRCUITNAME.TNO or CIRCUITNAME.ANO file anyway, this command is redundant and has no effect.


.OPTIONS Statement

.OPTIONS (.OPT) Statement (SPICE or schematic)

General Form:

.OPTIONS [<option name>]* [<option name>=<option value>]*

Examples:

.OPTIONS GMIN=1e-10 RELTOL=1e-4

.OPTIONS NOOUTMSG DEFAD=.25U DEFAS=1.25U

Description:

This command lets you change the value of one or more constants for a particular circuit. A .Options statement overrides values from the Global Settings dialog box. Individual options are described in the Global Settings topic.


.PARAM

.PARAM Statement (SPICE or schematics)

General Form:

.PARAM <name = value>*

.PARAM <name = {expression}>*

Examples:

.PARAM CD4000B = 10V

.PARAM VPOW=15V, VGND=0V

.PARAM Rad = 2.3

.PARAM AREA = {PI*Rad*Rad}, CIRC = {2*PI*Rad}

.PARAM gain = {V(IN)*6.5}

Description:

The .PARAM statement is both an alternative and a supplement to the .DEFINE command. The value must be either a constant or expression. If it is an expression then it must be enclosed within curly brackets, {}. Expressions may contain parameters that have been defined in other .PARAM statements. The parameter name may not be any of the predefined parameters: PI, TEMP, VT, GMIN, etc. However, these predefined statements may be used within a parameter expression. Its most common use is within a subcircuit definition to create subcircuit parameters that may be passed in to the subcircuit when it is used in a circuit. The .PARAM statements may be stored in a library. Micro-Cap will search the libraries for the necessary .PARAM statements. A .PARAM statement in the text area will have precedence, otherwise, it will take the first appropriate .PARAM statement it finds in the libraries.

When the parameter name is used elsewhere, it must be enclosed in curly brackets. The following example demonstrates the use of the .PARAM statement with a subcircuit.

.PARAM RIN=100k

.SUBCKT RDIV 1 2

R1 1 2 {RIN}

R2 2 0 10k

The above example will use 100k as the default value for R1. This default value may be changed by changing the .PARAM statement in the library, or by placing a .PARAM statement in the text area or the SPICE file, such as:

.PARAM RIN=50k

In comparison to the .DEFINE statement, the syntax for the same application would be as follows:

.PARAM BF1={100+TEMP/20}

which could be used in the following model statement:

.MODEL Q1 NPN (BF={BF1})

The equivalent .DEFINE statement would be:

.DEFINE BF1 100+TEMP/20

used with the model statement:

.MODEL Q1 NPN (BF=BF1)

Essentially, the .PARAM statement requires curly brackets in definition and use while the .DEFINE does not.

As with the .DEFINE statement, <name> can't be a reserved variable name, such as T (time), F (frequency), or S (complex frequency), or a reserved constant name such as VT, TEMP, PI, or GMIN.


.PARAMETERS statement

.PARAMETERS statement (Schematics only)

General Form:

.PARAMETERS(<param1[=<value>]>[, <param2[=<value>]>]*)

Examples:

.parameters(GBW,Slew,ISC)

.PARAMETERS(Gain=1,Clip=10,Rin=50)

Description:

The .PARAMETERS statement is placed in a macro circuit as grid text or in the text area and declares the names of parameters to be passed to it from the calling circuit. A parameter is a numeric value that you pass to a macro circuit from the macro's Param attributes (or an equivalent .MACRO statement). It can be used in the macro circuit as, for example, the RESISTANCE attribute of a resistor, or as a model parameter value, such as the BF of a BJT transistor.

The optional default [=<value>] specifies a parameter's default value. This value is assigned to the parameter when the part is placed in the schematic. The value can be edited from the Attribute dialog box. If the parameter's default value is not specified in the .PARAMETERS statement within the macro, its value must be specified when the macro is placed in a circuit.

See the macro circuits SCR, XTAL, PUT, or TRIAC for an example of this command.


.PATH Statement

.PATH Statement (SPICE or Schematics)

General Form

.PATH DATA <datapath>

.PATH LIBRARY <libpath>

.PATH PICTURE <picpath>

.PATH DOCUMENT<docpath>

Examples

.PATH DATA C:\MC10\DATA

.PATH LIBRARY C:\MC10\LIBRARY

.PATH DATA F:\MC10\DATA

.PATH LIBRARY D:\LIB1

.PATH DOCUMENT F:\MC10\DOCUMENTS\

This command lets you specify a path for accessing data folder content (typically circuit files), library folder content (typically model files), picture folder content, and documentation (for default File Link or Micro-Cap manuals). It takes precedence over the global paths at File / Paths. It's a way to localize path information for a circuit.

Only a single path can be specified in a .PATH statement. To specify more than one path, enter multiple .PATH statements in the circuit.


.PLOT Statement

.PLOT Statement (SPICE files only)

General Form:

.PLOT <analysis type> [<output variable>]*

+ ([<lower limit value>,<upper limit value>])*

Examples:

.PLOT AC VDB(4) VP(6) (0,10)

.PLOT TRAN V(1) D(2)

Description:

This statement specifies what is to be plotted in the analysis plot. It enters the specified variables as simple waveform expressions in the Analysis Limits Y expression fields. <analysis type> is one of the following: AC, DC, NOISE, or TRAN. Output variables can be any valid node voltage, source current, or digital state.


.PRINT Statement

.PRINT Statement (SPICE files only)

General Form:

.PRINT <analysis type> [<output variable>]*

Examples:

.PRINT AC VDB(4) VP(10)

.PRINT NOISE ONOISE INOISE

Description:

This statement specifies what is to be printed in the Numeric Output window. It enters the specified variables as simple waveform expressions in the Analysis Limits Y expression fields. <analysis type> is one of the following: AC, DC, NOISE, or TRAN. <output variable> can be any valid node voltage, source current, or digital state. Numeric Output window contents are also saved in one of the following files:

CIRCUITNAME.TNO Transient analysis

CIRCUITNAME.ANO AC analysis

CIRCUITNAME.DNO DC analysis

Numeric formats for circuits is determined individually for each waveform in the Properties dialog box. The X and Y Format fields in the Numeric Output page control the format of the numeric output.


.SENS Statement

.SENS Statement (SPICE files only)

The .SENS statement is no longer supported. Sensitivity analysis has been replaced with the Worst Case analysis.


.SKIP_L_LOOP Statement

.SKIP_L_LOOP Statement (Schematic text area only)

General Form

.SKIP_L_LOOP

Example

.SKIP_L_LOOP

This statement skips all inductors when doing the Voltage Loop Check test. Some circuits can run even when there are inductors in a loop.


.SMOKE Statement

There is a special .Smoke statement that encapsulates its parameters. It operates much like the .Model statement. In the attribute dialog box you specify a Smoke name, which is usually the same as the model name. You can pick a name from the library or create a new one that is stored locally in the Model page with default parameters.

The Smoke parameters are referenced here. Smoke Parameters:


.SPICE Statement

.SPICE Statement (Schematic Text area only)

General Form

.SPICE

Example

.SPICE

This statement specifies the beginning of a .SPICE control block. It provides a method for combining SPICE netlist circuitry with the schematic circuitry. It is highly recommended that any nodes referenced in the SPICE netlist circuitry use node names since the node numbers on the schematic may change as the circuit is edited. These blocks are placed in the text area of a circuit. For example

.SPICE

R1 OUT A 100

C10 A 0 100N

.ENDSPICE

This set of commands creates a small network with a resistor and a capacitor and connects it to the OUT node in the main circuit. Node A is available for plotting.


.STEP Statement

.STEP Statement (SPICE files only)

General Form

Linear stepping format

.STEP LIN <name> <start> <end> <step> ;$MCE <parameter>

In this format, the value begins at <start>. <step> is added until <end> is reached. For each value a new simulation is run.

Log stepping format

.STEP [DEC | OCT] <name> <start> <end> <points> ;$MCE <parameter>

In this format, the value begins at <start>. The value is multiplied by an internally calculated value to produce <points> points between <start> and <end>. For each value a new simulation is run.

List stepping format

.STEP <name> LIST <value>* ;$MCE <parameter>

In this format, the value is stepped through the values in the list. For each value a new simulation is run.

Examples

.STEP LIN RES RES1(R) 0.5 2 0.3

.STEP DEC CAP POLY1(C) 10P 1N 10

.STEP RES RCARBON(R) LIST 1 2 3 4 5

This command implements the stepping feature for SPICE files. All standard stepping features available to schematic circuits are available to SPICE netlist circuits with this command.

The ;$MCE <parameter> addition extends the standard SPICE syntax to handle the parameters for simple components such as the value of a resistor, capacitor, or inductor. Many SPICE varieties require that these be stepped indirectly via the multiplier Model parameter.


.SUBCKT Statement

.SUBCKT Statement (SPICE or schematic)

General Form:

.SUBCKT <subcircuit name> [<node>]*

+ [OPTIONAL: <<interface node>=<default value>>*]

+ [PARAMS: <<parameter name>=<parameter default value>>*]

+ [TEXT: <<text name>=<text default value>>*]

Examples:

.SUBCKT LT1037 1 2 3 50 99

+ OPTIONAL: COMP=6

.subckt LT1037 1 2 3 4 5

.SUBCKT CLIP IN OUT PARAMS: LOW=0 HIGH=10

Description:

This statement marks the beginning of a subcircuit definition. The subcircuit definition ends with the .ENDS statement. All statements between the .SUBCKT and the .ENDS statements are included in the subcircuit definition.

<subcircuit name> is the name of the subcircuit and is the name used when the subcircuit is called or used by another circuit.

<node>* are the node numbers passed from the subcircuit to the calling circuit. The number of nodes in the subcircuit call must be the same as the number of nodes in the .SUBCKT statement. When the subcircuit is called, the nodes in the call are substituted for the nodes in the body of the subcircuit in the same order as in the .SUBCKT statement. Consider this example:

X1 1 2 BLOCK

.SUBCKT BLOCK 10 20

R1 10 0 1K

R2 20 0 2K

.ENDS

In this example, the resistor R1 is connected between node 1 and node 0 and R2 is connected between node 2 and node 0.

The OPTIONAL keyword lets you add one or more nodes to the subcircuit call. If the nodes are added, they override the default node values. This option is most often used to override the default digital global power pins. In the subcircuit call within a SPICE text file, you may specify one or more of the optional nodes in the call, but you must specify all nodes prior to and including the last one you want to specify. You can't skip any nodes, since the parser can't tell which nodes are being skipped. Consider this example:

.SUBCKT GATE 1 2

+ OPTIONAL: A=100 B=200 C=300

Any of the following are legal calls:

X1 1 2 GATE ;results in A=100 B=200 C=300

X2 1 2 20 GATE ;results in A=20 B=200 C=300

X3 1 2 20 30 GATE ;results in A=20 B=30 C=300

X4 1 2 20 30 40 GATE ;results in A=20 B=30 C=40

The keyword PARAMS lets you pass multiple numeric parameters to the subcircuit. <parameter name> defines its name and <parameter default value> defines the value it will assume if the parameter is not included in the subcircuit call. For example:

.SUBCKT BAND 10 20 30

+ PARAMS: F0=10K, BW=1K

Any of these calls are legal:

X1 10 20 30 BAND ;results in F0=10K, BW=1K

X2 10 20 30 BAND PARAMS: F0=50K, BW=2K ;results in F0=50K, BW=2K

X3 10 20 30 BAND PARAMS: BW=2K ;results in F0=10K, BW=2K

The keyword TEXT lets you pass text parameters to the subcircuit. <text name> defines the name of the text parameter and <text default value> defines the value it will assume if the parameter is not included in the subcircuit call. For example:

.SUBCKT PLA 1 2 3 4

+ TEXT: FILE="JE10.JED"

Either of these calls are legal:

X1 10 20 30 40 PLA ;results in file="JE10.JED"

X2 10 20 30 40 PLA TEXT:FILE="JE20.JED" ;results in file="JE20.JED"

The text parameter may be used:

1) To specify a JEDEC file name of a PLD component.

2) To specify a stimulus file name for a FSTIM device.

3) To specify a text parameter to a subcircuit.

4) As a part of a text expression in one of the above.


Object Editor - Title

This editor displays a list of all of the objects contained in the currently selected title block. When an object is highlighted, its coordinates will be displayed on the right side of the editor. These coordinates may be edited, and new objects may be added by clicking on the tool bar icons. The Object Editor consists of the following elements.

Objects list box: This list box contains a listing of all of the objects that comprise the title block.

Object parameters: These boxes contain the coordinates of each of the objects. Select an object to view its coordinates. Rectangles, diamonds, ellipses, arcs, lines, and text use two sets of coordinates to define the coordinates of the corners of the object's bounding box. The bounding box is a rectangular box that contains the object. Polygon parameters are a set of N, X, Y coordinates. The Included Title Block parameter is the coordinate of the position where the included title block has been placed. Coordinates are numerically equal to the number of grid positions from the upper left origin at the highest scale.

Delete: This command button deletes the selected object.

Close: This command button exits the Object Editor.

Help: This command button will invoke the Object Editor topic in the Help menu.

Tool Bar: This contains the following options:

Rectangle: This icon adds a rectangle to the object list. The first coordinate is the upper left corner, and the second coordinate is the lower right corner.

Diamond: This icon adds a diamond to the object list. The diamond is enclosed by a rectangular region. This region may be seen when the diamond is selected back in the drawing region of the Title Block Editor. The first coordinate is the upper left corner of the region, and the second coordinate is the lower right corner.

Ellipse: This icon adds an ellipse to the object list. Its coordinates are determined in the same manner as the diamond's.

Arc: This icon adds an arc to the object list. Its coordinates are determined in the same manner as the diamond's.

Line: This icon adds a line to the object list. The first coordinate is the starting point of the line, and the second coordinate is the ending point.

Closed Polygon: This icon adds a closed polygon to the object list. Each coordinate represents one of the vertices.

Open Polygon: This icon adds an open polygon to the object list. Each coordinate represents one of the vertices.

Include Title Block: This icon adds an existing title block to the object list. The coordinate is the upper left corner of its region, shown when it is selected.

Text: This icon adds a text object to the object list. The first coordinate is the upper left corner of its region, and the second coordinate is the lower right corner.

Import Picture: This icon selects the Import Picture dialog box which lets you import images as a part of your title block.

Border: This button changes the border color of the selected object.

Fill: This button changes the fill color of the selected object. The button will only be active when a fill is available for the object that has been selected.


.TEMP Statement

.TEMP Statement (SPICE files only)

General Form:

.TEMP <temperature value>

Examples:

.TEMP 25

.TEMP 0 50 100

Description:

Temperature sensitive parameters are modified for the operating temperature of the analysis. They are increased or decreased based upon the difference between the operating temperature and the measured temperature. The .TEMP statement specifies the operating temperature at which the circuit will be analyzed. The default value is 27 degrees Celsius.

The temperature at which device parameters are assumed to have been measured is called the measuring temperature (TNOM). It also defaults to 27 degrees Celsius. It is obtained from a .OPTIONS TNOM=XX statement. If this statement is not present in the file, the Global Settings TNOM value is used instead.


.TF Statement

.TF Statement (SPICE files only)

General Form:

.TF <output expression> <input source name>

Examples:

.TF V(OUT) V1

.TF VBE(Q1)*IB(Q1) VIN

Description:

In this type of analysis, the program calculates the small signal DC transfer function from the specified <input source name> to the specified <output expression>. It also calculates the small signal DC input and output resistances.


.TIE Statement

.TIE Statement (Schematics only)

General Form:

.TIE <part name> <pin name>

Examples:

.TIE JKFF CLKB

.TIE NPN Collector

.TIE 2N2222 Collector

Description:

The .TIE statement connects together all of the specified <pin name> pins of the specified <part name> parts. This is a convenient way of simultaneously connecting many common pins. It is normally used for power, clock, reset, and preset pins. The first example above specifies that the CLKB pins of all JKFF parts are to be connected together.

Note that <part name> is the general part name from the Component library, not a schematic part name. For example, in a circuit with three JKFF parts, named U1, U2, and U3, the CLKB pins would be connected with .TIE JKFF CLKB. The <pin name> is the name defined for the pin within the Component Editor. You can display the pin names in the schematic through the Display Pin Names checkbox within the Attribute dialog box of a component.

The second example above would connect the Collector pin of all NPN parts in the schematic no matter what model they have been defined with. The NPN part is chosen from the Analog Primitives/Active Devices section of the Component menu. The third example connects the Collector pin of all 2N2222 parts. The 2N2222 is chosen from the Analog Library/BJT section of the Component menu. If the 2N2222 part is chosen from the Analog Library for placement in the schematic, the second example would have no effect on it because the <part name> does not match, but the third example would work. If an NPN part is chosen from the Analog Primitives and its model defined as a 2N2222, the third example would have no effect on it because the <part name> does not match, but the second example would work. The <part name> can be viewed in the title bar of the Attribute dialog box.


.TR Statement

.TR Statement (Schematics only)

General Form:

.TR <s1 t1> [s2 t2...sn-1 tn-1 sn tn]

Example:

.TR 1n 100n .1n 200n 10n 1u

Description:

The .TR statement lets you set the maximum time step during different parts of transient analysis. In the above example the time step is limited to 1n from tmin to 100n. Between 100ns and 200ns it is limited to .1n. Between 200ns and 1us it is limited to 10n.

The purpose of this command is to provide some flexibility in simulating difficult circuits. It is mainly used when the circuit needs a more conservative (smaller) maximum time step during a critical part of the simulation but would have a very long run time if the smaller maximum time step were specified for the entire run.

Without this command, the Maximum Time Step parameter specified in the Analysis Limits dialog box controls the time step for the entire run


.TRAN Statement

.TRAN Statement (SPICE files only)

General Form:

.TRAN <printstep> <run stop time>

+ [<print start time> [<max time step>]] [UIC]

Examples:

.TRAN .003 .03 UIC

.TRAN 1M 100M 0 2M

Description:

The .TRAN command arguments control the transient analysis run parameters. The .TRAN command arguments are placed into the proper Micro-Cap fields upon selecting Transient from the Analysis menu. The conversion is as follows:

.TRAN value Micro-Cap effect or assignment

<printstep> Number of points =

1 + <run stop time>/<printstep>

<run stop time> Time range field = <run stop time>

<print start time> No effect

<max time step> Maximum time step = <max time step>

UIC Disables the Operating Point option

The <printstep> value declares the time interval between numeric printouts. The <run stop time> value specifies the last time point to be simulated. The UIC keyword (which is an acronym for Use Initial Conditions) instructs the simulator to skip the usual operating point calculation and use the initial conditions as specified in the .IC statements and device initial conditions.


.WARNING Statement

.WARNING Statement (Schematics only)

General Form

.WARNING ["Title"[,]] "Message" [,] condition [,print_expr]

Example 1

.WARNING "Capacitor overvoltage", V(C1) > 50

Typical output from a transient run for this example:

Warning:

Capacitor overvoltage at T=1.3u

Example 2

.WARNING "Reminder" , "Power is excessive", PDT > 5, V(VCC)

Typical output from a transient run for this example:

Reminder:

Power is excessive at V(VCC)=5.5

Example 3

.WARNING "AC Gain inadequate", dB(V(OUT)) < 41

Typical output from an AC run for this example:

Warning:

AC Gain inadequate at F=1E3

This command lets you define warning messages that appear if condition is TRUE. Condition is a Boolean expression like I(R1) > 2. If the condition is true during an analysis, the message is printed in the schematic along with the value of print_expr if it is specified. If print_expr is not specified then the analysis sweep variable (T in transient, F in AC, and DCINPUT1 in DC analysis) is printed. "Title" replaces the default "Warning".

All of the commas except the one preceding print_expr may be replaced with spaces.

You may use the "\n" format string within the "Message" in order to create a new line character.

The format for the print_expr is controlled by the Grid Text Formula text format in the Format page of the Circuit Properties dialog box.

A global part name can be used in condition. For example:

Examples of a warning condition that applies to a single part:

V(R1)>1 triggers the message when the voltage of R1 exceeds 1.

ES(C3)>100n triggers the message when the energy stored in C3 exceeds 100n.

Examples of a warning condition that applies to multiple parts:

PD(D@)>100mW triggers the message when the power dissipation of any two terminal device with a name that starts with the letter D exceeds 100mW.

I(RX@)>15m triggers the message when the current of any two terminal device with a name that starts with the letters RX exceeds 15m.

View the circuits WARN.CIR and WARN2.CIR to see examples of how to use the .WARNING statements.


.WATCH Statement

.WATCH Statement (SPICE files only)

General Form

.WATCH [DC][AC][TRAN] [<output_var>]*

Examples

.WATCH TRAN V(220) I(L1)

.WATCH AC DB(V(1)) PH(V(1))

.WATCH DC V(OUT)

The .WATCH command lets you specify numeric values to observe during a SPICE file analysis run. The value of one or more <output_var> expressions is computed and printed in the Watch window.

All of the things this command does can also be done from the Watch and Breakpoint windows. What this command primarily does is encode the watch information in a .WATCH command for saving with the SPICE file so it can be reused later.


.WCASE Statement

.WCASE Statement (Spice files only)

General Form

.WCASE <analysis> <output variable> <function> <analysis>

DC, AC, or TRAN must be specified for <analysis>.

<output variable>

The name of the output variable of the worst case analysis

<function>

Specifies the operation to be performed on the values of the <output variable> to reduce these to a single value. This value is the basis for the comparisons between the nominal and subsequent runs. <function> must be one of the following:

YMAX Find the absolute value of the greatest difference in each curve from the nominal run.

MAX Find the maximum value of each curve.

MIN Find the minimum value of each curve.

RISE_EDGE(<value>) Find the first occurrence of the curve crossing above <value>. The curve must have one or more points at or below <value> followed by one above; the output value listed is where the curve increases above <value>.

FALL_EDGE(<value>) Find the first occurrence of the waveform crossing below <value>. The waveform must have one or more points at or above <value> followed by one below the output value.

Examples

.WCASE AC V(OUT) MAX

.WCASE TRAN IC(Q7) MIN


Measurements Window dialog box

The Measurements window which is accessed from the Scope menu, displays the results of .measure statements and also of selected performance functions.

It contains these features:

Add: This adds a measure or performance function.

Delete: This deletes a measure or performance function.

Options: This controls a variety of options. Measurements Window options

Autosize: This command automatically adjusts the window size to fit the displayed functions.

Excel: This outputs the window contents to an Excel file.

Text: This outputs the window contents to a text file.

Help: This displays the help for the this Measurements window dialog box.


Inertial delays

Micro-Cap models all delays except those of the DLYLINE on the inertial model. Inertial delay models work on the physical principle that a signal must be impressed upon a device for a certain minimum time before the device will respond. The principle can be summarized as follows:

If the pulse width is less than the delay, the pulse is canceled.

In the circuit below, the pulse width is 10. That is greater than the delay of 5, so the pulse will pass:

In the following example, the pulse width is 2. Since that is less than the specified delay of 5, the pulse is inertially canceled.

Inertial cancellation can be turned off from the Preferences dialog box in the Options - Analysis section.

Transport delays

The alternative to inertial delay is transport delay. In this delay model, all signals are passed, regardless of the pulse duration. This type of delay is useful when you want to shift a signal by some fixed delay value without losing any of its narrow pulses. Only the DLYLINE device uses transport delay always. All delay parameters of all other devices are treated as inertial as long as the Inertial Cancellation in the Preferences dialog box is enabled.


Info command

The Info command accesses and displays modeling information about a component and some command statements. The command procedure is as follows:

First step: Click on the Info mode button [image] in the Tool bar.

Second step: Click on the component or command for which you want information.

The Info function will provide some information for all components and some command statements. It generally provides information that is not easily visible, such as a subckt listing or a model statement from an external file, a digital source stimulus table, or a Laplace or Function source data table. For simpler components without model statements, the Info function merely invokes the Attribute dialog box.

Text information found in the schematic is highlighted and shown as a part of the schematic whether it is in the drawing area or the text area. If the text is highlighted in the text area, Ctrl+G will toggle back to the drawing area. Other information is displayed in the Model Editor or the Text Editor.

For the .INCLUDE and .LIB command statements, Info displays the contents of the file referenced in the command statements.


Initialization - Flip-Flops and Latches

The default initialization of all flip-flops and latches is to the unknown state, X. The device will remain at an unknown state until a preset or clear pulse is received or until a known state is clocked in. The initialization value can be changed with the Global Setting DIGINITSTATE. If DIGINITSTATE is set to 0, then all flip-flops and latches will be cleared. If it is set to 1, all flip-flops and latches will be preset. A DIGINITSTATE value of 2 sets all flip-flops and latches to the default value of X. If the inputs to the device will produce a valid initialization state, then that value will override any DIGINITSTATE initialization value. For example, if DIGINITSTATE is set to 0 for clear, and the PREBAR node is initially active than the output will be preset. If the clock is initially unknown, then the output will also be unknown, no matter what the DIGINITSTATE value is set at.


Input/Output model

I/O Model

I/O models provide the information necessary to determine the output strength when devices are wire-ored together, and to create the interface circuits when the digital part is connected to an analog part.

I/O models are designed to capture the electrical information common to the IC technology and circuit techniques used to design and build them. Thus, a typical digital family will have only four or five I/O models. The only difference in the I/O models within a digital family is to account for the different circuits employed at the input or output, as, for example, in open-collector and Schmitt-trigger inputs.

I/O model format

.MODEL <I/O model name> UIO ([model parameters])

Example:

.model IO_STA UIO (DRVH=50 DRVL=100 AtoD1=AtoD_STA)

I/O Model Parameters Table:

*** These parameters are not yet supported

Name Parameter Units Default

INLD Input load capacitance farad 0

OUTLD Output load capacitance farad 0

DRVH Output high level resistance ohm 50

DRVL Output low level resistance ohm 50

***DRVZ Output Z state resistance ohm 250K

***INR Input leakage resistance ohm 30K

***TSTOREMN Min storage time for charge storage node sec 1E-3

AtoD1 AtoD interface circuit for level 1 AtoDDefault

DtoA1 DtoA interface circuit for level 1 DtoADefault

AtoD2 AtoD interface circuit for level 2 AtoDDefault

DtoA2 DtoA interface circuit for level 2 DtoADefault

AtoD3 AtoD interface circuit for level 3 AtoDDefault

DtoA3 DtoA interface circuit for level 3 DtoADefault

AtoD4 AtoD interface circuit for level 4 AtoDDefault

DtoA4 DtoA interface circuit for level 4 DtoADefault

TSWLH1 Low to high switching time for DtoA1 sec 0

TSWLH2 Low to high switching time for DtoA2 sec 0

TSWLH3 Low to high switching time for DtoA3 sec 0

TSWLH4 Low to high switching time for DtoA4 sec 0

TSWHL1 High to low switching time for DtoA1 sec 0

TSWHL2 High to low switching time for DtoA2 sec 0

TSWHL3 High to low switching time for DtoA3 sec 0

TSWHL4 High to low switching time for DtoA4 sec 0

***TPWRT Pulse width rejection threshold sec prop delay

DIGPOWER Power supply subcircuit name DIGIFPWR

INLD and OUTLD are used to compute the optional loading delay. This value increases the propagation delay through the device to account for excessive capacitive loading on the node caused by fan-out. Fan-out is the number of gate inputs connected to a device's output.

DRVH and DRVL are the high state and low state impedances used to determine output strength. Strength is used to resolve the output state when a digital output is connected to other digital outputs.

DRVZ, INR, and TSTOREMN are used to determine which nodes are to be treated as charge storage nets. This feature is not available in this version.

AtoD1 through AtoD4 and DtoA1 through DtoA4 supply the names of the interface circuits. INLD and the AtoD names do not apply to stimulus sources since they do not have inputs.

The switching times TSWLH1...TSWLH4 and TSWHL1...TSWHL4 are subtracted from the digital device's propagation delay on outputs which are connected to analog devices. The purpose is to compensate for the time it takes the DtoA interface circuit to switch. By compensating in this way, the analog signal at the other side of the DtoA interface should reach the switching level just when the digital device does at the stated delay. The values for these switching delays is determined by attaching a nominal load to a digital output, and measuring the switching time. If the switching time is greater than the stated delay, a delay of zero is used. These parameters are used only when analog nodes are connected to digital outputs.

The DIGPOWER parameter specifies the name of the power supply subcircuit to be used when an AtoD or DtoA interface is required. The default value is DIGIFPWR. This power supply subcircuit can be found in the DIGIO.LIB. It is the standard circuit for TTL and CMOS circuits.

Note that the TPWRT parameter is not included in this version. It is accepted as a parameter, but not processed.


Integration and differentiation

These functions are only available for plots and not for use in devices.

With respect to any variable

DER(u,x) Calculates the analytical derivative of u with respect to x. U must be an explicit expression like Sin(2*PI*1e6*T).

SUM(y,x[,start]) Running integral of y with respect to x, with optional start parameter. Integral begins at x=start. Start defaults to the analysis variable minimum (tmin, fmin, or dcmin), or 0, depending upon the integration variable, x.

With respect to the analysis variable (T, F, or DCINPUT1)

SD(y[,start]) Running integral of y with respect to T in transient, F in AC, or DCINPUT1 in DC, with an optional start parameter. Integral begins at start. Start defaults to the analysis variable minimum (tmin, fmin, or dcmin) according to the analysis type.

DD(y) Numerical derivative of y with respect to T in transient, F in AC, or DCINPUT1 in DC.

RMS(y[,start]) Running root-mean-square of y with respect to T in transient, F in AC, or DCINPUT1 in DC, with an optional start parameter. Integral begins at start. Start defaults to the analysis variable minimum (tmin, fmin, or dcmin) according to the analysis type.

AVG(y,[start]) Running average of y with respect to T in transient, F in AC or DCINPUT1 in DC, with an optional start parameter. Start defaults to tmin, fmin, or dcmin.

With respect to T (Time) only

SDT(y[,start]) Running integral of y with respect to T (Time). Integral begins at start. Start defaults to 0.

DDT(y) Numerical derivative of y with respect to T (Time).

Other

DEL(y) Change in y from the prior data point to the current point. A numerical derivative is formed by the ratio of two operators. For example, DEL(y)/DEL(t) approximates the numerical time derivative of y.

LAST(y,n) The n'th prior value of y. N=1 returns the value of y at the last timestep. N=2 returns the value of y at the timestep before last and so on.


IO_LEVEL

The IO_LEVEL parameter selects one of the four AtoD or DtoA interface subcircuits from the gate's I/O model. This is the subcircuit that will be called when an analog device is connected to the gate. The value placed in this parameter has priority over the DIGIOLVL value in the Global Settings The default is 0.

0 = Value of DIGIOLVL.

1 = AtoD1/DtoA1

2 = AtoD2/DtoA2

3 = AtoD3/DtoA3

4 = AtoD4/DtoA4


JFET - Ciss vs Vgs

Purpose: This screen estimates CGS.

Input: Enter values for Ciss and Vgs.

Conditions: The value of Vds at which the capacitance was measured.

Output: Model value for CGS.

Equations: Ciss=Crss+CGS/((1-Vgs/PB)^.5) {Vgs<FC*PB}

Ciss=Crss+CGS/((1-FC)^1.5)*(1-FC*1.5+.5*Vgs/PB)

{Vgs>=FC*PB}

Guidelines: Use data from the Ciss vs Vgs graphs. If unavailable, use typical table values.


JFET - Crss vs Vgs

Purpose: This screen estimates CGD, PB, and FC.

Input: Enter values for Crss and Vgs.

Conditions: The value of Vds at which the capacitance was measured.

Output: Model values for CGD, PB, and FC.

Equations: Crss=CGD/((1-(Vds-Vgs)/PB)^.5) {(Vds-Vgs)<FC*PB}

Crss=CGD/((1-FC)^1.5)*(1-FC*1.5+.5*(Vds-Vgs)/PB)

{(Vds-Vgs)>=FC*PB}

Guidelines: Use data from the Crss vs Vgs graphs. If unavailable, use typical table values.


JFET - Gos vs Id

Purpose: This screen estimates the value of LAMBDA.

Input: Enter values for Gos and Id.

Output: Model value for LAMBDA.

Equations: Gos=Id*LAMBDA

Guidelines: Use data from the Gos vs Id graphs. If unavailable, use typical table values.


JFET - Id vs Vgs

Purpose: This screen estimates BETA, VTO, and RS.

Input: Values for Vgs and Id.

Output: Model values for BETA, VTO, and RS.

Equations: Vgs=RS*Id-VTO-sqrt(Id/BETA)

Guidelines: Use data from the Id vs Vgs graphs. If unavailable, use typical table values.


JFET - Noise

Purpose: This screen estimates the value of KF and AF.

Input: Enter the values of En and frequency.

Conditions: The value of Id at which the measurement is made.

Output: Model value for KF and AF.

Equations: vgs = VTO + Id*RS + sqrt(Id/BETA)

gm = 2*BETA*(vgs - VTO)

En = sqrt((8*k*T*gm)/3 + (KF*ID^AF)/freq)/gm


JFET Graphs

Id vs Vgs

Gos vs Id

Crss vs Vgs

Ciss vs Vgs

Noise


JFET parameter table

Name Parameter Units Default Area

AF Flicker noise exponent 1.0

ALPHA Ionization coefficient 0.0

BETA Transconductance parameter A/sq. V 1E-4 *

CGD GD zero-bias junction cap. Farad 0.0 *

CGS GS zero-bias junction cap. Farad 0.0 *

FC Forward-bias depletion coefficient 0.5

LAMBDA Channel-Length modulation 1/V 0.0

IS Gate p-n saturation current Amps 1E-14 *

ISR Gate p-n recombination current Amps 0.00 *

KF Flicker noise coefficient 0.0

M Gate p-n grading coefficient 0.5

N Gate p-n emission coefficient 1.0

NR Emission coefficient for ISR 2.0

PB Gate junction potential Volts 1.0

RD Drain ohmic resistance Ohms 0.0 /

RS Source ohmic resistance Ohms 0.0 /

T_MEASURED Measured temperature Celsius undefined

T_ABS Absolute temperature Celsius undefined

T_REL_GLOBAL Relative to current temperature Celsius undefined

T_REL_LOCAL Relative to AKO model temperature Celsius undefined

VK Ionization knee voltage Volts 0.0

VTO Threshold voltage Volts -2.0

VTOTC VTO temperature coefficient Volt/Celsius 0

BETATCE Forward bias depletion coeff. %/Celsius 0

XTI IS temperature coefficient 3

Parameters BETA, CGS, CGD, and IS are multiplied by [area] and parameters RD and RS are divided by [area] prior to their use in the equations below.

T is the device operating temperature and Tnom is the temperature at which the model parameters are measured. Both are expressed in degrees Kelvin. T is set to the analysis temperature from the Analysis Limits dialog box. TNOM is determined by the Global Settings TNOM value, which can be overridden with a .OPTIONS statement. Both T and Tnom may be customized for each model by specifying the parameters T_MEASURED, T_ABS, T_REL_GLOBAL, and T_REL_LOCAL. Information on T_MEASURED, T_ABS, T_REL_GLOBAL, AND T_REL_LOCAL can be found in the . model temperature parameter section.


Labeling Nodes

In addition to the automatic node numbering of the schematic, it is also possible to label nodes with text. The node names can then be used when plotting a node voltage or referencing the node voltage in an equation. There are two methods available to label nodes.

1) While in Select mode [image], double click on a wire. This will invoke the Wire dialog box. One of the options in this dialog box is to label the wire with a node name.

2) While in Text mode [image], click once on a wire. You will get the Grid Text dialog box. Just type in the node name that you want. Node names can only be one line, so don't enter any line feeds with the Enter key.

Note that node labels cannot use spaces. The text "HIGH FIVE" will not attach to a node. Use an underscore as in "HIGH_FIVE" instead.

In either case, the text anchor (black square) will become a pin connection dot if the text has been successfully attached and the node labeled.


Loading delays

The propagation delay through a digital device is specified mainly in the timing model through the propagation delay parameters. The I/O model can also affect the propagation delay through a loading delay. The two loading delays (low to high and high to low) are calculated from the capacitive loading on the node prior to the simulation run. The capacitive load is derived from the I/O models for the devices that are connected to the node. The total capacitive load is obtained from the sum of all INLD values from devices whose inputs are connected and OUTLD values from devices whose outputs are connected. The total capacitive load is assumed to be driven by the device's driving impedances, DRVH or DRVL. The two loading delays are calculated for each device as follows:

Loading delay low to high = ln(2)*DRVH*CTOTAL

Loading delay high to low = ln(2)*DRVL*CTOTAL

During the simulation, one of these delays, depending upon the transition, is added to the timing model delay when an event is scheduled.


Low pass specifications

MODE 1:

Passband Gain

This is the low frequency gain in dB.

Passband Ripple (R)

This is the variation in gain (in dB) across the passband.

Stopband Attenuation (A)

This is the maximum gain in dB in the passband minus the maximum gain in dB at the stopband. Attenuation is a positive number.

Passband Frequency (Fc)

This is the frequency below which the gain is equal to the passband gain. For Chebyshev and Elliptic filters the passband gain varies with the order of the filter as follows:

Order Gain at DC Gain at passband edge

Even Passband Gain Passband Gain + Ripple

Odd Passband Gain Passband Gain - Ripple

Butterworth and inverse-Chebyshev passband gain varies as follows:

Type Gain at DC Gain at passband edge

Butterworth Passband Gain Passband Gain - Ripple

Inverse-Chebyshev Passband Gain < Passband Gain - Ripple

Inverse-Chebyshev filters meet the passband spec with margin and meet the stopband spec exactly, with no margin. Ideal realizations of the other filters do just the opposite. They meet the stopband spec with margin and meet the passband specs exactly, with no margin.

Stopband Frequency (Fs)

The frequency at which the gain has dropped by the stopband attenuation from the passband gain.

MODE 2:

Gain

This is the low frequency gain in dB.

Passband

This is the frequency below which the gain is equal to Gain.

Ripple

This is the variation in gain (in dB) across the passband.

Order

This is the filter order.


Monte Carlo Properties dialog box

This dialog box is used to add new histograms and to edit existing ones. It may be invoked by choosing the Add Histograms option under the Histograms section of the Monte Carlo menu to add a new histogram. Double clicking on the histogram window when in select mode, hitting the F10 hot key, or clicking on the Properties button, [image], all invoke this dialog box to edit the active histogram.

Plot page

Color page

Font page

Tool Bar page

OK: This accepts any edits and exits the dialog box.

Cancel: This cancels any edits and exits the dialog box.

Apply: This updates the histogram to show the effect of the changes. The changes are still temporary, taking effect only if the OK button is hit.

Help: This accesses the help topic for this dialog box.


Menu Contents

Contents

Menus

File

Edit

Component

Component Panel

Windows

Options

Analysis

Design

Model

Help


Mirroring schematic objects

Mirroring lets you define a rectangular region called a box and then copy a reflected image of the box contents. The mirroring procedure is as follows:

First step: Click on the Select mode button [image] in the Tool bar.

Second step: Drag the mouse to define a region containing the object or group of objects that you want to mirror. This creates a box encompassing the desired area. Normally, when you first create the box, you draw its boundaries just outside the area of interest, because if you touch one of the objects, you end up dragging it instead of creating the box. If you mirror with the box this way, you'll end up with unconnected sections due to the space between the objects and the original box boundaries. This is usually not what you want. The way around this is to use the box handles. These handles are on all four corners and each side of the box. These handles can be dragged to eliminate the spaces. This lets the mirroring process create contiguous, connected copy.

Third step: Click on the Mirror button, [image]. This invokes the Mirror dialog box. This dialog box lets you choose a vertical or horizontal reflection and whether or not you want to copy the box's grid text. A vertical reflection produces a copy vertically below the original region. A horizontal reflection, produces a copy horizontally to the right of the original region. All attributes are copied except Part name, which is incremented. Grid text, if copied, will be incremented if the Text Increment option in the Options\Circuit page of the Preferences dialog box is enabled.


Miscellaneous expressions

Harm(V(A)) Harmonics of V(A)

FFT(V(A)+V(B)) Forward Fourier transform of V(A)+V(B)

IFT(2*fmax*V(Out)) In AC analysis, using this Y expression and T as the X expression generates the impulse response of a network. V(Out) is the complex output voltage and fmax is the maximum frequency of the run.

CC(V(1),V(10)) Cross correlation of the waveforms, V(1) and V(10)

DEL(I(L1))/DEL(T) Numeric derivative of the current flowing in L1

SUM(V(Out),T) Numeric integral of the voltage waveform at the node Out with respect to time.

SUM(V(OUT),T,5n) Numeric integral of the voltage waveform at the node Out with respect to time, from T=5ns to end of tmax.

Sum(V(a),V(b),2) Numeric integral of the voltage waveform at the node A with respect to the node B, from V(B)=2 to the last value of V(B) at the end of the run.

Table(V(1),-10,-1,10,1) This table function returns -1 if V(1) is less than -10, .1*V(1) if V(1) is between -10 and 10, and 1 otherwise.

Import(A.OUT,V(1)) Imports waveform V(1) from the file A.OUT

Waveform(Test.usr,I(V1)) Imports User source waveform I(V1) from the file Test.usr.

JN(5,V(10),30) Computes the fifth order Bessel function of the first kind, using the first 30 terms of the series.

1+Series(n,1,10,pow(x,1)/fact(n))

Computes exp(x) from its series.

RMS(V(Out)) Running RMS value of the expression V(Out)

5*(T>10ns AND T<20ns) A non-periodic, 5V pulse, from 10ns to 20ns

5*((T mod 50)>10 AND (T mod 50)<20)

A 5V pulse, from 10s to 20s, with period 50s

IM(V(7)) Imaginary part of the complex voltage on node 7

MAG(VCE(Q1)*IC(Q1)) Magnitude of the complex AC power in device Q1

DB(V(Out)) Decibel magnitude of V(Out)


MNTYMXDLY

The MNTYMXDLY parameter selects the minimum, typical, or maximum delay values from the timing model. The value placed in this parameter has priority over the DIGMNTYMX value in the Global Settings. The default is 0.

0 = Value of DIGMNTYMX.

1 = Minimum timing delay

2 = Typical timing delay

3 = Maximum timing delay

4 = Worst case timing delay (minimum/maximum)


Mode Menu

The Mode Menu

The Mode Menu is used to transfer between the various entry and examination modes. The equivalent icons appear next to the option below.

Select (Ctrl+E): This option enables the select mode. Individual elements of the circuit can be selected by clicking on them. A double click on an element places the editor in edit mode. This is used to edit existing text or components. A group of elements is selected by drawing a box around them. Shift + Left mouse button is used to add an item to a group which is already selected. Shift + Box is used to add a group of items to a group which is already selected. SPACEBAR toggles between select mode and the last used mode.

Pan: This lets you move the schematic view with a left-click drag. Right-click drag also works in any mode..

Component (Ctrl+D): This option enables the device mode. The mouse is used to add the last component selected from the Component menu. When the left mouse button is clicked and held down, the right mouse button can be used to rotate the component.

Text (Ctrl+T): This option enables the text mode. Simply click the mouse at the point where text is to be added and this invokes the Text dialog box for entering text into a schematic. Grid text can be used for node names and model statements (which can also be placed in the text area). Typing Enter anywhere in the text causes it to start printing on a new line.

Wire (Ctrl+W): This option enables the wire mode. Wires are added by clicking and holding the left mouse button at the origin of the line, and then dragging the mouse to the end of the line and releasing the button. Micro-Cap will automatically add one corner to the line if both the horizontal and vertical endpoints of the line are different. Clicking the right mouse button while dragging will swap the vertical and horizontal segments of the wire. Holding the Shift key down while drawing a line will create just one straight line which will be the longer of the horizontal or vertical segments.

WireD: This option enables the diagonal wire mode. Wires are added by clicking and holding the left mouse button at the origin of the line, and then dragging the mouse to the end of the line and releasing the button. The wires drawn in this mode are straight and can be at any degree.

Bus: This mode is used to add Bus connectors to the schematic. Use one of the wire modes to enter the actual bus wires.

Check: This lets you create a Check variable. These variables have only two states; 1 if their box is checked and 0 if not.

The following graphical object drawing modes can be accessed through this icon. Clicking on this icon offers a list of shapes to choose among. The graphical objects have no electrical properties.

Line: This option enables the line drawing mode. Lines are added by clicking and dragging with the left mouse button. Double clicking on a line while in Select mode invokes the Line dialog box which enables you to edit some of the line features.

Rectangle: This option enables the rectangle drawing mode. Rectangles are added by clicking and dragging with the left mouse button. Double clicking on a rectangle while in Select mode invokes the Rectangle dialog box which enables you to edit some of the rectangle features.

Diamond: This option enables the diamond drawing mode. Diamonds are added by clicking and dragging with the left mouse button. Double clicking on a diamond while in Select mode invokes the Diamond dialog box which enables you to edit some of the diamond features.

Ellipse: This option enables the ellipse drawing mode. Ellipses are added by clicking and dragging with the left mouse button. Double clicking on an ellipse while in Select mode invokes the Ellipse dialog box which enables you to edit some of the ellipse features.

Triangle: This option enables the triangle drawing mode. Triangles are added by clicking and dragging with the left mouse button. Double clicking on a triangle while in Select mode invokes the Triangle dialog box which enables you to edit some of its features.

Arc: This option enables the arc drawing mode. Arcs are added by clicking and dragging with the left mouse button. Double clicking on a arc while in Select mode invokes the Arc dialog box which enables you to edit some of the arc features.

Pie: This option enables the pie drawing mode. Pies are added by clicking and dragging with the left mouse button. Double clicking on a pie while in Select mode invokes the Pie dialog box which enables you to edit some of the pie features.

Closed Polygon: This command lets you place a closed polygon in an analysis plot. The polygon is intended for use in defining valid specification ranges. After rough drawing a polygon object, double-clicking on it lets you type in more exact values. The key words MIN and MAX place a polygon vertex coordinate flush with the plot sides. Double clicking on a polygon while in Select mode invokes the Polygon dialog box which enables you to edit some of the polygon features.

Open Polygon: This command lets you place an open polygon in an analysis plot. The polygon is intended for use in defining valid specification ranges. After rough drawing a polygon object, double-clicking on it lets you type in more exact values. The key words MIN and MAX place a polygon vertex coordinate flush with the plot sides. Double clicking on a polygon while in Select mode invokes the Polygon dialog box which enables you to edit some of the polygon features.

Star: This option enables the star drawing mode. Stars are added by clicking and dragging with the left mouse button. Double clicking on a star while in Select mode invokes the Star dialog box which enables you to edit some of the pie features.

Left Brace: This mode is used to place a variable size left brace graphical object in the schematic. Double clicking on a brace while in Select mode invokes the Arc/Brace dialog box which enables you to edit some of the arc features.

Right Brace: This mode is used to place a variable size right brace graphical object in the schematic. Double clicking on a brace while in Select mode invokes the Arc/Brace dialog box which enables you to edit some of the arc features.

Brace Pair: This mode is used to place a variable size graphical object consisting of a pair of left and right braces in the schematic. Double clicking on a brace while in Select mode invokes the Arc/Brace dialog box which enables you to edit some of the arc features.

Flag: This option enables the flag mode. Flags are used to mark a specific spot on a schematic. Instead of panning the schematic, flags make it possible to jump from one area to another. Flags are added by clicking the left mouse button in the schematic. Upon releasing the left mouse button, the Text dialog box is invoked. This dialog box allows the input of the flag name. All flags on the schematic may be accessed by the Go To Flag option under the Edit menu.

Picture: This option enables the picture mode. This mode lets you place pictures in the schematic. In this mode, clicking in the schematic will invoke the Picture dialog box which lets you place a picture.

Spreadsheet: This option enables the spreadsheet mode. Click to add a spreadsheet to in the schematic.

Scale (F7): This option enables the scale mode. In this mode, the left mouse button drags an outline box to magnify a portion of the plot.

Cursor (F8): This option enables the cursor mode. In this mode, the display shows the numeric value of each waveform at each of two plot cursors. The left mouse button controls the left plot cursor and the right button controls the right plot cursor. The left cursor is initially placed on the first data point. The right cursor is initially placed on the last data point. The left or right arrow keys move the left or right cursor to a point on the selected waveform. Depending on the cursor positioning mode, the point may be the next local peak or valley, global high or low, inflection point, or simply the next data point. The direction is left or right depending on whether a left arrow or right arrow key is pressed. If the Shift key is used with the cursor key, the right cursor is moved, otherwise, the left cursor is moved.

Point Tag: This option enables the point tag mode. In this mode, the left mouse button is used to label a data point with its numeric (X,Y) value. The tag will snap to the nearest data point. Double clicking on a tag while in Select mode invokes the Tag dialog box which enables you to edit some of the tag features.

Horizontal Tag: This option enables the horizontal tag mode. In this mode, the left mouse button can be used to click and drag between two data points to measure the horizontal delta. Double clicking on a tag while in Select mode invokes the Measure dialog box which enables you to edit some of the tag features.

Vertical Tag: This option enables the vertical tag mode. In this mode, the left mouse button can be used to click and drag between two data points to measure the vertical delta. Double clicking on a tag while in Select mode invokes the Measure dialog box which enables you to edit some of the tag features.

Performance Tag: This mode lets you place a performance function tag on an analysis plot. The tag calculates the function each time the analysis is run and then labels the tag with the function value. Upon placing or editing a performance tag, the Performance Tag dialog box will be invoked which enables you to edit the features of the tag.

Help (Ctrl+H): This option enables the help mode. Clicking the left mouse button on an object in a schematic will invoke the help menu on that particular object.

Info (Ctrl+I): This option enables the information mode. Clicking the left mouse button on a component will display its model, timing, macro, or subcircuit description.

File Link: This option enables Link mode, in which clicking on grid text or a part shows its link, which is usually an internet URL, local file address, or a local executable program. For components, the linked file is defined within the Link field in the Component Editor.

Region Enable: This mode lets you drag select a region and assign to it a Boolean expression that typically depends upon values of symbolic (.define or .param) variables within the circuit within the circuit. Upon drawing a box in this mode, the Region Enable dialog box will be invoked to define the expressions and the properties of the box.

Point to End Paths: This option enables the digital point to end paths mode. Clicking the left mouse button on a digital component invokes the Digital Path dialog box which displays all the possible digital paths originating from the component along with the time delay through the paths. The highlighted path will be traced in the schematic.

Point to Point Paths: This option enables the digital point to point paths mode. Clicking the left mouse button on two separate components will invoke the Digital Path dialog box which will display any paths between the two along with their time delay. The highlighted path will be traced in the schematic.

Probe: (SPACEBAR) Since you can edit schematics while probing, this sets the mouse behavior to probing as opposed to editing.

Rubberbanding (SHIFT + CTRL + R): If enabled, this option causes drag operations to extend the circuit wires to maintain node connections. When disabled, drag operations sever selected wires at their endpoints and drag them without changing their shape or length.


Model library

The Model library provides the electrical modeling information required for any type of analysis or simulation. The original Micro-Cap library is contained in a collection of files listed in the general file 'NOM.LIB', found in the LIBRARY folder. If you examine the files referenced in this file, you will find that the models are provided in four forms.

Model parameter lists: These are lists of part names, types, and model parameters. The lists are stored in binary files using the extension 'LBR'. These files can be viewed and edited only with the Model Editor. Some of the Analog Library is stored in this form. Most vendor supplied models are subcircuits contained in text files using the extension LIB.

Model statements: These are conventional SPICE .MODEL statements. They hold the part names, types, and model parameters. They are stored in text files using the extension, 'LIB'. These are primarily used as a part of the subcircuit form of modeling.

Subcircuits: These are conventional SPICE subcircuits that describe the equivalent circuit for the part. The subcircuits are stored in text files using the extension, 'LIB'. All of the Digital Library is implemented with subcircuits.

Macros: These are conventional Micro-Cap macros that describe the equivalent circuit for the part. The general macros are stored in schematic files using the extension, 'MAC' or 'CIR'. The .MAC extension takes precedence when a macro circuit is searched for. The specific macro call that implements a particular part model is stored as a macro call in a text file using the extension 'LIB'. Some parts of the Analog Library are implemented in this form.

Of these four forms, the most common modeling forms are the model parameter lists and subcircuits.

Micro-Cap creates an index file for each model library file to rapidly access the models within. These index files are normally written at the same location as the model file itself. If the model library file is located in a read-only location (such as a public LAN folder), the index is written to a private folder within the Micro-Cap folder.

Adding subckt or model-defined parts to the model libraries:

To add a part defined by a subckt or model statement to the Micro-Cap libraries:

1) Copy the file containing the subckt or model statement to the specified Library directory. The file name should be something like MYFILE.LIB. The .LIB extension is optional.

2) Add the model library file name to the NOM.LIB text file located in the specified Library directory. Using the File menu Open command, open the file NOM.LIB. Press CTRL+End to go to the bottom of the list. Add a new entry listing your file name:

.LIB "MYFILE.LIB"

Close and save the NOM.LIB file. NOM.LIB is a master index file listing all of the files which contain modeling information in the form of model statements, subcircuit statements, or macro statements.

3) Make an entry in the Component library. Invoke the Component Editor from the Windows menu. Pick a location for the new part by clicking on a group name in the list at right. Click on the Add Component button in the Tool bar below the Component Editor name.

Name Field: Specify the same name used in the .subckt statement.

Shape Field: Pick a suitable shape name.

Definition Field: Specify SUBCKT.

If the circuit is a subcircuit, click in the shape to specify the location and name of the pins. Subcircuit pin names are usually numbers and must be the same as used in the .subckt statement. If the part is a primitive such as an NPN or an NMOS device, then the names will be supplied for you. Simply drag them into position on the shape. Both the name and the pin location can be dragged separately

Adding a macro-defined part to the model libraries:

To add a part defined by a macro to the Micro-Cap libraries:

1) Create the macro circuit. Label the pin names with text. Save the circuit file to the specified Library directory. The circuit file name should be something like MYMACRO.MAC. The extension is optional but must be either CIR or MAC. MAC is recommended.

2) Make an entry in the Component library: Invoke the Component Editor from the Windows menu. Pick a location for the new part by clicking on its group name in the list at right. Click on the Add Component button in the Tool bar below the Component Editor name.

Name Field: Specify the file name used when you saved the file, without the extension. For example, MYMACRO.

Shape Field: Pick a suitable shape name.

Definition Field: Specify MACRO.

Click in the shape to specify the location and name of the pins. Pin names are the grid text names used in the macro circuit .

The Import Wizard or Add Part Wizard can be a great help in adding components and will perform many of these steps for you. These wizards are available in the Component Editor.


Model parameter variables

You can print or plot a part's model parameter by using the following syntax:

PART_NAME.MODEL_PARAMETER_NAME

Here are some examples:

Q1.BF Forward beta of BJT Q1

M1.GAMMA GAMMA parameter of MOSFET M1

J1.VTO VTO of JFET J1

Since model parameters do not vary during an analysis, plots of these variables will produce straight lines. Why bother plotting them? If you are stepping a parameter, or running a Monte Carlo analysis, and you want to check the value of a parameter of a particular part for a particular run, plotting its model parameter value is a quick way to be sure it is being stepped through the values you want.


Model window

The principal components of the Model window are as follows:

Text fields: There are four Text fields: 'Name', 'Source', 'Memo', and 'Author'. The 'Name' and 'Memo' fields are imported to Micro-Cap model libraries. The 'Name' field holds the part name and is used in sorting. The other text fields serve only as additional documentation.

Numeric data fields: There are from one to three data fields, depending upon the device type and graph. From one to fifty data sets may be entered in the fields. The data is usually obtained from a data sheet graph. If the graph is not available, a single data point may be taken from the specification tables. If the specification value is not available, no data is entered and default values are used for the corresponding model parameters.

Model Graph: The model graph shows a plot of the curve for the model parameters in the Model fields. It also plots the numeric data points, if any are entered by the user. The quality of the fit can be judged by noting how close the data points match the model curve. A more rigorous estimate is shown in the error display just below the text fields. This error figure is the average percentage error of all data points.

Use Local Settings: This checkbox controls whether to use the global or local optimization settings. Local settings are local to the file. Local settings, if this checkbox is enabled, override global settings. These settings are available at Model / Options.

Use Log Error: This checkbox controls whether the error difference will be calculated using a linear or log difference. The log error check is more useful when the Y values in a curve span multiple decades.

Analysis Type: When a User type has been specified, this field defines the type of analysis that will be used for the optimization.

Circuit: When a User type has been specified, this field defines the circuit file that contains the circuit that is being optimized.

Parameter fields: Model parameters are changed by initialization or optimization, but may also be directly edited. This is sometimes useful to gauge the effect of a model parameter change. Occasionally, it is useful to manually initialize the model parameter values to obtain a better fit than can be obtained by using initialization.

Measurement Condition fields: These fields hold the value of any external test condition used in the measurement from which the data points were obtained.


Monte Carlo Statistics

The Monte Carlo Statistics option creates a text file that contains the information from the Monte Carlo runs. This file contains the low, mean, high, and standard deviation values from the histogram. It then displays all of the individual run statistics. The individual run statistics contain the value of the performance function for each run listed in order from the first run to the last run. The statistics file may be produced by choosing Statistics from the Monte Carlo menu when a histogram is the active window.

These files are saved under the following names:

Transient CIRCUITNAME.TMC

AC CIRCUITNAME.AMC

DC CIRCUITNAME.DMC


MOSFET - Cds vs Vds

All voltage and current values are entered as positive quantities for N-channel devices and negative quantities for P-channel devices.

Purpose: This screen estimates CBD, PB, FC, and MJ.

Input: The values of Ciss, Coss, and Crss.

Output: Model values for CBD, PB, FC, and MJ.

Equations: Cds=CBD/((1-Vds/PB)^MJ)

Guidelines: Use data from the specification tables or from the graphs.


MOSFET - Gate resistance

Purpose: This screen estimates RG, the gate resistance.

Input: Enter the value of Tf, the 90% to 10% fall time.

Conditions: The value of VDD and ID at which the measurement is made.

Output: Model value for RG.

Equations: The program runs a circuit simulation, measures the fall time, and adjusts RG to fit the specified value of Tf.

Guidelines: Use data from the specification tables or from the graphs.


MOSFET - Idss vs Vds

All voltage and current values are entered as positive quantities for N-channel devices and negative quantities for P-channel devices.

Purpose: This screen estimates RDS, the fixed resistor connected from drain to source. It models the drain-source leakage.

Input: One pair of Idss and Vds values.

Output: Model value for RDS.

Equations: RDS=Vds/Idss

Guidelines: Use data from the specification tables or from the graphs.


MOSFET - Output characteristic curves

All voltage and current values are entered as positive quantities for N-channel devices and negative quantities for P-channel devices.

Purpose: This screen estimates all of the principal model values except the capacitance values. It uses the already estimated values of W, VT, RD, RS, LAMBDA, KP, and L as an estimate and optimizes the fit of the characteristic Id vs Vds curves to the user data points.

Input: Triplets of Id, Vds, and Vgs values.

Output: Model values for W, VT, RD, RS, LAMBDA, KP, and L. KP and L are not optimized but are used in the calculation.

Equations: Ids=0 {Vgs<VT}

Ids=(KP*W/L)*(Vgs-VT-.5*Vds)*Vds*(1+LAMBDA*Vds)

{Vgs-Vth>Vds}

Ids=(.5*KP*W/L)*(Vgs-VT)^2*(1+LAMBDA*Vds)

{Vgs-Vth<Vds}

Guidelines: Use data from the output characteristic graphs. If unavailable, use typical table values. If the previous screens have been used, do not initialize before optimizing. Otherwise, use the initialize option prior to optimizing. If the Output Characteristic Curves are not available, skip this screen and use the model values from the prior screens.


MOSFET - Static drain-source on resistance vs Drain current

All voltage and current values are entered as positive quantities for N-channel devices and negative quantities for P-channel devices.

Purpose: This screen estimates RD.

Input: One or more pairs of Ron and Id values.

Conditions: The value of Vgs.

Output: Model value for RD.

Equations: beta=KP*W/L

vgst=Vgs-VT-Id*RS

vds=vgst-((vgst^2)-2*Id/beta)^.5

RON=RD+RS+1/(beta*(vgst-vds))

Guidelines: Use data from the Ron vs Id graphs. If unavailable, use typical table values. Use low current values for the best results.


MOSFET - Transconductance vs Ids

All voltage and current values are entered as positive quantities for N-channel devices and negative quantities for P-channel devices.

Purpose: This screen estimates KP, W, L, VT, and RS.

Input: One or more pairs of Gfs and Id values.

Output: Model values for KP, W, L, VT, and RS.

Equations: beta=KP*W/L

t1=(2*Id*beta)^.5

Gfs=t1/(1+RS*t1)

Guidelines: Use data from the Gfs vs Id graphs. If unavailable, use typical table values. Use data points from the highest current values to get the most accurate value of RS.


MOSFET - Vgs vs Qg

All voltage and current values are entered as positive quantities for N-channel devices and negative quantities for P-channel devices.

Purpose: This screen estimates CGSO and CGDO.

Input: Enter Q1 and Q2. Q1 is the gate charge at the first breakpoint in the graph. Q2 is the gate charge at the second breakpoint

Conditions: The value of VDS (or VDD) and ID for the measurement.

Output: Model values for CGSO and CGDO.

Equations: The program runs a circuit simulation and measures Vgs and Qgs

Guidelines: Use data from the specification tables or from the graphs.


MOSFET Graphs

All voltage and current values are entered as positive quantities for N-channel devices and negative quantities for P-channel devices.

Transconductance vs Ids

Static drain-source on resistance vs Drain current

Output characteristic curves

Idss vs Vds

Cds vs Vds

Vgs vs Qg

Gate resistance


MOSFET Model 11

The Philips Model 11 is a compact MOSFET model, intended for digital, analog, and RF circuit simulation in modern CMOS technologies. Its surface potential formulation assures continuity of derivatives across operating boundaries. The instance format is similar to other MOSFET devices but with fewer parameters. Note that the model includes no source or drain diodes. When needed, these are added using the JUNCAP diode model, usually as a part of a subcircuit which includes the MOSFET.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

M1

Mos4

VALUE attribute (Geometrical and Binning):

This attribute defines any of the optional MOSFET parameters:

[L=<length>] [W=<width>] [M=<no_parallel>]

Examples:

M=20 L=.4u W=2u

VALUE attribute (Electrical):

This attribute defines any of the optional MOSFET parameters:

[M=<no_parallel>]

Examples:

M=10

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2SK175

IRF024

Common attributes:

Description

<width> and <length> are the drawn device dimensions, before side diffusion, in meters. They can be specified as device attributes or as model parameters. Device attributes, if specified, supersede model parameters. If neither model nor device attributes are specified, they assume the default values of W=10u, L=2u.

<no_parallel> is the number of devices in parallel. If specified, it overrides the MULT model parameter, which multiplies the current-dependent and oxide capacitance model parameters.

Model statement

Syntax:

.MODEL <model name> NMOS([Model 11 model parameters])

Examples:

.MODEL M1 NMOS( Level=11023 DTA=0 KOV=2 NU=1.8 MULT=3)

.model M2 nmos( Level=11021 A1=6 A2=35 A3=.5 BACC=45)

The available model parameters can be viewed in the Reference manual.

Model Levels

There are actually fourteen versions of Model 11 available for use within Micro-Cap. The first release (1100) had only two types, electrical and geometrical. Each of the last two versions that Philips has released (1101 and 1102) came in two varieties (thermal and standard) of three variations (electrical, geometric, and binning). Although for legacy purposes each is available for use in Micro-Cap, only the latest model, 1102.3, dated March 2006, is documented in the Reference manual.

First Release 1100

Level Philips Description

11001 1100 Electrical

11002 1100 Geometrical

Second Release 1101

Level Philips Description

11011 1101 Electrical

11012 1101 Geometrical

11013 1101 Binning

11014 1101 Electrical Thermal

11015 1101 Geometrical Thermal

11016 1101 Binning Thermal

Third Release 1102

Level Philips Description

11021 1102 Electrical

11022 1102 Geometrical

11023 1102 Binning

11024 1102 Electrical Thermal

11025 1102 Geometrical Thermal

11026 1102 Binning Thermal

SPICE format:

Syntax for Geometrical and Binning models

M<name> <drain> <gate> <source> <bulk> <model name>

+ [L=<length>] [W=<width>] [M=<no_parallel>]

Syntax for Electrical model

M<name> <drain> <gate> <source> <bulk> <model name>

+ [M=<no_parallel>]

Example of device instance for Geometrical and Binning models

MS 1 2 3 4 NSC L=.25u W=1.2u M=20

The drain, gate, source, and bulk node numbers are represented by <drain>, <gate>, <source> , and <bulk>. SPICE MOSFET names must begin with the letter M.


MOSFET Model 20

The Philips Model 20 is an asymmetrical, surface-potential-based LDMOS model, that describes the transition from weak to strong inversion in the channel region, as well as from accumulation to depletion in the drift region. It provides a good physical description of effects important for LDMOS devices, such as weak and strong inversion in the channel region, accumulation and depletion in the drift region, mobility reduction in both the channel and the drift region, velocity saturation in the channel region, conductance effects of the channel region (channel length modulation, DIBL and static feedback), and weak avalanche currents in the channel region.

Note that the model includes no source or drain diodes. When needed, these are added using the JUNCAP diode model, usually as a part of a subcircuit which includes the MOSFET.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

M1

Mos4

VALUE attribute (Geometrical):

This attribute defines any of the optional MOSFET parameters:

[W=<channel_width>] [WD=<drift_width>] [M=<no_parallel>]

Examples:

M=20 L=.4u W=2u

VALUE attribute (Electrical):

This attribute defines any of the optional MOSFET parameters:

[M=<no_parallel>]

Examples:

M=10

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2SK175

IRF024

Common attributes:

Description

In the Geometrical model, <channel_width> and <drift_width> are the drawn widths of the channel and drift region, before side diffusion, in meters. They can be specified as device attributes or as model parameters. Device attributes, if specified, supersede model parameters. If neither model nor device attributes are specified, they assume the default values of W=20u, WD=20u.

<no_parallel> is the number of devices in parallel. If specified, it overrides the MULT model parameter, which multiplies the current-dependent and oxide capacitance model parameters.

Model statement

Syntax:

.MODEL <model name> NMOS([Model 20 model parameters])

Examples:

.MODEL M1 NMOS( Level=20015 A2=70 A3=2 ALP=1.8m COXW=1f)

.model M2 nmos( Level=20021 A1=6 A2=35 A3=.5 BETACC=2m)

The available model parameters can be viewed in the Reference manual.

Model Levels

There are two versions of Model 20 available for use within Micro-Cap, the Electrical and the Geometric. The latest model, dated March 2006, is documented in the Reference manual.

MC Level Philips Level Description

20011 20.01 MOS20 Electrical

20012 20.01 MOS20 Geometrical

20014 20.01 MOS20 Electrical Thermal

20015 20.01 MOS20 Geometrical Thermal

20021 20.02 MOS20 Electrical

20022 20.02 MOS20 Geometrical

SPICE format:

Syntax for Geometrical model

M<name> <drain> <gate> <source> <bulk> <model name>

+ [W=<channel_width>] [WD=<drift_width>] [M=<no_parallel>]

Syntax for Electrical model

M<name> <drain> <gate> <source> <bulk> <model name>

+ [M=<no_parallel>]

Example of device instance for Geometrical and Binning models

MS 1 2 3 4 NSC W=20u WD=25u M=200

The drain, gate, source, and bulk node numbers are represented by <drain>, <gate>, <source> , and <bulk>. SPICE MOSFET names must begin with the letter M.


MOSFET Model 31

The Philips Model 31 is a physics based device model suitable for high voltage applications. The model describes the electrical behavior of a junction isolated accumulation / depletion MOSFET. The model is used as the drain extension of high voltage MOS devices, like the Lateral Double-diffused (LDMOS), Vertical Double-diffused (VDMOS), and Extended MOS transistors.

Note that the model includes no source or drain diodes. When needed, these are added using the JUNCAP diode model, usually as a part of a subcircuit which includes the MOSFET.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

M1

Mos4

VALUE attribute:

This attribute defines any of the optional MOSFET parameters:

[M=<no_parallel>]

Examples:

M=10

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2SK175

IRF024

Common attributes:

Description

<no_parallel> is the number of devices in parallel. If specified, it overrides the MULT model parameter, which multiplies the current-dependent and oxide capacitance model parameters.

Model statement

Syntax:

.MODEL <model name> NMOS([Model 31 model parameters])

Example:

.MODEL M1 NMOS( Level=31001 ACH=1 CGATE=2p RON=8 RSAT=90)

The available model parameters can be viewed in the Reference manual.

Model Levels

There are two versions of Model 31 available for use within Micro-Cap, one that includes self-heating (thermal) effects and one that does not. The latest model, dated March 2006, is described in the Reference manual.

MC Level Philips Level Description

31001 3100.3 Model 31

31004 3100.3 Model 31 Thermal

SPICE format:

Syntax

M<name> <drain> <gate> <source> <bulk> <model name>

+ [M=<no_parallel>]

Example

MS 1 2 3 4 NSC M=200

The drain, gate, source, and bulk node numbers are represented by <drain>, <gate>, <source> , and <bulk>. SPICE MOSFET names must begin with the letter M.


MOSFET Model 40

The Philips Model 40 is a physics based model for high voltage applications. The model describes the electrical behavior of an accumulation / depletion type MOSFET in Silicon-on-Insulator (SOI) processes. The model is used as a drain extension of high-voltage MOS devices, like the Lateral Double-diffused MOS (LDMOS), the Vertical Double-diffused MOS (VDMOS), and the Extended MOS transistors.

Note that the model includes no source or drain diodes. When needed, these are added using the JUNCAP diode model, usually as a part of a subcircuit which includes the MOSFET.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

M1

Mos4

VALUE attribute:

This attribute defines any of the optional MOSFET parameters:

[M=<no_parallel>]

Examples:

M=10

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2SK175

IRF024

Common attributes:

Description

<no_parallel> is the number of devices in parallel. If specified, it overrides the MULT model parameter, which multiplies the current-dependent and oxide capacitance model parameters.

Model statement

Syntax:

.MODEL <model name> NMOS([Model 40 model parameters])

Example:

.MODEL M1 NMOS( Level=40001 ACH=1 CGATE=2p RON=8 RSAT=90)

The available model parameters can be viewed in the Reference manual.

Model Levels

There are two versions of Model 40 available for use within Micro-Cap, one that includes self-heating (thermal) effects and one that does not. The latest model, dated March 2006, is documented in the Reference manual.

MC Level Philips Level Description

40001 40.2 Model 40

40004 40.2 Model 40 Thermal

SPICE format:

Syntax

M<name> <drain> <gate> <source> <bulk> <model name>

+ [M=<no_parallel>]

Example

MS 1 2 3 4 NSC M=200

The drain, gate, source, and bulk node numbers are represented by <drain>, <gate>, <source> , and <bulk>. SPICE MOSFET names must begin with the letter M.


MOSFET parameter table

These parameters are only applicable to Levels 1, 2, and 3. The BSIM and EKV model parameters may be found in the reference manual.

Name Parameter Units Default Level

LEVEL Model level (1,2,3) 1

VTO Zero-bias threshold voltage Volts 0 all

KP Transconductance A/sq V 2e-5 all

L Length m DEFL all

W Width m DEFW all

GAMMA Body threshold parameter sqrt(V) 0 all

PHI Surface inversion potential Volts 0.6 all

LAMBDA Channel length modulation 1/V 0 1,2

RD Drain ohmic resistance Ohms 0 all

RS Source ohmic resistance Ohms 0 all

CBD Zero-bias BD junction cap. F 0 all

CBS Zero-bias BS junction cap. F 0 all

IS Bulk pn saturation current Amps 1e-14 all

PB Bulk pn bottom potential Volts 0.8 all

CGSO GS overlap cap. per meter F/m 0 all

CGDO GD overlap cap. per meter F/m 0 all

CGBO GB overlap cap. per meter F/m 0 all

RSH Source and drain sheet res. Ohms/sq 0 all

CJ Bulk zero-bias bottom cap. F/sq m 0 all

MJ Bulk bottom grading coeff. 0.5 all

CJSW Bulk zero-bias sidewall cap. F/sq m 0 all

MJSW Bulk sidewall grading coeff. 0.33 all

JS Bulk saturation current density A/sq m 0 all

TOX Oxide thickness m 1E-7 all

NSUB Substrate doping 1/cm^3 NONE 2,3

NSS Surface state density 1/cm^2 NONE 2,3

NFS Fast surface state density 1/cm^2 NONE 2,3

TPG Type of material 1 2,3

XJ Metallurgical junction depth m 0 2,3

LD Lateral diffusion (length) m 0 all

WD Lateral diffusion (width) m 0 all

UO Surface mobility sq cm/V/s 600 2,3

UCRIT Mobility critical field V/cm 1e4 2

UEXP Mobility exponent 0 2

UTRA Mobility trans. field coeff. m/s 0 2

VMAX Maximum carrier drift velocity m/s 0 2,3

NEFF Total channel charge coeff. 1 2

KF Flicker noise coefficient 0 all

AF Flicker noise exponent 1 all

FC Forward bias depletion coeff. 0.5 all

DELTA Threshold width effect 0 2,3

THETA Mobility modulation 1/V 0 3

ETA Static feedback on VTO 0 3

KAPPA Saturation field factor 0.2 3

RG Gate ohmic resistance Ohms 0 all

RB Bulk ohmic resistance Ohms 0 all

RDS Fixed DS parallel resistance Ohms INF all

JSSW Bulk pn sidewall current den. A/m 0 all

N Bulk pn emission coefficient 1 all

PBSW Bulk pn sidewall potential Volts PB all

TT Bulk pn transit time sec. 0 all

T_MEASURED Measured temperature Celsius undefined all

T_ABS Absolute temperature Celsius undefined all

T_REL_GLOBAL Relative to current temperature Celsius undefined all

T_REL_LOCAL Relative to AKO model temperature Celsius undefined all

T is the device operating temperature and Tnom is the temperature at which the model parameters are measured. Both are expressed in degrees Kelvin. T is set to the analysis temperature from the Analysis Limits dialog box. TNOM is determined by the Global Settings TNOM value, which can be overridden with a .OPTIONS statement. T and Tnom may be customized for each model by specifying the parameters T_MEASURED, T_ABS, T_REL_GLOBAL, and T_REL_LOCAL. Information on T_MEASURED, T_ABS, T_REL_GLOBAL, AND T_REL_LOCAL can be found in the .model temperature parameter section.


MOSFET PSP Model

The PSP model is a relatively new compact MOSFET model, jointly developed by Philips Research and Penn State University. It is a surface-potential based MOS model, describing the key physical effects necessary to model modern deep-submicron bulk CMOS technologies. These effects include mobility reduction, velocity saturation, DIBL, gate current, lateral doping gradient effects, and STI stress. The source/drain junction model, called the JUNCAP2 model, is an integrated part of the PSP model.

Schematic format:

PART attribute:

<name>

This attribute defines the part name.

Examples:

M1

Mos4

VALUE attribute (Geometrical and Binning):

This attribute defines any of the optional MOSFET parameters:

[L=<l>] [W=<w>] [SA=<source_od-poly_distance>] [SB=<drain_od-poly_distance>]

[ABSOURCE=<bottom_area_source>] [ABDRAIN=<bottom_area_drain>]

[LSSOURCE=<sti_edge_source>] [LSDRAIN=<sti_edge_drain>]

[LGSOURCE=<gate_edge_source>] [LGDRAIN=<gate_edge_drain>]

[AD=<drainarea>] [AS=<sourcearea>]

[PD=<drainperiphery>] [PS=<sourceperiphery>] [MULT=<no_parallel>]

Examples:

MULT=10 W=.5u L=.1u SA=.2u SB=.25u

VALUE attribute (Electrical):

This attribute defines any of the optional MOSFET parameters:

[ABSOURCE=<bottom_area_source>] [ABDRAIN=<bottom_area_drain>]

[LSSOURCE=<sti_edge_source>] [LSDRAIN=<sti_edge_drain>]

[LGSOURCE=<gate_edge_source>] [LGDRAIN=<gate_edge_drain>]

[AD=<drainarea>] [AS=<sourcearea>]

[PD=<drainperiphery>] [PS=<sourceperiphery>] [MULT=<no_parallel>]

[JW=<jw>]

Examples:

ABSOURCE=5p ABDRAIN=18p LSSOURCE=.2u

MODEL attribute:

<model name>

This attribute defines the model name for the model statement. The model statement may be defined in the text area, the schematic area, or in the libraries.

Examples:

2SK175

IRF024

Common attributes:

Description

<w> and <l> are the drawn device dimensions, before side diffusion, in meters.

<source_od-poly_distance> is the distance between OD-edge and poly at the source side.

<drain_od-poly_distance> is the distance between OD-edge and poly at the drain side.

<bottom_area_source> is the source junction bottom area. <bottom_area_drain> is the drain junction bottom area.

<sti_edge_source> is the STI-edge part of source junction perimeter. <sti_edge_drain> is the STI-edge part of drain junction perimeter.

<gate_edge_source> is the gate-edge part of source junction perimeter. <gate_edge_drain> is the gate-edge part of drain junction perimeter.

<sourcearea> and <drainarea> are the diffusion areas (sq. m).

<sourceperiphery> and <drainperiphery> are the diffusion peripheries (m).

<no_parallel> is the number of devices in parallel. If specified, it overrides the MULT model parameter, which multiplies the current-dependent and oxide capacitance model parameters.

<jw> is the gate-edge length of source/drain junction. If specified, it overrides the JW model parameter.

These device instance parameters can be specified as device attributes or as model parameters. Device attributes, if specified, supersede model parameters.

Model statement

Syntax:

.MODEL <model name> NMOS([PSP model parameters])

Examples:

.MODEL M1 NMOS( Level=102 A1=6 A2=35 A3=.5 AD=5p)

.model M2 nmos( Level=1020 A1O=6 A2O=35 A3O=.5 AD=5p)

The available model parameters can be viewed in the Reference manual.

Model Levels

There are three versions of PSP model available, an electrical model, a geometrical model, and a binning model. Each is based on the Philips model 102, dated July 2006. There is no thermal version of this model.

MC Level Philips Level Description

102 102.0 PSP electrical

1020 102.0 PSP geometrical

1021 102.0 PSP binning

SPICE format:

Syntax for Geometrical and Binning models

M<name> <drain> <gate> <source> <bulk> <model name>

+ [L=<length>] [W=<width>]

+ [SA=<source_od-poly_distance>] [SB=<drain_od-poly_distance>]

+ [ABSOURCE=<bottom_area_source>]

+ [ABDRAIN=<bottom_area_drain>]

+ [LSSOURCE=<sti_edge_source>] [LSDRAIN=<sti_edge_drain>]

+ [LGSOURCE=<gate_edge_source>] [LGDRAIN=<gate_edge_drain>]

+ [AD=<drainarea>] [AS=<sourcearea>]

+ [PD=<drainperiphery>] [PS=<sourceperiphery>]

+ [MULT=<no_parallel>]

Syntax for Electrical model

M<name> <drain> <gate> <source> <bulk> <model name>

+ [ABSOURCE=<bottom_area_source>]

+ [ABDRAIN=<bottom_area_drain>]

+ [LSSOURCE=<sti_edge_source>] [LSDRAIN=<sti_edge_drain>]

+ [LGSOURCE=<gate_edge_source>] [LGDRAIN=<gate_edge_drain>]

+ [AD=<drainarea>] [AS=<sourcearea>]

+ [PD=<drainperiphery>] [PS=<sourceperiphery>]

+ [MULT=<no_parallel>]

+ [JW=<jw>]

Example of device instance for Geometrical and Binning models

MS 1 2 3 4 NSO W=.2u L=.09u SA=.12u SB=.12u

The drain, gate, source, and bulk node numbers are represented by <drain>, <gate>, <source> , and <bulk>. SPICE MOSFET names must begin with the letter M.


Moving schematic objects

First step: Click on the Select mode button [image] in the Tool bar.

Second step: Select the object or group of objects.

Third step: Drag the selected object or group. Slide the mouse across the drawing to the desired location and release the mouse button. Be sure to drag within the body of the object or within the selected region. If you don't, you will deselect whatever had been selected. If this happens go to the second step and try again.


Navigating schematics

Navigating means being able to quickly display the part of the schematic you are interested in. There are several methods to accomplish this.

Schematic scrolling: Scroll the schematic using the vertical or horizontal scroll bars. This is the conventional method. It is slow but sure.

Scaling: Use the Zoom-In [image] or Zoom-Out [image] buttons in the Tool menu to re-size the schematic and get your bearing.

Panning: Pan the schematic. Panning means to move the view to a different part of the circuit. In keyboard panning you use CTRL + <CURSOR KEY> to move the view in the direction of the cursor key arrow. In mouse panning you click and hold the right mouse button, while dragging the mouse. The effect is like sliding a piece of paper across a desktop.

Centering: Use the SHIFT+click method to re-center the view. While holding down the SHIFT button, click the right mouse button at the point you want centered in the window. Clicking toggles the scale between 1:1 and 1:4 and centers the schematic at the mouse position.

Flagging: Place flags at locations you expect to revisit. Then select a flag from the Select Flag dialog box which is accessed from the [image] button or from the Go To Flag item on the Edit menu.

Page scrolling: Use the Page scroll bar if the desired area is on another page. You can also use CTRL+PGUP and CTRL+PGDN to navigate the pages.

Although users are encouraged to adopt the method that works best for them, each navigational method tends to work best in different circumstances. For small to medium view changes, use panning. For large changes in medium size schematics, use centering, or for very large changes in very large schematics, use flags.


Node number assignment

Micro-Cap automatically assigns numbers to the circuit nodes when an analysis is requested, when the circuit is saved to disk, or when any change is made to the circuit and the Options/View/Node Numbers, [image], is enabled. Node numbers are displayed on the schematic only when this option is enabled. When you want to plot or print a node's voltage waveform, you refer to the waveform as V(node name) for an analog node or D(node name) for a digital node, where the node name may be either the node number assigned by the program or a text name assigned by you. For Micro-Cap to associate the node names with the node, the lower left corner of the text outline box must be placed directly on the node. Node Snap, if enabled in the Options\Circuit page of the Preferences dialog box, makes this easier by moving the text to the nearest node within one grid.

The system assigns and displays node numbers according to the following rules:

1. Ground is node number 0, but its node number is never displayed.

2. The other nodes are numbered from 1 to the highest node number.

3. When an analog and a digital node touch, or are connected by a wire, both nodes are assigned a unique number. The program automatically inserts an interface circuit between the two nodes. The interface circuit generates an interface node of the form <num>$ATOD or <num>$DTOA depending upon whether the digital node is an input or an output, respectively. If the interface node is accessible, it will be printed on the schematic. In general, interface nodes between analog parts and digital primitives are accessible unless they occur at a subcircuit interface.

4. Analog node numbers are displayed in a box with rounded corners while digital node numbers are displayed in a box with square corners.

5. Nodes with the same text node name are connected together. That is, if two separate nodes each have a piece of identical text placed on them, they are considered to be connected and will share the same node name. This provides a convenient way of connecting large numbers of common nodes, without having to use wires to connect them.

The V() and D() expressions can be used to plot the values on either analog or digital nodes. However, if you plot V(Dout) where Dout is a digital node, it will show the digital state and not its equivalent analog voltage. Similarly, D(In) where In is an analog node will show the analog voltage and not an equivalent digital state.


NOISE type

Name Description Units Default

Interval Interval between values Secs 0

Amplitude Noise amplitude V or A 0

Start Time Start of random interval Secs 0

End Time End of random interval Secs 0

Seed Random number seed None 0

The waveform starts at the dcvalue and stays there through Start Time. Interval seconds later a random value between + amplitude/2, and - amplitude/2 is added to the baseline dcvalue. Interval seconds later another random value is added to the dcvalue and the source is updated. This process is repeated every interval seconds until End Time where the waveform value returns to the dcvalue. Note that the value at T = Start Time and T = End Time is dcvalue. The first random value occurs at T = Start Time + interval. The last random value occurs at T = End Time - interval.

If seed is >=1 the values are random but are the same on every run. Otherwise the values are both random and different on every run. The seed is initialized at the beginning of every temperature, Monte Carlo, or stepping run.


Notch specifications

MODE 1:

Passband Gain

This is the maximum gain in dB outside the passband.

Passband Ripple (R)

This is the variation in gain (in dB) outside the passband.

Stopband Attenuation (A)

This is the maximum gain in dB outside the passband minus the maximum gain in dB in the stopband. Attenuation is a positive number.

Center Frequency (Fc)

This is the center frequency of the stopband.

Passband (PB)

This is the band of frequencies which includes the SB plus the two transition regions above and below the stopband.

Stopband (SB)

This is the band of frequencies where the filter gain is smaller than the total of passband gain minus stopband attenuation (A), plus or minus the ripple.

For Chebyshev and Elliptic filters the passband gain varies with the order of the filter as follows:

Order Gain at DC Gain at passband edge

Even Passband Gain Passband Gain + Ripple

Odd Passband Gain Passband Gain - Ripple

Butterworth and inverse-Chebyshev passband gain varies as follows:

Type Gain at DC Gain at passband edge

Butterworth Passband Gain Passband Gain - Ripple

Inverse-Chebyshev Passband Gain < Passband Gain - Ripple

Inverse-Chebyshev filters meet the passband spec with margin and meet the stopband spec exactly, with no margin. Ideal realizations of the other filters do just the opposite. They meet the stopband spec with margin and meet the passband specs exactly, with no margin.

MODE 2:

Gain

This is the low / high frequency gain in dB.

Center Frequency

This is the frequency at which the minimum gain is achieved.

Ripple

This is the variation in gain in dB outside the passband.

Order

This is the filter order.

Q

This is the filter Q factor. Q is a measure of the resonance near the center frequency.


Opamp model parameters

Name Parameter Units Default Level

LEVEL Model Level 1

TYPE 1=NPN,2=PNP,3=JFET 1 3

C Compensation Capacitor F 30e-12 3

A DC open loop gain 2e5 all

ROUTAC AC output resistance Ohms 75 all

ROUTDC DC output resistance Ohms 125 all

VOFF Input offset voltage Volts .001 3

IOFF Input offset current Amps 1E-9 3

SRP Maximum positive slew rate V/s 5e5 2,3

SRN Maximum negative slew rate V/s 5e5 2,3

IBIAS Input bias current Amps 1e-7 3

VCC Positive power supply Volts 15 3

VEE Negative power supply Volts -15 3

VPS Maximum positive voltage swing Volts 13 3

VNS Maximum negative voltage swing Volts -13 3

CMRR Common-mode rejection ratio 1e5 3

GBW Unity gain bandwidth 1e6 2,3

PM Phase margin degrees 60 2,3

PD Quiescent power dissipation Watts .025 3

IOSC Output short circuit current Amps .02 3

T_MEASURED Measured temperature Celsius undefined 3

T_ABS Absolute temperature Celsius undefined 3

T_REL_GLOBAL Relative to current temperature Celsius undefined 3

T_REL_LOCAL Relative to AKO model temperature Celsius undefined 3

Temperature affects diodes, BJTs, and JFETs within the opamp in the usual way as described in the model sections for these devices. Default temperature parameters are used. Information on T_MEASURED, T_ABS, T_REL_GLOBAL, AND T_REL_LOCAL can be found in the .model temperature parameter topic. The temperature parameters are passed down through the macro to the diodes and input transistors or JFETs of the opamp.

VCC and VEE are the nominal power supply values at which VPS and VNS are specified. It is possible to operate the OPAMP at other supply voltages. VEE and VCC affect only power dissipation and the output saturation characteristics.


Opamp - Screen 1

Purpose: This screen provides for direct entry of the model parameters from the data sheets. The parameters are

LEVEL :Model level(1,2,3). Always input level 3.

TYPE :1=NPN, 2=PNP, 3=NJFET input

C :Compensation capacitor

A :DC open-loop voltage gain

ROUTAC :AC output resistance

ROUTDC :DC output resistance

VOFF :Offset voltage

Input/Output: Model values for LEVEL, TYPE, C, A, ROUTAC, ROUTDC, and VOFF.


Opamp - Screen 2

Purpose: This screen provides for direct entry of the model parameters from the data sheets. The parameters are

IOFF :Input offset current

SRP :Positive slew rate (V/Sec)

SRN :Negative slew rate (V/Sec)

IBIAS :Input bias current

VEE :Positive power supply

VCC :Negative power supply

VPS :Positive voltage swing

Input/Output: Model values for IOFF, SRP, SRN, IBIAS, VEE, VCC, and VPS.


Opamp - Screen 3

Purpose: This screen provides for direct entry of the model parameters from the data sheets. The parameters are

VNS :Negative voltage swing

CMRR :Common mode rejection ratio

GBW :Gain bandwidth

PM :Phase margin

PD :Power dissipation

IOSC :Output short-circuit current

Input/Output: Model values for VNS, CMRR, GBW, PM, PD, and IOSC.


Operational Amplifier Graphs

Screen 1

Screen 2

Screen 3


Package library

The Package library contains the pin and package information needed to create netlist files for interfacing with external PCB packages. For each component that is included in a PCB netlist file, there must be an entry in the Package library. These entries are created, edited, and maintained by the Package editor. The name of the file that holds the original Package library supplied with Micro-Cap is called STANDARD.PKG. Upon installation, this file is placed in the same directory as the MC10.EXE, but can be relocated from within the Package editor. If located on a read only directory, all edit commands are locked out. This is the way to provide secure LAN access to the package library.

It is possible to have more than one package library. Multiple libraries can be maintained and viewed with the Package editor, but it is recommended that the original package library, STANDARD.PKG, be left unmodified in its original state.


page

Schematics are composed of one or more pages. Pages are created and edited in the Circuit Editor. A range of pages may be printed. The number of pages of a schematic does not have a direct correlation to the number of sheets that are to be printed out.


Panning the analysis plot

Panning means to change the plot view without changing the scale. It is usually employed after the scale has been enlarged. There are two ways to pan the plot:

Keyboard: Use CTRL + LEFT ARROW to pan the plot to the left. Use CTRL + RIGHT ARROW to pan the plot to the right. Use CTRL + UP ARROW to pan the plot up. Use CTRL + DOWN ARROW to pan the plot down. Keyboard panning is available during all of the analysis modes.

Mouse

Cursor mode: Press and hold the CTRL key down. Place the mouse near one edge of the plot window and drag the right mouse button in the desired direction.

Other modes: Place the mouse near one edge of the plot window and drag the right mouse button in the desired direction.

Panning moves only the waveforms in the selected plot group. Use the Tab key, click in a different plot group, or click on a plot expression in different plot group to select another plot group.


Performance function properties

A performance function at its core is a search. The set of data points of the target expression is searched for the criteria specified by the performance function and its parameters.

Performance functions all share certain basic characteristics:

Performance function find the N'th instance: Every performance function has a parameter N which specifies which instance of the function to return. The only exceptions are the High and Low functions for which, by definition, there is a maximum of one instance.

Each performance function call increments the N parameter: Every time a performance function is called in the Go To Performance cursor function, N is incremented after the function is called. The next call automatically finds the next instance and moves the cursor(s) to subsequent instances. For example, each call to the Peak function locates a new peak to the right of the old peak. When the end of the waveform is reached, the function rolls over to the beginning of the waveform. N is not, of course, incremented when a performance function is used in optimization or 3D plotting.

Only waveforms plotted during the run can be used: Performance functions operate on waveform data sets after the run, so only waveforms plotted during the run are available for analysis by a performance function.

Boolean expression must be TRUE: Candidate data points are included only if the Boolean expression is true for the data point. The Boolean expression is provided to let the user include only the desired parts of the curve or waveform in the performance function search.

At least PERFORM_M neighboring points must qualify: If a data point is selected, the neighboring data points must be consistent with the search criteria or the point is rejected. For example, in the peak function, a data point is considered a peak if at least PERFORM_M data points on both sides have a lower Y expression value. PERFORM_M is a Global Settings value and defaults to 2. Use 3 or even 4 if the waveform is particularly choppy or has any trapezoidal ringing in it.


Performance functions

Micro-Cap provides a group of functions for measuring performance related curve characteristics. These functions include:

Average: This function finds the average value of the selected Y expression. The function is computed over the range from XMin to XMax.

Fall_Time: This function marks the N'th time the Y expression falls through the specified Low and High values. It places the cursors at the two data points, and returns the difference between the X expression values at these two points. This function is useful for measuring the fall time of time-domain waveforms.

Frequency: This is the numerical complement of the Period function. It behaves like the Period function, but returns 1/Period. The function places cursors at the two data points.

Gain_Margin: This finds the gain margin of a plot. A dB(expr) plot and a PHASE(expr) plot must be present. This function is only available in AC analysis.

High_X: This function finds the global maximum of the selected branch of the selected Y expression, places either the left or the right cursor at the data point, and returns its X expression value.

High_Y: This function finds the global maximum of the selected branch of the selected Y expression, places either the left or the right cursor at the data point, and returns its Y expression value.

Integral: This finds the integral of the selected Y expression. It is computed over a user-specified range.

Low_X: This function finds the global minimum of the selected branch of the selected Y expression, places either the left or the right cursor at the data point, and returns its X expression value.

Low_Y: This function finds the global minimum of the selected branch of the selected Y expression, places either the left or the right cursor at the data point, and returns its Y expression value.

Peak_Valley: This function marks the N'th peak and N'th valley of the selected Y expression. It places the cursors at the two data points, and returns the difference between the Y expression values at these two points. This function is useful for measuring ripple, overshoot, and amplitude.

Peak_X: This function marks the N'th local peak of the selected Y expression. A peak is any data point algebraically larger than the neighboring data points on either side. It places the left or right cursor at the data point and returns its X expression value.

Peak_Y: This function is identical to the Peak_X function but returns the Y expression value. This function is useful for measuring overshoot in time-domain waveforms and the peak gain ripple of filters in AC analysis.

Period: The period function accurately measures the time period of waveforms by measuring the X differences between successive instances of the average Y value. It does this by first finding the average of the Y expression over the simulation interval where the Boolean expression is true. Then it searches for the N'th and N+1'th rising instance of the average value. The difference in the X expression values produces the period value. Typically a Boolean expression like "T>500ns" is used to exclude the errors introduced by the non-periodic initial transients. This function is useful for measuring the period of oscillators and voltage to frequency converters, where a waveform's period usually needs to be measured to high precision. The function works best on waveforms that pass through their average value once per fundamental period. It will not work well on waveforms that contain significant harmonics of the fundamental. The function places the cursors at the two data points, and returns the difference between the X expression values at these two points.

Phase2: This function finds the phase difference between two waveforms in transient analysis.

Phase_Margin: This function finds the phase margin of a plot. A dB(expr) plot and a PHASE(expr) plot must be present for it to work properly. This function is only available in AC analysis.

PP: This finds the largest distance between the curve high and low points over the range XMin to XMax.

Rise_Time: This function marks the N'th time the Y expression rises through the specified Low and High values. It places the cursors at the two data points, and returns the difference between the X expression values at these two points. This function is useful for measuring the rise time of time-domain waveforms.

RMS: This function finds the RMS value of the selected Y expression. The function is computed over the range from XMin to XMax.

Slope: This function places cursors at the two data points that straddle the data point nearest the specified X value, and returns the slope between the two cursors.

Valley_X: This function marks the N'th local valley of the selected Y expression. A valley is any data point algebraically smaller than the neighboring data points on either side. It places the left or right cursor at the data point and returns its X expression value.

Valley_Y: This function is identical to the Valley_X function but returns the Y expression value. It is useful for measuring undershoot in time-domain waveforms and the peak attenuation of filters in AC analysis.

Width: This function measures the width of the Y expression curve by finding the N'th and N+1'th instances of the specified Level value. It then places cursors at the two data points, and returns the difference between the X expression values at these two points.

X_Delta: This function finds the N'th instance of the specified Y expression range, places cursors at the two data points, and returns the difference between the X expression values at these two points.

X_Level: This function finds the N'th instance of the specified Y Level value, places a left or right cursor there, and returns the X expression value.

X_Range: This function finds the X range (max - min) for the N'th instance of the specified Y range. First it searches for the specified Y Low and Y High expression values. It then searches all data points between these two for the highest and lowest X values, places cursors at these two data points, and returns the difference between the X expression values at these two points. It differs from the X_Delta function in that it returns the difference in the maximum and minimum X values in the specified Y range, rather than the difference in the X values at the specified Y endpoints.

Y_Delta: This function finds the N'th instance of the specified X expression range, places cursors at the two data points, and returns the difference between the Y expression values at these two points.

Y_Level: This function finds the N'th instance of the specified X Level value, places a left or right cursor there, and returns the Y expression value.

Y_Range: This function finds the Y range (max - min) for the N'th instance of the specified X range. First it finds the specified X Low and X High expression values. It then searches all data points between these two for the highest and lowest Y values, places cursors at these two data points, and returns the difference between the Y expression values at these two points. It differs from the Y_Delta function in that it returns the difference in the maximum and minimum Y values in the specified X range, rather than the difference in the Y values at the specified X endpoints. This function is useful for measuring filter ripple.


Performance Plot Properties dialog box

Performance Window Properties dialog box

This dialog box, which is used to add or change a performance plot window, controls all aspects of the window. This dialog box is used to edit the performance window when it is invoked by choosing Add Performance Window under the Transient menu, by double clicking on the performance window, by hitting the F10 hotkey, or by clicking on the Properties button, [image]. It consists of the following:

Plot page

Scales and Formats page

Colors, Fonts, and Lines page

Scope page

Numeric Output page

Tool Bar page

OK: This accepts any changes made and exits the dialog box.

Cancel: This ignores any changes made and exits the dialog box.

Apply: This displays the performance window using the current settings in the dialog box to show how the display would be affected by changes. The changes are still tentative, until the OK button is clicked.

Help: This accesses the help topic for this dialog box.


Monte Carlo distributions

For each Monte Carlo run, the program randomly adds or subtracts a delta value to the nominal value. The probability of adding a particular delta value depends upon the probability distribution. Three such probability distributions are available.

Worst case

For a Worst case distribution, the delta value is the full tolerance value. This distribution places all values at the extremes of the tolerance band. For each component defined with a single tolerance, there are two possible values:

Min = Mean - Tolerance

Max = Mean + Tolerance

The mean value is the model parameter value in the schematic. For instance, if two parameters, CBE and CBC, have nominal values of C1 and C2 respectively, and absolute tolerances 1uF and 2uF specified, four distinct combinations are possible. The possibilities are these:

CBE value CBC value

1. C1 + 1uF C2 + 2uF

2. C1 - 1uF C2 - 2uF

3. C1 + 1uF C2 - 2uF

4. C1 - 1uF C2 + 2uF

Uniform

A Uniform distribution places values equally over the tolerance band. Values are generated with equal probability over the range:

From Mean-Tolerance to Mean+Tolerance

Gaussian

A Gaussian distribution produces a smooth variation of parameters around the mean value. Values closer to the mean are more likely than values further away. Gaussian distributions are generated with the probability density function, f(x), given below:

f(x) = e(-.5*((x-u)/std)^2)/(std*sqrt(2*PI))

Where u is the nominal parameter value, std is the standard deviation value, and x is the random variable. The standard deviation, std, is calculated from the parameter tolerance with this formula:

std = (Tolerance/100)*Mean/SD

Tolerance is the actual tolerance, if it is specified, or the tolerance percentage times the nominal value divided by 100 if the percentage form is specified. SD is the number of standard deviations in the tolerance band. SD is specified in the Global Settings menu. The default SD of 2.58 specifies that 99 percent of all components remain in the tolerance range. The value specified for SD affects the amount of the Gaussian population included in the tolerance band. Typical values of SD are:

SD % of population included

1.0 68.0

1.96 95.0

2.0 95.5

2.58 99.0

3.0 99.7

3.29 99.9

If a supplier guarantees that 99.9% of all 10% resistors are within the 10% tolerance, you would use the value 3.29. Using a Gaussian distribution, a 1K 10% resistor may have a value below 900 ohms or above 1100 ohms. The probability would be less than 0.1% for an SD of 3.29, but it could happen. If the Eliminate Outliers option in the Monte Carlo options dialog is enabled any such values are eliminated.


Histograms

After a Monte Carlo simulation, the histograms can be reviewed by selecting the Histogram option from the Monte Carlo menu. The Histogram window has the following main features.

Statistical summary

Located in the bottom left corner, this summary shows the low, mean, and high values, sigma (standard deviation), number of runs, and the percent displayed. The percent displayed is updated to show the percentages of collating function values between the Control box Range Low and Range High values. By editing these Control values, you can see the percentage yield you would get if you tested for tighter specs on the performance characteristic.

X and Y PLot Control

Located at the bottom of the window, this section has several entries for both the X and the Y axis:

Grid Spacing: For the X axis, this value specifies the width of each histogram interval. The histogram is constructed by sorting the collating function values into bins. The width of each bin is determined from this field. For the Y axis, it determines the horizontal grid location of the histogram.

Range High: For the X axis, any performance function above this value is excluded from the Histogram and Percent yield. For the Y axis, this sets the upper limit on the histogram bar display.

Range Low: For the X axis, any performance function below this value is excluded from the Histogram and Percent yield. For the Y axis, this sets the lower limit on the histogram bar display.

Auto: When disabled, this lets you set the range and grid spacing values for the histogram. When enabled, Micro-Cap will automatically determine the values.

Bar Count: This lets you specify the number of bars to use when the histogram is auto scaled.

Data list box

This list box contains the performance function values for the run. The list cannot be edited, nor is it affected by the values in the Control box. Items shown in red meet the Monte Carlo menu / Options / Report When condition.

Show All

If this box is checked, all cases are listed. Otherwise only the cases that meet the Monte Carlo menu / Options / Report When condition are shown.

Show Case Data

If this box is checked, the area below the histogram shows the toleranced values for the selected case.

Make Circuit

This creates a new circuit with the toleranced values. The circuit is available when you return to the schematic.

Histogram

The histogram is a graphical representation of the frequency distribution of the collating function values. Each bar's height reflects the percentage or quantity of values that are greater than or equal to the bar's left interval marker and less than the bar's right interval marker value. Marker values are computed as:

Value = Low + i(Bin width) i=0,1,2,...,Intervals-1

Each bar's quantity or percentage, rounded to the nearest whole number, is inscribed on the top of the bar. The quantities or percentages are printed only if the number of intervals is small enough to allow sufficient room. Otherwise, the values can be estimated from the Y axis scale.

Double clicking in the histogram window when in select mode will invoke the Monte Carlo Properties dialog box.


Polynomial Coefficients Table

Number of input variables (Order)

1 2 3 4

Coefficient E1 E1 E2 E1 E2 E3 E1 E2 E3 E4

P0 0 0 0 0 0 0 0 0 0 0

P1 1 1 0 1 0 0 1 0 0 0

P2 2 0 1 0 1 0 0 1 0 0

P3 3 2 0 0 0 1 0 0 1 0

P4 4 1 1 2 0 0 0 0 0 1

P5 5 0 2 1 1 0 2 0 0 0

P6 6 3 0 1 0 1 1 1 0 0

P7 7 2 1 0 2 0 1 0 1 0

P8 8 1 2 0 1 1 1 0 0 1

P9 9 0 3 0 0 2 0 2 0 0

P10 10 4 0 3 0 0 0 1 1 0

P11 11 3 1 2 1 0 0 1 0 1

P12 12 2 2 2 0 1 0 0 2 0

P13 13 1 3 1 2 0 0 0 1 1

P14 14 0 4 1 1 1 0 0 0 2

P15 15 5 0 1 0 2 3 0 0 0

P16 16 4 1 0 3 0 2 1 0 0

P17 17 3 2 0 2 1 2 0 1 0

P18 18 2 3 0 1 2 2 0 0 1

P19 19 1 4 0 0 3 1 2 0 0

To create a source whose value equals the sum of three inputs, use this:

DEP1 1 0 POLY(3) IN1 IN2 IN3 0 1 1 1

IN1, IN2, IN3 are the controlling variables (voltage sources or pairs of nodes)

p1,p2,p3 are all equal to 1

To create a source whose value equals the product of two inputs, use this:

DEP2 1 0 POLY(2) IN1 IN2 0 0 0 0 1

IN1, !N2 are the controlling variables (voltage sources or pairs of nodes)

p4 is equal to 1


Preferences dialog box

The Preferences dialog box

The Preferences dialog box contains options that have the ability to modify Micro-Cap to your liking. The Preferences dialog box consists of the following:

Options - General page

Options - Analysis page

Options - Circuit page

Recent Files

Shortcuts page

Main Tool Bar page

Color Palettes page

Rainbow page

Status Bar page

Panel page

Window tabs page

Error window page

Component Palettes page

Auto Save page

Warnings page

Did you know? page

Style page

Combinations page

Slider page

International Settings page

Threads page

OK: This accepts any changes made and exits the dialog box.

Cancel: This ignores any changes made and exits the dialog box.

Apply: This applies the current settings so you can view what the settings look like before committing to them.

Help: This accesses the help topic for this dialog box.


Printing an analysis plot

The analysis printouts can contain many windows. Any 3D, performance, or histogram windows may be printed along with the typical analysis and the schematic. Because of the combination of windows that may be printed out, it is best to view the Print Preview.

To setup or preview the printed output, use these options under the File menu:

Print Setup: The contents of this dialog box depend upon the type of printer chosen, but it usually lets you choose the printer, orientation, paper size, and other options. The choice of orientation affects the Print Preview partitioning.

Print Preview: This option lets you preview how the analysis windows will be printed. View the Print Preview dialog box topic for more information.

Print Window: This option bypasses the Print Preview and sends the active window directly to the printer.


Printing schematics

Schematics are composed of one or more pages including associated text pages. A range of pages may be printed. Depending upon the scale chosen, each schematic page is partitioned into one or more sheets for printing. The Auto option scales the largest page to fit on just one sheet. The User option lets the user pick a scale and thus adjust the physical size of the schematic. Larger image sizes produce more sheets of paper per page. The Auto and User options are available in the Print Preview. Each text page that is enabled to be printed will print the number of pages needed to display all text within it.

To setup or preview the printed output, use these options under the File menu:

Print Setup: The contents of this dialog box depend upon the type of printer chosen, but it usually lets you choose the printer, orientation, paper size, and other options. The choice of orientation affects the Print Preview partitioning.

Print Preview: This option lets you preview how the schematic will be partitioned for printing into one or more sheets. View the Print Preview dialog box topic for more information.

Print Window: This option bypasses the Print Preview and sends the active window directly to the printer.

The printout is also affected by the Border button [image], which adds borders and the Title Block button [image], which adds a title block to the lower right corner.

The Title Block properties can be edited in the Title Block page of the Schematic Properties dialog box for the active schematic or Default Properties for New Circuits dialog box available under the Options menu for all new schematics. This page lets you define the content of the five fields of the title block. Field 1 is printed in large text and the remainder are printed in smaller text.


Probe menu

Run: (F2) This option forces a new run. Probe automatically does a new run when the time of the last saved run is earlier than the time of the last edit to the schematic. However, if you have changed RELTOL or some other Global Settings value or Preferences option that can effect a simulation run, you may want to force a new run to see the effect of the new value or preference.

Limits: (F9) This invokes the Analysis Limits dialog box which lets you edit the analysis limits for the run.

Stepping: (F11) This accesses the Stepping dialog box.

Operating Point Methods (Ctrl + Shift + O): This accesses the Operating Point Methods dialog box which lets you select the operating point method to be used and the order in which each is tried.

Reduce Data Points: This invokes the Data Point Reduction dialog box. It lets you discard every n'th data point. This is useful when you use very small time steps, but do not need all of the resulting data points produced. Once deleted, the data points cannot be recovered.

Add Curve: This option lets you add a plot defined by a literal expression using any circuit variable that has been saved. This invokes the Add Expression dialog box to let you enter an expression. For example, you might enter VCE(Q1)*IC(Q1) to plot a transistor's collector power.

Delete Curves: This option invokes the Delete Probe Plot dialog box which lets you delete one or more plots from the probe window.

Delete All Curves: (Ctrl+F9) This option removes all curves from the display.

Separate Analog and Digital: This mode places analog and digital waveforms into separate plot groups, overriding the Plot Group option.

One Curve: In this mode, only one curve is plotted. Each time the schematic is probed, the old curve is replaced with the new one. You can also add more than one trace with this mode by holding the CTRL key down while clicking on an object. This adds the curve if not already plotted or deletes it if it is already plotted.

Many Curves: In this mode, new waveforms do not replace old ones, so many waveforms are plotted together using one or more vertical scales and plot groups.

Save All: Selecting this option forces Probe to save all variables. Use it only if you need to display charge, flux, capacitance, inductance, B field, or H field.

Save V and I Only: During a run, Micro-Cap generates many variables. Saving them all to disk for display by Probe can create huge files. This option saves space and lowers access time by saving only time, frequency, digital states, voltage, and current variables. It discards the remainder, including power, charge, flux, capacitance, inductance, resistance, and magnetic field values.

3D Windows

Add 3D Window: This invokes the 3D Properties dialog box which lets you add a 3D plot.

3D Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more 3D plots.

Available 3D Windows: This is a list of all available 3D windows that have been created with this circuit.

Performance Windows

Add Performance Window: This invokes the Performance Window Properties dialog box which lets you add a performance plot.

Performance Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more Performance plots.

Available Performance Windows: This is a list of all available Performance windows that have been created with this circuit.

Fourier Windows

Add Fourier Window: This invokes the FFT Window Properties dialog box which lets you add a FFT plot.

Fourier Windows: This invokes the Windows dialog box which lets you show, hide, and delete one or more FFT plots.

Available Fourier Windows: This is a list of all available FFT windows that have been created with this circuit.

Slider

Add Slider: This invokes the Slider dialog box which lets you assign a circuit parameter to a slider as a way to modify the parameter's value and see the plot update accordingly.

Slider Windows: This invokes the Slider Windows dialog box which lets you show, close, and delete existing sliders.

Available Sliders: This is a list of all available sliders that have been created with this circuit.

Plot Group: This option lets you pick the plot group to place the next curve in. The next time you add an expression or click in the schematic to plot a curve, it will be placed in the specified plot group. If the plot group is set to Individual, each time a waveform is called from the circuit, it will be placed in its own plot group. For the Individual option, there is a maximum of 9 plot groups. Additional waveforms will be placed in the last plot group.

Exit Probe: (F3) This option exits the Probe analysis, taking you back to the schematic.

Although not on a menu for Probe, the following key combination invokes an important dialog box:

F12 - State Variables Editor

Any changes in this would take effect after a new run is performed if a Leave is selected in the State Variables option of the Analysis Limits.


Probe Properties dialog box

This dialog box, which is used to change a probe window, controls all aspects of the plot. This dialog box is invoked by double clicking on the probe window and selecting Properties, by hitting the F10 hotkey, or by clicking on the Properties button, [image]. It consists of the following:

Plot

Scales and Formats

Colors, Fonts, and Lines

Scope

Save Curves

Tool Bar

OK: This accepts any changes made and exits the dialog box.

Cancel: This ignores any changes made and exits the dialog box.

Apply: This redraws the plot behind the dialog box using the current settings so you can view what the settings look like before committing to them.

Help: This accesses the help topic for this dialog box.


Probe regions

When probing for node voltages or digital states, you must click the mouse on one of the round dots shown on the node, or on any portion of any wire connecting to a node. If there is more than one dot on a node, it doesn't matter which you pick.

Probe can plot many internal device variables. For example, the internal charge and capacitance of a MOSFET (Level 1 to 3 only) can be accessed. The probe regions for devices with three or more pins are more complicated than for nodes and other devices. For example, the variable selected for a transistor is determined by the nearest device pin line segment. When the mouse is clicked near a device, the distance from each line segment to the point where the mouse is clicked is determined. The closest line segment determines the two leads. The Vertical and Horizontal menu choices determine the variable type.

When clicking on a digital primitive, a Select Variables dialog box will be invoked that lets you choose from the available variables of the component. If the Macro Drill Down option in the Preferences \ Options \Analysis is disabled, this dialog box will also appear when clicking on a subcircuit or macro device. When the Macro Drill Down option is enabled, the file that the macro or subcircuit is contained in will be loaded so that direct probing in that model can be done. To return to the main schematic, select the Go Up a Level command from the Scope menu or click on the [image] toolbar button.


Probing a SPICE file

Micro-Cap can also probe SPICE files. Clicking on two-terminal devices like sources, resistors, and diodes plots the voltage across or current through the device, depending upon whether the Vertical option is set to Voltage or Current.

Clicking on three-terminal devices, presents the Select Variables dialog box where you can select the desired voltage or current variable.

Clicking on a node number plots the node voltage.


Probing macros and subcircuits

In earlier versions, a click on a macro or subcircuit symbol brought up a dialog box from which you could select from a fairly complex list of variables. Now a click on a macro or subcircuit symbol drills down one level and displays the next level schematic (for a macro) or netlist (for a subcircuit). From here you can probe in the usual way.

Clicking on a macro or subcircuit goes down one level. To go up a level (towards the main schematic) click on the Up button [image] or press Alt+Up Arrow. You can also use the same command from Scope / Go Up a Level.

This feature can be enabled or disabled from Preferences / Options / Analysis / Macro Drill Down.


Programmable Logic Array Types

The PLA type specifies the type of programmable logic array device. The PLA types are listed in the PLA Type column in the table below.

PLA Type Description

PLAND AND array

PLNAND NAND array

PLNOR NOR array

PLNXOR Exclusive NOR array

PLOR OR array

PLXOR Exclusive OR array

PLANDC AND array with true and complement columns

for each input

PLNANDC NAND array with true and complement columns

for each input

PLNORC NOR array with true and complement columns

for each input

PLNXORC Exclusive NOR array with true and complement

columns for each input

PLORC OR array with true and complement columns for

each input

PLXORC Exclusive OR array with true and complement

columns for each input


Public vs. Private Libraries

There are four combinations of public and private libraries and component or model stepping. Take the following two transistors whose attributes are defined as:

PART=Q1 PART=Q2

VALUE= VALUE=

MODEL=2N2903 MODEL=2N2903

In this example, there are two transistors with part names Q1 and Q2. Q1 and Q2 both use the 2N2903 model.

Step Q1.BF (Component Parameter Type):

Private models - only transistor Q1 is stepped. Each part has its own copy of a 2N2903 model statement.

Public models - both transistors are stepped. Both parts share the same copy of the model statement. Since BF is being stepped in that model statement, it is being stepped for both parts.

Step 2N2903.BF (Model Parameter Type):

Private models - both transistors are stepped. Each part has its own copy of a 2N2903 model statement, but since it is the model being stepped, all copies of that model statement are stepped.

Public models - both transistors are stepped. Both parts share the same copy of the model statement which is being stepped.

In the first case, when the libraries are private, then the model pointed to by Q1 would be stepped and that pointed to by Q2 would not be stepped. They point to distinct model locations, even though they use the same model name. When the libraries are public, stepping the model pointed to by Q1 also steps the model pointed to by Q2 since they point to the same model location.

In case 2, we are stepping 2N2903.BF. In this case, we step all of the instances of the 2N2903 model. It doesn't matter whether models are public or private, since all instances of the model are changed.

Only component stepping and private libraries selectively step individual instances of model parameters. All other cases step all instances of model parameters.

The private and public setting of the models are determined by the two Global Settings parameters, PRIVATEANALOG and PRIVATEDIGITAL.


PULSE type

Name Description Units Default

v1 or i1 Initial value V or A none

v2 or i2 Pulse value V or A none

td Delay sec. 0

tr Rise time sec. TSTEP*

tf Fall delay sec. TSTEP*

pw Pulse width sec. TSTOP*

per Period sec. TSTOP*

* TSTEP is the print interval obtained from the Analysis Limits dialog box.

* TSTOP is the run time.

The waveform value generated by the PULSE option is as follows (represented as a voltage source):

From To Value

0 td v1

td td+tr v1+((v2-v1)/tr)*(T-td)

td+tr td+tr+pw v2

td+tr+pw td+tr+pw+tf v2+((v1-v2)/tf)*(T-td-tr-pw)

td+tr+pw+tf per v1

where From and To are T values, and T=TIME mod per. The waveform repeats every per seconds.


Piece Wise Linear type

General Form:

PWL

+ [NOBRKPNTS]

+ [TRIGGER={trig_expr}]

+ [TIME_SCALE_FACTOR=<ts_value>]

+ [VALUE_SCALE_FACTOR=<vs_value>]

+ (data_pairs OR FILE="filename")

where the syntax of data_pairs is:

<tin>,<in>

<ts_value>, if present, multiplies all <tin> values and <vs_value>, if present, multiplies all <in> values.

If the FILE keyword is used, the file "filename" must be a text file and its content must use the same format as used above in data_pairs.

The NOBRKPNTS keyword eliminates the need for Micro-Cap to create breakpoints for the simulation. A breakpoint defines a point that Micro-Cap must calculate a data point at. Setting NOBRKPNTS can help speed up the simulation in cases where the PWL source has a lot of data points defined.

The TRIGGER keyword defines an expression that will trigger the start of the PWL source. The trig_expr should be a Boolean or relational expression such as:

(V(IN)>=2.02)*(V(EN)>=2.02)

When the trig_expr is evaluated as true, then the PWL waveform will be initiated. The trigger waveform must remain true for the length of the defined PWL waveform. As soon as the trig_expr is evaluated as false, the source will return to its t=0 value.

Syntax for a single point on the waveform:

(<tin>,<in>)

Syntax for m points on the waveform:

(<tin1>,<in1>) (<tin2>,<in2>)...(<tinm>,<inm>)

Syntax to repeat (data_pairs)* n times:

REPEAT FOR <n> (data_pairs)*

ENDREPEAT

Syntax to repeat (data_pairs)* forever:

REPEAT FOREVER (data_pairs)*

ENDREPEAT

Each data pair specifies one point on the waveform curve. Intermediate values are linearly interpolated from the table pairs. There is no specific limit on the number of data pairs in the table. They may be added indefinitely until system memory is exhausted.

Examples

These would go into the VALUE attribute of the component. The + continuation character would only be used if these were being defined through a .define statement.

* 10ns square wave, non-repeating

PWL (0,0) (5n,0) (5n,5) (10n,5) (10n,0)

* 10ns square wave, non-repeating...same as above

PWL TIME_SCALE FACTOR=1n (0,0) (5,0) (5,5) (10,5) (10,0)

* 10ns square wave, non-repeating, high level=5kV

PWL VALUE_SCALE_FACTOR=1e3 (0,0) (5n,0) (5n,5) (10n,5) (10n,0)

* 10ns square wave, repeated 20 times

PWL REPEAT FOR 20

+(0,0) (5n,0) (5n,5) (10n,5) (10n,0)

+ENDREPEAT

* 10ns square wave, repeated forever

PWL REPEAT FOREVER

+(0,0) (5n,0) (5n,5) (10n,5) (10n,0)

+ENDREPEAT

*A triggered waveform

TRIGGER={(V(A1)>2) AND (V(A2)>2)} 0,0 100n,3 200n,2 300n,1.5 400n,0


Random and Tolerance expressions

Random

RNDI(10n) Returns a random number between 0 and 1 every 10ns of simulation time.

2*RNDR Returns a random number between 0 and 2 at the start of every run, (press of the F2 key).

1+2*RNDC Returns a random number between 1 and 3 at the start of every Monte Carlo, temperature, or stepping run.

Tolerance

AGAUSS(1000,100,2) Returns a random value determined by a Gaussian distribution with a standard deviation of 50 = 100/2

GAUSS(1000,0.1,2) Returns a random value determined by a Gaussian distribution with a standard deviation of 50 = (1000*0.1)/2

UNIF(1000,100) Returns a random value uniformly distributed between 900 and 1100.

AUNIF(1000,0.10) Returns a random value uniformly distributed between 900 and 1100.


Random and Tolerance Operators

Random

The functions below return a random number between 0 and 1, using the seed value from Global Settings / Seed. If the seed is >=1 the functions return a repeating sequence of random numbers all between 0 and 1. If the seed is blank or <1, they return a non-repeating sequence of random numbers. The seed is initialized at the beginning of each manually started run (press of F2), not every temperature, Monte Carlo, or stepping run. The .Options statement can be used to localize the seed to a schematic by placing a string such as:

.Options Seed=84

in the text area of the schematic.

Function Returns a new random value at:

RND Every timepoint

RNDR The start of each run (F2) command

RNDC The start of each new Monte Carlo, temperature, or stepping run

RNDI(t) Every t seconds of simulation time

Tolerance

The tolerance operators can also use the seed value described in the Random section. These operators will only have an effect during a Monte Carlo simulation. The nom parameter defines the nominal value. The abs_var or rel_var define the variation of the function. The sigma parameter defines the sigma of the Gaussian distribution.

Agauss(nom,abs_var,sigma) Produces a Gaussian distribution using absolute variation.

Gauss(nom,rel_var,sigma) Produces a Gaussian distribution using relative variation.

Aunif(nom,abs_var) Produces a uniform distribution using absolute variation.

Unif(nom,rel_var) Produces a uniform distribution using relative variation.


Rotating schematic objects

First step: Click on the Select mode button [image] in the Tool bar.

Second step: Select the object or group of objects.

Third step: Click on one of the three rotate buttons. The Flip X button [image] rotates the region about the horizontal axis in 180 degree increments, flipping the group about the horizontal axis. The Flip Y button [image] rotates the region about the vertical axis in 180 degree increments, flipping the region about the vertical axis. The Rotate button [image] rotates the region about the Z axis (the Z axis is perpendicular to the schematic plane) in 90 degree increments, producing four distinct orientations.

Rotating a single component

To rotate a single component, click on the Select mode button in the Tool bar. Select a component by clicking on it. While holding down the left mouse button, click the right mouse button or hit the SPACEBAR to rotate the component. Each click rotates the part 90 degrees. You can also select a component(s) and use the Rotate command (CTRL+R) available under the Edit\Box menu.


Scaling the analysis plot

Scaling means to shrink or magnify the analysis plot, after the analysis is complete. Magnifying is usually employed to enlarge a small region of the plot for inspection. Shrinking brings the plot scale back to more normal scales for a global view of the plot. The Enable Scaling option in the X and Y sections of the Properties (F10) / Scales and Formats panel allows scaling to occur in either or both the X and Y directions. It controls each of the following scaling methods:

There are several scaling commands:

Auto Scale (F6): This command automatically scales the selected plot group. The selected group is the plot group containing the selected or underlined curve.

Auto Scale Visible Region: This command scales the vertical or Y axis of the curves by considering only Y values within the currently visible or displayed X region. This command is handy when you have zoomed in on a small part of a curve and want to auto scale only the vertical region while maintaining the X axis scale.

Restore Limit Scales (Ctrl+Home): This command immediately redraws all the plot groups using the existing scale ranges from the Analysis Limits dialog box.

Zoom-In (Ctrl+Numeric pad +): This command enlarges the image of the selected plot group.

Zoom-Out (Ctrl+Numeric pad -): This command shrinks the image of the selected plot group.

Mouse

Scale mode: Place the mouse near one corner of the region to be magnified and drag the left mouse button to the other corner.

Cursor mode: Press and hold the CTRL key. Place the mouse near one corner of the region to be magnified and drag the left mouse button to the other corner. This is the same as in Scale mode. but with the CTRL key held down during the drag.

Other modes: There is no mouse scaling for all other modes.

Properties dialog box: The F10 key invokes a dialog box which controls the properties of the analysis window. When the front window is an analysis plot, the dialog box contains a Scales and Format page which lets you change the scales of individual curves after the analysis run.

Undo (Ctrl+Z): This command restores the prior scale after a scale change from any of the above operations.

Redo (Ctrl+Y): This command undoes the last scale undo.


Schematic modes

The Schematic editor is a modal editor. That means the behavior of the mouse when it is clicked or dragged in the schematic depends upon what mode it is in. Schematic modes affect either the mouse behavior or the schematic display.

Behavioral modes

Circuit altering modes

Select mode

Component mode

Text mode

Wire mode

Bus mode

Diagonal wire mode

Graphics / Spreadsheet / Picture File mode

Flag mode

Region Enable mode

Circuit querying modes

Info mode

File Link mode

Help mode

Point to end paths mode

Point to point paths mode

View modes

Attribute Text

Grid Text

Node Numbers

Node Voltages / States

Current

Power

Condition

Pin Connections

Grid

Cross-hair Cursor

Border

Title

The behavioral modes are mutually exclusive. At any given moment, only one mode is active. You can tell which mode is active by looking at the mode buttons. An active mode button is pushed in. An inactive mode button is pushed out.

To select a mode click its button. This deselects the prior mode button.

Behavioral modes:

Select mode: This selects an object, region, or location for one of several actions:

Editing the selected object (Requires a double click)

Clearing the selected region (Deleting without copying to the clipboard)

Cutting the selected region (Deleting with copying to the clipboard)

Moving the selected region

Rotating the selected region

Stepping the selected region

Mirroring the selected region

Making a macro of the selected region

Copying the selected region to the clipboard

Making a BMP file of the selected region

Drag copying the selected region

Moving the selected object to front or back

Shuttling the selected text object between the text and drawing areas

Changing the selected object's color or font

Defining the upper-left corner position of a subsequent paste operation

To select an object you must first be in Select mode. To enter Select mode:

Click on the Select mode button or press CTRL + E.

Press the SPACEBAR key. Press it again to restore the original mode.

Press and hold the SHIFT key down. In this mode you can select an object or a region, but you can't drag the mouse. When the key is released, the original mode is restored.

To select a contiguous group of objects, drag the mouse over the region containing the objects. To select a noncontiguous group of objects, hold down the SHIFT button and click the mouse on each object.

Component mode: This mode lets you add components to the schematic. The component that gets added is the last one chosen.

Text mode: This mode lets you add grid text to the schematic. Grid text is used to name nodes, define electrical characteristics, and for documentation.

Wire mode: This mode lets you add orthogonal wires to the schematic. Orthogonal wires can have one or two segments and be vertical or horizontal or both.

Bus mode: This mode lets you add bus connectors to the circuit. The actual bus wire is drawn while in Wire mode by connecting a wire to the bus port on a Bus connector or to another bus wire.

Diagonal wire mode: This mode lets you add diagonal wires to the schematic.

Graphics/Picture File mode: This mode lets you add a graphical object (spreadsheet, line, rectangle, ellipse, pie, arc, diamond, brace, or picture file) to a circuit. Picture files are typically created with the Edit / Copy The Entire Window to a Picture File command.

Flag mode: This mode lets you add flag markers for rapid navigation of large schematics with many pages.

Region Enable mode: In this mode, you drag select a region and assign to it a Boolean expression that typically depends upon values of symbolic (.define or .param) variables within the circuit. If the Boolean expression evaluates to true, then the circuitry within the region will be enabled for simulation. If the Boolean expression evaluates to false, then the circuitry within the region will be ignored.

Info mode: This mode provides model information about a part when you click on it. The information is usually a model, subckt, or define command statement for the part. If the part is a macro, the macro circuit which it represents is displayed. If it is a subckt, the subcircuit description is displayed. If it is a device that uses a model statement, the model statement is displayed. Double-clicking on the part also displays model information in the Attribute dialog box.

File Link mode: In this mode, you click on a part to display its file link. The link for a part is defined in the Link field of the Component Editor. A link can be an internet URL, a local pdf file, an executable program, or any other file. You can also use a piece of grid text as a file link. See the sample circuit LINKS.CIR.

Help mode: In this mode, you click on a component to display its parameter or attribute syntax. ALT + F1 gives syntax help on selected SPICE part names.

Point to End Paths: In this mode, you click on a digital component and Micro-Cap traces all of the digital paths that originate at the component and end when they drive no other combinatorial component.

Point to Point Paths: In this mode, you click on two successive digital components and have Micro-Cap trace all of the digital paths between the two components.

View modes:

Attribute text mode: This mode controls the display of all attribute text. Attribute text will be displayed only if the individual attribute display check boxes are enabled and the Attribute text mode is enabled.

Grid text mode: This mode controls the display of all grid text. If disabled, all grid text is invisible. If enabled, all grid text is visible except command text, which is visible only if this button and the command text button are both enabled.

Node numbers: This mode displays the numbers assigned by Micro-Cap and used to identify circuit nodes.

Node Voltages / States: This mode shows time-domain node voltages or digital states. It shows AC node voltages in Dynamic AC mode. The VIP button, [image], selects last, RMS, average, or peak, if these have been enabled in the Properties (F10) / View / Calculate section. Once enabled in this section, a transient simulation has to be run before these measurements are available for schematic display.

Current: This mode shows the last time-domain currents for each component. It displays AC branch currents in Dynamic AC mode. Currents are shown with an arrow indicating the direction of positive current. The VIP button, [image], selects last, RMS, average, or peak, if these have been enabled in the Properties (F10) / View / Calculate section. Once enabled in this section, a transient simulation has to be run before these measurements are available for schematic display.

Power: This mode displays the last time-domain values of stored, generated, and dissipated power for each component. It displays AC power terms in Dynamic AC mode. The VIP button, [image], selects last, RMS, average, or peak, if these have been enabled in the Properties (F10) / View / Calculate section. Once enabled in this section, a transient simulation has to be run before these measurements are available for schematic display.

Condition: This mode displays the last time-domain condition for each component which has conditions. Typical conditions for a BJT are LIN (linear), SAT (saturated), OFF (both junctions off), and HOT (excessive power dissipation).

Pin connections: This mode marks pin locations with a dot. These are the places where connections are made to wires or other component pins.

Grid: This mode displays the schematic grid to which objects are anchored. All wires, components, and other objects originate on a grid.

Cross-hair cursor: This mode adds a full-screen schematic cross-hair cursor. Its principle use is in aligning components.

Border: This mode adds a border around each printed sheet of the schematic.

Title: This mode adds a title block to the corner of each schematic sheet. There is an option to have only one title block per page. This option is accessible from the Properties / Title Block panel.


Schematic objects

A schematic object is anything that can be placed in a schematic. There are several types of objects:

Components: This includes all analog and digital sources, active and passive parts, and connectors. In short, it includes any object chosen from the Component menu.

Wires: Wires are used to interconnect components. There are two types of wires: orthogonal and diagonal. Orthogonal wires are restricted to the vertical or horizontal direction. They may contain both a vertical and a horizontal segment. Diagonal wires are drawn at any angle and only contain one segment. Wires that cross each other do not connect. Bus wires are also a part of this group.

Text: Text, sometimes referred to as grid text because its origin is restricted to an imaginary grid, is used for naming nodes, connecting nodes, creating command statements, and general documentation.

Graphics: Graphical objects include lines, rectangles, ellipses, diamonds, arcs, pies, braces, and pictures. They are used for aesthetic or documentation purposes and have no effect on the electrical behavior of the circuit.

Schematics may contain picture files in any of the following formats: WMF, ICO, EMF, JPG, BMP, TIFF, PNG, and GIF. The most common use of this feature is to place a picture of an analysis plot in a schematic. Picture files of any Micro-Cap window with graphics may be captured by the Export Graphic File command on the Edit menu. Once the picture file has been created, it can be included in a schematic as a graphic object.

Spreadsheets: These may be added to a schematic for computational convenience. Any simulation variable that is legal in an analysis plot, like V(OUT), can be used in the spreadsheets.

Flags: Flags mark locations in a schematic that you are likely to want to view many times. They facilitate rapid switching of the display between multiple circuit locations. They are most useful in very large circuits, where the display redraw time may be too long for convenient use of the scroll bars.

Note that grid text is the only object that can be moved between a drawing page and a text page.


Schematic Properties dialog box

This dialog box lets you change the color of any circuit feature such as wire or component color and the font in the text area. Changes affect all objects rather than just selected objects. The title block and local tool bar may also be edited in this dialog box. The Properties dialog box consists of the following:

Color/Font page

Spice Type page

Format page

View page

Title Block page

Tool Bar page

OK: This command button accepts all changes made and closes the dialog box.

Cancel: This command button closes the dialog box without making any changes.

Apply: This command button will test the changes that have been specified in the background window. This lets you view changes without committing to them.

Help: This command button accesses the Properties help topic.


Scope menu

After the analysis is complete, the Scope tools may be accessed from the Scope menu. It provides these commands:

Delete All Objects: This command removes all tags, text, and graphics from the analysis plot. To delete an individual object, select it by clicking on it in Select mode, then press CTRL+X or the DELETE key.

Auto Scale (F6): This command immediately calculates a new scale for the selected waveform group and redraws the plot using the new scale. The selected waveform group is the group that contains the selected, or underlined, waveform. You can change the selected waveform and group by clicking on the waveform Y expression text in the analysis plot, or by using the Tab key.

Auto Scale Visible Region: This command scales the vertical or Y axis of the curves by considering only Y values within the currently visible or displayed X region. This command is handy when you have zoomed in on a small part of a curve and want to auto scale only the vertical region while maintaining the X axis scale.

Restore Limit Scales (Ctrl+Home): This command redraws all plots using the existing scale ranges in the Analysis Limits dialog box.

Go Up a Level (Alt + Up): In Probe mode, this displays the next highest level in a hierarchical schematic (one containing macros or subcircuits).

View: This item accesses a cascading menu that lists several display commands. These view commands all affect the display of the analysis plot. The view options only affect the display of simulation results, so you may change these after a run and the screen is redrawn accordingly

Trackers: This item accesses a cascading menu that lists the available tracker commands.

Cursor Functions: This item accesses a cascading menu that lists several Cursor mode commands that control the cursor positioning. These commands are available only in the Cursor mode. To activate the Cursor mode, click the Cursor mode button, [image].

Waveform Buffer: This buffer saves curves and waveforms for later use. There are three items on this menu.

Waveform Buffer: This accesses the Waveform Buffer dialog box. It lets you manage the curve collection and select curves for display.

Save a Waveform to the Buffer: This lets you add one of the plotted curves to the Waveform Buffer through the Waveform Buffer Add dialog box.

Retain: This also lets you add a plotted curve to the Waveform Buffer but it adds a plot of the saved waveform to the Analysis Limits.

Label Branches: This accesses a dialog box which lets you select from the automatic and user-specified X location method for labeling multiple branches of a curve. This option appears when multiple branches are created by Monte Carlo, parameter stepping, or temperature stepping. To remove labels, select them with the mouse, or select all objects with CTRL + A, then press the delete key.

Label Data Points: This accesses a dialog box which lets you specify a set of time, frequency, or input sweep data points, in transient, AC, or DC analysis, respectively, which are to be labeled. This command is mostly used to label frequency data points on polar and Smith charts. To remove labeled points delete them from the dialog box.

Envelope: This option draws a polygonal region enveloping all of the branches of the selected curve. To use this option, select one of the curves, then select this item from the menu. To delete the envelope, select it and press the Delete key. This is particularly useful for Monte Carlo analysis as it displays the spread of waveforms.

Animate Options: This invokes the Animate Options dialog box. Setting a time delay in this dialog box displays the node voltages/states, and optionally, device currents, power, and operating conditions on the schematic as they change from one point to the next. It will also update any animation components in the schematic for each data point. To use this, click on the Animate Options icon, select one of the wait modes, click on either Tile Vertical, [image], or Tile Horizontal, [image], then start the run.

Measurements: This displays the Measurements Window dialog box which shows the results of all .measure statements and many performance function results.

Curve Fit: This displays the Curve Fit dialog box which lets you fit a polynomial to any plotted curve.

Normalize at Cursor (Ctrl+N): This option normalizes the selected (underlined) curve at the current active cursor position. The active cursor is the last cursor moved, or if neither has been moved, then the left cursor. Normalization divides each of the curve's Y values by the Y value of the curve at the current cursor position, producing a normalized value of 1.0 at the cursor point. If the Y expression contains the dB operator and the X expression is F (Frequency), then the normalization subtracts the value of the Y expression at the current data point from each of the curve's data points, producing a value of 0.0 at the current cursor position.

Normalize at Minimum: This option normalizes the selected (underlined) curve at its minimum value.

Normalize at Maximum: This option normalizes the selected (underlined) curve at its maximum value.

Go to X (Shift+Ctrl+X): This command invokes the Go To X dialog box. This dialog box lets you move the left or right cursor to a specific value for the X expression.

Go to Y (Shift+Ctrl+Y): This command invokes the Go To Y dialog box. This dialog box lets you move the left or right cursor to a specific value for the Y expression.

Go to Performance: This command invokes the Go To Performance dialog box. This dialog box calculates performance function values. It also moves the numeric cursors to the measurement points. For example, you can measure pulse widths and bandwidths, rise and fall times, delays, periods, and maxima and minima.

Go to Branch: This command lets you select which branch of a curve to place the left and right cursors on. The left cursor branch is colored in the primary select color and the right cursor branch in the secondary select color.

Tag Left Cursor (Ctrl+L): When in cursor mode, this option will place a point tag at the data point the left cursor is on.

Tag Right Cursor (Ctrl+R): When in cursor mode, this option will place a point tag at the data point the right cursor is on.

Tag Horizontal (Shift+Ctrl+H): When in cursor mode, this option will place a horizontal tag between the two data points the cursors are residing on showing the difference between the two X expression values.

Tag Vertical (Shift+Ctrl+V): When in cursor mode, this option will place a vertical tag between the two data points the cursors are residing on showing the difference between the two Y expression values.

Align Cursors: When this option is enabled, moving the cursors around in cursor mode moves the cursor on all plots on the screen so that all plots are displaying the same x values for each cursor. Aligning the cursors is a convenient way of synchronizing the two plot groups.

Keep Cursors on Same Branch: When stepping produces multiple runs, one line is produced for each run for each plotted expression. These lines are called branches of the curve or expression. This option forces the left and right cursors to stay on the same branch of the selected curve when the UP ARROW and DOWN ARROW cursor keys are used to move the cursors among the several branches. If this option is disabled, the cursor keys will move only the left or right numeric cursors, not both, allowing them to occupy positions on different branches of the curve. The right cursor would need the SHIFT key held down when using the UP and DOWN ARROW keys to move among branches when this option is disabled.

Copy Cursor Values to Clipboard: This copies the cursor table values to the clipboard, where they may be pasted to another program or to a Micro-Cap text field.

Same Y Scales for Each Plot Group: This option forces all curves in a plot group to use the same Y scale. Otherwise, if the curves have differing Y Range values, one or more Y scales will be drawn.

Enable X Scaling: This option enables horizontal axis scaling for the F6 (Auto Scaling), Zoom (+,-), and panning and drag scaling commands. If this option is enabled and you press F6, the curves in the selected plot group will be auto-scaled in the horizontal direction. Vertical axes are not affected by this option. The Auto Scale option on the Analysis Limits dialog box overrides this option and auto-scales both the X and Y axes.

Enable Y Scaling: This option enables vertical axis scaling for the F6 (Auto Scaling), Zoom (+,-), and panning and drag scaling commands. If this option is enabled and you press F6, the curves in the selected plot group will be auto-scaled in the vertical direction. Horizontal axes are not affected by this option. The Auto Scale option on the Analysis Limits dialog box overrides this option and auto-scales both the X and Y axes.

Keep X Scales the Same: This option forces all horizontal scales using the same X expression to be the same. In other words, drag scaling or panning in plot group 1 will change the horizontal scale in all plot groups that have the same X expression. This option is convenient when you want separate plot groups but want the scales to remain the same.

Clear Accumulated Plots: If the Accumulate Plots option from the Analysis Limits dialog box is enabled, Micro-Cap accumulates plots resulting from schematic changes. The plot area can become congested. This command clears the congestion by removing the accumulated plots when the next analysis is run.


Selecting and deselecting objects

To manipulate an object (component, wire, text, graphics, picture, or flag) after it has been placed in the schematic, it must first be selected. Selection or deselection requires the use of the mouse and follows the general Windows rules.

First step: Click on the Select mode button [image] in the Tool Bar, press CTRL+E, or press the SPACEBAR to enter Select mode from any other mode.

Second step:

To select a single object:

Click on the object. The object is now selected.

To select or deselect a single object:

Press SHIFT and click on the object. The object's selection state is toggled. If the object was formerly selected, it becomes deselected. If it was formerly deselected, it becomes selected.

To select multiple contiguous objects:

Drag the mouse creating a region box. This selects all objects that originate within the box.

To select or deselect multiple contiguous objects:

Press SHIFT and drag the mouse, creating a region box. This toggles the selection state of all objects originating within the box.

To select or deselect multiple non-contiguous objects:

Press and hold SHIFT while clicking on each individual object or dragging on each group whose selection status you want to change. This toggles the selection state of the object or group.

When would you want to deselect specific objects? Sometimes it is necessary to select most but not all of a large group of contiguous objects. It is easier and faster to drag select the entire group and then deselect one or two of them than to individually select each of the desired objects.

If you click on a component's attribute text, the text will be selected, not the component. Be careful to click within the component where there is no attribute text. Single-clicking on attribute text selects it and lets you move it. Double-clicking on attribute text opens a local edit box at the text location and lets you edit it there without using the Attribute dialog box.

To select all objects in the window, press CTRL+A. To deselect all objects click on any empty space in the window.

Rapid switching to/from Select mode:

In the course of building or editing a schematic, it often happens that you need to rapidly switch between modes, especially between Select mode and Component or Wire mode. To make this process easier several short term mode switchers are available:

To temporarily suspend the current mode and enable Select mode, press and hold the SHIFT key down. You can use this pseudo Select mode for object selection only. You can't drag objects. When the SHIFT key is released the former mode will be restored.

To temporarily suspend the current mode and enable Select mode, press and hold the CTRL key down. The mode will change to Select. You can use the Select mode as needed. When the CTRL key is released the former mode will be restored. Note that under this mode you can't move objects with the mouse. CTRL + mouse drag is used to drag copy an object.

To suspend the current mode and switch to Select mode, press the SPACEBAR key. It is not necessary to hold the key down. The mode will change to Select. You can use the Select mode as needed, then press the Spacebar when you're finished and the former mode will be restored. This is by far the easiest method of invoking Select when alternating between Select and other modes.


Single Frequency FM type

Name Description Units Default

vo or io Offset value V or A none

va or ia Peak amplitude V or A none

f0 Carrier frequency Hz 1/TSTOP*

mi Modulation index 0

fm Modulation freq. Hz 1/TSTOP*

* TSTOP is the run time.

The waveform value generated by the SFFM option is as follows (represented as a voltage source):

F=vo+va*sin(2*PI*f0*TIME+mi*sin(2*PI*fm*TIME))

Where TIME is the transient analysis run time.


Shape library

The Shape library contains the graphical shapes used in schematics to represent components. Each shape is comprised of various graphical primitives. The shapes are created, edited, and maintained by the Shape editor. The name of the file that holds the standard Shape library is called 'STANDARD.SHP'. Upon installation, this file is placed in the same directory as the MC10.EXE, but can be relocated from within the Shape editor. If located on a read only directory, all edit commands are locked out. This is the way to provide secure LAN access to the shape library.

It is possible to have more than one shape library. Multiple libraries can be maintained and viewed with the Shape editor, but it is recommended that the original shape library, STANDARD.SHP, be left unmodified in its original state.

Shape information is saved in the circuit file since Micro-Cap 7. When a circuit is loaded and is found to contain components whose shape names are not in the current Shape library, the program imports them and places them in a file called IMPORT.SHP. These shapes then become part of the library and are available for general use.

The Component Import option at Options / Preferences / Options / Circuit can be used to defeat this feature. If disabled, shape or component information from a circuit file is not imported.


sheet

Depending on the scale chosen in the Print Preview dialog box, each page is partitioned into one or more sheets for printing or plotting. The number of sheets is the actual amount of sheets of paper that are going to be produced during a printout.


Simulation control

There are three icons in the tool menu that allow you to control the simulation.

Run (F2): This icon begins a new simulation run.

Stop: This icon stops a currently running simulation. Once the simulation is stopped, it may only be restarted at the beginning. ESC may also be used.

Pause: This icon pauses a currently running simulation. It is possible to analyze the waveform up to this point with any of the analysis plot modes. To resume the simulation, click the pause icon again.


SIN type

Name Description Units Default

vo or io Offset value V or A none

va or ia Peak amplitude V or A none

f0 Frequency Hz 1/TSTOP*

td Delay sec. 0

df Damping factor 1/sec. 0

ph Phase degrees 0

* TSTOP is the run time.

The waveform value generated by the SIN option is as follows (represented as a voltage source):

From To Value

0 td vo

td TSTOP vo+va*sin(2*PI*(f0*(TIME-td)+ph/360))*exp(-(TIME-td)*df)

Time is the time of the analysis. This waveform is for transient analysis only. AC analysis uses the value of the AC magval and AC phaseval to set the amplitude and phase of the small signal stimulus.


Standard Gate Types

The gate type specifies the type of Boolean device. The standard gate types are listed in the Type column in the table below. The parameters depend on the type chosen and are listed in the Parameters column below. The parameters are to be enclosed in parenthesis and placed next to the gate type.

The input and output node formats are listed in the Nodes column. * refers to one or more nodes When it is not specified, it means just one node.

Type Parameters Nodes Description

AND <# of inputs> in*,out AND gate

BUF in,out Buffer

INV in,out Inverter

NAND <# of inputs> in*,out NAND gate

NOR <# of inputs> in*,out NOR gate

NXOR in1,in2,out Exclusive NOR gate

OR <# of inputs> in*,out OR gate

XOR in1,in2,out Exclusive OR gate

ANDA <# of inputs>,<# of gates> in*,out* AND gate array

BUFA <# of gates> in*,out* Buffer array

INVA <# of gates> in*,out* Inverter array

NANDA <# of inputs>,<# of gates> in*,out* NAND gate array

NORA <# of inputs>,<# of gates> in*,out* NOR gate array

NXORA <# of gates> in*,out* Exclusive NOR gate array

ORA <# of inputs>,<# of gates> in*,out* OR gate array

XORA <# of gates> in*,out* Exclusive OR gate array

AO <# of inputs>,<# of gates> in*,out AND-OR compound gate

AOI <# of inputs>,<# of gates> in*,out AND-NOR compound gate

OA <# of inputs>,<# of gates> in*,out OR-AND compound gate

OAI <# of inputs>,<# of gates> in*,out OR-NAND compound gate

The <# of inputs> is the number of inputs per gate, and <# of gates> is the number of gates.

All input nodes come before any output nodes. In a gate array, the node order is the input nodes for the first gate, the input nodes for the second gate,..., the input nodes for the final gate, the output node for the first gate, the output node for the second gate,..., the output node for the final gate. The number of output nodes is equal to the number of gates.

A compound gate contains two levels of logic. <# of inputs> is the number of inputs per first-level gate, and <# of gates> is the number of first-level gates. All of the first-level gates' outputs are connected to one second-level gate, so the device only has one output. The node order is the input nodes for the first first-level gate,..., the input nodes for the final first-level gate, and the output node. For an OA gate, the first-level gates are <# of inputs> input OR gates, and they all feed into one AND gate, which produces the output.


Stepping guidelines

What can be stepped?

There are three basic types of variables that can be stepped:

Attribute parameters

Model parameters

Symbolic parameters (those created with a .DEFINE statement)

Some components such as the simple dependent sources, IOFI, IOFV, VOFI, and VOFV, are characterized by a single attribute parameter called 'VALUE'. This is the one and only parameter that can be stepped.

Some components have only model parameters, and these are the only parameters that can be stepped.

Some components have both attribute and model parameters and both types of parameters can be stepped.

Components that use symbolic parameters in their model statement or attributes can be stepped.

Using a symbolic variable, you can also step text using the list option. This is handy for changing models, stimulus files, or other text-based parameters.

Non-stepping components

The parameters of the following components may not be stepped:

Transformers

User sources

Laplace sources

Function sources

SPICE dependent sources (E, F, G, H sources)

Switch component (S and W devices can be stepped)

The behavior of User, Laplace, Function, and SPICE sources are embodied in algebraic formulas and numeric tables, neither of which can be meaningfully stepped. You can, however, step symbolic parameters which in turn are used in Laplace, Function, and SPICE source functions. For example, you could use

.DEFINE TAU 5

A Laplace function source whose LAPLACE attribute is

1/(1+TAU*S)

could then be changed by stepping TAU. Similarly in a Laplace table source like

.DEFINE RVAL 2

.DEFINE TAB (1k,0,RVAL)

you could change the behavior of the source by stepping RVAL. The User source gets its data from an external data file and has no parameter that can be stepped.

Non-stepping model parameters

The Level model parameter may be stepped, but an error will occur if the model uses different parameter names. The MOSFET Level parameter can not be stepped if the model has been created with parameters for level 1, 2, or 3 and the level changes to a BSIM model (Level 4, 5, 8, 14, 49), EKV model level (Level 44), or Philips level. BSIM, EKV and Philips parameter names are significantly different from levels 1-3.

Example: Stepping Multiple Resistors

The way to step multiple resistors, capacitors, or inductors is to use a common model statement for all instances of the component that you want to step. For example:

R1 1 2 RMOD 1k

R3 3 8 RMOD 1k

R4 3 0 RMOD 1k

.MODEL RMOD RES (R=1)

RMOD is the common model statement of all three resistors. To step all three of these resistors, the Type option would have to be set to model. The Step What fields would read RES RMOD and R. R is the resistance multiplier. In order to step the above resistors from 500 to 1500, you would have to step the R multiplier from .5 to 1.5. You may also define the RESISTANCE attributes of the resistors with the same symbolic variable and then just step the symbolic variable.

Public vs. Private

In Component mode, stepping affects one parameter of one device only if the PRIVATEANALOG and PRIVATEDIGITAL options in the Global Settings are enabled. In Model mode, stepping affects one parameter of all devices that use that model name. Thus you are potentially affecting many devices. This is true regardless of the state of the PRIVATEANALOG and PRIVATEDIGITAL flags. In model stepping, AKO models track stepped parameters in the parent model and all of the temperature model parameters are available for stepping.

Step Values

Linear stepping starts with the From value and adds the Step Value until it reaches the To value. Log stepping starts with the From value and then multiplies by the Step Value until it reaches the To value. A Step Value of 2 is often convenient and is called octave stepping. A Step Value of 10 is sometimes referred to as decade stepping. List stepping simply uses the values specified in the From field.

Simultaneous Stepping

If multiple parameters are to be simultaneously stepped, they must each specify the same number of steps. If there is a mismatch, an error message is generated.

3D Plots

At least two parameters must be varied to create 3D plots where a performance function is chosen for the Y axis.

Impedance stepping

Stepping a resistor, capacitor, or inductor that uses an expression for its value, replaces the value calculated from the expression with the step value. In other words, the step value takes precedence over the calculated value.


Stepping schematic objects

Stepping lets you define a rectangular region and then duplicate its contents a specified number of times. It's called stepping after the photolithographic term 'step and repeat' used in the semiconductor industry. This feature is most useful for creating highly repetitive circuit structures such as PLA, RAM, or ROM cells.

The procedure is as follows:

First step: Click on the Select mode button [image] in the Tool bar.

Second step: Drag the mouse to define a region containing the object or group of objects that you want to step. This creates a box encompassing the desired area. Normally, when you first create the box, you draw its boundaries just outside the area of interest, because if you touch one of the objects, you end up dragging it instead of creating the box. If you step with the box this way, you'll end up with unconnected sections due to the space between the objects and the original box boundaries. This is usually not what you want. The way around this is to use the box handles. These handles can be dragged to eliminate the spaces. This lets the stepping process create contiguous, connected sections.

Third step: Click on the Stepping button, [image]. This invokes the Step Box dialog box. This dialog box lets you make three choices: the direction in which to step the box, the number of times to copy it, and whether or not you want to copy the box's grid text. All attributes of components found in the box are copied, except Part name, which is always incremented. Grid text, if copied, will be incremented if the Text Increment option in the Options\Circuit page of the Preferences dialog box is enabled.


Stimulus Devices

Digital networks usually require stimulus devices for testing and simulation. These devices create a temporal sequence of digital states to stimulate the circuit. They are the digital equivalent of the analog sources, SIN, PULSE, USER, V, and I.

There are two types of sources. The stimulus generator (STIM), and the file stimulus (FSTIM). The STIM device uses a language of basic commands to create virtually any waveform. The FSTIM device reads its waveforms from an external file.

There is no timing model, since timing information is an inherent property of the stimulus devices.


Stimulus Generator Examples

The first four examples all specify the same output, one that pulses every 50 nanoseconds. This is a single output in binary notation. Each example has it's schematic attributes defined.

PART=U1

FORMAT=1

COMMAND= COM1

I/O MODEL=IO_STD

TIMESTEP=0

w/ following .define statement in the text area.

.define COM1 0 0 LABEL=START +50n 1 +50n 0 +50n GOTO START -1 TIMES

PART=U1

FORMAT=1

COMMAND= COM2

I/O MODEL=IO_STD

TIMESTEP=0

w/ following .define statement in the text area.

.define COM2 0 0 LABEL=START 50n 1 100n 0 150n GOTO START -1 TIMES

PART=U1

FORMAT=1

COMMAND= COM3

I/O MODEL=IO_STD

TIMESTEP=10n

w/ following .define statement in the text area.

.define COM3 0 0 LABEL=START +5c 1 +5c 0 +5c GOTO START -1 TIMES

PART=U1

FORMAT=1

COMMAND= COM4

I/O MODEL=IO_STD

TIMESTEP=0

w/ following .define statement in the text area.

.define COM4 0 0 REPEAT FOREVER 50n 1 100n 0 150n ENDREPEAT

These examples produce the following event table:

T D(IN)

0 0

50n 1 ;Infinite loop begins

100n 0

150n 1

200n 0

250n 1

300n 0

350n 1

. .

. .

. .

The following example increments the output of the stimulus generator by 1 in each loop until it reaches the value C. 100ns after the stimulus reaches the value C, all outputs are set to 1. <value> is in hexadecimal notation.

PART=U2

FORMAT=4

COMMAND= COM5

I/O MODEL=IO_STD

TIMESTEP=0

w/ following .define statement in the text area.

.define COM5 0 0 LABEL=START +25n INCR BY 1 50n GOTO START UNTIL GT B +100ns F

This example produces the following event table:

T D(4,3,2,1)

0 0000

25n 0001 ;Loop begins incrementing 1 each time through

50n 0010

75n 0011

100n 0100

125n 0101

150n 0110

175n 0111

200n 1000

225n 1001

250n 1010

275n 1011

300n 1100 ;Value becomes greater than B

425n 1111 ;At 325n, the end loop condition is met, 100n later

the outputs are set to hex F.

The following example creates a random 8 output generator that randomly changes every 5ns. The format for <value> is a hexadecimal digit followed by four binary digits.

PART=U3

FORMAT=41111

COMMAND= COM6

I/O MODEL=IO_STD

TIMESTEP=0

w/ following .define statement in the text area.

.define COM6 LABEL=START 5ns RND 10ns goto start -1 times

This example produces a different event table with every simulation. Every 5ns, the binary value 0 or 1 is chosen randomly for each of the outputs.

The following example creates another 8 output generator where only 2 of the outputs are randomly generated. At 400ns all outputs go to 0. The format for <value> is two binary digits, a hexadecimal digit, and two more binary digits.

PART=U4

FORMAT=11411

COMMAND= COM7

I/O MODEL=IO_STD

TIMESTEP=0

w/ following .define statement in the text area.

.define COM7 0ns ??A10 100ns ??4FR 200ns ??801 300ns ??BXZ 400ns 00000

This example produces the following event table:

T D(IN8,IN7,IN6,IN5,IN4,IN3,IN2,IN1)

0 ??101010 ;IN8, IN7 are randomly 0 or 1

100n ??0100FR ;IN8, IN7 are randomly 0 or 1, IN2 is a Fall value, IN1 is a rise value

200n ??100001 ;IN8, IN7 are randomly 0 or 1

300n ??1011XZ ;IN8, IN7 are randomly 0 or 1, IN2 is unknown, IN1 is at high impedance

400n 00000000 ;All outputs are set to 0


Subcircuit and macro variables

To reference a node name or a part name of an object within a macro or subcircuit, use the following dot notation:

subcircuit part attribute name + "." + node name or part name

To reference node 10 in subcircuit X41, you would use the expression:

X41.10

To reference the node voltage on that node, you would use:

V(X41.10)

To reference the current in the diode DSTUB in subcircuit CHOPPER4, you would use the expression:

I(CHOPPER4.DSTUB)

To reference the charge in the base-emitter junction of an NPN N3 in subcircuit AMP1, you would use the expression:

QBE(AMP1.N3)

If the node or part is nested inside more than one macro or subcircuit, simply concatenate the macro or subcircuit names. For example:

V(X1.X2.X3.10)

This specifies the voltage on node 10 in macro X3, in macro X2, in macro X1.

To see more examples, load the circuit SUBCKT1.CIR, run transient analysis, and click the right mouse button in the Y Expression field. This pops up a variable menu which shows all of the circuit variables available in the entire circuit. It nicely demonstrates many examples of subcircuit variables.


Symbolic Variables

You can define a local variable with a command statement like this

.DEFINE GAMMA .15

or a global variable with a statement like this

.PARAM CNODE=.08pF

Local variables are known only at the circuit level where they are defined. Global variables are known to all macros/subckts at or below the level at which they are created. These commands are placed as grid text in the schematic or as normal text in one of the text pages.

Symbolic variables can be used for parameter values in model statements. In most places where a number is expected, they can substitute for the number. This makes it easy to "parameterize" component values for easy changes. Symbolic variables can also be assigned to a slider, allowing the slider to "tune" their value. They can also be stepped, toleranced (.define statements), and optimized.

Symbolic variables created with a .param can be stepped and optimized. Symbolic variables created with a .define can be stepped, toleranced, and optimized.


Tagging the analysis plot

Tagging is a way of both measuring and documenting a data point or difference between two data points. Tagging can be done on a single curve, between two points on a single curve, or between points on two different curves. There are four tagging modes:

Point Tag mode: This mode lets you tag a data point on a curve. It shows the X expression and Y expression values at the data point. This mode is particularly useful for measuring or documenting the exact time of a digital event, or the peak or valley of an analog curve.

Vertical Tag mode: This mode lets you drag a tag between two data points on a single curve or two different curves. It shows the vertical difference between the Y expression values at two data points.

Horizontal Tag mode: This mode lets you drag a tag between two data points on a single curve or two different curve. It shows the horizontal difference between the X expression values at two data points. It is most useful for measuring the time difference between two digital events such as the width of a pulse or the time delay between two events.

Performance Tag: In this mode, the left mouse button places a tag which measures a performance parameter for the current and subsequent plots. This includes stepped runs, Monte Carlo runs, and dynamic edits. In each case the tag measures the quantity dynamically and adapts its display to show the new value. Performance tags may use any of the performance functions (e.g. rise time, fall time, peak, period, frequency, width, high, low, etc).

There are also several immediate commands in the Scope menu for tagging the data points at the numeric cursors when in Cursor mode.

Tag Left Cursor (Ctrl+L): This command attaches a tag to the left cursor data point on the selected curve.

Tag Right Cursor (Ctrl+R): This command attaches a tag to the right cursor data point on the selected curve.

Tag Horizontal (Shift+Ctrl+H): This command attaches a horizontal tag from the left to the right cursor, showing the difference between the two X expression values.

Tag Vertical (Shift+Ctrl+V): This command attaches a vertical tag from the left to the right cursor, showing the difference between the two Y expression values.

The numeric format used by each new tag is set at Properties / Colors, Fonts, and Lines / Plot Tags. You can change the format on an existing tag by double clicking on it. This brings up its dialog box. The Format button in this dialog box lets you change the numeric format.


Text dialog box

This dialog box lets you input or edit text for placement in the schematic or define the text for a flag. This text may be used to name nodes and connect nodes or it just may be used to describe the circuit. Any text that is placed on a node names that node. Nodes that are given the same name are connected. The flag is used to manuever around large schematics. If used to edit grid text or to add or edit a flag, the Stepping page is not available. The dialog box consists of the following elements:

Text page

Border page

Stepping page

OK: This closes the dialog box and places the text on the schematic.

Cancel: This closes the dialog box without placing the text.

Apply: This temporarily applies any changes made in the dialog box to the selected text or flag on screen. The changes are not final until the OK button is clicked. This command button only appears when editing text or a flag.

Help: This accesses the help topic for the specific page that is displayed.


Timing hazards

If the exact arrival times of the inputs to a digital device are unknown, the output may glitch or be set to 'X'. This condition is referred to as a timing hazard.

There are several types of hazards, including

Convergence hazards

Cumulative ambiguity hazards

Critical hazards

Convergence hazard

This hazard occurs when two signals converge to the inputs of a gate and there is overlapping uncertainty in their arrival times as with 'R' and 'F' input states. This hazard could be represented with an 'X' transition or one of the 'R' or 'F' states. We have chosen to use 'R' and 'F' to match the usual representation of the hazard. It should be interpreted as a possible short pulse, extending no longer than the overlap of the uncertainty portions of the input signals.

Cumulative ambiguity hazards

Digital worst-case timing is activated when a gate's MNTYMXDLY value is set equal to 4. If a gate's timing is specified as worst-case, the simulator adds an 'R' state between the specified minimum delay and maximum delay at each 0-1 and 0-R transition and an 'F' state between the specified minimum delay and maximum delay at each 1-0 and 1-F transition. As a signal passes through a gate with worst-case timing specified, the uncertainties of its transitions increase. These uncertainties can accumulate to the point where parts of the signal are ambiguous, creating an 'X' state.

Cumulative ambiguity is a particular problem with circuits that feed an inverted gate output back to its input to create an oscillator. In such cases, the MNTYMXDLY parameter of the oscillator gate should be set to something other than 4 (worst-case), to stop the signal destruction.

Critical hazards

Convergence and ambiguity hazards indicate potential problems. They may or may not cause a problem in the circuit. If the hazard causes a flip-flop or other storage device to store incorrect data, then they become critical hazards, since they will almost certainly cause a failure in the circuit.


Timing models

All digital primitives except PULLUP, PULLDN, CONSTRAINT, and PINDLY, employ a timing model statement whose parameters specify the various timing characteristics unique to the part. The general types of parameters include propagation delay, pulse width, setup time, hold time, and switching time. The parameter names are constructed from a standard set of abbreviations:

TP Propagation delay

TW Pulse width

TSU Setup time

THD Hold time

TSW Switching time

MN Minimum

TY Typical

MX Maximum

LH Low to high transition

HL High to low transition

ZL Z to low transition

ZH Z to high transition

LZ Low to Z transition

HZ High to Z transition

Here are some examples:

TPLHMN: Minimum propagation delay for a low to high transition for standard and tri-state gates.

TWPCLTY: Typical JKFF prebar or clearbar width at the low state. Here the P of the prebar pin name and the C of the clearbar pin name are integrated into the parameter name.

THDCLKMN: Minimum hold time for J and K or D inputs after the active CLK transition.

This is an example of a timing model statement for a standard gate:

.MODEL DL_01 UGATE (TPLHMN=8NS TPLHTY=11NS

+ TPLHMX=13NS TPHLMN=6NS TPHLTY=9NS TPHLMX=12NS)

Unless otherwise noted, all timing parameters have a default value of zero.


Tolerance and public vs. private libraries

In order to accomplish relative DEV tolerancing, it is necessary to have private libraries. Consider this case:

.MODEL N1 NPN (BF=300 LOT=10% DEV=1%)

Because of the DEV tolerance, each instance of a BJT using the N1 model will have a unique BF. This can only happen with private libraries. Thus when a model uses a DEV tolerance, the PRIVATEANALOG or PRIVATE DIGITAL flags are enabled, forcing the use of a private library for all parts which use the model. The flags are not affected for other models.

To summarize, for all devices using the same model statement:

If DEV is used, then all devices have their own private model parameter set, regardless of the PRIVATEANALOG or PRIVATEDIGITAL flag settings, and may have different parameter values if the tolerances are not zero.

If DEV is not used, and PRIVATEANALOG or PRIVATEDIGITAL are disabled, then all devices that use the same model name will have the same parameter values, since public libraries are being used.

If DEV is not used, and PRIVATEANALOG or PRIVATEDIGITAL are enabled, then all devices that use the same model name may have different parameter values, if the tolerances are not zero.

This table summarizes how the parameters of two parts which use the same model vary depending upon DEV use and the PRIVATE flags.

Private Public

DEV used Unique Unique

DEV not used Unique Same

LOT used Unique Same (unless DEV also used)

LOT not used Same Same (unless DEV also used)


Tolerancing symbolic parameters

Symbolic parameters, those created with a .DEFINE statement, may also be toleranced. The format is as follows:

.DEFINE [{lotspec}] <varname> <expr>

where the format of lotspec is the same as for other parameters except there is no DEV tolerance. With symbolic variables, there is only one instance so DEV tolerancing cannot be used.

[LOT[t&d]=<value>[%]]

[t&d] specifies the tracking and distribution, using the usual format:

[/<lot#>][/<distribution name>]

For example,

.DEFINE {LOT/1/GAUSS=10%} RATE 100

This defines a variable called RATE that has a Gaussian distribution with a percentage LOT tolerance of 10% and its tolerances are based on random number generator 1.

Here is another example:

.DEFINE {LOT/3/UNIFORM=20%} VOLTAIRE 100

This defines a variable called VOLTAIRE with a nominal value of 100. It has a uniform distribution with a LOT tolerance of 20%. Its LOT tolerance is based on the random number generator 3.

AGAUSS, GAUSS, UNIF, and AUNIF functions can also be used to specify distributions. For example, if a resistor VALUE attribute is agauss(1k,100,2), this specifies a 1k resistor with a tolerance of 100 at 2 standard deviations. The standard deviation is 50 = 100/2 in this case.


Tracker menu

These options control the display of the cursor, intercept, and mouse trackers, which are little boxes containing the numeric values of the specified data point. The tracker options are as follows:

Cursor (Ctrl+Shift+C): If enabled, this places a numeric tracker, defining the X,Y value of where the cursors are at, at the junctions of both cursors and their specified data points when in Cursor mode.

Cursor: Branch Info: If enabled, this places a numeric tracker, defining the stepped values of the branch that the cursors are on, at the junctions of both cursors and their specified data points when in Cursor mode. This is only applicable when multiple branches of the same expression have been produced such as with Stepping or Monte Carlo.

Intercept (Ctrl+I): If enabled, this places a numeric tracker at each of the axes intercepts. On the Y axis will appear the Y value of the data points from the cursors. On the X axis will appear the X value of the data points from the cursors. The Y values are easier to track if Horizontal Cursor, [image], is enabled from the Scope/View menu.

Mouse (Ctrl+M): If enabled, this places a numeric tracker, defining the X,Y value of where the mouse is pointing, right below the mouse pointer.


Transient analysis variables - Probe

The Vertical menu selects the vertical variable and the Horizontal menu selects the horizontal variable. The plotted variables may be edited in the Probe Properties dialog box. When the mouse cursor arrow is clicked, Probe determines whether the object under the mouse is a node dot or a component and whether it is analog or digital. If the object is a digital node, Probe plots the state curve of the node. If the object is a macro, subcircuit, or digital primitive, Micro-Cap opens the macro or subcircuit file allowing you to probe this directly. Use the Go Up a Level command [image] to return to the main schematic. If the Macro Drill Down option in the Preferences \ Options \ Analysis is disabled then Probe presents a list showing its pin names and the associated node names. You can select one or more analog node voltage or digital state curves by clicking on the pin name or node name. After clicking the OK button, Probe plots the selected digital or analog curve.

If the object is either an analog node or analog component (other than a macro or subcircuit), Probe extracts the vertical and horizontal variables specified by these menus and uses them to plot the analog curve or curve.

In Save All mode: You can cycle through the available measurement modes (V, I, E, P, R, Q, C, X, L, B, H) with CTRL + SPACEBAR key.

In Save V and I Only mode: You can toggle between voltage and current modes by pressing the CTRL + SPACEBAR key.

All: This lists all available variables for the component clicked on.

Voltage: If the mouse probes on a node, a node voltage is selected. If the mouse probes on the shape of a two-lead component, the voltage across the component is selected. If the mouse probes between two leads of a three or four lead active device, the lead-to-lead difference voltage is selected. Press the SHIFT key and click on two nodes and you'll get the differential voltage across the two nodes.

Current: If the mouse probes on the shape of a two-lead component, the current through the component is selected. If the mouse probes on a lead of a three or four lead active device, the current into the lead is selected.

Energy: If the mouse probes on a component, it plots the energy dissipated (ED), generated (EG), or stored (ES) in that component. If the component has more than one of these, a list appears allowing selection. Clicking off a component lets you select one of the total energy terms, EGT (total generated energy), EST (total stored energy), or EDT (total dissipated energy).

Power: If the mouse probes on a component, it plots the power dissipated (PD), generated (PG), or stored (PS) in that component. If the component has more than one of these, a list appears allowing selection. Clicking off a component lets you select one of the total power terms, PGT (total generated power), PST (total stored power), or PDT (total dissipated power).

Resistance: If the mouse clicks on a resistor, this selects the resistance.

Charge: If the mouse clicks on a capacitor, this selects its charge. If the probe occurs between the leads of a semiconductor device, this selects the charge of the internal capacitor between the two leads, if any. For example, a click between the base and emitter of an NPN selects the CBE charge stored in the diffusion and junction capacitance. The units used are Coulombs.

Capacitance: If you click on a capacitor, this selects its capacitance. If the probe occurs between the leads of a semiconductor device, this selects the capacitance of the internal capacitor between the two leads, if any. For example, a click between the base and emitter of an NPN selects the diffusion and junction capacitance of the base-emitter region..

Flux: If the mouse clicks on an inductor, this selects the flux.

Inductance: If the mouse clicks on an inductor, this selects its inductance.

B Field: If the mouse clicks on an inductor which is referenced in a K (coupling) device with a nonlinear core model specified, this selects the B field of the core..

H Field: If the mouse clicks on an inductor which is referenced in a K (coupling) device with a nonlinear core model specified, this selects the H field of the core.

Time: This selects the transient analysis simulation time variable.

Linear: This selects a linear scale.

Log: This selects a log scale.


Tri-State Gate Types

The tri-state gate type specifies the type of Boolean device. The tri-state gate types are listed in the Type column in the table below. The parameters depend on the type chosen and are listed in the Parameters column below. The parameters are to be enclosed in parenthesis and placed next to the tri-state gate type.

The input and output node formats are listed in the Nodes column. * refers to one or more nodes When it is not specified, it means just one node. The enable input will always be just one node and is referred to as en.

Type Parameters Nodes Description

AND3 <# of inputs> in*,en,out AND gate

BUF3 in,en,out Buffer

INV3 in,en,out Inverter

NAND3 <# of inputs> in*,en,out NAND gate

NOR3 <# of inputs> in*,en,out NOR gate

NXOR3 in1,in2,en,out Exclusive NOR gate

OR3 <# of inputs> in*,en,out OR gate

XOR3 in1,in2,en,out Exclusive OR gate

AND3A <# of inputs>,<# of gates> in*,en,out* AND gate array

BUF3A <# of gates> in*,en,out* Buffer array

INV3A <# of gates> in*,en,out* Inverter array

NAND3A <# of inputs>,<# of gates> in*,en,out* NAND gate array

NOR3A <# of inputs>,<# of gates> in*,en,out* NOR gate array

NXOR3A <# of gates> in*,en,out* Exclusive NOR gate array

OR3A <# of inputs>,<# of gates> in*,en,out* OR gate array

XOR3A <# of gates> in*,en,out* Exclusive OR gate array

The <# of inputs> is the number of inputs per gate, and <# of gates> is the number of gates.

All input nodes come first, then the enable node, and then the output nodes. In a gate array, the node order is the input nodes for the first gate, the input nodes for the second gate,..., the input nodes for the final gate, the enable node, the output node for the first gate, the output node for the second gate,..., the output node for the final gate. The number of output nodes is equal to the number of gates. A tri-state gate array all share a common enable input.


Truth Tables - Flip-Flops

JK Flip-Flop Truth Table
Inputs |  |  |  |  | Outputs
J | K | CLK | PREBAR | CLRBAR | Q | QBAR
X | X | X | 1 | 0 | 0 | 1
X | X | X | 0 | 1 | 1 | 0
X | X | X | 0 | 0 | 1 | 0
X | X | 0 | 1 | 1 | Q' | QB'
X | X | 1 | 1 | 1 | Q' | QB'
0 | 0 | FE | 1 | 1 | Q' | QB'
0 | 1 | FE | 1 | 1 | 0 | 1
1 | 0 | FE | 1 | 1 | 1 | 0
1 | 1 | FE | 1 | 1 | QB' | Q'

D Flip-Flop Truth Table
Inputs |  |  |  | Outputs
D | CLK | PREBAR | CLRBAR | Q | QBAR
X | X | 1 | 0 | 0 | 1
X | X | 0 | 1 | 1 | 0
X | X | 0 | 0 | 1 | 0
X | 0 | 1 | 1 | Q' | QB'
X | 1 | 1 | 1 | Q' | QB'
0 | RE | 1 | 1 | 0 | 1
1 | RE | 1 | 1 | 1 | 0

X is a don't care value where the input can be anything. FE is the falling edge of the clock. RE is the rising edge of the clock. Q' is the previous Q output. QB' is the previous QBAR output.

Since the flip-flops need to be edge-triggered to produce an output change, the initialization of the flip-flops may be chosen by the user. View the initialization topic for more information.


Truth Tables - Latches

SR Flip-Flop Truth Table
Inputs |  |  |  |  | Outputs
S | R | GATE | PREBAR | CLRBAR | Q | QBAR
X | X | X | 1 | 0 | 0 | 1
X | X | X | 0 | 1 | 1 | 0
X | X | X | 0 | 0 | 1 | 1
X | X | 0 | 1 | 1 | Q' | QB'
0 | 0 | 1 | 1 | 1 | Q' | QB'
0 | 1 | 1 | 1 | 1 | 0 | 1
1 | 0 | 1 | 1 | 1 | 1 | 0
1 | 1 | 1 | 1 | 1 | 1 | 1

D Latch Truth Table
Inputs |  |  |  | Outputs
D | GATE | PREBAR | CLRBAR | Q | QBAR
X | X | 1 | 0 | 0 | 1
X | X | 0 | 1 | 1 | 0
X | X | 0 | 0 | 1 | 1
X | 0 | 1 | 1 | Q' | QB'
0 | 1 | 1 | 1 | 0 | 1
1 | 1 | 1 | 1 | 1 | 0

X is a don't care value where the input can be anything. Q' is the previous Q output. QB' is the previous QBAR output.

Since the latches need to have a high level at the gate input to produce an output change, the initialization of the latches may be chosen by the user. View the initialization topic for more information.


Undo and Redo commands

The Undo command undoes the effect of an operation. It is activated by pressing CTRL + Z, by clicking on the Undo button [image] , or by selecting the Undo item from the Edit menu. Undo is available for most edits to text fields, schematics, shapes, and analysis plot objects. Changes available for undoing include editing, deleting, moving, rotating, reflecting, and stepping. Search and replace operations on text documents and the text area of schematics are not reversible. Text edits are not reversible after the text cursor has been moved to another field. If a command is not reversible, you can still reverse its effects by saving the file prior to using the command, and then using the Revert option from the File menu to load the old version of the file stored on disk.

There is also a multistage Redo command. It is activated by pressing CTRL + Y, by clicking on the Redo button [image] , or by selecting the Redo item from the Edit menu. It is the complement of Undo. It restores the undone state.

These commands are multistage. They can undo/redo many times and are only limited by available memory.


Unspecified Propagation Delay

In some circuits, a delay time of 0s may cause problems in the logic. Therefore, any propagation delay parameters that are not specified in the model statement are determined with the help of the two Global Settings parameters, DIGMNTYSCALE and DIGTYMXSCALE. Any timing constraint parameters are handled differently. Information on them can be found in the Unspecified Timing Constraints topic.

The timing model syntax provides minimum, typical, and maximum values for each propagation delay parameter. The names of these parameters always begin with 'TP'. Data books often specify only one or two of these parameters. Since the logic simulator can't just assume a default value of zero for unspecified parameters, it calculates them according to the following rules:

If the typical value is specified:

The parameter DIGMNTYSCALE is used to determine an unspecified minimum delay when a typical delay is specified. DIGMNTYSCALE must be between 0 and 1. The minimum delay is computed through the formula:

TPxxMN = DIGMNTYSCALE * TPxxTY

The parameter DIGTYMXSCALE is used to determine an unspecified maximum delay when a typical delay is specified. DIGTYMXSCALE must be greater than 1. The maximum delay is computed through the formula:

TPxxMX = DIGTYMXSCALE * TPxxTY

If the typical value is not specified:

If the typical delay is unspecified, it will be determined in one of three ways. If both the minimum and maximum delays are known, then the typical delay will be the average of the two. If just the minimum delay is known, the typical delay is derived through the DIGMNTYSCALE formula above. If just the maximum delay is known, the typical delay is derived through the DIGTYMXSCALE formula above.

If no values are specified, all three delays will default to zero.

A parameter is unspecified if it is missing from the model statement. For example, a model statement with unspecified parameters looks like this:

.MODEL TOR UGATE ( )

Another approach is to include the unspecified parameters and set them equal to -1 as a way of signaling to the generation routines that they are to be considered unspecified. Any timing parameter set equal to -1 is treated as unspecified and thus calculated from the other parameters according to the above rules. Having the names of unspecified parameters readily available is a convenient memory aid in case they need to be modified.


Unspecified Timing Constraints

Timing constraint parameters include pulse widths, setup times, and hold times. Typical and maximum values for these timing constraints are frequently missing from data books. Unlike propagation parameters, these missing values cannot be obtained by a simple scaling procedure. Instead, the simulator calculates the missing values according to the following procedure:

If the minimum value is not specified:

The minimum value will be 0.

If the typical value is not specified:

The typical value will be computed as the average of the minimum and maximum values.

If the maximum value is not specified:

The maximum value will default to the specified typical value. If the typical value is not specified, then the maximum value will default to the minimum value.

A parameter is unspecified if it is missing from the model statement. For example, a model statement with unspecified parameters looks like this:

.MODEL JK1 UEFF ( )

Another approach is to include the unspecified parameters and set them equal to -1 as a way of signaling to the generation routines that they are to be considered unspecified. Any constraint parameter set equal to -1 is treated as unspecified and thus calculated from the other parameters according to the above rules. Having the names of unspecified parameters readily available is a convenient memory aid in case they need to be modified.


Using Copy, Paste, and Replace

The clipboard can also be used for rapid entry of similar parts. To illustrate, assume we want to enter a number of 5 pin opamp parts from Analog Devices that use the same pins as the OP08_AD part.

1) Select Component Editor from the Windows menu.

2) Select the part that is to serve as a template. For this illustration simply select Analog Library / Opamp / Precision/Rail-to-Rail / O- / OP07_LT- / OP08_AD.

3) Click on the Copy [image] button. The program copies the OP08_AD to the clipboard.

4) Click on the Paste [image] button. Micro-Cap pastes the clipboard part (the OP08_AD) to a new position, and names it OP08_AD_1. Change its name to OP09_AD and you've just entered the OP09_AD part. Each new part added takes one click and a few keystrokes for the name.

The Paste operation adds a new part using all of the properties of the clipboard part except the name which is generic and must be changed by the user.

The Replace operation is similar, but it does not add a part. It merely replaces the properties of the selected part with those from the clipboard part, except for the name, which remains the same.

The purpose of the Replace command is to replace many nearly identical parts with a new template where the pin placements or attribute text placement is to be made uniform.


Using the Add Part Wizard

The Add Part wizard can often simplify this task of adding a component to the library. It combines all of the steps required to enter a new part and is particularly nice for subckt parts where it can often guess the correct pin placement and shape based upon similar parts already in the library.

We'll illustrate the procedure with the sample file, AD.LIB supplied with Micro-Cap, and located in the library folder. Pretend that you have just downloaded it from a vendor. In the file is a subckt description for the OP09_AD opamp. Here is how you add it to the library using the Add Part wizard.

1) Select Component Editor from the Windows menu.

2) Select the group where you want the part name to appear in the Component menu. Select Analog Library / Opamp / Precision/Rail-to-Rail / O- / OP07_LT-.

3) Click on the Add Part wizard [image] button.

4) The first prompt is for the electrical definition. Select Subckt. Click Next.

5) The next prompt asks for the name of the file containing the subckt. Type AD.LIB (the file is already in the library folder so no path is needed). Click Next.

6) The next dialog box lists all of the candidate parts found in the AD.LIB file. Select "OP09_AD". Click Next.

7) The next prompt is the tricky one. The wizard scans the Component library and compiles a list of all subcircuit parts that have pin names matching the OP09_AD. Actually it presents only a representative list, as there may be many matching parts. Select a part from the list. In this case we will select the recommended choice since we know this to be a typical 7 pin opamp model. Click Next.

8) The next prompt asks for an optional memo field. Click Next.

9) The next prompt asks for an optional palette assignment. Click Next.

10) The next panel lets you set the initial display of the various part attributes. Click Next.

11) The next panel lets you make the assignment of the component name to the NAME attribute. This assignment avoids the need to invoke the Attribute dialog box when one of these parts is added to a schematic. Click to enable the option. Click Next.

12) The final panel advises you to examine the entry to be sure all elements have been selected properly, particularly the choice of shape and where the pin names have been placed on the shape.

At this point you can click the Finish button or the Cancel button. Pressing the Cancel button ignores the imported part. Pressing the Finish button adds it, but does not yet write them to disk. When you exit the Component editor, you can elect to save the changes by writing them to disk.


Using the Bus

Bus mode [image] lets you place bus connectors in the schematic. Busses are convenient for drawing many wires at once, especially wires that are logically related as for example, data and memory sets in a CPU or RAM function.

The connector has two ports, the wire port and the bus port. Pins are electrically connected to pins that share the same pin name on other connectors attached to the bus.

To draw a bus, select Wire mode, then drag the mouse from another bus or from the bus port of a connector. Busses connect and rubberband just like wires.

Buses and their connectors may transport analog or digital signals, depending upon the type of component attached to their wires.

Placing a bus connector invokes the Bus dialog box which lets you define the pin names and alignment of the bus connector.


Using the Import Wizard

Micro-Cap includes an Import wizard for importing large numbers of similar .Model and .Subckt-modeled parts.

We'll illustrate the procedure with the sample file, AD.LIB supplied with Micro-Cap, and located in the library folder. We'll pretend that you have just downloaded it from a vendor. In the file are multiple subcircuits. Here is how you add them to the library using the Import wizard.

1) Select Component Editor from the Windows menu.

2) Select the group where you want the part names to appear in the Component menu. For this illustration simply select Analog Library.

3) Click on the Import wizard [image] button.

4) The first prompt is for the file name. Type in "ad.lib". In this example, you don't need to specify a path since the file is already in the Micro-Cap library folder. If it were not, you would specify or browse to the location of the file. Click Next.

5) The next prompt is for an optional suffix. Click Next.

6) The program scans the ad.lib file looking for subcircuits and models. When it finds one, it scans the library for parts with the same pin names. There are several possible outcomes from this search:

Exact Match: If the search finds one or more exact pin matches and all matching parts use the same shape it simply enters the part using the shape and pin locations from the matching parts.

Near Miss: If the search finds one or more exact pin matches and the matching parts use different shapes, it presents a list and asks you to select a part. If you're unsure about which part to use, scan the subcircuit listing in the Info dialog box, especially the comments near the .MODEL or .SUBCKT line. These often reveal enough about the part to pick a suitable shape. You may want to create a special shape for the part.

No Match: If the search finds no matches, it enters the part using a generic shape and pin placements and annotates the memo field to indicate additional work is needed.

In this example, the search turned up one near miss part, the IRF5101A, an N-channel MOSFET. Select the NMOS_subckt part, which uses the DNMOS shape. Click OK.

The search results are shown in the dialog box. Several parts with exact matches were found and these parts were entered without assistance. No matches were found for the ODDBALL part so it was entered generically. The IRF5101A was entered with the NMOS_subckt part as a template.

At this point you can click the Finish button or the Cancel button. Pressing the Cancel button ignores the imported parts. Pressing the Finish button adds them, but does not yet write them to disk. When you exit the Component editor, you can elect to save the changes by writing them to disk.


View commands - plot

These are the view features that may be used with an analysis plot. They are as follows:

Data Points: This marks the actual analysis data points on the curve. All other values are linearly interpolated.

Tokens: This adds tokens to each curve. Tokens are small graphic symbols that help identify the curves. This help to distinguish the waveforms from each other on black and white printouts.

Ruler: This substitutes ruler tick marks for the normal full screen X and Y axis grid lines.

Plus Mark: This replaces continuous grids with "+" marks at the intersection of the X and Y grids.

Horizontal Axis Grids: This adds grids to the horizontal axis.

Vertical Axis Grids: This adds grids to the vertical axis.

Minor Log Grids: This adds minor log grids between the major grids to any axis which uses the log option..

Minor Log Grids 2 5: This adds and labels minor log grids between major grids at the 2 and 5 positions.

Label All Minor Grids: This labels all minor grids between the major grids on any axis which uses the log option. This will only have an effect when the Minor Log Grids option is enabled.

Baseline: This places a reference zero line in the analysis window.

Horizontal Cursor: This adds a horizontal cursor intersecting each of the two vertical numeric cursors in Cursor mode at their respective data point locations.

Margin Arrow: This displays the margin arrow in Stability analysis plots.

Margin Line: This displays the margin reference line in Stability analysis plots.


View Menu

The View menu

The View menu is used to select the display options of the schematic.

Attribute Text: This option displays the component text on a schematic. The component text is text which is used to identify the parameter or type of the component.

Grid text: This option displays the grid text on a schematic. Grid text is any text added by using the Text mode. Typical uses of grid text include naming nodes for use in the analysis plots, connecting same-name nodes, and documentation.

Node Numbers: Micro-Cap assigns numbers to every node in a circuit. The node numbers are constantly updated as the circuit is changed. This option displays the node numbers on the circuit schematic. Digital nodes are represented by the node number inside a square, and analog nodes are represented by a node number in an oval.

Node Voltages / States: This option displays the last AC, DC, or transient analysis time-domain node voltages and digital states. If these are the result of an operating point only run, the display shows the DC operating point values. During Dynamic AC, AC voltages are shown. For transient analysis, there are options to show the peak, RMS, and average values too. The View panel in the Properties dialog box lets these options be enabled for transient. The value to display is chosen through this menu or though the VIP [image] tool bar button.

Current: This options displays the last AC, DC, or transient analysis time-domain currents. In AC, this will show the currents calculated during the operating point. During Dynamic AC, AC currents are shown. For transient analysis, there are options to show the peak, RMS, and average values too. The View panel in the Properties dialog box lets these options be enabled for transient. The value to display is chosen through this menu or though the VIP [image] tool bar button.

Power: This options displays the last AC, DC, or transient analysis time-domain power. In AC, this will show the power calculated during the operating point. During Dynamic AC, AC powers are shown. For transient analysis, there are options to show the peak, RMS, and average values too. The View panel in the Properties dialog box lets these options be enabled for transient. The value to display is chosen through this menu or though the VIP [image] tool bar button.

Condition: This options displays the last AC, DC, or transient analysis time-domain conditions. In AC, this will show the condition calculated during the operating point. Conditions define the operating state for devices such as OFF, LIN, SAT, and HOT for BJTs, or OFF, ON, and HOT for diodes. HOT occurs when the power dissipated in the device is greater than the value specified in the POWER attribute of the component. If the POWER attribute is undefined, a hardcoded value will be used instead.

Pin Connections: Pins are added to shapes in the Component Editor. They are used to identify where the electrical connections of a component are located. This option displays these pin locations, providing a visual aid to the connection points.

Connection Warnings: This attaches a yellow warning triangle to any unconnected pins.

No Grid: This option display no schematic grid.

Grid: This option displays a standard grid without bold grid points.

Grid Bold 5: This option displays a standard schematic grid with every 5'th grid point in bold.

Grid Bold 6: This option displays a standard schematic grid with every 6'th grid point in bold. 6 is the standard grid spacing of simple parts.

Bold Grids User (N): This option displays a standard schematic grid with every N'th grid point in bold. The distance between bold grids, N, is user selectable in the View panel of the Properties dialog box.

Graph Paper: This option displays a graph paper like grid.

The next four choices can also be selected from the VIP button , if they are enabled from Properties (F10) / View / Calculate. These control the display measurement for voltage, current, and power after a transient analysis has been run.

Last: This displays the last current, voltage, or power. This option is always available.

RMS: This displays the RMS current, voltage, or power. Note that for power, this is an RMS measurement of the power expression. It is not a measurement such as Vrms * Irms that is frequently used to measure average AC power.

Average: This displays the average current, voltage, or power.

Peak: This displays the peak current, voltage, or power.

Cross-hair Cursor: This option displays a cross-hair cursor on the schematic area. This cursor tracks the mouse cursor and lets you line up objects across a schematic.

Border: This option produces a border around each sheet of the schematic.

Title Block: This option displays a title block with the characteristics defined in the Title Block page. The title block is created using the Title Block Editor.


Watch statement

The watch statement is used in Animation mode to display the value of an expression in a SPICE text file or in the text area of a schematic. The format is:

Syntax

;watch(<expression>)

Examples

;watch(V(1))

;watch(I(R1))

;watch(sin(v(outa))*cos(v(outb)))

When an animation analysis is running, these statements will change to appear in the format:

;<expression>=<value>

where <value> is the value of the <expression> at the current point of the analysis.


Wildcard device and node names

A wildcard syntax is available for use in the Y Expression field of the Analysis Limits dialog boxes. This syntax allows the user to compactly specify the plotting of many similar expressions. The brackets [] and the letter @ are used as wild cards. [] means to expand the contents between the brackets. @ refers to devices while @@ refers to nodes. Note that the D() and V() operators are interchangeable when referencing an individual node. If these operators reference a digital node, then the digital state will be displayed. If they reference an analog node, then the analog voltage will be displayed.

Node examples:

D([@@]) means plot all digital node states: D(all_digital_nodes) and all analog node voltages: V(all_analog_nodes).

V([@@]) means plot all analog node voltages: V(all_analog_nodes) and all digital node states: D(all_digital_nodes).

V([A@@]) means plot all node voltages for nodes that begin with A.

Device examples:

V([@]) means plot all device voltages: V(all_device_names).

V([R@]) means plot all device voltages: V(R1), V(R2),...V(Rall).

V([C1,C2,C3]) means plot the voltages: V(C1), V(C2), and V(C3).

V(L[1:3]) means plot the device voltages V(L1), V(L2), and V(L3).

V[C,B]([@]) means plot the voltages: VC(Q1), VC(Q2), ...VB(Q1), VB(Q2)...

I([L@]) means plot all device currents of the form: I(L1), I(LAB),...I(Lall).

I([@]) means plot all device currents.

[V,C,I,Q,X] ([C@,L@]) means plot all voltages (V), capacitances (C), currents (I), charges (Q), or fluxes (X) whose device names begin with C or L. If a circuit has two capacitors named C1 and C22 and one inductor named L3, it would plot V(C1), V(C22), C(C1), C(C22), I(C1), I(C22), Q(C1), Q(C22), V(L3), I(L3), and X(L3). Nonexistent terms, such as X(C1), X(C22) (capacitors usually have no flux), C(L3) (inductors usually have no capacitance), and Q(L3) (inductors usually have no charge) are ignored. Note, that resistors, capacitors, and inductors will have resistance, charge, and flux if they employ a model with those parasitics.