Skip to content
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.

Input Data Stream #14

Open
drom opened this issue Nov 6, 2018 · 5 comments
Open

Input Data Stream #14

drom opened this issue Nov 6, 2018 · 5 comments
Labels
Milestone

Comments

@drom
Copy link
Member

drom commented Nov 6, 2018

  • Zoom should accept a stream of data from a simulator.
  • It should support streaming parser for multiple data dump formats into the internal Data Model [ Data model #13 ]
  • Parsers can be implemented as plugins
@drom
Copy link
Member Author

drom commented Nov 6, 2018

FYI, I do simulation with verilator, which dumps VCDs that are sometimes a couple of GB heavy. I re-wrote my own vcd parser in C in order to play with the dump (for creating a stackdump and memory dump of a processor I simulate for example) . I hardly imagine that converting that into json could be handled properly by v8 and rendered like that. One would need to have an engine that can give you a small subset of the data to be rendered according to the zoom requested.

Originally posted by @key2 in #10 (comment)

@drom
Copy link
Member Author

drom commented Nov 6, 2018

@key2 Can Verilator stream output VCD? So we can capture its output chunk by chunk?

@key2
Copy link

key2 commented Nov 6, 2018

It generates VCD, but for example, a couple of a seconds of a CPU could grow to a couple of GB of VCD ! gtkwave takes a couple of minutes to load it.
We really have to think it as a google map model. You zoom/dezoom, so the "server" side that gives you the "tile" is importan there. Could be either some other JS code, a webserver, or NodeJS (electron.js)
I had to make my own code that re-index the whole VCD file to be able to fseek() at different position without recalculating all the deltas. Keeping the Data Model in memory on huge VCD converted could still be big

@drom
Copy link
Member Author

drom commented Nov 7, 2018

@key2 I understand that VCD can grow quick.
Can we wrap Verilated RTL the way that it producing Unix stream then we can pipe it to Zoom via Node Stream without touching on the file system?

@drom drom added this to the mvp milestone Nov 7, 2018
@drom drom added the plugin label Nov 7, 2018
@nturley
Copy link

nturley commented Nov 7, 2018

In addition to simulators, is there any reason why a logic analyzer wouldn't be able to stream to it as well?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants