From 8abc21e5aab6281409fa66ad1391a7f67430af63 Mon Sep 17 00:00:00 2001
From: auphelia <jakobapk@web.de>
Date: Fri, 3 Apr 2020 18:26:42 +0100
Subject: [PATCH] [Util] Add function to determine if given node is
 fpgadataflow node

---
 src/finn/util/fpgadataflow.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/finn/util/fpgadataflow.py b/src/finn/util/fpgadataflow.py
index 29607b002..a53761341 100644
--- a/src/finn/util/fpgadataflow.py
+++ b/src/finn/util/fpgadataflow.py
@@ -30,6 +30,7 @@ import os
 import subprocess
 
 from pyverilator import PyVerilator
+from finn.util.basic import get_by_name
 
 
 class IPGenBuilder:
@@ -87,3 +88,16 @@ def pyverilate_get_liveness_threshold_cycles():
     the simulation is not finishing and throwing an exception."""
 
     return int(os.getenv("LIVENESS_THRESHOLD", 10000))
+
+
+def is_fpgadataflow_node(node):
+    is_node = False
+    if node is not None:
+        if node.domain == "finn":
+            n_backend = get_by_name(node.attribute, "backend")
+            if n_backend is not None:
+                backend_value = n_backend.s.decode("UTF-8")
+                if backend_value == "fpgadataflow":
+                    is_node = True
+
+    return is_node
-- 
GitLab