@@ -269,24 +269,22 @@ def close(self, timestamp):
269269 self .gtkw_save .treeopen ("top" )
270270
271271 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 ):
276273 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 :
278281 for trace_signal in trace ._rhs_signals ():
279282 for name in self .gtkw_signal_names [trace_signal ]:
280283 self .gtkw_save .trace (name )
281- elif isinstance (traces , ValueLike ):
282- traverse_traces (Value .cast (traces ))
283284 elif isinstance (traces , MemoryData ):
284285 for row_names in self .gtkw_memory_names [traces ]:
285286 for name in row_names :
286287 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 )
290288 elif hasattr (traces , "signature" ) and isinstance (traces .signature , wiring .Signature ):
291289 with self .gtkw_save .group ("interface" ):
292290 for _ , _ , member in traces .signature .flatten (traces ):
0 commit comments