Case class
A block of CaseItems where only the one with a matching CaseItem.value is executed.
Searches for which of items appropriately matches expression, then executes the matching CaseItem. If defaultItem is specified, and no other item matches, then that one is executed. Use conditionalType to modify behavior in ways similar to what is available in SystemVerilog.
- Inheritance
-
- Object
- Conditional
- Case
- Implementers
Constructors
-
Case(Logic expression, List<
CaseItem> items, {List<Conditional> ? defaultItem, ConditionalType conditionalType = ConditionalType.none}) -
Whenever an item in
items
matchesexpression
, it will be executed.
Properties
- caseType → String
-
Returns the SystemVerilog keyword to represent this case block.
no setter
-
conditionals
→ List<
Conditional> -
Lists of all
Conditional
s directly contained within thisConditional
(not including itself).latefinal - conditionalType → ConditionalType
-
The type of case block this is, for special attributes
(e.g. ConditionalType.unique, ConditionalType.priority).
final
-
defaultItem
→ List<
Conditional> ? -
The default to execute when there was no match with any other CaseItems.
no setter
-
drivers
→ List<
Logic> -
Lists all drivers, recursively including all sub-Conditionals drivers.
latefinal
- expression → Logic
-
A logical signal to match against.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
-
items
→ List<
CaseItem> -
An ordered collection of CaseItems to search through for a match
to expression.
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)?]) → 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
-
isMatch(
LogicValue value, LogicValue expressionValue) → bool -
Returns true iff
value
matches the expressions current value. -
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 toSsaLogic
s 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.
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.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