CIRCT  18.0.0git
Namespaces | Classes | Functions | Variables
circt::esi Namespace Reference

Namespaces

 capnp
 
 cosim
 
 cppapi
 
 detail
 

Classes

class  ESIAPIType
 
class  AppIDIndex
 An index for resolving AppIDPaths to dynamic instances. More...
 
struct  ServicePortInfo
 Describes a service port. More...
 
class  ServiceGeneratorDispatcher
 Class which "dispatches" a service implementation request to its specified generator. More...
 
struct  BundledChannel
 

Functions

void registerESIPasses ()
 
void registerESITranslations ()
 
LogicalResult exportCosimSchema (ModuleOp module, llvm::raw_ostream &os)
 
LogicalResult validateServiceConnectionRequest (ServiceDeclOpInterface decl, Operation *reqOp)
 Validate a connection request against a service decl by comparing against the port list. More...
 
std::unique_ptr< OperationPass< ModuleOp > > createESIEmitCollateralPass ()
 
std::unique_ptr< OperationPass< ModuleOp > > createESIPhysicalLoweringPass ()
 
std::unique_ptr< OperationPass< ModuleOp > > createESIPortLoweringPass ()
 
std::unique_ptr< OperationPass< ModuleOp > > createESITypeLoweringPass ()
 
std::unique_ptr< OperationPass< ModuleOp > > createESItoHWPass ()
 
std::unique_ptr< OperationPass< ModuleOp > > createESIConnectServicesPass ()
 
std::unique_ptr< OperationPass< ModuleOp > > createESIAddCPPAPIPass ()
 
std::unique_ptr< OperationPass< ModuleOp > > createESICleanMetadataPass ()
 
llvm::hash_code hash_value (const BundledChannel channel)
 
mlir::Type innerType (mlir::Type type)
 
static bool isSupported (Type type, bool outer=false)
 Returns true if the type is currently supported. More...
 
static void emitName (Type type, uint64_t id, llvm::raw_ostream &os)
 Write a valid Capnp name for 'type'. More...
 

Variables

constexpr uint64_t esiApiVersion = 1
 Every time we implement a breaking change in the schema generation, increment this number. More...
 
