Axi5TransportInterface class abstract

Next level in the hierarchy to handle the flow control schemes.

Inheritance
Implementers

Constructors

Axi5TransportInterface({required String prefix, required bool main, bool useCrediting = false, bool sharedCredits = false, int numRp = 0})
Constructor.

Properties

crdt Logic?
Give one credit on the given resource plane.
no setter
crdtSh Logic?
Give one shared credit.
no setter
hashCode int
The hash code for this object.
no setterinherited
main bool
Helper to control which direction the signals should be coming from.
finalinherited
modify String Function(String original)?
A function that can be used to modify all port names in a certain way.
getter/setter pairinherited
numRp int
Number of resource planes.
final
pending Logic?
Transfer might occur in the following cycle.
no setter
ports Map<String, Logic>
Maps from the Interface's defined port name to an instance of a Logic.
no setterinherited
prefix String
Prefix string for port declarations
finalinherited
ready Logic?
Transfer is ready.
no setter
rp Logic?
Indicator of resource plane.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sharedCrd Logic?
Transfer using a shared credit.
no setter
sharedCredits bool
Include shared crediting.
final
subInterfaces Map<String, PairInterface>
A mapping from sub-interface names to instances of sub-interfaces.
no setterinherited
useCrediting bool
Should we use crediting.
final
valid Logic
The transaction is valid.
no setterinherited

Methods

addSubInterface<PairInterfaceType extends PairInterface>(String name, PairInterfaceType subInterface, {bool reverse = false, String uniquify(String original)?}) → PairInterfaceType
Registers a new subInterface on this PairInterface, enabling a simple way to build hierarchical interface definitions.
inherited
clone() PairInterface
Creates a new Interface with the same ports as this.
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, Iterable<PairDirection>? inOutTags, String uniquify(String original)?}) → void
Calls Interface.connectIO for ports of this interface as well as hierarchically for all subInterfaces.
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