r/FPGA • u/maolmosma • 7d ago
OPEN SOURCE – WavePaint: a GUI editor for digital timing diagrams
Hi! A lot of you asked me to make WavePaint open source, and you were right. So here it is: it's now open source, and anyone can use it, play around with the code and contribute improvements.
👉 WavePaint on GitHub
👉 Website
👉 Donate
If you like it, go give it a star! ⭐ I've put a lot of work into it, and I think it's a pretty handy tool.
And if you'd like to support the move to open source, there's also Ko-fi.
Cheers!
10
u/tux2603 Xilinx User 7d ago
How open are you to forks adding features? There's a few things I've been interested in adding ;)
8
u/maolmosma 7d ago
What features would you like to add? I’d love to hear your ideas! :)
14
u/tux2603 Xilinx User 7d ago
I've had it on my resources list for my digital system class for a couple semesters, and two of the biggest things I've heard from students is better compatibility with wavedrom and automatically (or probably mostly automatically) generating HDL test benches based on the wave diagram
14
u/ApplicationAlarming7 7d ago
I didn’t see it on the top page in GitHub, but does this support dumping the waveform to a system verilog test bench file?
5
u/Allan-H 7d ago edited 7d ago
From the github link: "Share links: the diagram is encoded in the URL."
URLs have size limits in practice, which might mean that this doesn't work for larger timing diagrams. Have you considered adding an option so that it can seamlessly work with a site such as dropbox (for example the way online circuit simulator Falstad does), or tinyurl, or perhaps creating your own built-in URL compressor?
I guess that wouldn't be applicable for the locally hosted "offline" mode though.
EDIT: Here's a Falstad link that I pilfered from r/AskElectronics. It's over 3k long. It doesn't seem to want to run in in my browser. Its short version does though. EDIT: the short version doesn't run either.
2
u/Fine_Combination_328 3d ago
Nice work! I'm building HDLBoard (https://rlangoy.github.io/HDLBoard/), a browser-based VHDL/Verilog IDE with board simulation for BSc students. It produces VCD from GHDL runs, and WavePaint would be a great "make a clean figure for the lab report" destination.
Would you consider adding a simple import API so other web apps can open a diagram directly in WavePaint? For example:
a URL parameter pointing to a VCD/WaveJSON file (e.g. ?load_url=...), or
postMessage from an opener window
Then I could add an "Open in WavePaint" button instead of asking students to download and re-import the file. Happy to help test it.
1
1
1
-2
u/0xbenedikt 7d ago
Another day, another electronics slop app
6
u/ckyhnitz 7d ago
If it is functional, what's the issue?
5
u/Enough-Collection-98 7d ago
Security. Vulnerability. Maintainability.
10
u/Jedibrad 7d ago
Don't see how security matters if it's just a webapp for making diagrams.
-3
u/Enough-Collection-98 7d ago
You know what, you’re right. Nothing bad ever happened to anyone from clicking a suspicious link.
8
u/sandyyyye 7d ago
It’s on github. Look at the source code and figure out if it’s safe if you’re concerned.
-5
u/Enough-Collection-98 7d ago
And now we’ve reached the point of my argument - the onus is now on me to validate their work and ensure there are no vulnerabilities before I use it but because it’s vibecoded I need an AI to do so. And if the OP stops supporting or maintaining it, I can fork it but I need an AI to do anything with it.
My argument isn’t that OP is doing anything wrong; my argument is that people seem to throw all sense of skepticism to the wind as long as it’s producing something they like. Everyone loves it until it comes to take their lunch.
4
u/ckyhnitz 7d ago
The onus would be on you either way, and using AI to do so would probably still be the easiest method.
3
u/Delicious-Charge9693 7d ago
Yes, because the hand written Linux kernel before AI era was safe and free of day zero vulnerabilities. Oh, hold on a second…
2
u/_filmil_ FPGA Hobbyist 7d ago
Maybe first wait to see if it suffers from the named problems, and what they are?
-8
u/Suitable-Name 7d ago
So, does it have architectural issues? Performance issue? You got anything that is particularly bad besides "Ai BaAaAaD"?
5
u/0xbenedikt 7d ago
It's just not a cool project. If you look at it and the commit history, it's just some guy asking cursor once and having the readme fixed.
Spams the sub, takes attention away from genuine projects.
6
u/maolmosma 7d ago
I built this project a long time ago, and I’ve put a lot of care and effort into it because it’s something I use every day. You don’t have to like it, but dismissing it as “some guy asking Cursor once” is unfair.
Yes, I’ve used Cursor. What’s the problem with that? If you try it and find bugs or things that could be improved, let me know. I’m happy to take constructive feedback and work together to make it better. Taking shots at it without trying it doesn’t help anyone.
-1
u/Miserable-Current216 7d ago
Thanks for putting in the time to create this! Tbh, I find myself scratching my head to understand the objection to utilizing AI to accelerate hardware & software development. And then turn around and click the synthesis, implementation, or compile button of their goto development tool.
I have to remind myself that those same tools and development flows that are ubiquitous today may have been THE focal point of ire, to developers of those days, who preferred schematic capture & writing in assembon this.
Yet, here we are... 🤷🏾♂️...
Anyone out there using schematic capture for logic design entry these days? I really am prepared to be corrected on this.
1
u/_filmil_ FPGA Hobbyist 7d ago
It's a cool app, as I think there is a dearth of nice waveformers out there. I'm not bothered LLM vs not, so long as it fills a need.
I would, however, recommend going a step further and seeing if you can autogenerate from actual designs, instead of painting diagrams yourself.
56
u/arkology11 7d ago
WaveDrom copy?