In [1]:
import wavedrom
signal_in = ['input',
{'name': 'register', 'wave': '010....|.10...' , 'node': '.a.......b..'},
{'name': 'pContainer', 'wave': 'x3.x...|.4.x..' , 'data': ['pC1', 'pC2'], 'phase': 0.5},
{'name': 'trig', 'wave': 'pPp....|.Pp...'},
{'name': 'position', 'wave': '=======|......' , 'data': ['p0','p1','p2','p3','p4','p5','p..']},
{'name': 'Count', 'wave': '==.....|.=....' , 'data': ['0', '1', '2']},
{'name': 'first', 'wave': '=......|......' , 'data': ['1']},
{'name': 'next', 'wave': '==.....|.=....' , 'data': ['1', '2', '3']}
]
signal_out = ['output',
{'name': 'shifted trig.', 'wave': '0....1..0..|....' , 'node': '.....e..f..'},
{'name': 'pContainer', 'wave': 'x....3..x..|....' , 'data': ['pC1', 'pC2']},
{'name': 'Count', 'wave': '=.......=..|....' , 'data': ['1', '0']},
{'name': 'first', 'wave': '=.......=..|....' , 'data': ['1', '2']},
{'name': 'next', 'wave': '=..........|....' , 'data': ['2', '3']}
]
wave_json = {
# Wavedrom Config
'config': {
'hscale': 1, # horizontal scale
'skin':'default', # narrow
},
# Title
'head':{
'text':'PrintBuffer timing',
'tick':0, # Numeration top
},
# Signal
'signal': [signal_in, signal_out],
# Arrows
'edge': [
'a<->b t_cycle',
'a~>e t_shift',
'e<->f t_trigger',
],
# Footer
'foot': {
'text':['tspan', 'brm 09.05.2017',
],
'tock':0, # Numeration bottom
},
}
wavedrom.draw_wavedrom(wave_json)