contents.gifindex.gif

Assignment Operators

Operator

Description

=

Combinational or detailed assignment for on-set

:=

Implied registered pin-to-pin assignment for on-set

?=

Combinational or detailed assignment for dc-set

?:=

Implied registered pin-to-pin assignment for dc-set

CAUTION: The := and ?:= operators are used only when writing pin-to-pin registered equations. If you want to use detailed dot extensions, use the = and ?= operators.


Assignment operators are a special class of operators used in equations rather than in expressions. Equations assign the value of an expression to output signals. See "Equations" below for a complete discussion of equations. There are two assignment operators, combinational and registered. Combinational or immediate assignment occurs without any delay as soon as the equation is evaluated. Registered assignment occurs at the next clock pulse from the clock associated with the output. Refer to the chapter "Design Considerations."

Don't-care Assignment Operators (?= and ?:=)

These assignment operators allow you to fully specify outputs in equations. For example, in the following truth table, the output F is fully specified:

TRUTH_TABLE ([A,B]->[F]);
[1,1]-> 0 ; "off-set
[1,0]-> 1 ; "on-set
[0,1]-> 1 ; "on-set

The equivalent functionality can be expressed in equations:

@DCSET
F = A & !B # !A & B; "on-set
F ?= !A & !B; "dc-set


Note: Specifying both the on-set and the don't-care set conditions enhances optimization.


CAUTION: With equations, @DCSET or ISTYPE 'dc' must be specified or the ?= equations are ignored.


See Also

Logical Operators

Arithmetic Operators

Relational Operators