User manual
DVP and EMU2 (HDS2) emulator features UM0036
248/385 Doc ID 7705 Rev 11
8.5 Logical analyser (EMU2 emulators only)
You can access the Logical Analyser window either by clicking on (the Logical
Analyser icon) in the Tools toolbar, or from the main menu by selecting Tools>Logical
Analyser.
The Logical Analyser allows additional control over advanced breakpoints or the trace
buffer. In the drop-down list at the top of the window, choose between:
● Advanced Breaks to set conditional breakpoints in the execution of the application,
● Trace Filtering to conditionally filter the cycle events in the trace buffer that you want to
view.
Figure 183. Logical Analyser mode selection
Because the Logical Analyser uses separate hardware to “spy” on the running of the
program on the emulator, the inclusion of advanced breakpoints does not interfere with the
real-time running of the program. However, there is a short delay between the time the “spy”
identifies a breakpoint condition has occurred and the moment the program execution
actually stops. Typically, a few additional instruction lines are executed during this delay.
This behavior contrasts with that of Instruction Breakpoints and Data Breakpoints,
where, because breakpoint conditions (set using the Counter and Condition options) are
evaluated internally as if the evaluation were part of the program execution, the use of these
breakpoints means that the program cannot run in real-time. However, Instruction and Data
breakpoints cause the program to stop exactly at the instruction line that satisfies the break
condition.
This section provides information about:
● Defining logical analyser events
● Advanced breaks using the logical analyser
● Trace filtering using the logical analyser
8.5.1 Defining logical analyser events
Using the Logical Analyser, you can define conditions to control either the filling of the trace
buffer or the occurrence of a breakpoint. Conditions are defined using a combination of
events. The Logical Analyser enables you to define up to three events, named Event 1,
Event 2 and Event 3.
Defining an event is equivalent to flagging either a specific address or symbol and/or a
specific data value on the data bus, and/or a specific binary signal value. Each event is
defined from the Logical Analyser window as described below. The debugger compares
the hardware values you specify (such as the accessing of the memory address 0x0ff or the
sending of the signal “1” to a probe pin AL2) to what the current hardware values are in the
emulator, and when they correspond, the event is flagged as having occurred.