Skip to content

Sphinx extension to include VCD (value change dump) files using GTKWave

License

Notifications You must be signed in to change notification settings

Pinata-Consulting/sphinxcontrib-gtkwave

 
 

Repository files navigation

This Sphinx 1.0 extension executes GTKWave during the build step and includes its screenshot into the documentation. GTKWave can display wave files like VCD (value change dump).

Links:

Features

  • development on linux

Known problems

  • Python 3 is not supported
  • PDF output is not perfect
  • no unittests

Basic usage

.. gtkwave:: docs/gtkwave_output.vcd

How it works

This is a workaround, there is no image export in GTKWave

  1. start Xvfb headless X server using pyvirtualdisplay
  2. redirect GTKWave display to Xvfb server by setting $DISPLAY variable.
  3. start GTKWave with VCD file. Options are set on command-line and in temporary rc file
  4. temporary tcl script will set time interval and select all signals
  5. wait until GTKWave is displayed
  6. take screenshot by pyscreenshot which needs scrot.
  7. image is processed: toolbar, scrollbar and empty space are removed
  8. use .. image:: directive to display image

Installation

General

  • install GTKWave

  • install Xvfb and Xephyr

  • install PIL

  • install scrot

  • install pip

  • install the program:

    # as root
    pip install sphinxcontrib-gtkwave
    

Ubuntu

sudo apt-get install gtkwave
sudo apt-get install python-pip
sudo apt-get install scrot
sudo apt-get install xvfb
sudo apt-get install xserver-xephyr
sudo apt-get install python-imaging
sudo pip install sphinxcontrib-gtkwave

Uninstall

# as root
pip uninstall sphinxcontrib-gtkwave

About

Sphinx extension to include VCD (value change dump) files using GTKWave

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%