Ideas Test


Find Timing Violations

Provide a way to search multiple signals for timing violations.
Or, find the minimum/maximum time between two "events", where an event is an rising or falling edge on (different) signal(s).
Note that this is not a trigger condition, rather it is post-processing.
Similar to a protocol analyzer.
Could this be implemented using the protocol analyzer existing SDK?

  • Avatar32.5fb70cce7410889e661286fd7f1897de Guest
  • Jun 26 2018
  • Attach files
  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    June 26, 2018 18:37

    Gotcha - at this point, the data would have to be exported and post-processed to find that. an API is definitely the right way to support this.

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    June 26, 2018 18:37

    I do see how to trigger and search on pulse widths for any signal.
    However, I do not see how one can find a timing violation involving interaction among multiple signals. Something like, "select must go low at least X microseconds before the first clock edge", where select and the clock edge are different signals.
    This is a very common case.

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    June 26, 2018 18:37

    Hi Brent,

    I think we might already have you covered on this. We have two features that might help.

    First, once you have captured data, you can edit the trigger settings and then use the next/previous buttons next to the trigger to search your data set for events that satisfy the condition. This is very useful for locating extra short glitches in a capture that are otherwise impossible to find:
    It supports pulse width searching with min & max pulse widths.

    Second, we have measurements:
    With this, you can add a measurement to a specific range of time on one channel, and edit the displayed values to include min and max pulse width data inside that range, as well as a lot of other information, inlcuding min/max/average edges, pulses, frequency, period, duty cycle, etc, as well as count edges, pulses, clocks, etc.

    You could for instance use the measurement to measure the narrowest pulse width over a range of data, and then configure the trigger to locate pulses of that width, and then navigate to each location where the trigger condition is satisfied.
    Is that what you're looking for?

    Also, longer term I would love to make the measurement and search features extensible, but that's way out there - we need to redesign the API first.