From 46257f31844fa99555a0038d49e3f97a42aac390 Mon Sep 17 00:00:00 2001 From: Yaman Umuroglu <maltanar@gmail.com> Date: Wed, 19 Oct 2022 10:47:07 +0200 Subject: [PATCH] [DynConv] make get_dynamic_config return defaults with None params --- .../custom_op/fpgadataflow/convolutioninputgenerator_rtl.py | 4 +++- src/finn/custom_op/fpgadataflow/fmpadding_rtl.py | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/finn/custom_op/fpgadataflow/convolutioninputgenerator_rtl.py b/src/finn/custom_op/fpgadataflow/convolutioninputgenerator_rtl.py index 77a3d1897..0a51c9e88 100755 --- a/src/finn/custom_op/fpgadataflow/convolutioninputgenerator_rtl.py +++ b/src/finn/custom_op/fpgadataflow/convolutioninputgenerator_rtl.py @@ -847,13 +847,15 @@ class ConvolutionInputGenerator_rtl(HLSCustomOp): intf_names["axilite"] = ["s_axilite"] return intf_names - def get_dynamic_config(self, ifm_dim, stride=None, dilation=None): + def get_dynamic_config(self, ifm_dim=None, stride=None, dilation=None): """Returns a configuration dict to re-configure FM dimension during runtime. Stride and dilation can also be changed. Certain restrictions apply (e.g. component must be synthesized for largest buffer size).""" # NOTE: For better driver integration, this functionality could be packaged # as a standalone function in the future + if ifm_dim is None: + ifm_dim = self.get_nodeattr("IFMDim") k = self.get_nodeattr("ConvKernelDim") if stride is None: stride = self.get_nodeattr("Stride") diff --git a/src/finn/custom_op/fpgadataflow/fmpadding_rtl.py b/src/finn/custom_op/fpgadataflow/fmpadding_rtl.py index d0302540b..a85c765a0 100644 --- a/src/finn/custom_op/fpgadataflow/fmpadding_rtl.py +++ b/src/finn/custom_op/fpgadataflow/fmpadding_rtl.py @@ -271,10 +271,14 @@ class FMPadding_rtl(HLSCustomOp): } return code_gen_dict - def get_dynamic_config(self, ifm_dims, pads): + def get_dynamic_config(self, ifm_dims=None, pads=None): """Returns a configuration dict to re-configure FM dimension and padding amounts during runtime.""" + if ifm_dims is None: + ifm_dims = self.get_nodeattr("ImgDim") + if pads is None: + pads = self.get_nodeattr("Padding") chans = self.get_nodeattr("NumChannels") simd = self.get_nodeattr("SIMD") idt = self.get_input_datatype() -- GitLab