wallento / wavedrompy

WaveDrom compatible python command line

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gap Placement With Phase is Different Between wavedrom and wavedrompy

MutantPlatypus opened this issue · comments

wavedrom handles gap placement differently than wavedrompy:

{ "signal": [
  { "name": "trig", "wave": "lh......|.........", "node": ".t................"},
  { "name": "0",    "wave": "l..====4|=0.......", "node": "...a..............", "data": [             "b[0]", "b[1]", "b[2]", "b[3]", "...", "b[n]"],                     "phase":0},
  { "name": "1",    "wave": "l..====4|=0.......", "node": "...b..............", "data": [             "b[0]", "b[1]", "b[2]", "b[3]", "...", "b[n]"],                     "phase":-1},
  { "name": "2",    "wave": "x.3====4|==30.....", "node": "...c..............", "data": ["SoT",       "b[0]", "b[1]", "b[2]", "b[3]", "...", "b[n]",       "CRC", "EoT"], "phase":-1.5},
  { "name": "3",    "wave": "x35====4|=5=30....", "node": "...d..............", "data": ["SoT", "PH", "b[0]", "b[1]", "b[2]", "b[3]", "...", "b[n]", "PF", "CRC", "EoT"], "phase":-5}
  ],
  "edge": [
    "t~>a",
    "a~>b",
    "b~>c",
    "c~>d"
  ]
}

wavedrom:
wavedrom - Empty Name and Phase Check With Gap

wavedrompy:
wavedrompy - Latency Check With Gap

This is a use case that doesn't make much sense to me, so I'm not sure that this is a high priority bug. I'm not sure which of these implementations is actually favorable: A gap is mostly property of the horizontal axis: It's a break in time. It doesn't really make much sense for a gap to slide with phase.
The fact that a gap ignores phase seems correct.

However, a time skip at the same spot in each wave lane but at different spots in time is exactly what I wanted to convey. The way wavedrom does it is exactly what I wanted, but I've never seen a continuation that wasn't all the way down a timing diagram.

I eventually abandoned the idea of using a gap to communicate this timeskip, as the ellipsis does just fine.