esiaccel 0.1.5.dev450__cp39-cp39-win_amd64.whl → 0.1.5.dev533__cp39-cp39-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
esiaccel/CosimBackend.dll CHANGED
Binary file
esiaccel/CosimBackend.lib CHANGED
Binary file
Binary file
Binary file
Binary file
Binary file
esiaccel/MtiPli.dll CHANGED
Binary file
esiaccel/MtiPli.lib CHANGED
Binary file
esiaccel/abseil_dll.dll CHANGED
Binary file
esiaccel/cares.dll CHANGED
Binary file
Binary file
esiaccel/esiquery.exe CHANGED
Binary file
@@ -65,8 +65,8 @@ public:
65
65
  Accelerator(std::optional<ModuleInfo> info,
66
66
  std::vector<std::unique_ptr<Instance>> children,
67
67
  std::vector<services::Service *> services,
68
- std::vector<std::unique_ptr<BundlePort>> &ports)
69
- : HWModule(info, std::move(children), services, ports) {}
68
+ std::vector<std::unique_ptr<BundlePort>> &&ports)
69
+ : HWModule(info, std::move(children), services, std::move(ports)) {}
70
70
  };
71
71
 
72
72
  //===----------------------------------------------------------------------===//
@@ -45,11 +45,15 @@ class Service;
45
45
 
46
46
  /// Represents either the top level or an instance of a hardware module.
47
47
  class HWModule {
48
+ public:
49
+ HWModule(const HWModule &) = delete;
50
+ HWModule &operator=(const HWModule &) = delete;
51
+
48
52
  protected:
49
53
  HWModule(std::optional<ModuleInfo> info,
50
54
  std::vector<std::unique_ptr<Instance>> children,
51
55
  std::vector<services::Service *> services,
52
- std::vector<std::unique_ptr<BundlePort>> &ports);
56
+ std::vector<std::unique_ptr<BundlePort>> &&ports);
53
57
 
54
58
  public:
55
59
  virtual ~HWModule() = default;
@@ -112,11 +116,12 @@ public:
112
116
  Instance(AppID id, std::optional<ModuleInfo> info,
113
117
  std::vector<std::unique_ptr<Instance>> children,
114
118
  std::vector<services::Service *> services,
115
- std::vector<std::unique_ptr<BundlePort>> &ports)
116
- : HWModule(info, std::move(children), services, ports), id(id) {}
119
+ std::vector<std::unique_ptr<BundlePort>> &&ports)
120
+ : HWModule(info, std::move(children), services, std::move(ports)),
121
+ id(id) {}
117
122
 
118
123
  /// Get the instance's ID, which it will always have.
119
- const AppID getID() const { return id; }
124
+ AppID getID() const { return id; }
120
125
 
121
126
  protected:
122
127
  const AppID id;
@@ -35,13 +35,63 @@ using PortMap = std::map<std::string, ChannelPort &>;
35
35
  /// but used by higher level APIs which add types.
