PrintBuffer


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)