[Libre-soc-dev] Improving GTKWave debugging

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sun Aug 23 22:33:12 BST 2020

On Sun, Aug 23, 2020 at 10:06 PM Cesar Strauss <cestrauss at gmail.com> wrote:
> On 08/22/2020 11:04, Luke Kenneth Casson Leighton wrote:
> > On Sat, Aug 22, 2020 at 2:58 PM Cesar Strauss <cestrauss at gmail.com> wrote:
> >
> >>> ok so the list-of-dictionaries is a preview of what is currently
> >>> hard-coded in write_gtkw()?
> >>
> >> Indeed. There will be a new write_gtkw() that will accept this data, and
> >> must output the same GTKWave document as before.
> It works!


> Implementation:
> https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/experiment/alu_fsm.py;hb=HEAD#l254
> Usage example:
> https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/experiment/alu_fsm.py;hb=HEAD#l413
> I intend to update the GTKWave tutorial on the wiki to reflect this. The
> function and example seem well documented to me, but a tutorial would be
> nice to have.

yes.  i can justify a (modest) budget for writing the tutorial.

> > very nice.  and it can be used elsewhere.
> Indeed. I will probably adopt it on most of the unit tests I'm working on.
> Where would be a good place to put it? Maybe in nmutil? How about:
> from nmutil.gtkw import write_gtkw
> Although, it is not nmigen specific, for now.

mmm... yyeah...  it's kinda small (jacob) to justify an entire
package.   however it's.... i wonder if it's generic enough to submit
to the author of vcd, and ask for it to be included, there?  it looks
generic enough to me.

for now i think yes, put it in nmutil.gtkw, and if the author of vcd
accepts it then we can remove it from nmutil.

ah btw, one thing: extra dependencies:

these need to be properly documented: where you got them, how to get
them, and then added to the README, setup.py (if they're a pip3
thing), and also a *manual* installation procedure (not assuming pip3)
to the HDL_workflow page.

yeah i know i am behind on some of those.


More information about the Libre-soc-dev mailing list