From 799859ad9d97c1aedc8b2adb8295934c0889a933 Mon Sep 17 00:00:00 2001 From: Yaman Umuroglu <maltanar@gmail.com> Date: Tue, 28 Apr 2020 21:01:44 +0100 Subject: [PATCH] [Core] specify build_dir for pyverilator to keep files build_dir = None creates a tmp dir that gets removed when the PyVerilator object is destroyed --- src/finn/custom_op/fpgadataflow/__init__.py | 3 ++- src/finn/util/fpgadataflow.py | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/finn/custom_op/fpgadataflow/__init__.py b/src/finn/custom_op/fpgadataflow/__init__.py index 5de97fd97..2500b1f03 100644 --- a/src/finn/custom_op/fpgadataflow/__init__.py +++ b/src/finn/custom_op/fpgadataflow/__init__.py @@ -31,7 +31,7 @@ import numpy as np import os import subprocess from finn.custom_op import CustomOp -from finn.util.basic import CppBuilder +from finn.util.basic import CppBuilder, make_build_dir from finn.util.fpgadataflow import ( IPGenBuilder, pyverilate_get_liveness_threshold_cycles, @@ -119,6 +119,7 @@ class HLSCustomOp(CustomOp): # build the Verilator emu library sim = PyVerilator.build( verilog_file, + build_dir=make_build_dir("pyverilator_" + self.onnx_node.name + "_"), verilog_path=[ "{}/project_{}/sol1/impl/verilog/".format( code_gen_dir, self.onnx_node.name diff --git a/src/finn/util/fpgadataflow.py b/src/finn/util/fpgadataflow.py index 5b29ddbcd..e84532d8d 100644 --- a/src/finn/util/fpgadataflow.py +++ b/src/finn/util/fpgadataflow.py @@ -33,7 +33,7 @@ try: from pyverilator import PyVerilator except ModuleNotFoundError: PyVerilator = None -from finn.util.basic import get_by_name +from finn.util.basic import get_by_name, make_build_dir class IPGenBuilder: @@ -85,7 +85,10 @@ def pyverilate_stitched_ip(model): all_verilog_dirs = list(map(file_to_dir, all_verilog_srcs)) top_verilog = model.get_metadata_prop("wrapper_filename") - sim = PyVerilator.build(top_verilog, verilog_path=all_verilog_dirs) + build_dir = make_build_dir("pyverilator_ipstitched_") + sim = PyVerilator.build( + top_verilog, verilog_path=all_verilog_dirs, build_dir=build_dir + ) return sim -- GitLab