diff --git a/amaranth/sim/pysim.py b/amaranth/sim/pysim.py index f6d3e5ca6..bc5b1ec10 100644 --- a/amaranth/sim/pysim.py +++ b/amaranth/sim/pysim.py @@ -64,9 +64,10 @@ def __init__(self, fragment, *, vcd_file, gtkw_file=None, traces=()): trace_names = SignalDict() for trace in traces: - if trace not in signal_names: - trace_names[trace] = {("bench", trace.name)} - self.traces.append(trace) + for trace_signal in trace._rhs_signals(): + if trace_signal not in signal_names: + trace_names[trace_signal] = {("bench", trace_signal.name)} + self.traces.append(trace_signal) if self.vcd_writer is None: return