SignalOccurrence class

Signals are the fundamental data carriers in hardware. A signal can be:

  • An internal signal within an occurrence
  • A port on an occurrence interface (has direction: input/output/inout)

This is a structural model without waveform data. Path strings are computed on demand from the parent occurrence reference — call path with your desired separator.

Available extensions

Constructors

SignalOccurrence({required String name, required int width, String? direction, String? value, bool isComputed = false, int? portIndex, Map<String, dynamic>? logicType})
Creates a SignalOccurrence with the given properties.

Properties

address OccurrenceAddress?
Hierarchical address for this signal. Assigned by HierarchyOccurrence.buildAddresses to enable efficient navigation. Format: ...occurrenceIndices, signalIndex
no setter
arrayDims List<int>?
Array dimensions (e.g. [10] for 1D, [10, 2] for 2D), or null.
no setter
arrayElementWidth int?
Element width for arrays, or null if not an array.
no setter
direction String?
Direction of the signal if it's a port. Null for internal signals. "input", "output", or "inout" for ports.
final
hashCode int
The hash code for this object.
no setterinherited
isArray bool
Whether this signal is a LogicArray (has indexed elements).
no setter
isComputed bool
Whether this signal's value is computed/derivable (e.g. constant, gate output, InlineSystemVerilog result) rather than directly tracked by the waveform service.
final
isInout bool
Returns true if this is a bidirectional port.
no setter
isInput bool
Returns true if this is an input port.
no setter
isOutput bool
Returns true if this is an output port.
no setter
isPort bool
Returns true if this signal is a port (has a direction).
no setter
isStruct bool
Whether this signal is a LogicStructure (has named sub-fields).
no setter
logicType Map<String, dynamic>?
Type metadata from the netlist logic_type JSON field.
getter/setter pair
name String
The name of the signal (bare name within its scope).
final
parent HierarchyOccurrence?
Parent occurrence containing this signal. Set by HierarchyOccurrence.buildAddresses.
no setter
portIndex int?
Stable ordering index among ports in the parent occurrence.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
structFields List<Map<String, dynamic>>
The struct field descriptors, or empty list if not a struct.
no setter
subFieldDescriptors List<({String expectedName, String fieldLabel, int startBit, Map<String, Object?>? subLogicType, int width})>
Returns the expected sub-field signal names derived from logicType.
no setter
typeName String?
The struct type name (e.g. "FloatingPoint"), or null if not a struct.
no setter
value String?
Current runtime value of the signal (if available). Typically a hex or binary string representation.
final
width int
The bit width of the signal.
final

Methods

fanin(SchematicGraph schematic, {SchematicTraversalMode mode = SchematicTraversalMode.opaque}) List<SchematicPortOccurrence>

Available on SignalOccurrence, provided by the SignalOccurrenceSchematicTraversal extension

Returns schematic endpoints that drive this signal.
fanout(SchematicGraph schematic, {SchematicTraversalMode mode = SchematicTraversalMode.opaque}) List<SchematicPortOccurrence>

Available on SignalOccurrence, provided by the SignalOccurrenceSchematicTraversal extension

Returns schematic endpoints that consume this signal.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
path({String separator = hierarchyPathSeparator}) String
Compute the full hierarchical path for this signal.
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

subFieldDescriptorsForType(Map<String, Object?> logicType, String parentName) List<({String expectedName, String fieldLabel, int startBit, Map<String, Object?>? subLogicType, int width})>
Compute sub-field descriptors for an arbitrary logicType map.