diff --git a/src/kyupy/circuit.py b/src/kyupy/circuit.py index fa4fe9a..aee1191 100644 --- a/src/kyupy/circuit.py +++ b/src/kyupy/circuit.py @@ -652,11 +652,11 @@ class Circuit: region.append(n) yield stem, region - def dot(self, format='svg', graph_attr={}, line_labels={}): + def dot(self, tlib: 'TechLib', format='svg', graph_attr={}, line_labels={}): from graphviz import Digraph dot = Digraph(format=format, graph_attr={'rankdir': 'LR', 'splines': 'true', 'size': '10', 'ranksep': '0.1'} | graph_attr) - s_dict = dict((n, i) for i, n in enumerate(self.s_nodes)) + s_dict = dict((n, i) for i, n in enumerate(self.s_nodes(tlib))) node_level = np.zeros(len(self.nodes), dtype=np.uint32) level_nodes = defaultdict(list) for n, lv in self.topological_order_with_level(): @@ -679,7 +679,7 @@ class Circuit: reader = f'{l.reader.index}:i{l.reader_pin}' if len(l.reader.ins)>1 else f'{l.reader.index}' label = str(line_labels.get(l, l.index)) if node_level[l.driver] == node_level[l.reader]: - s.node(f'_{l.index}_') + dot.node(f'_{l.index}_') dot.edge(driver, f'_{l.index}_', style='dotted', label=label) dot.edge(f'_{l.index}_', reader, style='dotted', label=label) elif node_level[l.driver] > node_level[l.reader]: