199
Chapter 4: Concepts
Understanding Logic Analyzer Triggering
“not in range” function as well. Ranges are a convenient shortcut so
that you don't have to specify “ADDR >= 1000 and ADDR <= 2000”.
Next: “Flags” on page 199
Flags
Flags are Boolean variables that are used to send signals from one
module to another. They can be set when a condition occurs in one
module and tested later by another module. In the example below, flag
1 is used to keep track of what happens in the trigger sequence of
Module 1 so that this information can be used in Module 2.
Trigger Sequence for Module 1
1. If ADDR < 5000 then
Set Flag 1
Trigger and fill memory
Trigger Sequence for Module 2
1. If DATA = 5000 and Flag 1 is set then Trigger
Else if DATA = 1000 and not Flag 1 then Trigger
Next: “Occurrence Counters and Global Counters” on page 199
Occurrence Counters and Global Counters
Occurrence Counters are used in situations where you want to find the
Nth occurrence of an event. For example, if you want to trigger on the
5th time that ADDR = 1000, you could set up the trigger as:
If ADDR = 1000 occurs 5 times then Trigger
Global Counters are like integer variables. They are more flexible than
Occurrence Counters because they can be used to count complex
events such as an edge followed by another edge. Global Counters can
be incremented, tested, and reset. By default, Global Counters begin
with zero and don't need to be reset unless they have already been
used in the trigger sequence. In general, Occurrence Counters should