Axi4RequestChannelInterface class abstract

Wrapper for commonality in AXI Request channels (AR, AW, etc.).

Inheritance
Implementers

Constructors

Axi4RequestChannelInterface({required String prefix, int idWidth = 4, int userWidth = 4, int addrWidth = 32, int lenWidth = 8, bool useLock = true, int sizeWidth = 3, int burstWidth = 2, int cacheWidth = 4, int protWidth = 3, int qosWidth = 4, int regionWidth = 4})
Constructor.

Properties

addr Logic
The address of the first transfer in a transaction.
no setter
addrWidth int
Width of the address bus.
final
burst Logic?
Burst type, indicates how address changes between each transfer in a transaction.
no setter
burstWidth int
Width of the burst field is fixed for AXI4.
final
cache Logic?
Indicates how a transaction is required to progress through a system.
no setter
cacheWidth int
Width of the cache field is fixed for AXI4.
final
hashCode int
The hash code for this object.
no setterinherited
id Logic?
Identification tag for transaction.
no setterinherited
idWidth int
Number of channel ID bits.
finalinherited
len Logic?
Length, the exact number of data transfers in a transaction.
no setter
lenWidth int
Width of len field.
final
lock Logic?
Provides information about atomic characteristics of a transaction.
no setter
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
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
prot Logic
Protection attributes of a transaction.
no setter
protWidth int
Width of the prot field is fixed for AXI4.
final
qos Logic?
Quality of service identifier for a transaction.
no setter
qosWidth int
Width of the QoS field is fixed for AXI4.
final
ready Logic
Indicates that a transfer on the channel can be accepted.
no setterinherited
region Logic?
Region indicator for a transaction.
no setter
regionWidth int
Width of the region field is fixed for AXI4.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
size Logic?
Size, the number of bytes in each data transfer in a transaction.
no setter
sizeWidth int
Width of the size field is fixed for AXI4.
final
subInterfaces Map<String, PairInterface>
A mapping from sub-interface names to instances of sub-interfaces.
no setterinherited
useLock bool
Controls the presence of lock which is an optional port.
final
user Logic?
User-defined extension for the channel.
no setterinherited
userWidth int
Number of user field bits.
finalinherited
valid Logic
Indicates that the channel signals are 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