Many people that read my blog wonder how I create such beautiful timing diagrams. It's easier than it looks!
I create my diagrams in Wavedrom, an online editor for digital timing diagrams. In Wavedrom, you describe the waveform with a JSON format, and the waveform is rendered on-the-fly, as you type.
You can download the waveform as an SVG or a PNG image. Or you can simply share the expanded URL to the diagram.
Visit Wavedrom at:
https://wavedrom.com
My example timing diagram:
https://bit.ly/2H0F6js
The ring buffer blog post:
https://vhdlwhiz.com/ring-buffer-fifo/