constexpr StringRef extModBundleSignalsAttrName = "esi.bundle"
 Name of dialect attribute which governs whether or not to bundle (i.e. More...
 
constexpr StringRef extModPortFlattenStructsAttrName = "esi.portFlattenStructs"
 Name of dialect attribute which governs whether or not to flatten struct ports into a bunch of individual 'data' wires. More...
 
constexpr StringRef extModPortInSuffix = "esi.portInSuffix"
 Suffix all lowered input ports with this suffix. Defaults to nothing. More...
 
constexpr StringRef extModPortOutSuffix = "esi.portOutSuffix"
 Suffix all lowered output ports with this suffix. Defaults to nothing. More...
 
constexpr StringRef extModPortValidSuffix = "esi.portValidSuffix"
 Suffix lowered valid ports with this suffix. More...
 
constexpr StringRef extModPortReadySuffix = "esi.portReadySuffix"
 Suffix lowered ready ports with this suffix. More...
 
constexpr StringRef extModPortRdenSuffix = "esi.portRdenSuffix"
 Suffix lowered read enable ports with this suffix. More...
 
constexpr StringRef extModPortEmptySuffix = "esi.portEmptySuffix"
 Suffix lowered empty ports with this suffix. More...
 

Function Documentation

◆ createESIAddCPPAPIPass()

std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIAddCPPAPIPass ( )

Definition at line 79 of file ESIAddCPPAPI.cpp.

◆ createESICleanMetadataPass()

std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESICleanMetadataPass ( )

Definition at line 46 of file ESICleanMetadata.cpp.

◆ createESIConnectServicesPass()

std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIConnectServicesPass ( )

Definition at line 657 of file ESIServices.cpp.

◆ createESIEmitCollateralPass()

std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIEmitCollateralPass ( )

Definition at line 278 of file ESIEmitCollateral.cpp.

◆ createESIPhysicalLoweringPass()

std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIPhysicalLoweringPass ( )

Definition at line 198 of file ESILowerPhysical.cpp.

◆ createESIPortLoweringPass()

std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIPortLoweringPass ( )

Definition at line 581 of file ESILowerPorts.cpp.

◆ createESItoHWPass()

std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESItoHWPass ( )

Definition at line 518 of file ESILowerToHW.cpp.

◆ createESITypeLoweringPass()

std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESITypeLoweringPass ( )

Definition at line 103 of file ESILowerTypes.cpp.

◆ emitName()

static void circt::esi::emitName ( Type  type,
uint64_t  id,
llvm::raw_ostream &  os 
)
static

Write a valid Capnp name for 'type'.

Definition at line 79 of file APIUtilities.cpp.

References assert().

Referenced by circt::esi::ESIAPIType::name().

◆ exportCosimSchema()

LogicalResult circt::esi::exportCosimSchema ( ModuleOp  module,
llvm::raw_ostream &  os 
)

◆ hash_value()

llvm::hash_code circt::esi::hash_value ( const BundledChannel  channel)
inline

◆ innerType()

mlir::Type circt::esi::innerType ( mlir::Type  type)

◆ isSupported()

static bool circt::esi::isSupported ( Type  type,
bool  outer = false 
)
static

Returns true if the type is currently supported.

Definition at line 35 of file APIUtilities.cpp.

Referenced by circt::esi::ESIAPIType::isSupported().

◆ registerESIPasses()

void circt::esi::registerESIPasses ( void  )

Definition at line 228 of file ESIPasses.cpp.

References registerPasses().

Referenced by circt::registerAllPasses(), and registerESIPasses().

◆ registerESITranslations()

void circt::esi::registerESITranslations ( void  )

Definition at line 187 of file ESITranslations.cpp.

References exportCosimSchema().

Referenced by circt::registerAllTranslations().

◆ validateServiceConnectionRequest()

LogicalResult circt::esi::validateServiceConnectionRequest ( ServiceDeclOpInterface  decl,
Operation *  reqOp 
)

Validate a connection request against a service decl by comparing against the port list.

Definition at line 432 of file ESIOps.cpp.

References validateRequest().

Variable Documentation

◆ esiApiVersion

constexpr uint64_t circt::esi::esiApiVersion = 1
constexpr

Every time we implement a breaking change in the schema generation, increment this number.

It is a seed for all the schema hashes.

Definition at line 28 of file APIUtilities.h.

Referenced by circt::esi::ESIAPIType::typeID().

◆ extModBundleSignalsAttrName

constexpr StringRef circt::esi::extModBundleSignalsAttrName = "esi.bundle"
constexpr

Name of dialect attribute which governs whether or not to bundle (i.e.

use SystemVerilog interfaces) channel signal wires on external modules.

Definition at line 36 of file ESIDialect.h.

◆ extModPortEmptySuffix

constexpr StringRef circt::esi::extModPortEmptySuffix = "esi.portEmptySuffix"
constexpr

Suffix lowered empty ports with this suffix.

Defaults to "_empty". Applies only to FIFO channels.

Definition at line 57 of file ESIDialect.h.

◆ extModPortFlattenStructsAttrName

constexpr StringRef circt::esi::extModPortFlattenStructsAttrName = "esi.portFlattenStructs"
constexpr

Name of dialect attribute which governs whether or not to flatten struct ports into a bunch of individual 'data' wires.

Definition at line 40 of file ESIDialect.h.

◆ extModPortInSuffix

constexpr StringRef circt::esi::extModPortInSuffix = "esi.portInSuffix"
constexpr

Suffix all lowered input ports with this suffix. Defaults to nothing.

Definition at line 43 of file ESIDialect.h.

◆ extModPortOutSuffix

constexpr StringRef circt::esi::extModPortOutSuffix = "esi.portOutSuffix"
constexpr

Suffix all lowered output ports with this suffix. Defaults to nothing.

Definition at line 45 of file ESIDialect.h.

◆ extModPortRdenSuffix

constexpr StringRef circt::esi::extModPortRdenSuffix = "esi.portRdenSuffix"
constexpr

Suffix lowered read enable ports with this suffix.

Defaults to "_rden". Applies only to FIFO channels.

Definition at line 54 of file ESIDialect.h.

◆ extModPortReadySuffix

constexpr StringRef circt::esi::extModPortReadySuffix = "esi.portReadySuffix"
constexpr

Suffix lowered ready ports with this suffix.

Defaults to "_ready". Applies only to ValidReady channels.

Definition at line 51 of file ESIDialect.h.

◆ extModPortValidSuffix

constexpr StringRef circt::esi::extModPortValidSuffix = "esi.portValidSuffix"
constexpr

Suffix lowered valid ports with this suffix.

Defaults to "_valid". Applies only to ValidReady channels.

Definition at line 48 of file ESIDialect.h.