slang::InterfacePortSymbol class

Represents the public-facing side of a module / program / interface port that is also a connection to an interface instance (optionally with a modport restriction).

Base classes

class Symbol

Public functions

auto getDeclaredRange() const -> optional<span<const ConstantRange>>
auto getConnection() const -> const Symbol*

Public variables

const Definition* interfaceDef
A pointer to the definition for the interface.
string_view modport
If non-empty, the name of the modport that restricts which interface signals are accessible.

Function documentation

optional<span<const ConstantRange>> slang::InterfacePortSymbol::getDeclaredRange() const

Gets the set of dimensions for specifying interface arrays. Returns nullopt if an error occurs evaluating the dimensions.

const Symbol* slang::InterfacePortSymbol::getConnection() const

Gets the interface instance that this port connects to. Note that there may be more than one actual instance that has connected this port; this will return only the first such connection.