Loading [MathJax]/extensions/tex2jax.js
CIRCT
21.0.0git
Toggle main menu visibility
Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Variables
_
a
b
c
d
e
f
g
i
k
l
m
n
o
r
s
t
u
v
w
Typedefs
a
b
c
d
e
f
g
h
i
m
o
p
r
s
t
u
w
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
z
~
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
Enumerations
Enumerator
a
b
c
d
f
i
m
n
o
p
r
s
t
u
v
w
x
z
Related Symbols
Files
File List
File Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Variables
c
e
g
i
l
m
n
p
r
s
t
w
Typedefs
b
c
d
e
f
h
i
j
l
m
n
o
p
r
s
u
v
Enumerations
Enumerator
a
c
d
f
h
i
n
o
r
Macros
a
c
d
e
g
h
i
r
s
t
v
x
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Loading...
Searching...
No Matches
lib
Dialect
ESI
runtime
cpp
include
esi
Manifest.h
Go to the documentation of this file.
1
//===- Manifest.h - Metadata on the accelerator -----------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// Manifest parsing and API creation.
10
//
11
// DO NOT EDIT!
12
// This file is distributed as part of an ESI package. The source for this file
13
// should always be modified within CIRCT.
14
//
15
//===----------------------------------------------------------------------===//
16
17
// NOLINTNEXTLINE(llvm-header-guard)
18
#ifndef ESI_MANIFEST_H
19
#define ESI_MANIFEST_H
20
21
#include "
esi/Common.h
"
22
#include "
esi/Context.h
"
23
#include "
esi/Types.h
"
24
25
#include <any>
26
#include <memory>
27
#include <optional>
28
#include <string>
29
#include <vector>
30
31
namespace
esi
{
32
33
// Forward declarations.
34
class
AcceleratorConnection;
35
class
Accelerator;
36
37
/// Class to parse a manifest. It also constructs the dynamic API for the
38
/// accelerator.
39
class
Manifest
{
40
public
:
41
class
Impl
;
42
43
Manifest
(
const
Manifest
&) =
delete
;
44
Manifest
(
Context
&ctxt,
const
std::string &jsonManifest);
45
~Manifest
();
46
47
uint32_t
getApiVersion
()
const
;
48
// Modules which have designer specified metadata.
49
std::vector<ModuleInfo>
getModuleInfos
()
const
;
50
51
// Build a dynamic design hierarchy from the manifest. The
52
// AcceleratorConnection owns the returned pointer so its lifetime is
53
// determined by the connection.
54
Accelerator
*
buildAccelerator
(
AcceleratorConnection
&acc)
const
;
55
56
/// The Type Table is an ordered list of types. The offset can be used to
57
/// compactly and uniquely within a design. It does not include all of the
58
/// types in a design -- just the ones listed in the 'types' section of the
59
/// manifest.
60
const
std::vector<const Type *> &
getTypeTable
()
const
;
61
62
private
:
63
Impl
*
impl
;
64
};
39
class
Manifest
{
…
};
65
66
}
// namespace esi
67
68
std::ostream &
operator<<
(std::ostream &os,
const
esi::AppID
&
id
);
69
std::ostream &
operator<<
(std::ostream &,
const
esi::AppIDPath
&);
70
std::ostream &
operator<<
(std::ostream &,
const
esi::ModuleInfo
&);
71
72
#endif
// ESI_MANIFEST_H
Common.h
Context.h
operator<<
std::ostream & operator<<(std::ostream &os, const esi::AppID &id)
Types.h
esi::AcceleratorConnection
Abstract class representing a connection to an accelerator.
Definition
Accelerator.h:79
esi::Accelerator
Top level accelerator class.
Definition
Accelerator.h:60
esi::AppIDPath
Definition
Common.h:48
esi::Context
AcceleratorConnections, Accelerators, and Manifests must all share a context.
Definition
Context.h:31
esi::Manifest
Class to parse a manifest.
Definition
Manifest.h:39
esi::Manifest::~Manifest
~Manifest()
esi::Manifest::getApiVersion
uint32_t getApiVersion() const
esi::Manifest::buildAccelerator
Accelerator * buildAccelerator(AcceleratorConnection &acc) const
esi::Manifest::getTypeTable
const std::vector< const Type * > & getTypeTable() const
The Type Table is an ordered list of types.
esi::Manifest::Manifest
Manifest(Context &ctxt, const std::string &jsonManifest)
esi::Manifest::getModuleInfos
std::vector< ModuleInfo > getModuleInfos() const
esi::Manifest::Manifest
Manifest(const Manifest &)=delete
esi::Manifest::impl
Impl * impl
Definition
Manifest.h:63
esi::cosim::RpcServer::Impl
Definition
RpcServer.cpp:50
esi
Definition
esi.py:1
esi::AppID
Definition
Common.h:34
esi::ModuleInfo
Definition
Common.h:62
Generated on Wed Apr 23 2025 00:08:58 for CIRCT by
1.9.8