ReadyThenValidInterface<LogicType extends Logic> class

A ready/valid interface where ready must be asserted before valid can be computed.

Inheritance

Constructors

ReadyThenValidInterface(LogicType data)
Creates a ReadyThenValidInterface.

Properties

accepted Logic
Indicates that a transaction has been accepted (both valid and ready). Use the underlying data's name for a stable port name instead of interpolating the object itself.
latefinalinherited
data → LogicType
The data associated with the ready/valid handshake.
finalinherited
hashCode int
The hash code for this object.
no setterinherited
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
ready Logic
Indicates that the consumer is ready to accept data.
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
valid Logic
Indicates that the provider has valid data.
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() ReadyThenValidInterface<LogicType>
Creates a new Interface with the same ports as this.
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
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
toDownstreamReadyAndValid(Logic clk, Logic reset) ReadyAndValidInterface<LogicType>
Converts this ReadyThenValidInterface to a ReadyAndValidInterface by adding a small FIFO to buffer data.
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