Replies: 4 comments 11 replies
-
Hi @bpadalino, I think having GUI is crucial for good usability of a simulator. Self-checking test-bench does not really help, when one needs to debug test failure. In such case, GUI that shows hierarchy, has good UI, is fast and responsive, provides schematic viewer, stepping, breakpoints, etc, is needed. Gtkwave is good tool (cudos to Tony Bybell), but unable to match capabilities of tools like Verdi or Simvision. For the past half-year, |
Beta Was this translation helpful? Give feedback.
-
I've been experimenting with this idea for the past six months or so and just pushed a prototype to the master branch in d143c1a. The simulator exposes a WebSocket interface that a client can connect to and send TCL commands and receive events back ("next time step", "signal value changed", etc.). On top of that is a browser-based app in contrib/gui which renders waveforms and provides a console to interact with the TCL shell. Currently it looks like this: If you want to try it out run Once installed you can run Note: Windows support is broken at the moment. I need to debug this. It's written using TypeScript and React. I hardly know anything about web/UI development but I was able to hack this together after watching a few YouTube tutorials and copious amounts of searching on Stack Overflow. It's certainly a much more pleasant experience than when I've tried native UI development with Gtk/Qt in the past. The waveform view is actually just a giant SVG, with some optimisations to lazily render only what is currently visible. If you want to try modifying it there's some hints in contrib/gui/README.md. Obviously is just a demo and not ready for real use yet but any comments or feedback would be greatly appreciated. |
Beta Was this translation helpful? Give feedback.
-
Related: https://github.com/wavedrom/doppler (used in https://github.com/wavedrom/vcdrom which in turn has clickable examples in https://github.com/wavedrom/vcd-samples#github). Maybe it could save some work. |
Beta Was this translation helpful? Give feedback.
-
Hi, Its written in rust, and it seems ti can be compiled stand-alone and into a web-browser too. |
Beta Was this translation helpful? Give feedback.
-
I am used to debugging my VHDL with some type of waveform GUI - usually with Questa/ModelSIM or Riviera-PRO. This allows me to look at locals over time and do some other inspection with quick iteration on items I may have missed deep down in some design hierarchy.
With that being said, I think adding a full GUI to
nvc
is a terrible idea. This leads me to ask the question: how do other users use simulators with GUIs? Do you miss it withnvc
? Ifnvc
had a GUI front end similar to gdbgui would you use it, or would you stick with self-checking testbenching and not use the GUI aspect?Beta Was this translation helpful? Give feedback.
All reactions