|
CIRCT 23.0.0git
|
Lowering information for a single signal flattened from an interface port. More...
#include <ImportVerilogInternals.h>

Public Attributes | |
| StringAttr | name |
| hw::ModulePort::Direction | direction |
| mlir::Type | type |
| Location | loc |
| BlockArgument | arg |
| const slang::ast::InterfacePortSymbol * | origin |
| the origin interface port symbol this was flattened from. | |
| const slang::ast::Symbol * | bodySym |
| the interface body member (VariableSymbol , NetSymbol) | |
| const slang::ast::InstanceSymbol * | ifaceInstance = nullptr |
| The connected interface instance backing this port (if any). | |
| const slang::ast::Symbol * | modportPortSym = nullptr |
| For modport-typed iface ports, the ModportPortSymbol this was flattened from. | |
Lowering information for a single signal flattened from an interface port.
Definition at line 52 of file ImportVerilogInternals.h.
| BlockArgument circt::ImportVerilog::FlattenedIfacePort::arg |
Definition at line 57 of file ImportVerilogInternals.h.
| const slang::ast::Symbol* circt::ImportVerilog::FlattenedIfacePort::bodySym |
the interface body member (VariableSymbol , NetSymbol)
Definition at line 61 of file ImportVerilogInternals.h.
| hw::ModulePort::Direction circt::ImportVerilog::FlattenedIfacePort::direction |
Definition at line 54 of file ImportVerilogInternals.h.
| const slang::ast::InstanceSymbol* circt::ImportVerilog::FlattenedIfacePort::ifaceInstance = nullptr |
The connected interface instance backing this port (if any).
This enables materializing virtual interface handles from interface ports.
Definition at line 64 of file ImportVerilogInternals.h.
| Location circt::ImportVerilog::FlattenedIfacePort::loc |
Definition at line 56 of file ImportVerilogInternals.h.
| const slang::ast::Symbol* circt::ImportVerilog::FlattenedIfacePort::modportPortSym = nullptr |
For modport-typed iface ports, the ModportPortSymbol this was flattened from.
Slang resolves in-body accesses like bus.member to a HierarchicalValueExpression whose symbol is the ModportPortSymbol, not the underlying interface body variable, so we register both keys in valueSymbols to make the lookup find this port's BlockArgument.
Definition at line 70 of file ImportVerilogInternals.h.
| StringAttr circt::ImportVerilog::FlattenedIfacePort::name |
Definition at line 53 of file ImportVerilogInternals.h.
Referenced by esiaccel.types.TypeAlias::__str__().
| const slang::ast::InterfacePortSymbol* circt::ImportVerilog::FlattenedIfacePort::origin |
the origin interface port symbol this was flattened from.
Definition at line 59 of file ImportVerilogInternals.h.
| mlir::Type circt::ImportVerilog::FlattenedIfacePort::type |
Definition at line 55 of file ImportVerilogInternals.h.
Referenced by esiaccel.types.WritePort::__serialize_msg(), hw.HWModuleOp::add_entry_block(), esiaccel.types.Port::connect(), hw.HWModuleOp::input_indices(), fsm.MachineOp::instantiate(), hw.HWModuleOp::outputs(), and esiaccel.types.ReadPort::read().