@@ -269,24 +269,22 @@ def close(self, timestamp):
269
269
self .gtkw_save .treeopen ("top" )
270
270
271
271
def traverse_traces (traces ):
272
- if isinstance (traces , Signal ):
273
- for name in self .gtkw_signal_names [traces ]:
274
- self .gtkw_save .trace (name )
275
- elif isinstance (traces , data .View ):
272
+ if isinstance (traces , data .View ):
276
273
with self .gtkw_save .group ("view" ):
277
- trace = Value .cast (traces )
274
+ traverse_traces (Value .cast (traces ))
275
+ elif isinstance (traces , ValueLike ):
276
+ trace = Value .cast (traces )
277
+ if isinstance (traces , MemoryData ._Row ):
278
+ for name in self .gtkw_memory_names [traces ._memory ][traces ._index ]:
279
+ self .gtkw_save .trace (name )
280
+ else :
278
281
for trace_signal in trace ._rhs_signals ():
279
282
for name in self .gtkw_signal_names [trace_signal ]:
280
283
self .gtkw_save .trace (name )
281
- elif isinstance (traces , ValueLike ):
282
- traverse_traces (Value .cast (traces ))
283
284
elif isinstance (traces , MemoryData ):
284
285
for row_names in self .gtkw_memory_names [traces ]:
285
286
for name in row_names :
286
287
self .gtkw_save .trace (name )
287
- elif isinstance (traces , MemoryData ._Row ):
288
- for name in self .gtkw_memory_names [traces ._memory ][traces ._index ]:
289
- self .gtkw_save .trace (name )
290
288
elif hasattr (traces , "signature" ) and isinstance (traces .signature , wiring .Signature ):
291
289
with self .gtkw_save .group ("interface" ):
292
290
for _ , _ , member in traces .signature .flatten (traces ):
0 commit comments