Conditional class abstract

Represents an some logical assignments or actions that will only happen under certain conditions.

Implementers

Constructors

Conditional()

Properties

conditionals List<Conditional>
Lists of all Conditionals directly contained within this Conditional (not including itself).
no setter
drivers List<Logic>
Lists all drivers, recursively including all sub-Conditionals drivers.
no setter
hashCode int
The hash code for this object.
no setterinherited
receivers List<Logic>
Lists all receivers, recursively including all sub-Conditionals receivers.
no setter
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.
driverInput(Logic driver) Logic
Gets the input port associated with driver.
driverValue(Logic driver) LogicValue
Gets the value that should be used for execution for the input port associated with driver.
driveX(Set<Logic>? drivenSignals) → void
Drives X to all receivers.
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.
getConditionals() List<Conditional>
Lists of all Conditionals directly contained within this Conditional (not including itself).
getDrivers() List<Logic>
Lists all drivers, recursively including all sub-Conditionals drivers.
getReceivers() List<Logic>
Lists all receivers, recursively including all sub-Conditionals receivers.
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.
receiverOutput(Logic receiver) Logic
Gets the output port associated with receiver.
toString() String
A string representation of this object.
inherited
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.
updateOverrideMap(Map<Logic, LogicValue> driverValueOverrideMap) → void
Updates the value of _driverValueOverrideMap and passes it down to all sub-Conditionals as well.
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.

Operators

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

Static Methods

calcPadding(int indent) String
Calculates an amount of padding to provie at the beginning of each new line based on indent.
connectSsaDriverFromMappings(Logic driver, Map<Logic, Logic> mappings, {required int context}) → void
Connects driver to drive all appropriate SSA nodes based on mappings which match the provided context.