User manual

EMU3 emulator features UM0036
292/385 Doc ID 7705 Rev 11
Actions that may be performed upon the occurrence of the defined event or sequence of
events can be defined as:
a break in the execution of the program (a breakpoint),
the outputting of a waveform to one or both of the two output triggers,
the enabling, or disabling of trace recording,
the recording of a snapshot in the trace,
continuing to another level of conditions, defined by another event or series of events,
a set of the above actions.
When the conditions you have programmed are met, the sequencer carries out the preset
actions. Up to four levels of conditional terms can be linked to construct logical functions that
define precisely the event to be tracked and the action to be carried out, within even the
most convoluted of program sequences. It is this adaptability which makes the sequencer
such a valuable real-time tool (see Section 10.2.1: Defining advanced breakpoints).
The heart of the Advanced Breakpoints sequencer is the bus event machine (BEM). This
hardware system is user-transparent and equipped with its own memory and bus
connections. The BEM functions in parallel with the emulation hardware system controlling
the program under test. In this way, the EMU3 emulator is able to carry out real-time
debugging actions.
Because the Advanced Breakpoints features uses separate BEM 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 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 breakpoints cause the program to
stop exactly at the instruction line that satisfies the break condition.
This section provides information to help you use your EMU3 emulators’s advanced
breakpoint features, including:
Defining advanced breakpoints
Memory access events
Other types of events
Enabling advanced breakpoints
Starting with trace ON
The configuration summary
Synoptic representation of advanced breakpoints
Saving and loading advanced breakpoints
Advanced breakpoint examples
10.2.1 Defining advanced breakpoints
Advanced breakpoints use logic levels to structure a sequence of conditions that will trigger
a response from STVD, such as stopping your application or starting a trace recording.