STYX searching:


1. Concepts

To be written.

  * When moving the cursor inside the waveform window, the simulation
    time (in seconds) and the full name of the signal selected by the 
    mouse position are displayed on the status panel at the bottom of 
    the waveform viewer window.

  * Click anywhere in the waveform window to display the current value
    of the signal at the mouse position in the status panel.

  * Signals are displayed in the order they were added to the waveform
    viewer. Note that the default "Add all signals" function in the
    Hades editor uses the ordering of the editor's internal data structures.
    You may want to use a script to select signals and their order when
    using the waveform viewer often.

  * To change the order of the signals, click into the name panel (on
    the left of the waveform viewer window) to select a signal, then
    use the "move signal down" or "move signal up" buttons on the 
    status panel (bottom) to move the selected signal. You can also 
    select two signals at a time and use the "swap signals" button.




 

2. The "search base time"

For earch search operation, the internal "search base time" defines
the start time of the search. This internal variable is initialized
to the value "t=0.0" on program start. After each successful search
operation, the search base time is updated to the time of the 
corresponding search result. This allows you to quickly search for 
consecutive events by just repeating a search operation.

You can use the "set search base time" operation to override and
re-initialize the search base time in two different ways:

  * Select the "Menu > Search > Set Search Base" menu item. You can
    now enter the designated value numerically (in seconds) into the 
    dialog window. For example, enter the value "1.3E-7" for a new
    search base time value of 13 microseconds.
     
  * Alternatively, scroll the waveform window until the time range 
    that includes your designated search base time becomes visible. 
    Next, position the mouse cursor until the time value matches your 
    designated search base time.  Use the zoom controls as needed to 
    get the required accuracy. Now type the [S] ([shift]+[s]) key to 
    set the internal search base time.

The waveform window scrolls as needed and the search time indicator
line is moved to the selected time.


3. Searching for any events

Move the mouse cursor up and down to select a waveform. Next, type
the [n] or [p] keys to search the next (previous) event on the selected 
waveform. The waveform window scrolls as needed and the search time 
indicator line is at the start (end) time of the matching event.

Alternatively, type [N] or [P] (that is, [shift]+[n] or [shift]+[p])
to initiate a "global" search for the next (previous) events on all
waveforms. You can also select these operations using the menubar via
"Menu > Search > Search next event" or "Search previous event".



4. Searching for specific events

FIXME: this is not fully implemented yet.






5. Searching for specific std_logic_1164 values

For convenience, special keyboard accelerators are predefined for
StdLogic1164 signals. Just type the keys corresponding to the eight
standard values of the VHDL std_logic_1164 system to search for the
next (previous) occurence of the corresponding value:

 [u] [x] [0] [1] [z] [w] [l] [h] 

Again, the search starts at the current search base time, while the
y-coordinate of the current mouse position selects the waveform to 
search. When the mouse is in the right half of the waveform window,
the search direction is positive (next matching event), and vice-versa.




5. Bindkeys


    [S]           set base time for next search from current mouse position
    [R]           remove search marker

    [n]           search next event on selected waveform
    [p]           search previous event on selected waveform

                  Typing on the right half of the wave canvas triggers
                  a search for the next event, typing on the left half
                  searches the previous event:

    [u] [x]       search for the corresponding std_logic_1164 value
    [0] [1]       ('u', 'x', '0', '1', 'z', 'l', 'h', 'w')
    [z] [w]       on the selected waveform
    [l] [h] 

    [v]           search selected value
    [V]           enter search value (shows dialog window)


