From 2fb8526bfb657b256f1fc441ac0d9fe86e0fd561 Mon Sep 17 00:00:00 2001 From: Yaman Umuroglu <maltanar@gmail.com> Date: Fri, 1 May 2020 18:57:20 +0100 Subject: [PATCH] [HLSCustomOp] allow ops to produce extra HLS directives --- src/finn/custom_op/fpgadataflow/__init__.py | 5 +++++ src/finn/custom_op/fpgadataflow/templates.py | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/finn/custom_op/fpgadataflow/__init__.py b/src/finn/custom_op/fpgadataflow/__init__.py index 9a6f66087..4ef6f0212 100644 --- a/src/finn/custom_op/fpgadataflow/__init__.py +++ b/src/finn/custom_op/fpgadataflow/__init__.py @@ -194,6 +194,7 @@ class HLSCustomOp(CustomOp): self.code_gen_dict["$FINNHLSLIBDIR$"] = ["/workspace/finn-hlslib"] self.code_gen_dict["$TOPFXN$"] = [node.name] self.code_gen_dict["$CLKPERIOD$"] = [str(clk)] + self.code_gen_dict["$EXTRA_DIRECTIVES$"] = self.ipgen_extra_directives() template = self.ipgentcl_template @@ -207,6 +208,10 @@ class HLSCustomOp(CustomOp): f.close() self.code_gen_dict.clear() + def ipgen_extra_directives(self): + "Return a list of extra tcl directives for HLS synthesis." + return [] + def ipgen_singlenode_code(self): """Builds the bash script for ip generation using the IPGenBuilder from finn.util.fpgadataflow.""" diff --git a/src/finn/custom_op/fpgadataflow/templates.py b/src/finn/custom_op/fpgadataflow/templates.py index 6313bb79c..5f526aa2a 100644 --- a/src/finn/custom_op/fpgadataflow/templates.py +++ b/src/finn/custom_op/fpgadataflow/templates.py @@ -79,7 +79,7 @@ $DOCOMPUTE$ } """ -# tcl script +# tcl script for IP generation ipgentcl_template = """ set config_proj_name $PROJECTNAME$ puts "HLS project: $config_proj_name" @@ -101,6 +101,7 @@ set_part $config_proj_part config_interface -m_axi_addr64 config_rtl -auto_prefix +$EXTRA_DIRECTIVES$ create_clock -period $config_clkperiod -name default csynth_design -- GitLab