36
36
  class ChannelPort {
37
37
  public:
38
- ChannelPort(const Type *type) : type(type) {}
38
+ ChannelPort(const Type *type);
39
39
  virtual ~ChannelPort() {}
40
40
 
41
- /// Set up a connection to the accelerator. The buffer size is optional and
42
- /// should be considered merely a hint. Individual implementations use it
43
- /// however they like. The unit is number of messages of the port type.
44
- virtual void connect(std::optional<unsigned> bufferSize = std::nullopt) = 0;
41
+ struct ConnectOptions {
42
+ /// The buffer size is optional and should be considered merely a hint.
43
+ /// Individual implementations use it however they like. The unit is number
44
+ /// of messages of the port type.
45
+ std::optional<unsigned> bufferSize = std::nullopt;
46
+
47
+ /// If the type of this port is a window, translate the incoming/outgoing
48
+ /// data into its underlying ('into') type. For 'into' types without lists,
49
+ /// just re-arranges the data fields from the lowered type to the 'into'
50
+ /// type.
51
+ ///
52
+ /// If this option is false, no translation is done and the data is
53
+ /// passed through as-is. Same is true for non-windowed types.
54
+ ///
55
+ /// For messages with lists, only two types are supported:
56
+ /// 1) Parallel encoding includes any 'header' data with each frame. Said
57
+ /// header data is the same across all frames, so this encoding is
58
+ /// inefficient but is commonly used for on-chip streaming interfaces.
59
+ /// Each frame contains a 'last' field to indicate the end of the list.
60
+ /// In cases where 'numItems' is greater than 1, a field named
61
+ /// '<listField>_size' indicates the number of valid items in that
62
+ /// frame.
63
+ /// 2) Serial (bulk transfer) encoding, where a 'header' frame precedes
64
+ /// the list data frame. Said header frame contains a 'count' field
65
+ /// indicating the number of items in the list. Importantly, the
66
+ /// header frame is always re-transmitted after the specified number of
67
+ /// list items have been sent. If the 'count' field is zero, the end of
68
+ /// the list has been reached. If it is non-zero, the message has not
69
+ /// been completely transmitted and reading should continue until a
70
+ /// 'count' of zero is received.
71
+ ///
72
+ /// In both cases, the returned MessageData contains the complete header
73
+ /// followed by the list data. In other words, header data is not duplicated
74
+ /// in the returned message.
75
+ ///
76
+ /// Important note: for consistency, preserves SystemVerilog struct field
77
+ /// ordering! So it's the opposite of C struct ordering.
78
+ ///
79
+ /// Implementation status:
80
+ /// - Lists are not yet supported.
81
+ /// - Write ports are not yet supported.
82
+ /// - Fields must be byte-aligned.
83
+ ///
84
+ /// See the CIRCT documentation (or td files) for more details on windowed
85
+ /// messages.
86
+ bool translateMessage = true;
87
+
88
+ ConnectOptions(std::optional<unsigned> bufferSize = std::nullopt,
89
+ bool translateMessage = true)
90
+ : bufferSize(bufferSize), translateMessage(translateMessage) {}
91
+ };
92
+
93
+ /// Set up a connection to the accelerator.
94
+ virtual void connect(const ConnectOptions &options = ConnectOptions()) = 0;
45
95
  virtual void disconnect() = 0;
46
96
  virtual bool isConnected() const = 0;
47
97
 
@@ -63,6 +113,7 @@ public:
63
113
 
64
114
  protected:
65
115
  const Type *type;
116
+ const WindowType *translationType;
66
117
 
67
118
  /// Method called by poll() to actually poll the channel if the channel is
68
119
  /// connected.
@@ -70,7 +121,7 @@ protected:
70
121
 
71
122
  /// Called by all connect methods to let backends initiate the underlying
72
123
  /// connections.
73
- virtual void connectImpl(std::optional<unsigned> bufferSize) {}
124
+ virtual void connectImpl(const ConnectOptions &options) {}
74
125
  };
75
126
 
76
127
  /// A ChannelPort which sends data to the accelerator.
