Forum Discussion

gyuunyuu's avatar
gyuunyuu
Icon for Contributor rankContributor
5 years ago
Solved

What is the limit on signals in signal tap II

The byte blaster cables have a data limit. Signal Tap requires that data be transmitted through the byte blaster on every single trigger event.

How do we know how much bandwidth signal tap is using when we use it?

Can we be sure that signal tap will always transfer data on every trigger event?

Is it possible that a trigger condition is missed because it occurred when signal tap was transferring data from the last trigger event?

When signal tap has more than once instance that is enabled and synthesized, does it reliably capture data from both instances although they use different triggers?

And finally, why doesn't signal tap apply once to copy past instances and signals from one signal tap to another?

  • sstrell's avatar
    sstrell
    5 years ago

    Again, using a state-based trigger or other options I mentioned, you can capture data from multiple subsequent events before the logic analyzer stops, limited by the size of the buffer.

13 Replies

  • sstrell's avatar
    sstrell
    Icon for Super Contributor rankSuper Contributor

    The limit on signals used to be 2048 per instance, but I think it may be greater now.

    Bandwidth is not an issue. Remember that the captured data is stored on the device in block RAM when a trigger occurs before being transferred over your programming cable so there is no bandwidth requirement. Data is always transferred with the logic analyzer is triggered or you can transfer it manually with one of the control buttons just above the instance manager.

    Each new trigger clears the block RAM. If you're saying that you are looking at multiple trigger events one after another and want to see signal levels for each, then you'll need a more complex logic analyzer setup, such as using a state-based trigger where you can capture multiple triggers and progressively fill up the buffer or use multiple instances of the logic analyzer.

    Multiple instances are independent from each other (unless you link them with trigger in/trigger out) and will all work simultaneously (shift-click to start multiple instances simultaneously).

    I don't understand your final question.

    • gyuunyuu's avatar
      gyuunyuu
      Icon for Contributor rankContributor

      Thanks, my last question has wrong wording. What I want to know is, why does Signal Tap II not allow user to copy signals from one instance to another? Also, copy a whole instance from one signal tap to another?

      In my case when signal tap has captured a lot of complex data, I just save the signal tap instance with a different name and then analyse it later. Is this the correct approach?

      By bandwidth I mean, is it possible that when there are so many signals in the signal tap II instance and trigger events occur at very high frequency, the programmer cable will not be able to transmit all data before the next trigger event? I am sure this is possible to happen.

      • sstrell's avatar
        sstrell
        Icon for Super Contributor rankSuper Contributor

        Copying signals: simply not a feature that's in the tool. You could request it perhaps.

        Again, when a trigger occurs, the logic analyzer stops and buffers the data. The situation you mention does not happen. If you're talking about multiple trigger "conditions" (the condition columns in the tool) the logic analyzer only stops and captures data when the final trigger condition column is true. It does not capture data from the previous trigger condition columns. That's why I said that if you want to capture data from multiple trigger events that occur close to each other, you'd need a state-based trigger (to manually control when data is stored in the buffer so you could store data from each event) or multiple logic analyzer instances.

        There's only one buffer for each instance of the logic analyzer and it gets sent to your computer only when the trigger conditions have all occurred. So again, there would never be a bandwidth issue because there is no urgency in sending out the buffer data since you'd have to start the logic analyzer manually to look for the trigger conditions again (at which point the buffer is empty again anyway).

  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    Can you elaborate where you get the 128 bytes?


    Regards,

    Nurina


    • gyuunyuu's avatar
      gyuunyuu
      Icon for Contributor rankContributor

      The 128 bytes is just a made up number, you could use a smaller number as well like 16 bytes?