To Store And Time The Execution Of A Subroutine - HP 1660CS-Series User Manual

Logic analyzers
Table of Contents

Advertisement

Single-Machine Trigger Examples

To store and time the execution of a subroutine

To store and time the execution of a subroutine
Most system software of any kind is composed of a hierarchy of functions and
procedures. During integration, testing, and performance evaluation, you
want to look at specific procedures to verify that they are executing correctly
and that the implementation is efficient. The analyzer allows you to do this by
triggering on entry to the address range of the subroutine and counting the
elapsed time since the trigger state.
Go to the state analyzer's Trigger menu.
1
Set Count to Time.
2
Define a range term, such as Range1, to represent the address range
3
of the particular subroutine.
You may need to examine the structure of your code to help determine this.
If your subroutine calls are really procedure calls, then there is likely to be
some code at the beginning of the routine that adjusts the stack for local
variable allocation. This will precede the address of the first statement in the
procedure. If your subroutine has no local storage and is called by a jump or
branch, then the first statement will also be the entry address.
Under State Sequence Levels, enter the following sequence
4
specification:
While storing "no state" TRIGGER on "In_Range1" Occurs 1 Else on "no
state" go to level 1
While storing "In_Range1" Then find "Out_Range1" Occurs 1 Else on "no
state" go to level 2
Store "no state" on "no state" go to level 1
For processors that prefetch instructions or have pipelined architectures, you
may want to add part or all of the depth of the pipeline to the start address for
In_Range1 to ensure that the analyzer does not trigger on a prefetched but
unexecuted state.
5-4

Hide quick links:

Advertisement

Table of Contents

Troubleshooting

loading

This manual is also suitable for:

1662cs1663cs1660cs1661cs

Table of Contents