SpiInterface class

A standard Serial Peripheral Interface.

Inheritance

Constructors

SpiInterface({int dataLength = 1})
Creates a new SpiInterface.
SpiInterface.clone(SpiInterface otherInterface)
Clones this SpiInterface.

Properties

csb Logic
Chip select (active low). Chip select signal from main to sub.
no setter
dataLength int
The data length for serial transmissions on this interface.
final
hashCode int
The hash code for this object.
no setterinherited
miso Logic
Main In Sub Out (MISO). Serial data from sub(s) to main.
no setter
modify String Function(String original)?
A function that can be used to modify all port names in a certain way.
getter/setter pairinherited
mosi Logic
Main Out Sub In (MOSI). Serial data from main to sub(s).
no setter
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
sclk Logic
Serial clock (SCLK). Clock signal from main to sub(s).
no setter
subInterfaces Map<String, PairInterface>
A mapping from sub-interface names to instances of sub-interfaces.
no setterinherited

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 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