Skip to content

Explore waveform rendering themes #7

@mithro

Description

@mithro

It would be awesome to support different ways of rendering waveforms on the console.

Some examples for inspiration;


Here Is an example; https://github.com/mithro/i2cslave/blob/ad4335fb1ef5bb46d652e44b813c559f71b37409/i2cslave/targets/i2c_munger.py#L83-L98

             S   0       1       2       3       4       5       6       7       A
sda    ▔▔\▁▁▁▁▁----XXXX----XXXX----XXXX----XXXX----XXXX----XXXX----XXXX----▁▁▁▁▁▁▁▁▁/▔▔▔▔▔▔▔
sda_oe ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔\▁▁▁▁▁▁▁▁/▔▔▔▔▔▔▔
sda_w  ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
sda_r  ▔▔\▁▁▁▁▁1-------0-------1-------0-------0-------0-------0-------0------------/▔▔▔▔▔▔▔
scl_r  ▔▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔▔


             S   0       1       2       3       4       5       6      7
sda    ▔▔\▁▁▁▁▁----XXXX----XXXX----XXXX----XXXX----XXXX----XXXX----XXXX----XXXX----
sda_oe ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔\▁▁▁▁▁▁▁/▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
sda_w  ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
sda_r  ▔▔\▁▁▁▁▁1-------0-------1-------0-------0-------0-------0-------0-------/▔▔▔
scl_r  ▔▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔\▁▁▁/▔▔▔

Example from UCSBarchlab/PyRTL#101 (comment)

                                         ▏0                        ▏5                        ▏10                      

(Probe-1 : v[0] : tmp110_surfnoc_line95) _________________________ _______________╱‾‾‾‾╲____ __________

(Probe-2 : v[1] : tmp164_surfnoc_line95) _________________________ _________________________ __________

(Probe-3 : v[2] : tmp218_surfnoc_line95) _________________________ ╱‾‾‾‾╲___________________ __________

(Probe-4 : v[3] : tmp272_surfnoc_line95) _________________________ _________________________ _____╱‾‾‾‾

                                 data_in 0x1  ╳0x2 ╳0x3 ╳0x4 ╳0x5  ╳0x6 ╳0x7 ╳0x8 ╳0x9 ╳0x0  ╳0x1 ╳0x2 

                                    full _________________________ _________________________ __________

                      read_buffer_select 0x0  ╳0x2 ╳0x1 ╳0x3 ╳0x0  ╳0x2 ╳0x1 ╳0x3 ╳0x0 ╳0x2  ╳0x1 ╳0x3 

                             read_enable ‾‾‾‾‾‾‾‾‾‾╲______________ ╱‾‾‾‾‾‾‾‾‾╲____╱‾‾‾‾╲____ ╱‾‾‾‾‾‾‾‾‾

                             read_output 0x0                       ╳0x5 ╳0x0 ╳0x7 ╳0x6 ╳0x0  0x0  ╳0x7 

                                   valid _________________________ ╱‾‾‾‾╲_________╱‾‾‾‾╲____ _____╱‾‾‾‾

                     write_buffer_select 0x2  ╳0x0 ╳0x3 ╳0x1 ╳0x2  ╳0x0 ╳0x3 ╳0x1 ╳0x2 ╳0x0  ╳0x3 ╳0x1 

                            write_enable ____________________╱‾‾‾‾ ‾‾‾‾‾‾‾‾‾‾╲_________╱‾‾‾‾ ╲____╱‾‾‾‾

There are some very cool examples at UCSBarchlab/PyRTL#284 and https://ucsbarchlab.github.io/PyRTL/
image
image


Undulate recently added support at LudwigCRON/undulate#35 (comment)

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions