gnupic: plotting signals in gpsim


Previous by date: 11 Feb 2002 13:07:36 -0000 Re: plotting signals in gpsim, Garst R. Reese
Next by date: 11 Feb 2002 13:07:36 -0000 Re: plotting signals in gpsim, Ralf Forsberg
Previous in thread: 11 Feb 2002 13:07:36 -0000 Re: plotting signals in gpsim, Garst R. Reese
Next in thread: 11 Feb 2002 13:07:36 -0000 Re: plotting signals in gpsim, Ralf Forsberg

Subject: Re: plotting signals in gpsim
From: Scott Dattalo ####@####.####
Date: 11 Feb 2002 13:07:36 -0000
Message-Id: <Pine.LNX.4.33.0202110404550.16600-100000@ruckus.brouhaha.com>

On Thu, 7 Feb 2002, Ralf Forsberg wrote:

> A little code here and a little code there,

Ralf,

I just got back from England yesterday. This sound like a really cool
feature for gpsim. How far along are you? I've got a few ideas on how to
link the viewer and gpsim together. I even have a couple of ideas on how
the UI could look.

Here's a short list of random things:

1) The viewer and gpsim should be as separated as possible. I'd even be
inclined to make it module. If the viewer is a module, then we can write a
few C++ classes to link into the file_register class and get efficient
access to the registers much like the profiler and break point classes
already do.

2) Each wave should be encoded separately. In other words, I don't think
it's efficient to encode all of the waves into one giant buffer. I've used
viewers before (specifically Altera's MaxPlus II) where the data must have
been stored in one buffer. If you separate the data into numerous tiny
buffers then when each time the time scale is changed, it's more efficient
to access the wave forms one at a time. (Otherwise you have to effectively
re-parse the giant buffer each time the time scale is changed).

3) For digital waves:
 - High's and Low's are shown with horizontal lines. Rise times are
infinite
 - If there are more transitions then can be shown on the screen, then
colored vertical bands will indicate the density of transitions. For
example, suppose we're trying to display 10,000 pulses in a 400 X 400
pixel window. For each pixel there is roughly 25 transitions (assuming an
even distribution like that of a clock output). We could show this as say
400 vertical light blue bands which when plotted would look like a
horizontal blue bar.
  Now let's say that instead of a constant pulse stream that we have one
that is modulated. The number of pulses per pixel could define the color
of the vertical band. So for example, say the pulse density varies from 2
to 50 pulses per pixel (ppp). In the region of 50 ppp we could have bright
blue and in the region of 2 ppp we could have dark blue - almost black.
The color intensity would correspond to the pulse density.
 - Vertical bar of mouse cross bar indicates current state.
 - Groups of digital bits can be combined to form "analog" waves.

4) Analog

 - Should be able to replot interms of digital bits. (This only
   appropriate for analog data that has a limited resolution like
   say a register).
 - Interpolation between data points should be either:
   a) none (the current state is plotted as a horizontal line
      until a new value is obtained).
   b) Linear - straight lines between samples
   c) cubic splines
   d) Dots (This should be an independent attribute that can be
      applied to the previous three plotting cases).
 - High frequency data can be color encoded much like the high frequency
   digital pulses.
 - OR - high frequency can be plotted such that a vertical bar covering
   the extremes is plotted.
 - Vertical scaling
 - offset control

5) Registers

 - A register can be shown in three different ways:
   o an 8-bit analog wave
   o 8 individual digital waves
   o a hex value:
    _____  _____    ______
___/ A5  \/ FF  \/\/  00  \___
   \_____/\_____/\/\______/

6) Break points

 - There should be a way to set a break point on a condition. For example,
just like an oscilloscope, we may wish to trigger an event when ever a
wave form reaches a particular analog level.

7) Stimuli

 - Stimuli should be plotted.
 - A method should be in place to capture a wave and turn it into a
stimulus.
 - Stimuli should be editable.

8) UI
 - Plotting should be supported.
 - Vertical Markers
    o specified in pairs
    o each pair is a different color
    o time between markers is indicated somehow(?)
    o the current state at the intersection of a vertical
      marker and a waveform is displayed somehow(?)
 - Horizontal Markers
    o Same as vertical markers.
 - It should be easy to position/move the waveforms.
    What I'm thinking of here is that each wave form
    can easily slide up and down. This means that a
    method for selecting the waves is needed. Ideally
    a left-click on a wave will select it and allow
    you to drag it up and down.
 - Horizontal and vertical pan bars allow the center to
   be repositioned.

I guess this is actually a long list of random things :).


Scott


Previous by date: 11 Feb 2002 13:07:36 -0000 Re: plotting signals in gpsim, Garst R. Reese
Next by date: 11 Feb 2002 13:07:36 -0000 Re: plotting signals in gpsim, Ralf Forsberg
Previous in thread: 11 Feb 2002 13:07:36 -0000 Re: plotting signals in gpsim, Garst R. Reese
Next in thread: 11 Feb 2002 13:07:36 -0000 Re: plotting signals in gpsim, Ralf Forsberg


Powered by ezmlm-browse 0.20.