fix dot graph construction
This commit is contained in:
1 parent
8aa0f09254
commit
e8a9025c56
1 file changed
+3
-3
@@ -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]:
|
||||
|
||||
Reference in new issue
Block a user