BridgeInterface class

A custom interface created dynamically from a provided specification.

Inheritance

Constructors

BridgeInterface.new({required String name, required String library, required String vendor, required String version, Map<String, int> portsFromConsumer = const {}, Map<String, int> portsFromProvider = const {}, Map<String, int> portsSharedInouts = const {}})
Reads portsFromConsumer, portsFromProvider and portsSharedInouts then creates appropriate ports with appropriate tags.
BridgeInterface.ofJson(Map<String, dynamic> json)
Creates a custom BridgeInterface from json.
factory

Properties

hashCode int
The hash code for this object.
no setterinherited
library String
library of intf
getter/setter pair
modify String Function(String original)?
A function that can be used to modify all port names in a certain way.
getter/setter pairinherited
name String
name of intf
getter/setter pair
ports Map<String, Logic>
Maps from the Interface's defined port name to an instance of a Logic.
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
vendor String
vendor of intf
getter/setter pair
version String
version of intf
getter/setter pair

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
clone() BridgeInterface
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
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