From b8a52cb85fb5b91a5dddfcd6306fffab9a9f50da Mon Sep 17 00:00:00 2001
From: Yaman Umuroglu <maltanar@gmail.com>
Date: Wed, 8 Apr 2020 23:32:20 +0100
Subject: [PATCH] [Transform] annot. totals as toplvl metadata in
 AnnotateResources

---
 .../transformation/fpgadataflow/annotate_resources.py | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/finn/transformation/fpgadataflow/annotate_resources.py b/src/finn/transformation/fpgadataflow/annotate_resources.py
index 463b9441a..e7f5aa686 100644
--- a/src/finn/transformation/fpgadataflow/annotate_resources.py
+++ b/src/finn/transformation/fpgadataflow/annotate_resources.py
@@ -56,6 +56,17 @@ class AnnotateResources(Transformation):
         else:
             raise Exception("Unrecognized mode for AnnotateResources")
         res_dict = model.analysis(res_fxn)
+        total_dict = {}
+        for lname in res_dict.keys():
+            layer_res = res_dict[lname]
+            for res_entry in layer_res:
+                r_type, r_amount = res_entry.split(": ")
+                r_amount = float(r_amount)
+                if r_type in total_dict.keys():
+                    total_dict[r_type] += r_amount
+                else:
+                    total_dict[r_type] = r_amount
+        model.set_metadata_prop("res_total_" + self.mode, str(total_dict))
         for node in graph.node:
             if _is_fpgadataflow_node(node) and node.name in res_dict.keys():
                 op_inst = registry.getCustomOp(node)
-- 
GitLab