CIRCT  19.0.0git
Namespaces | Classes | Typedefs | Functions | Variables
esi Namespace Reference

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...
 
struct  AppID
 
class  AppIDPath
 
struct  ModuleInfo
 
struct  ServicePortDesc
 A description of a service port. 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  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 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)
 
static map< AppID, Instance * > buildIndex (const vector< unique_ptr< Instance >> &insts)
 Build an index of children by AppID. More...
 
static map< AppID, const BundlePort & > buildIndex (const vector< unique_ptr< BundlePort >> &ports)
 Build an index of ports by AppID. More...
 

Variables

constexpr uint32_t MetadataOffset = 8
 
constexpr uint32_t MagicNumberLo = 0xE5100E51
 
constexpr uint32_t MagicNumberHi = 0x207D98E5
 
constexpr uint32_t ExpectedVersionNumber = 0
 

Typedef Documentation

◆ HWClientDetails

using esi.HWClientDetails = typedef std::vector<HWClientDetail>

Definition at line 79 of file Common.h.

◆ ServiceImplDetails

using esi.ServiceImplDetails = typedef std::map<std::string, std::any>

Definition at line 80 of file Common.h.

Function Documentation

◆ buildIndex() [1/2]

static map<AppID, const BundlePort &> esi::buildIndex ( const vector< unique_ptr< BundlePort >> &  ports)
static

Build an index of ports by AppID.

Definition at line 36 of file Design.cpp.

◆ buildIndex() [2/2]

static map<AppID, Instance *> esi::buildIndex ( const vector< unique_ptr< Instance >> &  insts)
static

Build an index of children by AppID.

Definition at line 27 of file Design.cpp.

◆ operator<() [1/2]

bool esi::operator< ( const AppID a,
const AppID b 
)

Definition at line 608 of file Manifest.cpp.

References esi::AppID::idx, and esi::AppID::name.

◆ operator<() [2/2]

bool esi::operator< ( const AppIDPath a,
const AppIDPath b 
)

Definition at line 613 of file Manifest.cpp.

◆ toHex()

std::string esi::toHex ( uint32_t  val)

Definition at line 20 of file Common.cpp.

Referenced by esi::services::MMIOSysInfo::getEsiVersion().

Variable Documentation

◆ ExpectedVersionNumber

constexpr uint32_t esi.ExpectedVersionNumber = 0
constexpr

Definition at line 45 of file Accelerator.h.

◆ MagicNumberHi

constexpr uint32_t esi.MagicNumberHi = 0x207D98E5
constexpr

Definition at line 44 of file Accelerator.h.

Referenced by esi::services::MMIOSysInfo::getEsiVersion().

◆ MagicNumberLo

constexpr uint32_t esi.MagicNumberLo = 0xE5100E51
constexpr

Definition at line 43 of file Accelerator.h.

Referenced by esi::services::MMIOSysInfo::getEsiVersion().

◆ MetadataOffset

constexpr uint32_t esi.MetadataOffset = 8
constexpr