From 99a91584ed816eef6a9588f3c730bf53fb5b68a8 Mon Sep 17 00:00:00 2001 From: auphelia <jakobapk@web.de> Date: Thu, 5 Jan 2023 11:03:17 +0000 Subject: [PATCH] [CustomOp] Fix setting of NumReps in Thresholding and N in Eltwise node --- src/finn/custom_op/fpgadataflow/eltwise.py | 2 +- src/finn/custom_op/fpgadataflow/thresholding_batch.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/finn/custom_op/fpgadataflow/eltwise.py b/src/finn/custom_op/fpgadataflow/eltwise.py index d6284750c..68ed6546c 100644 --- a/src/finn/custom_op/fpgadataflow/eltwise.py +++ b/src/finn/custom_op/fpgadataflow/eltwise.py @@ -398,7 +398,7 @@ class StreamingEltwise(HLSCustomOp): "StreamingEltwise", self.get_nodeattr("NumChannels"), self.get_nodeattr("PE"), - self.get_number_output_values(), + int(np.prod(self.get_folded_output_shape()[:-2])), slice_in0, slice_in1, slice_out, diff --git a/src/finn/custom_op/fpgadataflow/thresholding_batch.py b/src/finn/custom_op/fpgadataflow/thresholding_batch.py index f2cc64668..ec5742376 100644 --- a/src/finn/custom_op/fpgadataflow/thresholding_batch.py +++ b/src/finn/custom_op/fpgadataflow/thresholding_batch.py @@ -600,8 +600,12 @@ class Thresholding_Batch(HLSCustomOp): # TODO check and add whatever missing def defines(self, var): - numInputVectors = list(self.get_nodeattr("numInputVectors")) - numReps = int(np.prod(numInputVectors)) + if self.get_nodeattr("mem_mode") == "const": + numReps = 1 + else: + numInputVectors = list(self.get_nodeattr("numInputVectors")) + numReps = int(np.prod(numInputVectors)) + self.code_gen_dict["$DEFINES$"] = [ """#define NumChannels1 {}\n #define PE1 {}\n #define numReps {}""".format( self.get_nodeattr("NumChannels"), -- GitLab