XPROPAGATE Command

Controls X-pulse creation and propagation for hazards and timing violations.

Command XPROPAGATE
Abbreviation XP
Category Simulation Control

Function

The XPROPAGATE command is used to globally enable or disable X-pulse creation/propagation for spike hazards and near hazards.

The XPROPAGATE command is used to selectively enable or disable X-pulse creation/propagation for timing check violations at SIMIC D latches and edge-triggered flip-flop primitives.

The XPROPAGATE command is used to selectively modify the filter and liberal spike control parameters.

Usage

SIMIC, by default, propagates an X whenever a spike, or part timing violation (setup, hold, or pulse-width) occurs. X-propagation is controlled by the XPROPAGATE command.

Globally Enabling And Disabling X-Propagation For Hazards

The SPIKE keyword option globally controls whether X-propagation is performed for spike hazards. The command:

NO XPROPAGATE SPIKE:

globally disables X-propagation for spike hazards, while the command:

XPROPAGATE SPIKE:

globally re-enables it.

The NEAR keyword option globally controls whether X-propagation performed for near hazards. The command:

XPROPAGATE NEAR:

enables X-propagation for near hazards, while the command:

NO XPROPAGATE NEAR:

disables it.

By default, X-propagation is disabled for near hazards.

Controlling X-Propagation For Functional Timing Violations

The PART keyword option, combined with individual timing check specifications, allow X-propagation for timing check violations to be controlled on a per-instance, per-check basis. The command:

NO XPROPAGATE PARTS=<parts_ff> <timing-check>:

disables X-propagation for the specified timing check violations and parts, while the command:

NO XPROPAGATE PARTS: <timing-check>:

disables X-propagation for the specified timing checks for all parts. Different timing checks may be specified in the same command.

For example, assuming part f1 is a DCF primitive, the command:

NO XPROPAGATE PART=f1 HOLD: SETUP.NR:

would disable X-propagation for all hold-time violations and for setup-time violations between the NR and CLK pins at this flip-flop.

Subsequently, X-propagation can be re-enabled with the same commands, except the NO prefix would be omitted. For example:

XPROPAGATE PART=f1 HOLD: SETUP.NR:

re-enables X-propagation for all hold-time violations and for setup-time violations between the NR and CLK pins at flip-flop f1 of the previous example.

Modifying Spike Control Parameters

The liberal and filter spike control parameters can be modified independently with the XPROPAGATE run command. The commands:

XPROPAGATE FILTER=<filt_lib> LIST=<signals>

XPROPAGATE LIBERAL=<filt_lib> LIST=<signals>

change the filter and liberal parameters, respectively, to the value <filt_lib> for the selected signals in <signals>. The commands:

XPROPAGATE FILTER=<filt_lib> LIST:

XPROPAGATE LIBERAL=<filt_lib> LIST:

change the filter and liberal parameters, respectively, for all signals.

The <filt_lib> value is a percentage from 0 to 100, and is specified as an integer, optionally followed by a percentage sign (e.g. 50 or 50%).