Skip to content

Commit eee9ec8

Browse files
thespsvloncar
authored andcommitted
Remove VivadoAccelerator package method
1 parent ddb0b2d commit eee9ec8

File tree

1 file changed

+1
-47
lines changed

1 file changed

+1
-47
lines changed
Lines changed: 1 addition & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
import os
2-
import shutil
3-
import tarfile
4-
import time
5-
import numpy as np
62

73
from hls4ml.backends import VivadoBackend
84
from hls4ml.model.flow import register_flow
@@ -13,50 +9,18 @@ def __init__(self):
139
super(VivadoBackend, self).__init__(name='VivadoAccelerator')
1410
self._register_flows()
1511

16-
@staticmethod
17-
def package(model, X=None, y=None, sleep_before_retry=60):
18-
'''Package the hardware build results for HW inference, including test data'''
19-
20-
odir = model.config.get_output_dir()
21-
name = model.config.get_project_name()
22-
23-
if os.path.isdir(f'{odir}/package/'):
24-
print(f'Found existing package "{odir}/package/", overwriting')
25-
os.makedirs(f'{odir}/package/', exist_ok=True)
26-
if not X is None:
27-
np.save(f'{odir}/package/X.npy', X)
28-
if not y is None:
29-
np.save(f'{odir}/package/y.npy', y)
30-
31-
src = f'{odir}/{name}_vivado_accelerator/project_1.runs/impl_1/design_1_wrapper.bit'
32-
dst = f'{odir}/package/{name}.bit'
33-
_copy_wait_retry(src, dst, sleep=sleep_before_retry)
34-
35-
src = f'{odir}/{name}_vivado_accelerator/project_1.srcs/sources_1/bd/design_1/hw_handoff/design_1.hwh'
36-
dst = f'{odir}/package/{name}.hwh'
37-
_copy_wait_retry(src, dst, sleep=sleep_before_retry)
38-
39-
driver = model.config.backend.writer.vivado_accelerator_config.get_driver_file()
40-
shutil.copy(f'{odir}/{driver}', f'{odir}/package/{driver}')
41-
42-
_make_tarfile(f'{odir}/{name}.tar.gz', f'{odir}/package')
43-
4412
def build(self, model, reset=False, csim=True, synth=True, cosim=False, validation=False, export=False, vsynth=False, bitfile=False):
4513
# run the VivadoBackend build
4614
report = super().build(model, reset=reset, csim=csim, synth=synth, cosim=cosim, validation=validation, export=export, vsynth=vsynth)
4715
# now make a bitfile
4816
if bitfile:
4917
curr_dir = os.getcwd()
5018
os.chdir(model.config.get_output_dir())
51-
success = False
5219
try:
5320
os.system('vivado -mode batch -source design.tcl')
54-
success = True
5521
except:
5622
print("Something went wrong, check the Vivado logs")
5723
os.chdir(curr_dir)
58-
if success:
59-
VivadoAcceleratorBackend.package(model)
6024

6125
return parse_vivado_report(model.config.get_output_dir())
6226

@@ -99,14 +63,4 @@ def _register_flows(self):
9963
vivado_writer = ['vivado:write']
10064
vivado_accel_writer = ['vivadoaccelerator:write_hls']
10165
self._writer_flow = register_flow('write', vivado_accel_writer, requires=vivado_writer, backend=self.name)
102-
self._default_flow = 'vivado:ip'
103-
104-
def _make_tarfile(output_filename, source_dir):
105-
with tarfile.open(output_filename, "w:gz") as tar:
106-
tar.add(source_dir, arcname=os.path.basename(source_dir))
107-
108-
def _copy_wait_retry(src, dst, sleep=60):
109-
if not os.path.isfile(src):
110-
print(f'File {src} not found, waiting {sleep}s before retry')
111-
time.sleep(sleep)
112-
shutil.copy(src, dst)
66+
self._default_flow = 'vivado:ip'

0 commit comments

Comments
 (0)