Axi5RChannelInterface class

Basis for all possible R channels.

Inheritance
Mixed-in types
Implementers

Constructors

Axi5RChannelInterface({required Axi5BaseRChannelConfig config, bool useCrediting = false, bool sharedCredits = false, int numRp = 0, bool userMixInEnable = false, bool dataMixInEnable = false, bool idMixInEnable = false, bool tagMixInEnable = false, bool debugMixInEnable = false, bool chunkMixInEnable = false, bool responseMixInEnable = false})
Constructor.

Properties

busy → Logic?
Busy indicator.
no setterinherited
chunkEn → Logic?
Chunking enabled for this transaction.
no setterinherited
chunkMixInEnable → bool
Enable Chunk signal mixin
final
chunkNum → Logic?
Indicates the chunk number being transferred.
no setterinherited
chunkNumWidth → int
Width of CHUNKNUM signal.
final
chunkStrb → Logic?
Indicates the chunks that are valid for this transfer.
no setterinherited
chunkStrbWidth → int
Width of CHUNKSTRB.
final
chunkV → Logic?
Indicates that a given data chunk is valid.
no setterinherited
comp → Logic?
Completion response.
no setterinherited
crdt → Logic?
Give one credit on the given resource plane.
no setterinherited
crdtSh → Logic?
Give one shared credit.
no setterinherited
data → Logic
Transaction data.
no setterinherited
dataMixInEnable → bool
Enable Data signal mixin
final
dataWidth → int
Width of the transaction data bus.
final
debugMixInEnable → bool
Enable Debug signal mixin
final
hashCode → int
The hash code for this object.
no setterinherited
id → Logic?
Identification tag for transaction.
no setterinherited
idMixInEnable → bool
Enable ID signal mixin
final
idUnq → Logic?
Coherency barrier.
no setterinherited
idWidth → int
Width of the ID signal.
final
last → Logic?
Indicates whether this is the last data transfer in a transaction.
no setterinherited
loop → Logic?
Loopback signal.
no setterinherited
loopWidth → int
Loopback signal width.
final
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.
finalinherited
pending → Logic?
Transfer might occur in the following cycle.
no setterinherited
persist → Logic?
Persist response.
no setterinherited
poison → Logic?
Indicator of data corruption on a given chunk.
no setterinherited
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 setterinherited
resp → Logic?
Read response, indicates the status of a read transfer.
no setterinherited
responseMixInEnable → bool
Enable Response signal mixin
final
respWidth → int
Width of the RESP signal.
final
rp → Logic?
Indicator of resource plane.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sharedCrd → Logic?
Transfer using a shared credit.
no setterinherited
sharedCredits → bool
Include shared crediting.
finalinherited
strb → Logic?
Write strobes, indicate which byte lanes hold valid data.
no setterinherited
strbWidth → int
Width of the strobe bus for data.
final
subInterfaces → Map<String, PairInterface>
A mapping from sub-interface names to instances of sub-interfaces.
no setterinherited
tag → Logic?
Tag.
no setterinherited
tagDataWidth → int
Width of data bus.
final
tagMatch → Logic?
Results of tag comparisons.
no setterinherited
tagMixInEnable → bool
Enable Tag signal mixin
final
tagUpdate → Logic?
Tags to update.
no setterinherited
trace → Logic?
Trace signal.
no setterinherited
tracePresent → bool
Trace present.
final
useBusy → bool
Include the BUSY signal.
final
useCrediting → bool
Should we use crediting.
finalinherited
useIdUnq → bool
Should the IDUNQ field be present.
final
useLast → bool
Controls the presence of last which is an optional port for multi burst transactions.
final
usePoison → bool
Controls the presence of POISON signal.
final
user → Logic?
User extension.
no setterinherited
userMixInEnable → bool
Enable User signal mixin
final
userWidth → int
Width of the USER signal.
final
useTag → bool
Use TAG signal.
final
useTagMatch → bool
Use TAGMATCH signal.
final
useTagUpdate → bool
Use TAGUPDATE signal.
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() → Axi5RChannelInterface
Copy Constructor.
override
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
makeChunkPorts() → void
Helper to instantiate ACE specific request ports.
inherited
makeDataPorts() → void
Helper to instantiate ACE specific request ports.
inherited
makeDebugPorts() → void
Helper to instantiate ACE specific request ports.
inherited
makeIdPorts() → void
Helper to instantiate ACE specific request ports.
inherited
makeRespDataTagPorts() → void
Helper to instantiate ACE specific request ports.
inherited
makeResponsePorts() → void
Helper to instantiate ACE specific request ports.
inherited
makeUserPorts() → void
Helper to instantiate ACE specific request ports.
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