CIRCT
20.0.0git
|
Namespaces | |
backends | |
cosim | |
registry | |
services | |
utils | |
Classes | |
class | ChannelSignaling |
class | RequestConnectionOp |
class | RandomAccessMemoryDeclOp |
class | ESIPureModuleOp |
class | Accelerator |
Top level accelerator class. More... | |
class | AcceleratorConnection |
Abstract class representing a connection to an accelerator. More... | |
class | AcceleratorServiceThread |
Background thread which services various requests. More... | |
struct | AppID |
class | AppIDPath |
struct | Constant |
struct | ModuleInfo |
struct | ServicePortDesc |
A description of a service port. More... | |
struct | ChannelAssignment |
Details about how to connect to a particular channel. More... | |
struct | HWClientDetail |
A description of a hardware client. More... | |
class | MessageData |
A logical chunk of data representing serialized data. More... | |
class | Context |
AcceleratorConnections, Accelerators, and Manifests must all share a context. More... | |
class | HWModule |
Represents either the top level or an instance of a hardware module. More... | |
class | Instance |
Subclass of HWModule which represents a submodule instance. More... | |
class | Logger |
class | TSLogger |
A thread-safe logger which calls functions implemented by subclasses. More... | |
class | StreamLogger |
A logger that writes to a C++ std::ostream. More... | |
class | NullLogger |
A logger that does nothing. More... | |
class | Manifest |
Class to parse a manifest. More... | |
class | ChannelPort |
Unidirectional channels are the basic communication primitive between the host and accelerator. More... | |
class | WriteChannelPort |
A ChannelPort which sends data to the accelerator. More... | |
class | ReadChannelPort |
A ChannelPort which reads data from the accelerator. More... | |
class | BundlePort |
Services provide connections to 'bundles' – collections of named, unidirectional communication channels. More... | |
class | Type |
Root class of the ESI type system. More... | |
class | BundleType |
Bundles represent a collection of channels. More... | |
class | ChannelType |
Channels are the basic communication primitives. More... | |
class | VoidType |
The "void" type is a special type which can be used to represent no type. More... | |
class | AnyType |
The "any" type is a special type which can be used to represent any type, as identified by the type id. More... | |
class | BitVectorType |
Bit vectors include signed, unsigned, and signless integers. More... | |
class | BitsType |
Bits are just an array of bits. More... | |
class | IntegerType |
Integers are bit vectors which may be signed or unsigned and are interpreted as numbers. More... | |
class | SIntType |
Signed integer. More... | |
class | UIntType |
Unsigned integer. More... | |
class | StructType |
Structs are an ordered collection of fields, each with a name and a type. More... | |
class | ArrayType |
Arrays have a compile time specified (static) size and an element type. More... | |
Typedefs | |
using | ChannelAssignments = std::map< std::string, ChannelAssignment > |
using | HWClientDetails = std::vector< HWClientDetail > |
using | ServiceImplDetails = std::map< std::string, std::any > |
Functions | |
bool | operator< (const AppID &a, const AppID &b) |
bool | operator< (const AppIDPath &a, const AppIDPath &b) |
std::string | toHex (uint32_t val) |
std::string | toString (const std::any &a) |
'Stringify' a std::any. This is used to log std::any values by some loggers. More... | |
static std::filesystem::path | getExePath () |
Get the path to the currently running executable. More... | |
static std::filesystem::path | getLibPath () |
Get the path to the currently running shared library. More... | |
static void | loadBackend (Context &ctxt, std::string backend) |
Load a backend plugin dynamically. More... | |
static std::map< AppID, Instance * > | buildIndex (const std::vector< std::unique_ptr< Instance >> &insts) |
Build an index of children by AppID. More... | |
static std::map< AppID, const BundlePort & > | buildIndex (const std::vector< std::unique_ptr< BundlePort >> &ports) |
Build an index of ports by AppID. More... | |
Variables | |
constexpr uint32_t | MetadataOffset = 8 |
constexpr uint64_t | MagicNumberLo = 0xE5100E51 |
constexpr uint64_t | MagicNumberHi = 0x207D98E5 |
constexpr uint64_t | MagicNumber = MagicNumberLo | (MagicNumberHi << 32) |
constexpr uint32_t | ExpectedVersionNumber = 0 |
using esi.ChannelAssignments = typedef std::map<std::string, ChannelAssignment> |
using esi.HWClientDetails = typedef std::vector<HWClientDetail> |
using esi.ServiceImplDetails = typedef std::map<std::string, std::any> |
|
static |
Build an index of ports by AppID.
Definition at line 35 of file Design.cpp.
|
static |
Build an index of children by AppID.
Definition at line 26 of file Design.cpp.
|
static |
Get the path to the currently running executable.
Definition at line 72 of file Accelerator.cpp.
Referenced by loadBackend().
|
static |
Get the path to the currently running shared library.
Definition at line 91 of file Accelerator.cpp.
Referenced by loadBackend().
|
static |
Load a backend plugin dynamically.
Plugins are expected to be named lib<BackendName>Backend.so and located in one of 1) CWD, 2) in the same directory as the application, or 3) in the same directory as this library.
Definition at line 119 of file Accelerator.cpp.
References esiaccel.accelerator::ctxt, esi::Logger::debug(), esi::Logger::error(), getExePath(), getLibPath(), and esi::Logger::info().
Referenced by esi::registry::connect().
Definition at line 714 of file Manifest.cpp.
References esi::AppID::idx, and esi::AppID::name.
Definition at line 719 of file Manifest.cpp.
std::string esi::toHex | ( | uint32_t | val | ) |
Definition at line 37 of file Common.cpp.
Referenced by esi::services::MMIOSysInfo::getEsiVersion(), esi::services::MMIO::MMIORegion::read(), esi::services::MMIO::MMIORegion::toString(), and esi::services::MMIO::MMIORegion::write().
std::string esi::toString | ( | const std::any & | a | ) |
'Stringify' a std::any. This is used to log std::any values by some loggers.
Definition at line 74 of file Logging.cpp.
Referenced by esi::StreamLogger::logImpl().
|
constexpr |
Definition at line 48 of file Accelerator.h.
|
constexpr |
Definition at line 47 of file Accelerator.h.
Referenced by esi::services::MMIOSysInfo::getEsiVersion().
|
constexpr |
Definition at line 46 of file Accelerator.h.
|
constexpr |
Definition at line 45 of file Accelerator.h.
|
constexpr |
Definition at line 44 of file Accelerator.h.
Referenced by esi::services::MMIOSysInfo::getCompressedManifest(), and esi::services::MMIOSysInfo::getEsiVersion().