Data model
- How timing data should be organized?
- Stream data from a source and process chunk by chunk (async)
- Import different dump formats (VCD,...)
- Dense data storage. Binary form?
- How to manage a lot of data
- Quick navigation. Render specific time range?
References
Seems web workers can be a solution for tile rendering and managing a lot of data :thinking:
related to #3
It might be good to look at LXT/LXT2 data format that GTKWave supports. http://gtkwave.sourceforge.net/gtkwave.pdf : Page 103
Permissible values are '0', '1', 'Z', 'X', 'H', 'U', 'W', 'L', and '-' stored as the byte values 00 through 08 in the LXT file.
Does LXT support enums? I thought LXT, VCD, and FST only supported Verilog values, and GHW supported all VHDL values including enums, but the gtkwave docs seem to suggest that GHW supports the same data values as LXT. Maybe I'm remembering incorrectly.