Skip to content

GTKW files with signal groups #764

Closed
@tilk

Description

@tilk

For debugging complex circuits, it's useful to have the signal traces grouped according to their function. The popular gtkwave tool supports this, as does the GTKWSave class from the vcd package used by Amaranth to export VCD files. All that remains is to connect this together.

I have implemented an extension to Amaranth's _VCDWriter which does just that. The idea is that the traces argument can be passed other things than lists of signals. My implementation currently accepts the following as traces:

  • Signals, which work as before.
  • Iterables (e.g. lists) of traces, which shows them in gtkwave one after the other, like before.
  • Mappings (e.g. dicts) of traces, which create a new group of traces for each item in the mapping,
  • Amaranth Records, which group the fields of the record.

There is no support in the current implementation for the recently added lib.data classes from RFC 1, but it can be easily added.

Are you interested in merging this functionality to Amaranth?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions