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, signalIndexno 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_typeJSON 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