Universe

The logo of Digidraw v0.9.3, which is drawn using timing diagrams. Buses are filled with solid blue and the background is white. The word 'Digidraw' is drawn in a pixel-esque way.

A drawing package to draw digital timing diagrams using the WaveDrom syntax. Some WaveDrom data are compatible with Digidraw and some are not, but I plan or hope to implement those. Reasonable input/feedback is welcome!

  • Read the Manual on how to use the specifics of this package

Features

  • Draw wires, buses, clocks and other symbol types
    • A lot of these elements are 1:1 from WaveDrom, but not everthing is inside!
  • Support for inserting labels into buses (similar to Wavedrom)
  • Support for typst markup for bus labels, when reading from a json file."data": ["#strong([hello])"]
  • Configurable style settings to change fonts, stroke styling and sizing

Examples

Click on the image for the source.

a digital timing diagram generated with the package showing off various features of the package.
Source: https://wavedrom.com/tutorial.html#spacers-and-gaps
example's JSON file: examples/example1.json
a smaller digital timing diagram with a clock signal labeled 'clk' which has rising flanks highlighted arrowheads pointing up. Other signals such as a bus and a wire signal is shown below labeled respectively 'bus' and 'wire'
Source: https://wavedrom.com/tutorial.html#adding-clock
example's JSON file: examples/example2.json
another digital timing diagram with a various signals. The tick numbers above are written in roman numerals instead of numbers.
a digital time diagram showing off coloured busses and the time skip symbol (represented by two vertically long letter 'S').
a digital time diagram showing off various styled tick lines. Only some tick lines are shown

Changelog

See CHANGELOG.md

ToDo

See TODO.md in the Codeberg repository