diff --git a/src/finn/custom_op/fpgadataflow/convolutioninputgenerator.py b/src/finn/custom_op/fpgadataflow/convolutioninputgenerator.py
index 246c3599319c4671ef7b511f11e4eccc4860ce1f..39fa40d4089b360534b6488da333a5b35508159b 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