In [4]:
import wavedrom

a = {'signal': [
    {'name': 'clk', 'wave': 'p.....|...'},
    {'name': 'dat', 'wave': 'x.345x|=.x', 'data': ['head', 'body', 'tail', 'data']},
    {'name': 'req', 'wave': '0.1..0|1.0'},
    {},
    {'name': 'ack', 'wave': '1.....|01.'}
]}

wavedrom.draw_wavedrom(a)

In [5]:
'''
This picture is really long, we set a width to stop it from scaling
'''
a = {'signal': [
  {'name': 'clk', 'wave': 'p.....|...'},
  {'name': 'dat', 'wave': 'x.345x|=.xxxxxxxxxxxxxxxxxxxxxxxx', 'data': ['head', 'body', 'tail', 'data']},
  {'name': 'req', 'wave': '0.1..0|1.0'},
  {},
  {'name': 'ack', 'wave': '1.....|01.'}
]}

wavedrom.draw_wavedrom(a, 2000)