CIRCT
20.0.0git
|
Namespaces | |
detail | |
Classes | |
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 () |
LogicalResult | checkInnerTypeMatch (Type expected, Type actual) |
LogicalResult | checkBundleTypeMatch (Operation *req, ChannelBundleType svcBundleType, ChannelBundleType reqBundleType, bool skipDirectionCheck) |
Check that the channels on two bundles match allowing for AnyType in the 'svc' bundle. More... | |
std::unique_ptr< OperationPass<> > | createESIVerifyConnectionsPass () |
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) |
Variables | |
constexpr uint64_t | esiApiVersion = 0 |
Manifest format version 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... | |
LogicalResult circt::esi::checkBundleTypeMatch | ( | Operation * | req, |
ChannelBundleType | svcBundleType, | ||
ChannelBundleType | reqBundleType, | ||
bool | skipDirectionCheck | ||
) |
Check that the channels on two bundles match allowing for AnyType in the 'svc' bundle.
Definition at line 486 of file ESIOps.cpp.
References checkInnerTypeMatch().
LogicalResult circt::esi::checkInnerTypeMatch | ( | Type | expected, |
Type | actual | ||
) |
Definition at line 393 of file ESIOps.cpp.
Referenced by checkBundleTypeMatch().
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIAppIDHierPass | ( | ) |
Definition at line 87 of file ESIAppIDHier.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIBuildManifestPass | ( | ) |
Definition at line 421 of file ESIBuildManifest.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIBundleLoweringPass | ( | ) |
Definition at line 234 of file ESILowerBundles.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESICleanMetadataPass | ( | ) |
Definition at line 45 of file ESICleanMetadata.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIConnectServicesPass | ( | ) |
Definition at line 682 of file ESIServices.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIPhysicalLoweringPass | ( | ) |
Definition at line 297 of file ESILowerPhysical.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIPortLoweringPass | ( | ) |
Definition at line 588 of file ESILowerPorts.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESItoHWPass | ( | ) |
Definition at line 710 of file ESILowerToHW.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESITypeLoweringPass | ( | ) |
Definition at line 109 of file ESILowerTypes.cpp.
std::unique_ptr< OperationPass<> > circt::esi::createESIVerifyConnectionsPass | ( | ) |
Definition at line 57 of file ESIVerifyConnections.cpp.
AppIDAttr circt::esi::getAppID | ( | Operation * | op | ) |
|
inline |
Definition at line 48 of file ESITypes.h.
References circt::esi::BundledChannel::direction, esi::utils::hash_combine(), circt::esi::BundledChannel::name, and circt::esi::BundledChannel::type.
mlir::Type circt::esi::innerType | ( | mlir::Type | type | ) |
Definition at line 184 of file ESITypes.cpp.
Referenced by circt::doTypeConversion(), getInnerTypes(), getVerilogDeclWord(), hasPathType(), hwTypeAliasTypeGet(), makeReplacer(), populateTypeConversion(), seqImmutableTypeGet(), circt::handshake::toValidType(), and tupleToStruct().
void circt::esi::registerESIPasses | ( | void | ) |
Definition at line 262 of file ESIPasses.cpp.
References registerPasses().
Referenced by circt::registerAllPasses(), and registerESIPasses().
|
constexpr |
Manifest format version number.
Increment this whenever the manifest format changes. Version 0 is subject to massive, breaking changes.
Definition at line 33 of file ESIDialect.h.
|
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 39 of file ESIDialect.h.
|
constexpr |
Suffix lowered empty ports with this suffix.
Defaults to "_empty". Applies only to FIFO channels.
Definition at line 60 of file ESIDialect.h.
|
constexpr |
Name of dialect attribute which governs whether or not to flatten struct ports into a bunch of individual 'data' wires.
Definition at line 43 of file ESIDialect.h.
|
constexpr |
Suffix all lowered input ports with this suffix. Defaults to nothing.
Definition at line 46 of file ESIDialect.h.
|
constexpr |
Suffix all lowered output ports with this suffix. Defaults to nothing.
Definition at line 48 of file ESIDialect.h.
|
constexpr |
Suffix lowered read enable ports with this suffix.
Defaults to "_rden". Applies only to FIFO channels.
Definition at line 57 of file ESIDialect.h.
|
constexpr |
Suffix lowered ready ports with this suffix.
Defaults to "_ready". Applies only to ValidReady channels.
Definition at line 54 of file ESIDialect.h.
|
constexpr |
Suffix lowered valid ports with this suffix.
Defaults to "_valid". Applies only to ValidReady channels.
Definition at line 51 of file ESIDialect.h.