From dc630d8264724a962dbb743d22d232ca2fca11dc Mon Sep 17 00:00:00 2001
From: Oscar Gustafsson <oscar.gustafsson@gmail.com>
Date: Wed, 15 Feb 2023 07:56:19 +0100
Subject: [PATCH] Change shape of input and output in SFG graph

---
 b_asic/signal_flow_graph.py |  4 +++-
 test/test_sfg.py            | 10 +++++-----
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/b_asic/signal_flow_graph.py b/b_asic/signal_flow_graph.py
index 2be252af..aa3c23f2 100644
--- a/b_asic/signal_flow_graph.py
+++ b/b_asic/signal_flow_graph.py
@@ -1416,8 +1416,10 @@ class SFG(AbstractOperation):
                         destination.operation.graph_id,
                     )
             else:
-                if op.type_name() == Delay.type_name():
+                if isinstance(op, Delay):
                     dg.node(op.graph_id, shape="square")
+                elif isinstance(op, (Input, Output)):
+                    dg.node(op.graph_id, shape="cds")
                 else:
                     dg.node(op.graph_id)
         return dg
diff --git a/test/test_sfg.py b/test/test_sfg.py
index f4f9dc4a..6f69f192 100644
--- a/test/test_sfg.py
+++ b/test/test_sfg.py
@@ -1398,18 +1398,18 @@ class TestPrecedenceGraph:
 class TestSFGGraph:
     def test_sfg(self, sfg_simple_filter):
         res = (
-            "digraph {\n\trankdir=LR\n\tin1\n\tin1 -> "
-            "add1\n\tout1\n\tt1 -> out1\n\tadd1\n\tcmul1 -> "
+            "digraph {\n\trankdir=LR\n\tin1 [shape=cds]\n\tin1 -> "
+            "add1\n\tout1 [shape=cds]\n\tt1 -> out1\n\tadd1\n\tcmul1 -> "
             "add1\n\tcmul1\n\tadd1 -> t1\n\tt1 [shape=square]\n\tt1 "
             "-> cmul1\n}"
         )
-
+        print(sfg_simple_filter.sfg().source)
         assert sfg_simple_filter.sfg().source in (res, res + "\n")
 
     def test_sfg_show_id(self, sfg_simple_filter):
         res = (
-            "digraph {\n\trankdir=LR\n\tin1\n\tin1 -> add1 "
-            "[label=s1]\n\tout1\n\tt1 -> out1 [label=s2]\n\tadd1"
+            "digraph {\n\trankdir=LR\n\tin1 [shape=cds]\n\tin1 -> add1 "
+            "[label=s1]\n\tout1 [shape=cds]\n\tt1 -> out1 [label=s2]\n\tadd1"
             "\n\tcmul1 -> add1 [label=s3]\n\tcmul1\n\tadd1 -> t1 "
             "[label=s4]\n\tt1 [shape=square]\n\tt1 -> cmul1 [label=s5]\n}"
         )
-- 
GitLab