Product Documentation
Spectre Circuit Simulator Components and Device Models Reference
Product Version 23.1, June 2023

device checker (assert)

The assert statement cannot be altered using the alter statement.

This device is supported within altergroups.

Instance Syntax

Name assert parameter=value ...

Instance Parameters

Scope parameters

sub

Subcircuit master or subcircuit master pattern to be checked. Pattern can have any wildcard symbols and should be in quotation marks.

subs=[...]

Array of subcircuit masters or subcircuit master patterns to be checked. Patterns can have any wildcard symbols.

mod

Model to be checked.

dev

Device, subcircuit instance, or instance pattern to be checked. Pattern can have any wildcard symbols and should be in quotation marks.

primitive

Primitive to be checked.

Checked parameters

expr

Expression to be checked for violation (in MDL syntax).

modelparam

Model parameter to be checked.

param

Any one of input, output, operating point, subcircuit instance parameter, or V() and I() probe functions to be checked.

Behavior parameters

max=infinity

Upper bound of the parameter to be checked.

min=infinity

Lower bound of the parameter to be checked.

duration=0 s

Time period over which the check has been in violation before a message is flagged.

message

Message to be printed when assertion fails.

level=warning

Severity used when assertion fails. Possible values are none, notice, warning, error,  and fatal.

info=no

When info=yes, parameter will not be checked against min/max; only its value will be printed. Possible values are yes and no.

values=[...]

List of values for the enumerated type parameters. If boolean=true and the parameter value is specified other than the listed ones or if boolean=false and the parameter value is specified as one of the listed ones, violations are issued.

boolean=true

Choose behavior and report style for boolean violations. If boolean=true, asserts are reported in old style. If boolean=false, asserts are reported in new style. Possible values are false and true.

anal_types=[...]

List of analysis types for which the assert instance will be checked. By default, the check is performed for all analyses. Possible values are ac, dc, noise, pz, sp, tran, and pss.

check_windows=[...]

Time windows for which the check is enabled or disabled. The array should contain an even number of values [b_begin1 b_end1 b_begin2 b_end2 ...]. If the parameter is defined in both assert and checklimit statements, the parameter defined in the assert statement takes higher priority.

maxvio_perinst

Maximum number of violations per checked instance.

maxvio_all

Maximum number of all violations.

group="default"

Specify the group which this assert belongs to.

safecheck=none

Assert type for fault detection. When the parameter is set to 'func', it checks the functional module. When set to 'check', the parameter checks the diagnostic module. In addition, a functional safety report is generated for both 'func' and 'check' asserts. Set the value of the safecheck parameter to 'none' to perform regular assert checking.
Possible values are none, func, and check

extreme=no

When extreme=yes, extreme information of boolean check assert is reported.
Possible values are yes and no.

skip_dev_inside_subckt=[...]

Skip subcircuit or device instances inside a given subcircuit. skip_dev_inside_subckt=[pll.M1 pll.inv1] will not perform the assert on the device model instance M1 and the subckt instance inv1 inside the subckt definition of pll.

max_peak=infinity

Maximum threshold to decide whether to report a violation.

min_peak=infinity

Minimum threshold to decide whether to report a violation.

Related Topics

Analog-to-Logic Converter (a2d)

Logic-to-Analog Converter (d2a)

Circuit Components


Return to top
 ⠀
X