ConditionalAssign class

An assignment that only happens under certain conditions.

Logic has a short-hand for creating ConditionalAssign via the < operator.

Inheritance

Constructors

ConditionalAssign(Logic receiver, Logic driver)
Conditionally assigns receiver to the value of driver.

Properties

conditionals List<Conditional>
Lists of all Conditionals directly contained within this Conditional (not including itself).
latefinal
driver Logic
The output of this assignment.
final
drivers List<Logic>
Lists all drivers, recursively including all sub-Conditionals drivers.
latefinal
hashCode int
The hash code for this object.
no setterinherited
receiver Logic
The input to this assignment.
final
receivers List<Logic>
Lists all receivers, recursively including all sub-Conditionals receivers.
latefinal
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

calculateReceivers() List<Logic>
The same as receivers, but uncached for situations where the list of conditionals may still be modified or to compute the cached result for receivers itself.
override
driverInput(Logic driver) Logic
Gets the input port associated with driver.
inherited
driverValue(Logic driver) LogicValue
Gets the value that should be used for execution for the input port associated with driver.
inherited
driveX(Set<Logic>? drivenSignals) → void
Drives X to all receivers.
inherited
execute(Set<Logic>? drivenSignals, [void guard(Logic toGuard)?]) → void
Executes the functionality of this Conditional and populates drivenSignals with all Logics that were driven during execution.
override
getConditionals() List<Conditional>
Lists of all Conditionals directly contained within this Conditional (not including itself).
inherited
getDrivers() List<Logic>
Lists all drivers, recursively including all sub-Conditionals drivers.
inherited
getReceivers() List<Logic>
Lists all receivers, recursively including all sub-Conditionals receivers.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
processSsa(Map<Logic, Logic> currentMappings, {required int context}) Map<Logic, Logic>
Given existing currentMappings, connects drivers and receivers accordingly to SsaLogics and returns an updated set of mappings.
override
receiverOutput(Logic receiver) Logic
Gets the output port associated with receiver.
inherited
toString() String
A string representation of this object.
override
updateAssignmentMaps(Map<Logic, Logic> assignedReceiverToOutputMap, Map<Logic, Logic> assignedDriverToInputMap) → void
Updates the values of _assignedReceiverToOutputMap and _assignedDriverToInputMap and passes them down to all sub-Conditionals as well.
inherited
updateOverrideMap(Map<Logic, LogicValue> driverValueOverrideMap) → void
Updates the value of _driverValueOverrideMap and passes it down to all sub-Conditionals as well.
inherited
verilogContents(int indent, Map<String, String> inputsNameMap, Map<String, String> outputsNameMap, String assignOperator) String
Returns a String of SystemVerilog to be used in generated output.
override

Operators

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