From 5e97a7e1f2080cf93c3b72ba40275d50d449f768 Mon Sep 17 00:00:00 2001
From: auphelia <jakobapk@web.de>
Date: Wed, 25 May 2022 16:50:26 +0100
Subject: [PATCH] [Transformation] Automatically setting of checksum_count

---
 .../transformation/fpgadataflow/create_stitched_ip.py     | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/finn/transformation/fpgadataflow/create_stitched_ip.py b/src/finn/transformation/fpgadataflow/create_stitched_ip.py
index dfbe43fb6..5c376fdfc 100644
--- a/src/finn/transformation/fpgadataflow/create_stitched_ip.py
+++ b/src/finn/transformation/fpgadataflow/create_stitched_ip.py
@@ -226,7 +226,7 @@ class CreateStitchedIP(Transformation):
             )
             self.s_axis_idx += 1
 
-    def insert_signature(self):
+    def insert_signature(self, checksum_count):
         signature_vlnv = "AMD:user:axi_info_top:1.0"
         signature_name = "axi_info_top0"
         self.create_cmds.append(
@@ -243,7 +243,7 @@ class CreateStitchedIP(Transformation):
                 self.signature[0],
                 self.signature[1],
                 self.signature[2],
-                self.signature[3],
+                checksum_count,
                 signature_name,
             )
         )
@@ -331,7 +331,9 @@ class CreateStitchedIP(Transformation):
                     self.connect_m_axis_external(node, idx=i)
 
         if self.signature:
-            self.insert_signature()
+            # extract number of checksum layer from graph
+            checksum_layers = model.get_nodes_by_op_type("checksum")
+            self.insert_signature(len(checksum_layers))
 
 
         # create a temporary folder for the project
-- 
GitLab