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

Namespaces

 detail
 

Classes

class  ESIAPIType
 
class  AppIDIndex
 An index for resolving AppIDPaths to dynamic instances. More...
 
struct  ServicePortInfo
 Describes a service port. More...
 
struct  Platform
 This should eventually become a set of functions to define the various platform-specific lowerings. More...
 
class  ServiceGeneratorDispatcher
 Class which "dispatches" a service implementation request to its specified generator. More...
 
struct  BundledChannel
 

Functions

AppIDAttr getAppID (Operation *op)
 Get the AppID of a particular operation. More...
 
void registerESIPasses ()
 
std::unique_ptr< OperationPass< ModuleOp > > createESIPhysicalLoweringPass ()
 
std::unique_ptr< OperationPass< ModuleOp > > createESIBundleLoweringPass ()
 
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 > > createESICleanMetadataPass ()
 
std::unique_ptr< OperationPass< ModuleOp > > createESIBuildManifestPass ()
 
std::unique_ptr< OperationPass< ModuleOp > > createESIAppIDHierPass ()
 
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

◆ createESIAppIDHierPass()

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

Definition at line 79 of file ESIAppIDHier.cpp.

◆ createESIBuildManifestPass()

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

Definition at line 393 of file ESIBuildManifest.cpp.

◆ createESIBundleLoweringPass()

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

Definition at line 226 of file ESILowerBundles.cpp.

◆ createESICleanMetadataPass()

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

Definition at line 38 of file ESICleanMetadata.cpp.

◆ createESIConnectServicesPass()

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

Definition at line 587 of file ESIServices.cpp.

◆ createESIPhysicalLoweringPass()

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

Definition at line 196 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 699 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 85 of file APIUtilities.cpp.

References assert().

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

◆ getAppID()

AppIDAttr circt::esi::getAppID ( Operation *  op)

Get the AppID of a particular operation.

Returns null if the operation does not have one.

Definition at line 17 of file AppID.cpp.

◆ 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 264 of file ESIPasses.cpp.

References registerPasses().

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

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 34 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 55 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 38 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 41 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 43 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 52 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 49 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 46 of file ESIDialect.h.