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
Implementers

Constructors

Case(Logic expression, List<CaseItem> items, {List<Conditional>? defaultItem, ConditionalType conditionalType = ConditionalType.none})
Whenever an item in items matches expression, it will be executed.

Properties

caseType String
Returns the SystemVerilog keyword to represent this case block.
no setter
conditionals List<Conditional>
Lists of all Conditionals directly contained within this Conditional (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

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
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
receiverOutput(Logic receiver) Logic
Gets the output port associated with receiver.
inherited
toString() String
A string representation of this object.
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