esiaccel 0.1.5.dev186__cp39-cp39-win_amd64.whl → 0.1.5.dev209__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.
Potentially problematic release.
This version of esiaccel might be problematic. Click here for more details.
- esiaccel/CosimBackend.dll +0 -0
- esiaccel/CosimBackend.lib +0 -0
- esiaccel/ESICppRuntime.dll +0 -0
- esiaccel/ESICppRuntime.lib +0 -0
- esiaccel/EsiCosimDpiServer.dll +0 -0
- esiaccel/EsiCosimDpiServer.lib +0 -0
- esiaccel/MtiPli.dll +0 -0
- esiaccel/MtiPli.lib +0 -0
- esiaccel/cosim/simulator.py +166 -35
- esiaccel/cosim/verilator.py +19 -4
- esiaccel/esiCppAccel.cp39-win_amd64.pyd +0 -0
- esiaccel/esiquery.exe +0 -0
- {esiaccel-0.1.5.dev186.dist-info → esiaccel-0.1.5.dev209.dist-info}/METADATA +1 -1
- {esiaccel-0.1.5.dev186.dist-info → esiaccel-0.1.5.dev209.dist-info}/RECORD +18 -18
- {esiaccel-0.1.5.dev186.dist-info → esiaccel-0.1.5.dev209.dist-info}/WHEEL +0 -0
- {esiaccel-0.1.5.dev186.dist-info → esiaccel-0.1.5.dev209.dist-info}/entry_points.txt +0 -0
- {esiaccel-0.1.5.dev186.dist-info → esiaccel-0.1.5.dev209.dist-info}/licenses/LICENSE +0 -0
- {esiaccel-0.1.5.dev186.dist-info → esiaccel-0.1.5.dev209.dist-info}/top_level.txt +0 -0
esiaccel/CosimBackend.dll
CHANGED
|
Binary file
|
esiaccel/CosimBackend.lib
CHANGED
|
Binary file
|
esiaccel/ESICppRuntime.dll
CHANGED
|
Binary file
|
esiaccel/ESICppRuntime.lib
CHANGED
|
Binary file
|
esiaccel/EsiCosimDpiServer.dll
CHANGED
|
Binary file
|
esiaccel/EsiCosimDpiServer.lib
CHANGED
|
Binary file
|
esiaccel/MtiPli.dll
CHANGED
|
Binary file
|
esiaccel/MtiPli.lib
CHANGED
|
Binary file
|
esiaccel/cosim/simulator.py
CHANGED
|
@@ -9,7 +9,8 @@ import socket
|
|
|
9
9
|
import subprocess
|
|
10
10
|
import time
|
|
11
11
|
from pathlib import Path
|
|
12
|
-
from typing import Dict, List
|
|
12
|
+
from typing import Dict, List, Optional, Callable, IO
|
|
13
|
+
import threading
|
|
13
14
|
|
|
14
15
|
_thisdir = Path(__file__).parent
|
|
15
16
|
CosimCollateralDir = _thisdir
|
|
@@ -39,6 +40,13 @@ class SourceFiles:
|
|
|
39
40
|
# Name of the top module.
|
|
40
41
|
self.top = top
|
|
41
42
|
|
|
43
|
+
def add_file(self, file: Path):
|
|
44
|
+
"""Add a single RTL file to the source list."""
|
|
45
|
+
if file.is_file():
|
|
46
|
+
self.user.append(file)
|
|
47
|
+
else:
|
|
48
|
+
raise FileNotFoundError(f"File {file} does not exist")
|
|
49
|
+
|
|
42
50
|
def add_dir(self, dir: Path):
|
|
43
51
|
"""Add all the RTL files in a directory to the source list."""
|
|
44
52
|
for file in sorted(dir.iterdir()):
|
|
@@ -70,9 +78,13 @@ class SourceFiles:
|
|
|
70
78
|
|
|
71
79
|
class SimProcess:
|
|
72
80
|
|
|
73
|
-
def __init__(self,
|
|
81
|
+
def __init__(self,
|
|
82
|
+
proc: subprocess.Popen,
|
|
83
|
+
port: int,
|
|
84
|
+
threads: Optional[List[threading.Thread]] = None):
|
|
74
85
|
self.proc = proc
|
|
75
86
|
self.port = port
|
|
87
|
+
self.threads: List[threading.Thread] = threads or []
|
|
76
88
|
|
|
77
89
|
def force_stop(self):
|
|
78
90
|
"""Make sure to stop the simulation no matter what."""
|
|
@@ -85,6 +97,10 @@ class SimProcess:
|
|
|
85
97
|
# If the simulation doesn't exit of its own free will, kill it.
|
|
86
98
|
self.proc.kill()
|
|
87
99
|
|
|
100
|
+
# Join reader threads (they should exit once pipes are closed).
|
|
101
|
+
for t in self.threads:
|
|
102
|
+
t.join()
|
|
103
|
+
|
|
88
104
|
|
|
89
105
|
class Simulator:
|
|
90
106
|
|
|
@@ -93,11 +109,72 @@ class Simulator:
|
|
|
93
109
|
# broken behavior by overriding this.
|
|
94
110
|
UsesStderr = True
|
|
95
111
|
|
|
96
|
-
def __init__(self,
|
|
112
|
+
def __init__(self,
|
|
113
|
+
sources: SourceFiles,
|
|
114
|
+
run_dir: Path,
|
|
115
|
+
debug: bool,
|
|
116
|
+
run_stdout_callback: Optional[Callable[[str], None]] = None,
|
|
117
|
+
run_stderr_callback: Optional[Callable[[str], None]] = None,
|
|
118
|
+
compile_stdout_callback: Optional[Callable[[str], None]] = None,
|
|
119
|
+
compile_stderr_callback: Optional[Callable[[str], None]] = None,
|
|
120
|
+
make_default_logs: bool = True):
|
|
121
|
+
"""Simulator base class.
|
|
122
|
+
|
|
123
|
+
Optional sinks can be provided for capturing output. If not provided,
|
|
124
|
+
the simulator will write to log files in `run_dir`.
|
|
125
|
+
|
|
126
|
+
Args:
|
|
127
|
+
sources: SourceFiles describing RTL/DPI inputs.
|
|
128
|
+
run_dir: Directory where build/run artifacts are placed.
|
|
129
|
+
debug: Enable cosim debug mode.
|
|
130
|
+
run_stdout_callback: Line-based callback for runtime stdout.
|
|
131
|
+
run_stderr_callback: Line-based callback for runtime stderr.
|
|
132
|
+
compile_stdout_callback: Line-based callback for compile stdout.
|
|
133
|
+
compile_stderr_callback: Line-based callback for compile stderr.
|
|
134
|
+
make_default_logs: If True and corresponding callback is not supplied,
|
|
135
|
+
create log file and emit via internally-created callback.
|
|
136
|
+
"""
|
|
97
137
|
self.sources = sources
|
|
98
138
|
self.run_dir = run_dir
|
|
99
139
|
self.debug = debug
|
|
100
140
|
|
|
141
|
+
# Unified list of any log file handles we opened.
|
|
142
|
+
self._default_files: List[IO[str]] = []
|
|
143
|
+
|
|
144
|
+
def _ensure_default(cb: Optional[Callable[[str], None]], filename: str):
|
|
145
|
+
"""Return (callback, file_handle_or_None) with optional file creation.
|
|
146
|
+
|
|
147
|
+
Behavior:
|
|
148
|
+
* If a callback is provided, return it unchanged with no file.
|
|
149
|
+
* If no callback and make_default_logs is False, return (None, None).
|
|
150
|
+
* If no callback and make_default_logs is True, create a log file and
|
|
151
|
+
return a writer callback plus the opened file handle.
|
|
152
|
+
"""
|
|
153
|
+
if cb is not None:
|
|
154
|
+
return cb, None
|
|
155
|
+
if not make_default_logs:
|
|
156
|
+
return None, None
|
|
157
|
+
p = self.run_dir / filename
|
|
158
|
+
p.parent.mkdir(parents=True, exist_ok=True)
|
|
159
|
+
logf = p.open("w+")
|
|
160
|
+
self._default_files.append(logf)
|
|
161
|
+
|
|
162
|
+
def _writer(line: str, _lf=logf):
|
|
163
|
+
_lf.write(line + "\n")
|
|
164
|
+
_lf.flush()
|
|
165
|
+
|
|
166
|
+
return _writer, logf
|
|
167
|
+
|
|
168
|
+
# Initialize all four (compile/run stdout/stderr) uniformly.
|
|
169
|
+
self._compile_stdout_cb, self._compile_stdout_log = _ensure_default(
|
|
170
|
+
compile_stdout_callback, 'compile_stdout.log')
|
|
171
|
+
self._compile_stderr_cb, self._compile_stderr_log = _ensure_default(
|
|
172
|
+
compile_stderr_callback, 'compile_stderr.log')
|
|
173
|
+
self._run_stdout_cb, self._run_stdout_log = _ensure_default(
|
|
174
|
+
run_stdout_callback, 'sim_stdout.log')
|
|
175
|
+
self._run_stderr_cb, self._run_stderr_log = _ensure_default(
|
|
176
|
+
run_stderr_callback, 'sim_stderr.log')
|
|
177
|
+
|
|
101
178
|
@staticmethod
|
|
102
179
|
def get_env() -> Dict[str, str]:
|
|
103
180
|
"""Get the environment variables to locate shared objects."""
|
|
@@ -116,23 +193,29 @@ class Simulator:
|
|
|
116
193
|
def compile(self) -> int:
|
|
117
194
|
cmds = self.compile_commands()
|
|
118
195
|
self.run_dir.mkdir(parents=True, exist_ok=True)
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
196
|
+
for cmd in cmds:
|
|
197
|
+
ret = self._start_process_with_callbacks(
|
|
198
|
+
cmd,
|
|
199
|
+
env=Simulator.get_env(),
|
|
200
|
+
cwd=None,
|
|
201
|
+
stdout_cb=self._compile_stdout_cb,
|
|
202
|
+
stderr_cb=self._compile_stderr_cb,
|
|
203
|
+
wait=True)
|
|
204
|
+
if isinstance(ret, int) and ret != 0:
|
|
205
|
+
print("====== Compilation failure")
|
|
206
|
+
|
|
207
|
+
# If we have the default file loggers, print the compilation logs to
|
|
208
|
+
# console. Else, assume that the user has already captured them.
|
|
209
|
+
if self.UsesStderr:
|
|
210
|
+
if self._compile_stderr_log is not None:
|
|
211
|
+
self._compile_stderr_log.seek(0)
|
|
212
|
+
print(self._compile_stderr_log.read())
|
|
213
|
+
else:
|
|
214
|
+
if self._compile_stdout_log is not None:
|
|
215
|
+
self._compile_stdout_log.seek(0)
|
|
216
|
+
print(self._compile_stdout_log.read())
|
|
217
|
+
|
|
218
|
+
return ret
|
|
136
219
|
return 0
|
|
137
220
|
|
|
138
221
|
def run_command(self, gui: bool) -> List[str]:
|
|
@@ -141,11 +224,12 @@ class Simulator:
|
|
|
141
224
|
|
|
142
225
|
def run_proc(self, gui: bool = False) -> SimProcess:
|
|
143
226
|
"""Run the simulation process. Returns the Popen object and the port which
|
|
144
|
-
the simulation is listening on.
|
|
145
|
-
|
|
227
|
+
the simulation is listening on.
|
|
228
|
+
|
|
229
|
+
If user-provided stdout/stderr sinks were supplied in the constructor,
|
|
230
|
+
they are used. Otherwise, log files are created in `run_dir`.
|
|
231
|
+
"""
|
|
146
232
|
self.run_dir.mkdir(parents=True, exist_ok=True)
|
|
147
|
-
simStdout = open(self.run_dir / "sim_stdout.log", "w")
|
|
148
|
-
simStderr = open(self.run_dir / "sim_stderr.log", "w")
|
|
149
233
|
|
|
150
234
|
# Erase the config file if it exists. We don't want to read
|
|
151
235
|
# an old config.
|
|
@@ -161,19 +245,19 @@ class Simulator:
|
|
|
161
245
|
# Slow the simulation down to one tick per millisecond.
|
|
162
246
|
simEnv["DEBUG_PERIOD"] = "1"
|
|
163
247
|
rcmd = self.run_command(gui)
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
248
|
+
# Start process with asynchronous output capture.
|
|
249
|
+
proc, threads = self._start_process_with_callbacks(
|
|
250
|
+
rcmd,
|
|
251
|
+
env=simEnv,
|
|
252
|
+
cwd=self.run_dir,
|
|
253
|
+
stdout_cb=self._run_stdout_cb,
|
|
254
|
+
stderr_cb=self._run_stderr_cb,
|
|
255
|
+
wait=False)
|
|
172
256
|
|
|
173
257
|
# Get the port which the simulation RPC selected.
|
|
174
258
|
checkCount = 0
|
|
175
259
|
while (not os.path.exists(portFileName)) and \
|
|
176
|
-
|
|
260
|
+
proc.poll() is None:
|
|
177
261
|
time.sleep(0.1)
|
|
178
262
|
checkCount += 1
|
|
179
263
|
if checkCount > 500 and not gui:
|
|
@@ -193,10 +277,57 @@ class Simulator:
|
|
|
193
277
|
checkCount += 1
|
|
194
278
|
if checkCount > 200:
|
|
195
279
|
raise Exception(f"Cosim RPC port ({port}) never opened")
|
|
196
|
-
if
|
|
280
|
+
if proc.poll() is not None:
|
|
197
281
|
raise Exception("Simulation exited early")
|
|
198
282
|
time.sleep(0.05)
|
|
199
|
-
return SimProcess(proc=
|
|
283
|
+
return SimProcess(proc=proc, port=port, threads=threads)
|
|
284
|
+
|
|
285
|
+
def _start_process_with_callbacks(
|
|
286
|
+
self, cmd: List[str], env: Optional[Dict[str, str]], cwd: Optional[Path],
|
|
287
|
+
stdout_cb: Optional[Callable[[str],
|
|
288
|
+
None]], stderr_cb: Optional[Callable[[str],
|
|
289
|
+
None]],
|
|
290
|
+
wait: bool) -> int | tuple[subprocess.Popen, List[threading.Thread]]:
|
|
291
|
+
"""Start a subprocess and stream its stdout/stderr to callbacks.
|
|
292
|
+
|
|
293
|
+
If wait is True, blocks until process completes and returns its exit code.
|
|
294
|
+
If wait is False, returns the Popen object (threads keep streaming).
|
|
295
|
+
"""
|
|
296
|
+
proc = subprocess.Popen(cmd,
|
|
297
|
+
stdout=subprocess.PIPE,
|
|
298
|
+
stderr=subprocess.PIPE,
|
|
299
|
+
env=env,
|
|
300
|
+
cwd=cwd,
|
|
301
|
+
text=True,
|
|
302
|
+
preexec_fn=os.setsid)
|
|
303
|
+
|
|
304
|
+
def _reader(pipe, cb):
|
|
305
|
+
if pipe is None:
|
|
306
|
+
return
|
|
307
|
+
for raw in pipe:
|
|
308
|
+
if raw.endswith('\n'):
|
|
309
|
+
raw = raw[:-1]
|
|
310
|
+
if cb:
|
|
311
|
+
try:
|
|
312
|
+
cb(raw)
|
|
313
|
+
except Exception as e:
|
|
314
|
+
print(f"Exception in simulator output callback: {e}")
|
|
315
|
+
|
|
316
|
+
threads: List[threading.Thread] = [
|
|
317
|
+
threading.Thread(target=_reader,
|
|
318
|
+
args=(proc.stdout, stdout_cb),
|
|
319
|
+
daemon=True),
|
|
320
|
+
threading.Thread(target=_reader,
|
|
321
|
+
args=(proc.stderr, stderr_cb),
|
|
322
|
+
daemon=True),
|
|
323
|
+
]
|
|
324
|
+
for t in threads:
|
|
325
|
+
t.start()
|
|
326
|
+
if wait:
|
|
327
|
+
for t in threads:
|
|
328
|
+
t.join()
|
|
329
|
+
return proc.wait()
|
|
330
|
+
return proc, threads
|
|
200
331
|
|
|
201
332
|
def run(self,
|
|
202
333
|
inner_command: str,
|
esiaccel/cosim/verilator.py
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import os
|
|
6
6
|
from pathlib import Path
|
|
7
|
-
from typing import List
|
|
7
|
+
from typing import List, Optional, Callable
|
|
8
8
|
|
|
9
9
|
from .simulator import CosimCollateralDir, Simulator, SourceFiles
|
|
10
10
|
|
|
@@ -14,9 +14,23 @@ class Verilator(Simulator):
|
|
|
14
14
|
|
|
15
15
|
DefaultDriver = CosimCollateralDir / "driver.cpp"
|
|
16
16
|
|
|
17
|
-
def __init__(self,
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
def __init__(self,
|
|
18
|
+
sources: SourceFiles,
|
|
19
|
+
run_dir: Path,
|
|
20
|
+
debug: bool,
|
|
21
|
+
run_stdout_callback: Optional[Callable[[str], None]] = None,
|
|
22
|
+
run_stderr_callback: Optional[Callable[[str], None]] = None,
|
|
23
|
+
compile_stdout_callback: Optional[Callable[[str], None]] = None,
|
|
24
|
+
compile_stderr_callback: Optional[Callable[[str], None]] = None,
|
|
25
|
+
make_default_logs: bool = True):
|
|
26
|
+
super().__init__(sources=sources,
|
|
27
|
+
run_dir=run_dir,
|
|
28
|
+
debug=debug,
|
|
29
|
+
run_stdout_callback=run_stdout_callback,
|
|
30
|
+
run_stderr_callback=run_stderr_callback,
|
|
31
|
+
compile_stdout_callback=compile_stdout_callback,
|
|
32
|
+
compile_stderr_callback=compile_stderr_callback,
|
|
33
|
+
make_default_logs=make_default_logs)
|
|
20
34
|
self.verilator = "verilator"
|
|
21
35
|
if "VERILATOR_PATH" in os.environ:
|
|
22
36
|
self.verilator = os.environ["VERILATOR_PATH"]
|
|
@@ -36,6 +50,7 @@ class Verilator(Simulator):
|
|
|
36
50
|
"-j",
|
|
37
51
|
"0",
|
|
38
52
|
"--output-split",
|
|
53
|
+
"--autoflush",
|
|
39
54
|
"--assert",
|
|
40
55
|
str(Verilator.DefaultDriver),
|
|
41
56
|
]
|
|
Binary file
|
esiaccel/esiquery.exe
CHANGED
|
Binary file
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
esiaccel/CosimBackend.dll,sha256=
|
|
2
|
-
esiaccel/CosimBackend.lib,sha256=
|
|
3
|
-
esiaccel/ESICppRuntime.dll,sha256=
|
|
4
|
-
esiaccel/ESICppRuntime.lib,sha256=
|
|
5
|
-
esiaccel/EsiCosimDpiServer.dll,sha256=
|
|
6
|
-
esiaccel/EsiCosimDpiServer.lib,sha256=
|
|
7
|
-
esiaccel/MtiPli.dll,sha256=
|
|
8
|
-
esiaccel/MtiPli.lib,sha256=
|
|
1
|
+
esiaccel/CosimBackend.dll,sha256=qr7UctBrgKG69Dv8MNQS82vE3N0Q2puk8wrySh2sIus,7152128
|
|
2
|
+
esiaccel/CosimBackend.lib,sha256=5tnhX-BFxzlslXNsblCWXjY583sDW4lFLGNch7hzWZw,4992924
|
|
3
|
+
esiaccel/ESICppRuntime.dll,sha256=GPUQj4iEhfv9ojWkQM--zMnT7TS5dicKACAw7mQJ8g8,4078592
|
|
4
|
+
esiaccel/ESICppRuntime.lib,sha256=tltAogZ3c0ryYHirOXz_qltr5aNdoquZ-Q4yVqim3FY,15154004
|
|
5
|
+
esiaccel/EsiCosimDpiServer.dll,sha256=kJnxal0jDztCkmDN9FEp1f6e8C5RhBpqLlPkuDSWDac,159744
|
|
6
|
+
esiaccel/EsiCosimDpiServer.lib,sha256=zn3bIX10e2HQtwZOi1xpqeNfy4AdZm8Jx634HVTVQ8w,604164
|
|
7
|
+
esiaccel/MtiPli.dll,sha256=Z9QgwMvvQTGn2y0BZMr5NQNc8s5o5v2CXtSiUex8bt0,14848
|
|
8
|
+
esiaccel/MtiPli.lib,sha256=juJ2Asmv6cnozNPpXvGeKkieYFcXK8MOYmDQZz-dAy4,14570
|
|
9
9
|
esiaccel/__init__.py,sha256=65xXWHwJwRePsyhWk837NpzuN0qsNhoAX29TOiSYKGc,905
|
|
10
10
|
esiaccel/accelerator.py,sha256=BcXPsUqcQV3YsVVyYbz9P6JnZLlcnuageFbJwID9_3s,3318
|
|
11
11
|
esiaccel/codegen.py,sha256=uoYELtnIabVvgLeCABj-mWras0BvmSKABPH-cd9nDFk,6560
|
|
12
12
|
esiaccel/esi-cosim.py,sha256=P7n3SBgKPnXynwghY5zK1FmpqZkbC_YxfVIvNNQNl6Q,3817
|
|
13
|
-
esiaccel/esiCppAccel.cp39-win_amd64.pyd,sha256=
|
|
14
|
-
esiaccel/esiquery.exe,sha256=
|
|
13
|
+
esiaccel/esiCppAccel.cp39-win_amd64.pyd,sha256=gR8vEErs3n_fjSU9I3wyY1k8VCwdETZSpQICg0d-_Gw,549888
|
|
14
|
+
esiaccel/esiquery.exe,sha256=WwKt0UTFwLayZZ_ZIQtPOpvtkrHO7kJYFIksyj2VJ8k,441856
|
|
15
15
|
esiaccel/types.py,sha256=LFLzUCvtYF6FLsmKet6eJTMq2ija2Z5kxd5Ks6tkS4U,19044
|
|
16
16
|
esiaccel/utils.py,sha256=q-8fmgJ9tUvmBsIvqZiZ7u845IJhOjvjYTQLhhrNYl0,1515
|
|
17
17
|
esiaccel/cmake/esiaccelConfig.cmake,sha256=u2aW99k1lEcmYTG1P3BTJqtmDrj53wUUaBz_jzw8kYY,565
|
|
@@ -21,8 +21,8 @@ esiaccel/cosim/Cosim_Manifest.sv,sha256=vl9b6XieEkP880IBw1ferekBnDJwFanZZggJJGer
|
|
|
21
21
|
esiaccel/cosim/driver.cpp,sha256=DrEKkSN7Y_Hu7wcaUulH5mbC2L4yB9xLClRMeRUpzHM,3842
|
|
22
22
|
esiaccel/cosim/driver.sv,sha256=ro-j9GM164A1W0MDPkqYfEn3TUKHSqVvgjO31fnloQI,1428
|
|
23
23
|
esiaccel/cosim/questa.py,sha256=d6PnjzRxQpu47Zpez6hmzTc_aMQdrmQRSmnpOXSPFVU,2386
|
|
24
|
-
esiaccel/cosim/simulator.py,sha256=
|
|
25
|
-
esiaccel/cosim/verilator.py,sha256=
|
|
24
|
+
esiaccel/cosim/simulator.py,sha256=aWhEjuAwdzgAIRUsW9yC2ACBIbdxbmMhJSGnH-OP_n0,12975
|
|
25
|
+
esiaccel/cosim/verilator.py,sha256=WsPPqI7tYjW44SBFbGKhmxIK0JS0p85ar6oeAToNaks,2681
|
|
26
26
|
esiaccel/include/esi/Accelerator.h,sha256=RhkZ2HeMZ0iHc5BkHdDWXoeg9J9lyPQciH5bWq5Qc_w,9772
|
|
27
27
|
esiaccel/include/esi/CLI.h,sha256=Nn8tHn_xtEfkrD7USE2tao6ktYOJ6xcbnhZkS9-ox0A,2540
|
|
28
28
|
esiaccel/include/esi/Common.h,sha256=IGJvAU72dlearXFbSmlXFFriy8aomirp7opEBjgewek,5775
|
|
@@ -38,9 +38,9 @@ esiaccel/include/esi/Utils.h,sha256=KPd75GajIFeTBVJocXBjwsJqhbZg-ShWZCIe3oQdBss,
|
|
|
38
38
|
esiaccel/include/esi/backends/Cosim.h,sha256=s7vYd0ra6m1nvk-n37MjvBoGVI-CCUKBt0DU4PKlaHM,2838
|
|
39
39
|
esiaccel/include/esi/backends/RpcServer.h,sha256=WMwnhwU2qnrcglGNeiKg9QQHpkDx1QE1JydKYDK4jqE,1856
|
|
40
40
|
esiaccel/include/esi/backends/Trace.h,sha256=kx4wwLH3a0ndmRUdaDyYGZ1SP83zlpFrk30Nw8ZrJJA,3286
|
|
41
|
-
esiaccel-0.1.5.
|
|
42
|
-
esiaccel-0.1.5.
|
|
43
|
-
esiaccel-0.1.5.
|
|
44
|
-
esiaccel-0.1.5.
|
|
45
|
-
esiaccel-0.1.5.
|
|
46
|
-
esiaccel-0.1.5.
|
|
41
|
+
esiaccel-0.1.5.dev209.dist-info/licenses/LICENSE,sha256=vtnVnB8_lN1yPYcA5MeT56R8UsQtBhyzZLBvu_KMf7I,13468
|
|
42
|
+
esiaccel-0.1.5.dev209.dist-info/METADATA,sha256=H4c55nj5pcG1CdfDQ7jBxykrmoij_wxwpnIt1dTuHso,16148
|
|
43
|
+
esiaccel-0.1.5.dev209.dist-info/WHEEL,sha256=XkFE14KmFh7mutkkb-qn_ueuH2lwfT8rLdfc5xpQ7wE,99
|
|
44
|
+
esiaccel-0.1.5.dev209.dist-info/entry_points.txt,sha256=_CuNLV0fyTURxRREFwpzGycifZW_-7-MyuJNEwKK9J8,137
|
|
45
|
+
esiaccel-0.1.5.dev209.dist-info/top_level.txt,sha256=fYWTWMDK4PDu4ePQ9NtcFHas2k8-d1kWhTs2avPpgB4,9
|
|
46
|
+
esiaccel-0.1.5.dev209.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|