APPLY Command

Associates stimuli with primary inputs for pattern or waveform simulation.

Command APPLY
Abbreviation AP
Category Stimulus Definition & Application

Function

The APPLY command associates named stimulus sequences—patterns or waveforms, previously specified with one or more DEFINE commands— with primary inputs (including primary busses). All primary inputs must be assigned stimuli before simulation can begin. The APPLY commands may specify either patterns or waveforms, but not both.

For Tester Emulation Mode, the APPLY command additionally:

  1. associates named time-sets—timing generator characteristics previously specified with DEFINE commands—with primary inputs
  2. associates named output strobes—previously specified with DEFINE commands—with primary outputs
  3. changes master test period.

Associating Stimuli With Primary Inputs And Busses

Patterns

To associate a pattern that starts at test number <tnum> with primary inputs and/or primary busses:

APPLY PATTERNS=<pname> LIST=<signals_pi> $
    BEGIN=<tnum>

The number of primary inputs specified in the LIST keyword-field must be equal to the width of pattern <pname>.

If the BEGIN keyword option is omitted, the pattern will start immediately, if at the start of simulation or if the circuit state is stable, or when the circuit state becomes stable. For example:

APPLY PATTERNS=pabc LIST=pi1,pi2 BEGIN=101

associates the pattern pabc (of width 2) with primary inputs pi1 and pi2, and schedules this association to start at Test 101, while

APPLY PATTERNS=pabc LIST=pi1,pi2

causes the pattern to immediately determine the next values of these signals.

Waveforms

To associate a waveform that starts at time <time> with primary inputs and/ or primary busses:

APPLY PATTERNS=<wname> LIST=<signals_pi> $
    BEGIN=<time>

The number of primary inputs specified in the LIST keyword-field must be equal to the width of waveform <wname>.

If the BEGIN keyword option is omitted, the waveform will start immediately, if at the start of simulation, or one time-unit after the command is issued. For example:

APPLY PATTERNS=wabc LIST=pi1,pi2 BEGIN=101

associates the waveform wabc (of width 2) with primary inputs pi1 and pi2, and schedules this association to start at Time 101, while

APPLY PATTERNS=wabc LIST=pi1,pi2

causes the waveform to immediately determine the next values of these signals.

Note: The LIST keyword may be omitted for the special case that (a) the stimulus width is equal to the number of primary inputs and busses, and (2) bit positions within the stimulus correspond to the ordering of inputs and busses in the main type's TYPE statement, with input values preceding bus values.

Associating Time-Sets With Primary Inputs And Busses

To associate a time-set (timing generator definition) with one or more primary inputs and/or busses starting at Test <tnum>:

APPLY TIMING=<time-set> LIst=<signals_pi> $
    BEgin=<tnum>

For example

APPLY TIMING=timing1 LIST=pi1,pi2 BEGIN=150

associate the time-set timing1 with primary inputs pi1 and pi2, starting at Test 150.

If the BEGIN keyword option is omitted, the time-set will start immediately, if at the start of simulation or if the circuit state is stable, or when the circuit state becomes stable.

Note: If no time-set has been APPLYed to a primary input or bus, then the default timing generator tdefault.nrz.ne=0,0:0,0 (zero rise, fall, tristate, and drive delays) is associated.

Associating Strobes With Primary Outputs And Busses

The TIMING and LIST keywords are also used to associate a strobe with one or more primary outputs and/or busses starting at Test <tnum>:

APPLY TIMING=<strobe> LIST=<signals_po> $
    BEGIN=<tnum>

For example

APPLY TIMING=strob1 LIST=po1,po2 BEGIN=150

associate the strobe strob1 with primary outputs pi1 and pi2, starting at Test 150.

If the BEGIN keyword option is omitted, the strobe will start immediately, if at the start of simulation or if the circuit state is stable, or when the circuit state becomes stable.

Note: If no strobe has been APPLYed to a primary input or bus, then a default point (edge) strobe, placed one-time unit prior to the end of the test period, is associated.

Changing The Master Test Period

The master test period can be changed during simulation with the command:

APPLY PERIOD=<time> BEGIN=<tnum>

For example:

APPLY PERIOD=1000 BEGIN=150

schedules the master test period to change to 1000 time-units at Test 150.