SumInterface class

A PairInterface representing an amount and behavior for inclusion in a sum or count.

Inheritance

Constructors

SumInterface({dynamic fixedAmount, bool increments = true, int? width, bool hasEnable = false})
Creates a new SumInterface with a fixed or variable amount, optionally with an enable, in either positive or negative direction based on increments.
SumInterface.clone(SumInterface other)
Creates a clone of this SumInterface for things like pairConnectIO.

Properties

amount Logic
The amount to increment/decrement by, depending on increments.
latefinal
enable Logic?
Controls whether it should increment or decrement (based on increments) (active high).
no setter
fixedAmount → dynamic
If non-null, the constant value of amount.
final
hasEnable bool
Whether an enable signal is present on this interface.
final
hashCode int
The hash code for this object.
no setterinherited
increments bool
If true, will increment. If false, will decrement.
final
modify ↔ (String Function(String original)?)
A function that can be used to modify all port names in a certain way.
getter/setter pairinherited
ports Map<String, Logic>
Maps from the Interface's defined port name to an instance of a Port.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
subInterfaces Map<String, PairInterface>
A mapping from sub-interface names to instances of sub-interfaces.
no setterinherited
width int
The width of the amount.
final

Methods

addSubInterface<PairInterfaceType extends PairInterface>(String name, PairInterfaceType subInterface, {bool reverse = false}) → PairInterfaceType
Registers a new subInterface on this PairInterface, enabling a simple way to build hierarchical interface definitions.
inherited
conditionalDriveOther(Interface<PairDirection> other, Iterable<PairDirection> tags) Conditional
Makes this conditionally drive interface signals tagged with tags on other.
inherited
conditionalReceiveOther(Interface<PairDirection> other, Iterable<PairDirection> tags) Conditional
Makes this signals tagged with tags be driven conditionally by other.
inherited
connectIO(Module module, Interface srcInterface, {Iterable<PairDirection>? inputTags, Iterable<PairDirection>? outputTags, String uniquify(String original)?}) → void
Connects module's inputs and outputs up to srcInterface and this Interface.
inherited
driveOther(Interface<PairDirection> other, Iterable<PairDirection> tags) → void
Makes this drive interface signals tagged with tags on other.
inherited
getPorts([Iterable<PairDirection>? tags]) Map<String, Logic>
Returns all interface ports associated with the provided tags as a Map from the port name to the Logic port.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pairConnectIO(Module module, Interface<PairDirection> srcInterface, PairRole role, {String uniquify(String original)?}) → void
A simplified version of connectIO for PairInterfaces where by only specifying the role, the input and output tags can be inferred.
inherited
port(String name) Logic
Accesses a port named name.
inherited
receiveOther(Interface<PairDirection> other, Iterable<PairDirection> tags) → void
Makes this signals tagged with tags be driven by other.
inherited
setPorts(List<Logic> ports, [Iterable<PairDirection>? tags]) → void
Adds a collection of ports to this Interface, each associated with all of tags.
inherited
toString() String
A string representation of this object.
inherited
tryPort(String name) Logic?
Provides the port named name if it exists, otherwise null.
inherited

Operators

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