wavedrom / zoom

🔍 Zoomable Waveform viewer for the Web
MIT License
43 stars 1 forks source link

Collect the initial set of requirements #1

Open drom opened 5 years ago

drom commented 5 years ago

A general task to collect the initial set of ideas, requirements that need to address one or more of initial goals:

DrSensor commented 5 years ago

For fast rendering, how about using different implementation depend on the density of the data? For example, use SVG when there are fewer lines to be rendered and switch to WebGL if there is a huge amount of lines.

Paebbels commented 5 years ago

Here are some thoughts from my side:

  1. I would like to use Zoom (like WaveDrom) in Sphinx for generating documentations on ReadTheDocs or any other GitHub-Pages / GitLab-Pages HTTP(s) deploy server.
  2. I would prefer if Zoom's input format is somehow compatible with the capabilities (not the binary format) of GHW from GHDL. If so, GHDL could add another output format to write such Zoom files. (Referring to the VCD format from Verilog is not enough, because not all VHDL types can be represented in VCD waveform dumps.)
  3. Because such files might get bigger then current WaveDrom files, it might be needed to support z-compressed files.
  4. Maybe it's possible to convert Zoom files to TikZ-Timing files. If so, documentation written in Sphinx could render with Zoom in HTML and with LaTeX to PDF including waveform diagrams.
Paebbels commented 5 years ago

Other thoughts after reading #2, #3.

wifasoi commented 5 years ago

I have some idea (if i can add):

those feature are not what i expect from a MVP, but I toss the bone.. maybe someone bites :)

If i can add some of my though: My user-case for using Zoom would be in a CI settings. I wold like to run unit-test on gitlab runners and if they fail, a way to show the result via web-browser.

DrSensor commented 5 years ago

Big +1 for extensibility via plugins. Maybe there is a need to separate Github issue for discussing plugins idea. From there we can conclude the core features that need to be implemented. I think we need to address 3 things: architecture, core features, and the common use-cases (for plugins).

It's a little bit opinionated but maybe using (or just take an inspiration from) svelte could be a good idea since it's just a compiler which can produce either a library or a WebComponents

nturley commented 5 years ago

I'm not sure if I'd call these requirements, but if we are brainstorming on ideas for features, here are some ideas.

fusedFET commented 5 years ago

It would be nice to have a "phantom" wave which is an overlay on named traces. It could be used to compare captured traces to configured timings (from datasheet / mock) to highlight errors. This could be used complementary with #10. Maybe as plugin?

Paebbels commented 5 years ago

@fusedFET verification by using waveform compares is not a good approach. It has a lot of disadvantages.

fusedFET commented 5 years ago

@Paebbels Sure, but it has a high didactic value for beginners and also is a very useful tool in some situation.

drom commented 5 years ago

It would be nice to have a "phantom" wave which is an overlay on named traces. It could be used to compare captured traces to configured timings (from datasheet / mock) to highlight errors. This could be used complementary with #10. Maybe as plugin?

It does look like plugin related to #10