diff --git a/src/finn/custom_op/fpgadataflow/streamingfifo.py b/src/finn/custom_op/fpgadataflow/streamingfifo.py
index cd14765f388d76b3e42ba88e959c4eecb87ccab0..6b422ed17267f110d97a95cad166baf6f9aee890 100644
--- a/src/finn/custom_op/fpgadataflow/streamingfifo.py
+++ b/src/finn/custom_op/fpgadataflow/streamingfifo.py
@@ -447,3 +447,10 @@ class StreamingFIFO(HLSCustomOp):
             ram_luts = 0
 
         return int(address_luts + ram_luts)
+
+    def prepare_rtlsim(self):
+        assert self.get_nodeattr("impl_style") != "vivado", (
+            "StreamingFIFO impl_style "
+            "cannot be vivado for rtlsim. Only impl_style=rtl supported."
+        )
+        super().prepare_rtlsim()