Hi all,

I'm "announcing" the commits here for those peer developers who
haven't seen them on IRC.  Feedback is very welcome.

The mainline sigrok VCD input module lacks support for vectors.
And I noticed a few issues that I addressed as well (timing was
off for large files, last sample was not processed).  Depending
on your preferred way of accessing git repos, see the commits at

  http://repo.or.cz/libsigrok/gsi.git vcd-vector

or

  http://repo.or.cz/libsigrok/gsi.git/shortlog/refs/heads/vcd-vector

respectively.

Since there is an impedance mismatch between VCD vectors and the
data representation internal to sigrok (no "bus" type is known,
only "logic" probes and "analog" channels), I had to work around
that limitation by creating multiple single "logic" signals per
vector (one sigrok channel per bit in the vector, similar to the
previously supported one-bit wires).  The "parallel" protocol
decoder can represent multiple bits in the usual hex format.

There's another implementation detail to be aware of:  sigrok
internally uses continuous streams of samples of the specified
samplerate.  Which makes innocent looking VCD input files quickly
grow rather large, when e.g. multiple seconds worth of data are
provided with a very fine resolution.  The "downsample" and
"compress" options of sigrok's vcd input module can work around
this effect when needed.

The current implementation uses a mere integer instead of a more
versatile bit map, which results in a limit of up to 64 bits per
VCD vector.  This can get extended in a subsequent change.

I'm aware of one omission in the above branch:  Using the same
identifier for multiple signals is not supported by this version,
but can be.  This will get fixed, it's just an implementation
detail, not by design -- I only learned about this feature after
pushing the changes.

And of course I'd like to learn if you experience differences in
the interpretation of VCD input files between sigrok/pulseview
and other software you are using (gtkwave et al).  Or if you have
VCD files that this extended vcd input module cannot process.

Note that support for real numbers is missing, too, and is not in
the scope of the above changes.


Have the appropriate amount of fun!

virtually yours
Gerhard Sittig
-- 
     If you don't understand or are scared by any of the above
             ask your parents or an adult to help you.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to