Universe

Digidraw v0.9.1

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!

Click here for the manual of Digidraw

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

See CHANGELOG.md

See TODO.md in the Codeberg repository