Closed sbourdeauducq closed 8 years ago
Example VCD file produced by the analyzer. foo.zip
For this specific case, why not just use 64 bit integer multiples of 1 ns? The useful granularity of the slack is on the order of 10 ns (cpu clock) and will be for the foreseeable future.
For frequencies and voltages the story might be different.
That's inconsistent with the way other numbers (e.g. DDS frequencies) are represented, plus this will be annoying when we have a board with a CPU frequency not a multiple of 1ns.
Then this bug is not just about the slack. And anyway: slack is not a precision quantity. It's useful resolution is more like 10 ns independent of the cpu speed.
I think having slack in increments of machine units as a 64-bit integer would work, no? "Logarithmic" scale is not that bad, this is a coarse debugging tool really.
I'd like to keep everything consistent and user-interpretable in the VCD: SI units and floating point.
Note that GtkWave can display floating point numeric values just fine, it just cannot plot them (as in a XY plot) correctly.
I am fine with logarithmic scale of slack for the plotting, since for my purposes the only times it will matter is when it gets small, and then I can look at the actual floating point value. Seems like this would be more effort to fix properly than it's worth.
@jboulder Done. We now get the expected linear rise in RTIO slack.
Patch posted to the gtkwave-users ML.
(I do not have a link for it because Sourceforge being what it is, there seems to be some delay before the archive pages are updated)
Thank you. -Joe
On Thu, Mar 31, 2016 at 3:51 AM, Sébastien Bourdeauducq < notifications@github.com> wrote:
Patch posted to the gtkwave-users ML.
— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/m-labs/artiq/issues/242#issuecomment-203803544
The core device analyzer outputs RTIO slack as a 64-bit float expressed in seconds. It is nice to plot it with an analog view in GtkWave, but the latter only supports integer values there, resulting in a unwanted logarithmic-ish scale.