From 46bf470cfeb1a7dfb9ad3f934e7fe61a323d6c78 Mon Sep 17 00:00:00 2001
From: Yaman Umuroglu <maltanar@gmail.com>
Date: Wed, 25 Mar 2020 18:17:10 +0000
Subject: [PATCH] [SWG] add an extra SIMD=IFM check

---
 src/finn/custom_op/fpgadataflow/convolutioninputgenerator.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/finn/custom_op/fpgadataflow/convolutioninputgenerator.py b/src/finn/custom_op/fpgadataflow/convolutioninputgenerator.py
index 246c35993..39fa40d40 100644
--- a/src/finn/custom_op/fpgadataflow/convolutioninputgenerator.py
+++ b/src/finn/custom_op/fpgadataflow/convolutioninputgenerator.py
@@ -142,7 +142,10 @@ class ConvolutionInputGenerator(HLSCustomOp):
         """Returns stream width, input and output stream width are equal for
         the sliding window function"""
         ibits = self.get_input_datatype().bitwidth()
-        return self.get_nodeattr("SIMD") * ibits
+        simd = self.get_nodeattr("SIMD")
+        ifm_ch = self.get_nodeattr("IFMChannels")
+        assert simd == ifm_ch, "SWG currently requires SIMD=IFM"
+        return simd * ibits
 
     def get_number_output_values(self):
         # TODO this seems incorrect -- double check
-- 
GitLab