SumInterface class
A PairInterface representing an amount and behavior for inclusion in a sum or count.
- Inheritance
-
- Object
- Interface<
PairDirection> - PairInterface
- SumInterface
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. Iffalse
, 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 withtags
onother
.inherited -
conditionalReceiveOther(
Interface< PairDirection> other, Iterable<PairDirection> tags) → Conditional -
Makes
this
signals tagged withtags
be driven conditionally byother
.inherited -
connectIO(
Module module, Interface srcInterface, {Iterable< PairDirection> ? inputTags, Iterable<PairDirection> ? outputTags, String uniquify(String original)?}) → void -
Connects
module
's inputs and outputs up tosrcInterface
and this Interface.inherited -
driveOther(
Interface< PairDirection> other, Iterable<PairDirection> tags) → void -
Makes
this
drive interface signals tagged withtags
onother
.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 withtags
be driven byother
.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, otherwisenull
.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited