Next: , Up: Attributes


11.1 Bool Attributes

Thus far all attributes on bools (nodes) are boolean valued. The default un-attributed node assumes default values for all known attributes. Boolean attributes are contagious in that once they are set to non-default values, they cannot be unset. Non-default values also propagate bottom-up through ports in the instance hierarchy. (They cannot propagate top-down, for that would violate modularity.) Furthermore, when connecting nodes, the non-default value always dominates (spreads contagiously). Keep this in mind when deciding at which level of hierarchy to attach attributes.

— Macro: supply t

Declares that the said node is a supply node. Supply nodes are treated specially in different back-end tools. t=0 indicates that supply is GND-like (low). t=1 indicates that supply is Vdd-like (high).

— Macro: reset init

Declares that the said node is a reset node with initial value init. Reset nodes are treated specially in different back-end tools. init=0 indicates that supply is active-low. init=1 indicates that supply is active-high.

— Macro: iscomb b

Nodes are initially iscomb=false. If b is true, node is marked as being driven combinationally, regardless of the actual fanin rule of the node. This can be used to tell other tools to not expect a staticizer on this node. If attribute value is unspecified, default value is true.

— Macro: autokeeper b

Nodes are initially iscomb=true. If b is false, direct other back-end tools to not automatically staticize this node for simulation or netlist generation purposes. If unspecified, default value is true.

— Macro: isrvc1 b
— Macro: isrvc2 b
— Macro: isrvc3 b

Nodes are initially isrvc1=false, isrvc2=false, isrvc3=false. If b is true, label this node in a way meaningful for redundant keeper circuits. If unspecified, argument is implicitly true. Exclusivity between these attributes is not yet checked.

Diagnostic attributes.

— Macro: ignore_interfere b

Diagnostic attribute. If b is true, then suppress diagnostics about interference (opposing on-pulls) on this node. In simulation, the behavior should remain, just silence warnings. When b is omitted, it is assumed to be true.

— Macro: ignore_weak_interfere b

Diagnostic attribute. If b is true, then suppress diagnostics about weak-interference (on-pull vs. X-pull or X-pull vs. X-pull) on this node. In simulation, the behavior should remain, just silence warnings. When b is omitted, it is assumed to be true.