Forum Discussion
[SignalTap] How to always keep the latest trigger until I stop the acquisition?
- 4 years ago
I got the solution from the Intel Premier Support.
For reference:
It is possible to always keep the latest trigger occurrence by using segmented buffers and State-based trigger using segment_trigger.
Adding 2 conditions, one REAL condition and one FALSE/DUMMY condition.
The FALSE/DUMMY condition is Advanced and the Result is inputted with a Bit Value set to 0.
The State-based state machine looks like this:
if ( REAL_COND ) segment_trigger; else if ( FALSE_COND ) trigger;It internally triggers a segment at a time thanks to segment_trigger at the real condition (falling-edge in my case).
And the false/dummy condition never triggers. It does trigger only when I click on the stop button.
This allows me to always keep the latest trigger occurrence and is a solution to my question.
Regards,
Thank you for your reply. I've checked the SignalTap templates without finding my happiness...
To improve the example:
* Let's say the signal is a valid signal and is the unique trigger condition, I want to capture other data signals when the valid signal goes low for the last time after I hit the stop button.
* The valid signal can be asserted/deasserted a random number of times, unknown.
Unfortunately I don't know how many times it transitions, that's why I really need to always keep the latest trigger occurrence.
I don't really mind to have a fixed trigger condition at compile time, I can set it up to "falling edge" and be good with it.
Something like a dual-buffer with one buffer that always keeps the latest occurrence until I manually stop the acquisition.
If that can help, in other words, instead of keeping the data from the first trigger occurrence, I'd like ST to always keep the most up to date trigger occurrence(s) until I stop the acquisition.
Regards,