EXPLORER LSIM SIMULATOR

LSIM OVERVIEW

Lsim is a multi-signal, multi-level simulator that can support models of different levels of abstraction, ranging from behavioral to structural, including gate, switch and transistor levels. Models can be created as Lsim netlists, VHDL models, or M language models.

Example Schematic and Lsim Netlist File

N::
TECH scna20orbit
CELL ckt1
{
	IN in0=1;
	IN in1=2;
	IN in2=3;
	OUT out0=4;

	INST inv01 inv01_i0 I=2   O=17;
	INST and02 and02_i0 I0=1  I1=2 O=9;
	INST and02 and02_i1 I0=17 I1=3 O=14;
	INST or02  or02_i0  I1=14 I0=9 O=4;
}

Lsim Simulation Modes

Timing Constraint Checks

Lsim can check for violations of various timing constraints:

Representation of Logic Signal Values in Lsim

Signal values in Lsim are represented by three components: Valid combinations of signal state, strength, and weight are given in the following table.

Signal Value = State + Strength + Weight
State
Strength Low (L) High (H) Unknown (X)
Initial (I) IL00 IH00 IX00
Charged (C) CL00-CL31 CH00-CH31 CX00-CX31
Driven (D) DL00-DL31 DH00-DH31 DX00-DX31
Supply (S) SL31 SH31 SX31


Notes:

BASIC SIMULATION PROCEDURE

  1. Invoke Lsim, loading the circuit model and any device models.
  2. Insert probes on signal lines to be toggled and/or monitored.
  3. Supply test vectors to be applied to the circuit inputs.
  4. Run the simulation for a given amount of time.
  5. Study and/or save the simulation results.

INVOKING & EXITING LSIM

Start up Lsim from UNIX:

Functional gate-level simulation of a schematic netlist file ckt1.N, created with Mosis Design Kit standard cells and scna20orbit technology:
Lsim ckt1.N $MGC_HEP/lib/scna20orbit/gdt/scna20orbit_fast.dir/fmods_fast
Normal graphical/interactive mode with a transistor netlist model in file model.N created using scna20orbit technology:
Lsim -l $MGC_HEP/technology/gdt model.N
Batch/noninteractive mode: add the switch -B
Interactive/nongraphics mode: add the switch -text

Start up Lsim from the Lshell popup menu

Lsim startup file

Exiting Lsim

LSIM COMMANDS AND MENUS

The Lsim user interface is shown below. Lsim commands may be issued in three ways:

DEFINING PROBES

Before beginning a simulation, a set of probes must be defined for the circuit. A probe is a circuit node/test point to be forced to logic/voltage levels and/or monitored during simulation. The signal values of all probed circuit nodes are displayed in one or more waveform or stripchart probe display windows. A Probe Display Window monitoring four probes is shown above.

Probe types

Defining probes

Selecting & deselecting probes

Removing probes from a window

Adding & removing probe display windows

APPLYING TEST VECTORS TO PROBES

To test a circuit, bit and bus probes can be forced to specified values at any time during simulation. Repeating clock and pulse trains can also be defined and applied to probes.

CONTROLLING EXECUTION OF THE SIMULATION

Simulate for a specified amount of time

Interrupting, resetting, and reinitializing a simulation

GROUPING SIMULATION COMMANDS VIA ALIASES

An alias is a symbolic name for a parameterized sequence of commands. The sequence is executed by entering the alias name as if it were a command. Parameters are specified following the alias name, and are substituted for placeholders in the command sequence.

VIEWING RESULTS IN THE PROBE DISPLAY WINDOW

Lsim Debugging Aids

Lsim provides several features to aid in debugging circuit models: