Skip to main content
https://img.shields.io/pypi/v/myhdlpeek.svg

A module that lets you monitor signals in a MyHDL or Amaranth digital system simulation and display them as waveforms in a Jupyter notebook. Make changes to your digital design and see the results reflected immediately in the waveforms of your notebook!

myhdlpeek implements a Peeker object that monitors a signal and records the time and value when it changes. Just add multiple Peekers where you want to monitor something (even at sub-levels of a hierarchical design) and then view the collected timing waveforms with a single command. You can also select which signals are shown, set the beginning and ending times of the display, and much more.

[This Jupyter notebook] shows how to use myhdlpeek.


Features

  • Captures timing traces of signals in a MyHDL/Amaranth digital design.

  • Works at the top-level and sub-levels of a hierarchical design.

  • All signals or a selected subset can be displayed.

  • The beginning and ending points of the waveform display can be set.

  • Timing marks can be turned on or off.

  • Titles and captions are supported.

  • Tabular output in Jupyter and console.

  • Trigger expressions allow the display of a selected portion of traces.

History

1.0.0 (2024-02-01)

  • Ported from nmigen to Amaranth (by Steven Armour).

  • Bumped release to 1.0.0 and classified it as stable because this thing is seven years old.

0.0.10 (2021-07-06)

  • Moved ownership from xesscorp to devbisme (Dave Vandenbout).

0.0.9 (2021-01-05)

  • Added support for nMigen.

  • Waveforms can now be drawn using wavedrom or matplotlib.

0.0.8 (2018-09-25)

  • Now works with the newer JupyterLab by default. Older Jupyter notebooks are still supported by setting myhdlpeek.USE_JUPYTERLAB = False.

  • Updated documentation.

0.0.7 (2018-04-13)

  • Added functions to export signal traces into a Pandas dataframe.

  • Updated documentation.

0.0.6 (2017-10-11)

  • The skin can now be set for waveform traces (either ‘default’ or ‘narrow’).

  • clear_traces() was added to remove signal trace data from Peekers without removing the Peekers so another simulation can be run.

  • Updated documentation.

  • Removed unused __main__.py.

0.0.5 (2017-08-25)

  • Added PeekerGroup class to allow grouping of Peekers.

  • Trace objects now only return integer values.

0.0.4 (2017-07-04)

  • Added trigger capability to select a portion of traces for display.

  • Extended waveform & table display to both Peekers and Traces.

0.0.3 (2017-06-23)

  • Made compatible with Python 2.7.

  • Added tabular output of Peeker data traces.

0.0.2 (2017-06-12)

  • Added static HTML pages to display what myhdlpeek can do. (Notebook rendering with nbconvert won’t show waveforms.)

0.0.1 (2017-06-10)

  • First release on PyPI.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

myhdlpeek-1.0.0.tar.gz (1.3 MB view details)

Uploaded Source

File details

Details for the file myhdlpeek-1.0.0.tar.gz.

File metadata

  • Download URL: myhdlpeek-1.0.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for myhdlpeek-1.0.0.tar.gz
Algorithm Hash digest
SHA256 101025d0750e127792389d34d450eeb399bfe4585ed24d8fd4df8f3396fc6c8b
MD5 476ba976dd4f5410e95992f2f6e47606
BLAKE2b-256 8282e9f5089c6c73056282e3aa2aa9d7a8418571068fea65aba53786af261eab

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 file

0.0.10

1 file

0.0.9

1 file

0.0.8

1 file

0.0.7

1 file

0.0.6

1 file

0.0.5

1 file

0.0.4

1 file

0.0.3

1 file

0.0.2

1 file

0.0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page