@@ -78,9 +129,8 @@ class WriteChannelPort : public ChannelPort {
78
129
  public:
79
130
  using ChannelPort::ChannelPort;
80
131
 
81
- virtual void
82
- connect(std::optional<unsigned> bufferSize = std::nullopt) override {
83
- connectImpl(bufferSize);
132
+ virtual void connect(const ConnectOptions &options = {}) override {
133
+ connectImpl(options);
84
134
  connected = true;
85
135
  }
86
136
  virtual void disconnect() override { connected = false; }
@@ -105,7 +155,7 @@ public:
105
155
  UnknownWriteChannelPort(const Type *type, std::string errmsg)
106
156
  : WriteChannelPort(type), errmsg(errmsg) {}
107
157
 
108
- void connect(std::optional<unsigned> bufferSize = std::nullopt) override {
158
+ void connect(const ConnectOptions &options = {}) override {
109
159
  throw std::runtime_error(errmsg);
110
160
  }
111
161
  void write(const MessageData &) override { throw std::runtime_error(errmsg); }
@@ -143,7 +193,7 @@ public:
143
193
  //===--------------------------------------------------------------------===//
144
194
 
145
195
  virtual void connect(std::function<bool(MessageData)> callback,
146
- std::optional<unsigned> bufferSize = std::nullopt);
196
+ const ConnectOptions &options = {});
147
197
 
148
198
  //===--------------------------------------------------------------------===//
149
199
  // Polling mode methods: To use futures or blocking reads, connect without any
@@ -154,8 +204,7 @@ public:
154
204
  static constexpr uint64_t DefaultMaxDataQueueMsgs = 32;
155
205
 
156
206
  /// Connect to the channel in polling mode.
157
- virtual void
158
- connect(std::optional<unsigned> bufferSize = std::nullopt) override;
207
+ virtual void connect(const ConnectOptions &options = {}) override;
159
208
 
160
209
  /// Asynchronous read.
161
210
  virtual std::future<MessageData> readAsync();
@@ -184,6 +233,14 @@ protected:
184
233
  /// Backends call this callback when new data is available.
185
234
  std::function<bool(MessageData)> callback;
186
235
 
236
+ /// Window translation support.
237
+ std::vector<uint8_t> translationBuffer;
238
+ /// Index of the next expected frame (for multi-frame windows).
239
+ size_t nextFrameIndex = 0;
240
+ /// Translate incoming data if the port type is a window type. Returns true if
241
+ /// the message has been completely received.
242
+ bool translateIncoming(MessageData &data);
243
+
187
244
  //===--------------------------------------------------------------------===//
188
245
  // Polling mode members.
189
246
  //===--------------------------------------------------------------------===//
@@ -206,10 +263,10 @@ public:
206
263
  : ReadChannelPort(type), errmsg(errmsg) {}
207
264
 
208
265
  void connect(std::function<bool(MessageData)> callback,
209
- std::optional<unsigned> bufferSize = std::nullopt) override {
266
+ const ConnectOptions &options = ConnectOptions()) override {
210
267
  throw std::runtime_error(errmsg);
211
268
  }
212
- void connect(std::optional<unsigned> bufferSize = std::nullopt) override {
269
+ void connect(const ConnectOptions &options = ConnectOptions()) override {
213
270
  throw std::runtime_error(errmsg);
214
271
  }
215
272
  std::future<MessageData> readAsync() override {
@@ -49,7 +49,9 @@ public:
49
49
  using BundlePort::BundlePort;
50
50
  virtual ~ServicePort() = default;
51
51
  // Get a description of the service port.
52
- virtual std::optional<std::string> toString() const { return std::nullopt; }
52
+ virtual std::optional<std::string> toString(bool oneLine = false) const {
53
+ return std::nullopt;
54
+ }
53
55
  };
54
56
 
55
57
  /// Parent class of all APIs modeled as 'services'. May or may not map to a
@@ -181,7 +183,8 @@ public:
181
183
  /// Write a 64-bit value to this region, not the global address space.
182
184
  virtual void write(uint32_t addr, uint64_t data);
183
185
 
184
- virtual std::optional<std::string> toString() const override {
186
+ virtual std::optional<std::string>
187
+ toString(bool oneLine = false) const override {
185
188
  return "MMIO region " + toHex(desc.base) + " - " +
186
189
  toHex(desc.base + desc.size);
187
190
  }
@@ -293,10 +296,12 @@ public:
293
296
  ->getInner();
294
297
  }
295
298
 
296
- virtual std::optional<std::string> toString() const override {
299
+ virtual std::optional<std::string>
300
+ toString(bool oneLine = false) const override {
297
301
  const esi::Type *argType = getArgType();
298
302
  const esi::Type *resultType = getResultType();
299
- return "function " + resultType->getID() + "(" + argType->getID() + ")";
303
+ return "function " + resultType->toString(oneLine) + "(" +
304
+ argType->toString(oneLine) + ")";
300
305
  }
301
306
 
302
307
  private:
@@ -349,10 +354,12 @@ public:
349
354
  ->getInner();
350
355
  }
351
356
 
352
- virtual std::optional<std::string> toString() const override {
357
+ virtual std::optional<std::string>
358
+ toString(bool oneLine = false) const override {
353
359
  const esi::Type *argType = getArgType();
354
360
  const esi::Type *resultType = getResultType();
355
- return "callback " + resultType->getID() + "(" + argType->getID() + ")";
361
+ return "callback " + resultType->toString(oneLine) + "(" +
362
+ argType->toString(oneLine) + ")";
356
363
  }
357
364
 
358
365
  private:
@@ -394,11 +401,12 @@ public:
394
401
  std::future<MessageData> read();
395
402
  uint64_t readInt();
396
403
 
397
- virtual std::optional<std::string> toString() const override {
404
+ virtual std::optional<std::string>
405
+ toString(bool oneLine = false) const override {
398
406
  const esi::Type *dataType =
399
407
  dynamic_cast<const ChannelType *>(type->findChannel("data").first)
400
408
  ->getInner();
401
- return "telemetry " + dataType->getID();
409
+ return "telemetry " + dataType->toString(oneLine);
402
410
  }
403
411
 
404
412
  private:
@@ -81,10 +81,10 @@ public:
81
81
  }
82
82
 
83
83
  // Dump a textual representation of this type to the provided stream.
84
- void dump(std::ostream &os);
84
+ void dump(std::ostream &os, bool oneLine = false) const;
85
85
 
86
86
  // Return a textual representation of this type.
87
- std::string toString();
87
+ std::string toString(bool oneLine = false) const;
88
88
 
89
89
  protected:
90
90
  ID id;
@@ -274,6 +274,61 @@ private:
274
274
  bool reverse;
275
275
  };
276
276
 
277
+ /// Windows represent a fixed-size sliding window over a stream of data.
278
+ /// They define an "into" type (the data structure being windowed) and a
279
+ /// "loweredType" (the hardware representation including control signals).
280
+ class WindowType : public Type {
281
+ public:
282
+ /// Field information describing a field within a frame.
283
+ struct Field {
284
+ std::string name;
285
+ uint64_t numItems = 0; // 0 means not specified (use all items)
286
+ uint64_t bulkCountWidth = 0; // 0 means parallel encoding, >0 means serial
287
+ };
288
+
289
+ /// Frame information describing which fields are included in a particular
290
+ /// frame.
291
+ struct Frame {
292
+ std::string name;
293
+ std::vector<Field> fields;
294
+ };
295
+
296
+ WindowType(const ID &id, const std::string &name, const Type *intoType,
297
+ const Type *loweredType, const std::vector<Frame> &frames)
298
+ : Type(id), name(name), intoType(intoType), loweredType(loweredType),
299
+ frames(frames) {}
300
+
301
+ const std::string &getName() const { return name; }
302
+ const Type *getIntoType() const { return intoType; }
303
+ const Type *getLoweredType() const { return loweredType; }
304
+ const std::vector<Frame> &getFrames() const { return frames; }
305
+
306
+ std::ptrdiff_t getBitWidth() const override {
307
+ return loweredType->getBitWidth();
308
+ }
309
+
310
+ private:
311
+ std::string name;
312
+ const Type *intoType;
313
+ const Type *loweredType;
314
+ std::vector<Frame> frames;
315
+ };
316
+
317
+ /// Lists represent variable-length sequences of elements of a single type.
318
+ /// Unlike arrays which have a fixed size, lists can have any length.
319
+ class ListType : public Type {
320
+ public:
321
+ ListType(const ID &id, const Type *elementType)
322
+ : Type(id), elementType(elementType) {}
323
+
324
+ const Type *getElementType() const { return elementType; }
325
+
326
+ std::ptrdiff_t getBitWidth() const override { return -1; }
327
+
328
+ private:
329
+ const Type *elementType;
330
+ };
331
+
277
332
  } // namespace esi
278
333
 
279
334
  #endif // ESI_TYPES_H
Binary file
esiaccel/libprotobuf.dll CHANGED
Binary file
esiaccel/libssl-3-x64.dll CHANGED
Binary file
esiaccel/re2.dll CHANGED
Binary file
esiaccel/types.py CHANGED
@@ -342,7 +342,9 @@ class Port:
342
342
  if not supports_host:
343
343
  raise TypeError(f"unsupported type: {reason}")
344
344
 
345
- self.cpp_port.connect(buffer_size)
345
+ opts = cpp.ConnectOptions()
346
+ opts.buffer_size = buffer_size
347
+ self.cpp_port.connect(opts)
346
348
  return self
347
349
 
348
350
  def disconnect(self):
esiaccel/zlib1.dll CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: esiaccel
3
- Version: 0.1.5.dev450
3
+ Version: 0.1.5.dev533
4
4
  Summary: ESI accelerators runtime
5
5
  Author-email: John Demme <John.Demme@microsoft.com>
6
6
  License: ==============================================================================
@@ -0,0 +1,54 @@
1
+ esiaccel/CosimBackend.dll,sha256=HLY-a4LLRHXp3Cz-RxfYvnJC3AC7zhgXe9M0aLeANqE,7191040
2
+ esiaccel/CosimBackend.lib,sha256=H1VDOkDJ_SnxuD5VSRRtF9UVrEY1V63QLisUtC_zCnE,4905984
3
+ esiaccel/ESICppRuntime.dll,sha256=BSJyYbPkBKU0KxEf7ipX0SWqnzBSCxWbJ1GQviaTNmk,4451328
4
+ esiaccel/ESICppRuntime.lib,sha256=-tUBdbUQQby_fpmnxWhSc2gA9RUBJFTxX9_Fv8s8v8o,16480656
5
+ esiaccel/EsiCosimDpiServer.dll,sha256=kEEsaSTOUrPYbu3FNSKLQFWhudDDxXmZJaZpeApsAgw,160768
6
+ esiaccel/EsiCosimDpiServer.lib,sha256=ZPUuFDAlg_VyBGL_6we_x_kFJXNXCTR-y4OSV5iMTb4,606000
7
+ esiaccel/MtiPli.dll,sha256=xtpPhSMvD3timNK-1N158dbdmIJzuGldSDW05XSHxDc,14848
8
+ esiaccel/MtiPli.lib,sha256=oIz79DOP-I6KRzVMy9iZFXVXunzG28t0Srdt3YhPW7c,14570
9
+ esiaccel/__init__.py,sha256=kQGIPdInC-YoumE8uVqmfAckqcTGmCnMJGtWZzCc2lE,1270
10
+ esiaccel/abseil_dll.dll,sha256=m4XUtHris-6bW8YsqXSldQQ0CQj77nYda97aPFkbpJ8,2002432
11
+ esiaccel/accelerator.py,sha256=wv1EXaRZlXtyHeBA-_uKycBjn-lVxj83AYeIVlutVRs,4466
12
+ esiaccel/cares.dll,sha256=5P4WlNgOwDspEF-XUDTv3h4q8I1lpgcA5BTd9jQsNak,199168
13
+ esiaccel/codegen.py,sha256=QaBNVwcsCyYWmhEesQsXp72rV-8dVC9G33K4YR6PxRo,6577
14
+ esiaccel/esi-cosim.py,sha256=P7n3SBgKPnXynwghY5zK1FmpqZkbC_YxfVIvNNQNl6Q,3817
15
+ esiaccel/esiCppAccel.cp312-win_amd64.pyd,sha256=9V0_NmFswBxWnbtJh2P_aM6L03QMBHRkYEQJMHQcmXg,289792
16
+ esiaccel/esiquery.exe,sha256=BMhtz3IxNhcKn2Yrubk1-ERtWDA0_VhPudG8OL7Qko8,475136
17
+ esiaccel/libcrypto-3-x64.dll,sha256=CL9GodKpkFkWPYhI-2hlfpOUTnfOc8a6Gounrqrq42s,5327872
18
+ esiaccel/libprotobuf.dll,sha256=mzpfXA-piI1MX55_J6Zmh1wFJxCVADpTT2LPp6loB5c,12089856
19
+ esiaccel/libssl-3-x64.dll,sha256=HBYDAMAoGxQcH8JQinTkVFwRmRse_UAzmddMPpNZJEY,871424
20
+ esiaccel/re2.dll,sha256=uXoew91NnvMXAw0c_9za9XD0A_w8Zv8z5lettFFrqv4,1212928
21
+ esiaccel/types.py,sha256=pTF2J5cSlyrpq6pBZ9Xd9--NuIOpR4JkEYNicf6ffkM,19097
22
+ esiaccel/utils.py,sha256=q-8fmgJ9tUvmBsIvqZiZ7u845IJhOjvjYTQLhhrNYl0,1515
23
+ esiaccel/zlib1.dll,sha256=26MaCHmjSQQ61nwS42e7gy0QqYSp6XPsMqxHW7PnBtc,90112
24
+ esiaccel/cmake/esiaccelConfig.cmake,sha256=u2aW99k1lEcmYTG1P3BTJqtmDrj53wUUaBz_jzw8kYY,565
25
+ esiaccel/cosim/Cosim_DpiPkg.sv,sha256=9qGn1VyAVrzBP5At1thV6xrovg0WghICD01Zz9J221E,3458
26
+ esiaccel/cosim/Cosim_Endpoint.sv,sha256=-XXrGvvk6hdiZ-Ex6_QtdKXXUwKJLKSvpTUK3o0gPZ8,7589
27
+ esiaccel/cosim/Cosim_Manifest.sv,sha256=vl9b6XieEkP880IBw1ferekBnDJwFanZZggJJGertXM,1123
28
+ esiaccel/cosim/driver.cpp,sha256=Lvmo03pzzhoswdxAtdXAm-oU6UkfTyl1LgoCpyDzLhY,3842
29
+ esiaccel/cosim/driver.sv,sha256=LAkFEXTwX3KKwZLSzYZFwMPWxZwVStuhUsfecHHpGzU,1890
30
+ esiaccel/cosim/questa.py,sha256=2xALwRzsOFZ1_xk3f2d849GMvGspNCK4XL8zVDBjXlA,4626
31
+ esiaccel/cosim/simulator.py,sha256=HpkvKPbpyqalRp8poRYU3E0taYxTRmxcmBEJ7YOecx4,13941
32
+ esiaccel/cosim/verilator.py,sha256=dwiEkKOem5OKPV9AK6O1ohr22MTsyDxBVnriDRFoVa8,2877
33
+ esiaccel/include/esi/Accelerator.h,sha256=9BpDeyGFxzBQEPlvllebXIiINbMkOKwv9QF7ZHKQNfo,8986
34
+ esiaccel/include/esi/CLI.h,sha256=LLLWpvE7JDuwNyuCSjLj3sGsAh1BenOh1W7MbhAf3WQ,2619
35
+ esiaccel/include/esi/Common.h,sha256=7bXy9bRt4C7oeO6SBm8BneujbL17fbPM6K7YMqazvLE,6155
36
+ esiaccel/include/esi/Context.h,sha256=Bd698megdjlsmGsKQjsw3JE9vTuKLQjIrn-DrWRpkFw,2686
37
+ esiaccel/include/esi/Design.h,sha256=KbynfLZ6Y2PXomq-c9IKXRZGmeHFTObWTfvjL8G6X-c,5040
38
+ esiaccel/include/esi/Engines.h,sha256=bbGbhXjYMpIpXh_DR0OS57zyGQUIDXh_S7xHX3su0Y0,4831
39
+ esiaccel/include/esi/Logging.h,sha256=sHqMcpp0lNIHkIEyvSm-BBWx4zXXh6NOATCgZpgzYI4,8944
40
+ esiaccel/include/esi/Manifest.h,sha256=ZdIu_vXXLS4bwOoISFo-sFjzvB9x5ddYmNmaknyF0ds,2110
41
+ esiaccel/include/esi/Ports.h,sha256=ZryCyJDa8B1mWanPdaOX6UKEPQTVX9_Zgm9u9LI0BFk,13380
42
+ esiaccel/include/esi/Services.h,sha256=48BpvQzvIiAi3lQb0aJ8eupedgyTredDbFcsGGbM-30,16422
43
+ esiaccel/include/esi/Types.h,sha256=SyTU3YteKWQJ7HuUK4G6f1sQDBJ7nhHh-r1OMpH4MVY,11416
44
+ esiaccel/include/esi/Utils.h,sha256=KPd75GajIFeTBVJocXBjwsJqhbZg-ShWZCIe3oQdBss,3061
45
+ esiaccel/include/esi/Values.h,sha256=1xXxNV2oUr84At3Y7aXBqbiPZxyJXeUbhycl0O0fUtk,11074
46
+ esiaccel/include/esi/backends/Cosim.h,sha256=s7vYd0ra6m1nvk-n37MjvBoGVI-CCUKBt0DU4PKlaHM,2838
47
+ esiaccel/include/esi/backends/RpcServer.h,sha256=WMwnhwU2qnrcglGNeiKg9QQHpkDx1QE1JydKYDK4jqE,1856
48
+ esiaccel/include/esi/backends/Trace.h,sha256=kx4wwLH3a0ndmRUdaDyYGZ1SP83zlpFrk30Nw8ZrJJA,3286
49
+ esiaccel-0.1.5.dev533.dist-info/licenses/LICENSE,sha256=vtnVnB8_lN1yPYcA5MeT56R8UsQtBhyzZLBvu_KMf7I,13468
50
+ esiaccel-0.1.5.dev533.dist-info/METADATA,sha256=bAKDQpSuonxTWYLdDviWG9-Hzt7aL2p-YXW3uqFe-N8,16148
51
+ esiaccel-0.1.5.dev533.dist-info/WHEEL,sha256=XkFE14KmFh7mutkkb-qn_ueuH2lwfT8rLdfc5xpQ7wE,99
52
+ esiaccel-0.1.5.dev533.dist-info/entry_points.txt,sha256=_CuNLV0fyTURxRREFwpzGycifZW_-7-MyuJNEwKK9J8,137
53
+ esiaccel-0.1.5.dev533.dist-info/top_level.txt,sha256=fYWTWMDK4PDu4ePQ9NtcFHas2k8-d1kWhTs2avPpgB4,9
54
+ esiaccel-0.1.5.dev533.dist-info/RECORD,,
Binary file
@@ -1,54 +0,0 @@
1
- esiaccel/CosimBackend.dll,sha256=4fO1qyHMp9kA-tmUIyucRHAdJvSfU7WUtrL42HUTNlg,7190016
2
- esiaccel/CosimBackend.lib,sha256=irceROhM9oK4xu-X5-asnfJAPaYHTQYwYIwufUEbCcc,4903722
3
- esiaccel/ESICppRuntime.dll,sha256=TWcitc9eyKimY2eAp4scRrTQTq4e3Ks_PqmF1doEC4g,4341248
4
- esiaccel/ESICppRuntime.lib,sha256=NXo4I7OomlmlWdA8oXSH99jyClvRSIGfKIc6cn_DCrc,16030020
5
- esiaccel/EsiCosimDpiServer.dll,sha256=zA2GBxScjk0p1_OmK39EiGX8FfIwCPuMxYON_0tHexc,160768
6
- esiaccel/EsiCosimDpiServer.lib,sha256=xMj0Uiih7BfmPUCe5NrAK8gEAqoi0ITH7P4Fp0IvaHo,606000
7
- esiaccel/MtiPli.dll,sha256=BY6Db5ck2_XZxfZ9GkXUdOuu1HfkG0-X_2cU5yszh48,14848
8
- esiaccel/MtiPli.lib,sha256=FFIpVSxcH4VGNnMeZXAHcYQxTCBAeElN3YXLk1yrSTM,14570
9
- esiaccel/__init__.py,sha256=kQGIPdInC-YoumE8uVqmfAckqcTGmCnMJGtWZzCc2lE,1270
10
- esiaccel/abseil_dll.dll,sha256=XDG6iyA-_QvpR4KiU0EuawlPj9SwWaT1gFKUbUEc9-s,1584640
11
- esiaccel/accelerator.py,sha256=wv1EXaRZlXtyHeBA-_uKycBjn-lVxj83AYeIVlutVRs,4466
12
- esiaccel/cares.dll,sha256=iDlRWuwPeF3q5a7DAycDQagoUVvirlpV_BTdifq80p0,199168
13
- esiaccel/codegen.py,sha256=QaBNVwcsCyYWmhEesQsXp72rV-8dVC9G33K4YR6PxRo,6577
14
- esiaccel/esi-cosim.py,sha256=P7n3SBgKPnXynwghY5zK1FmpqZkbC_YxfVIvNNQNl6Q,3817
15
- esiaccel/esiCppAccel.cp39-win_amd64.pyd,sha256=xAkOKsMdw0NvhqdKw_SMskt8g_6t5UuuZfdHSPqKmVE,544768
16
- esiaccel/esiquery.exe,sha256=dr7IoMGpu6PSdz7AW2VT5bgrTu1EAFnxGrUWnz8qv7M,474624
17
- esiaccel/libcrypto-3-x64.dll,sha256=iZL17pV_T-E826IE4xXqKvZqL743t6paXSlY7_MlU6k,5327872
18
- esiaccel/libprotobuf.dll,sha256=cXpjnkRWT9FkOzaPuwB8Qp-55c8PeLsQmMbQj_U9zp0,12566528
19
- esiaccel/libssl-3-x64.dll,sha256=36lMfBAJ0UHFrcKlNjaJpSO2Xp8qBjbVkVUIaqeXOHc,871424
20
- esiaccel/re2.dll,sha256=WGpOIrLIkIzstyTImCTJuRIJ48c76pZAd-UU_hWROY8,1213952
21
- esiaccel/types.py,sha256=ps9c4IU2ITbyeCcI4a64BDEjMuNTzchQuH0Bdhx2LG0,19035
22
- esiaccel/utils.py,sha256=q-8fmgJ9tUvmBsIvqZiZ7u845IJhOjvjYTQLhhrNYl0,1515
23
- esiaccel/zlib1.dll,sha256=AGw-KcUg5gLhevgwpsq74mmDClKwobyjU8gjCgYCdPA,90112
24
- esiaccel/cmake/esiaccelConfig.cmake,sha256=u2aW99k1lEcmYTG1P3BTJqtmDrj53wUUaBz_jzw8kYY,565
25
- esiaccel/cosim/Cosim_DpiPkg.sv,sha256=9qGn1VyAVrzBP5At1thV6xrovg0WghICD01Zz9J221E,3458
26
- esiaccel/cosim/Cosim_Endpoint.sv,sha256=-XXrGvvk6hdiZ-Ex6_QtdKXXUwKJLKSvpTUK3o0gPZ8,7589
27
- esiaccel/cosim/Cosim_Manifest.sv,sha256=vl9b6XieEkP880IBw1ferekBnDJwFanZZggJJGertXM,1123
28
- esiaccel/cosim/driver.cpp,sha256=Lvmo03pzzhoswdxAtdXAm-oU6UkfTyl1LgoCpyDzLhY,3842
29
- esiaccel/cosim/driver.sv,sha256=LAkFEXTwX3KKwZLSzYZFwMPWxZwVStuhUsfecHHpGzU,1890
30
- esiaccel/cosim/questa.py,sha256=2xALwRzsOFZ1_xk3f2d849GMvGspNCK4XL8zVDBjXlA,4626
31
- esiaccel/cosim/simulator.py,sha256=HpkvKPbpyqalRp8poRYU3E0taYxTRmxcmBEJ7YOecx4,13941
32
- esiaccel/cosim/verilator.py,sha256=dwiEkKOem5OKPV9AK6O1ohr22MTsyDxBVnriDRFoVa8,2877
33
- esiaccel/include/esi/Accelerator.h,sha256=vDh-Qy6Lzk-c-wL6MVABoKiLWN2uuqh4RY-JDHez1uw,8974
34
- esiaccel/include/esi/CLI.h,sha256=LLLWpvE7JDuwNyuCSjLj3sGsAh1BenOh1W7MbhAf3WQ,2619
35
- esiaccel/include/esi/Common.h,sha256=7bXy9bRt4C7oeO6SBm8BneujbL17fbPM6K7YMqazvLE,6155
36
- esiaccel/include/esi/Context.h,sha256=Bd698megdjlsmGsKQjsw3JE9vTuKLQjIrn-DrWRpkFw,2686
37
- esiaccel/include/esi/Design.h,sha256=mU8OwpCYijiWSdDq17l45LMzZxBca93nosudWCXNHfQ,4922
38
- esiaccel/include/esi/Engines.h,sha256=bbGbhXjYMpIpXh_DR0OS57zyGQUIDXh_S7xHX3su0Y0,4831
39
- esiaccel/include/esi/Logging.h,sha256=sHqMcpp0lNIHkIEyvSm-BBWx4zXXh6NOATCgZpgzYI4,8944
40
- esiaccel/include/esi/Manifest.h,sha256=ZdIu_vXXLS4bwOoISFo-sFjzvB9x5ddYmNmaknyF0ds,2110
41
- esiaccel/include/esi/Ports.h,sha256=T2WbPBViUSvFbO5Jjxlcp_eGq9jMitguvNnz3O0564U,10543
42
- esiaccel/include/esi/Services.h,sha256=au4agwnlyZD4vYZdawGlnAZxocnNN-PCv3WoeD0qtOs,16216
43
- esiaccel/include/esi/Types.h,sha256=zskmb2_Z3EmWQlPc56tOYBulTxsmiTdD9fd2w7ifaGw,9486
44
- esiaccel/include/esi/Utils.h,sha256=KPd75GajIFeTBVJocXBjwsJqhbZg-ShWZCIe3oQdBss,3061
45
- esiaccel/include/esi/Values.h,sha256=1xXxNV2oUr84At3Y7aXBqbiPZxyJXeUbhycl0O0fUtk,11074
46
- esiaccel/include/esi/backends/Cosim.h,sha256=s7vYd0ra6m1nvk-n37MjvBoGVI-CCUKBt0DU4PKlaHM,2838
47
- esiaccel/include/esi/backends/RpcServer.h,sha256=WMwnhwU2qnrcglGNeiKg9QQHpkDx1QE1JydKYDK4jqE,1856
48
- esiaccel/include/esi/backends/Trace.h,sha256=kx4wwLH3a0ndmRUdaDyYGZ1SP83zlpFrk30Nw8ZrJJA,3286
49
- esiaccel-0.1.5.dev450.dist-info/licenses/LICENSE,sha256=vtnVnB8_lN1yPYcA5MeT56R8UsQtBhyzZLBvu_KMf7I,13468
50
- esiaccel-0.1.5.dev450.dist-info/METADATA,sha256=8uk7_-3T1okK-VZDxDWx210EqSGypw73LJXROfde_SY,16148
51
- esiaccel-0.1.5.dev450.dist-info/WHEEL,sha256=XkFE14KmFh7mutkkb-qn_ueuH2lwfT8rLdfc5xpQ7wE,99
52
- esiaccel-0.1.5.dev450.dist-info/entry_points.txt,sha256=_CuNLV0fyTURxRREFwpzGycifZW_-7-MyuJNEwKK9J8,137
53
- esiaccel-0.1.5.dev450.dist-info/top_level.txt,sha256=fYWTWMDK4PDu4ePQ9NtcFHas2k8-d1kWhTs2avPpgB4,9
54
- esiaccel-0.1.5.dev450.dist-info/RECORD,,