HP 64700 User Manual
HP 64700 User Manual

HP 64700 User Manual

Emulators terminal interface
Hide thumbs Also See for 64700:
Table of Contents

Advertisement

Quick Links

HP 64700 Emulators
Terminal Interface:
Analyzer User's Guide
Edition 1
64740-90909E1187
Printed in U.S.A. 11/87

Advertisement

Table of Contents
loading

Summary of Contents for HP 64700

  • Page 1 HP 64700 Emulators Terminal Interface: Analyzer User’s Guide Edition 1 64740-90909E1187 Printed in U.S.A. 11/87...
  • Page 3 Hewlett-Packard Company. The information contained in this document is subject to change without notice. AdvanceLink, Vectra and HP are trademarks of Hewlett-Packard Company. IBM and PC AT are registered trademarks of International Business Machines Corporation.
  • Page 4 Printing History New editions are complete revisions of the manual. The dates on the ti- tle page change only when a new edition is published. A software code may be printed before the date; this indicates the ver- sion level of the software product at the time the manual was issued. Many product updates and fixes do not require manual changes and, conversely, manual corrections may be done without accompanying product changes.
  • Page 5: Using This Manual

    Using this Manual This manual will show you how to use the HP 64700 series analyzer with the firmware resident Terminal Interface. This manual will: Briefly introduce the analyzer and its features. • Show you how to use the analyzer in its simplest, power-up condi- •...
  • Page 6 Chapter 3 Accessing Full Analyzer Capability. This chapter shows you how to ac- cess and use the full power and capability of the HP 64700 Series ana- lyzer (more powerful sequencing and the use complex expressions). Chapter 4 Using the External Analyzer. This chapter shows you how to use the external analyzer as part of the emulation analyzer or as an inde- pendent state analyzer.
  • Page 7: Table Of Contents

    Chapter 1 Introducing the HP 64700 Series Analyzer Overview..........1-1 Analyzer Features.
  • Page 8 Run the Program........2-6 The Default Trace Specification.
  • Page 9 Chapter 3 Accessing Full Analyzer Capability Introduction ......... . . 3-1 Prerequisites .
  • Page 10 Independent State Analyzer Commands (xt, xtarm, ...) ..4-10 Specifying the Independent Analyzer Clock Source..4-11 Independent Timing Analyzer ......4-11 External Analyzer Specifications .
  • Page 11 Using Slave Clocks for Demultiplexing (tsck) ....6-6 Mixed Clocks ........6-7 True Demultiplexing .
  • Page 12 Illustrations Figure 1-1. Block Diagram of HP 64700 Series Analyzer ..1-2 Figure 2-1. Pseudo-Code Algorithm of Sample Program ..2-3 Figure 2-2. Sample Program Listing ......2-4 Figure 2-3.
  • Page 13: Introducing The Hp 64700 Series Analyzer

    The analyzer commands are the same in every emulator; consequently, this manual is shipped with every HP 64700 Series emulator. A block diagram of the analyzer is shown in figure 1-1.
  • Page 14: Figure 1-1. Block Diagram Of Hp 64700 Series Analyzer

    Figure 1-1. Block Diagram of HP 64700 Series Analyzer Introduction 1-2...
  • Page 15: Trace Storage, Prestore, And Count

    Coordinated When multiple HP 64700 Series emulators are connected via the Coor- dinated Measurement Bus (CMB), you can use the analyzer to trigger Measurements...
  • Page 16: Other Features

    Other Features The list above is only a basic description of the HP 64700 Series ana- lyzer features. The chapters which follow show you how to use these features.
  • Page 17: Getting Started

    Getting Started Introduction This chapter shows you how to use the emulation analyzer from mak- ing simple measurements to searching for a sequence of states. It does not describe how to access or use the full capability of the analyzer (see the chapter on "Accessing Full Analyzer Capability").
  • Page 18: Prerequisites

    Program listings will be more meaningful. The examples in this chapter have been generated using an 80186 (HP 64764) emulator. The sample program is written in 80186 assembly language.
  • Page 19: Before You Can Use The Analyzer

    Initialize the stack pointer. AGAIN: Save the two previous random numbers. Call the RAND random number generator subroutine. Test the two least significant bits of the previous random number. If 00B then goto CALLER_0. If 01B then goto CALLER_1. If 10B then goto CALLER_2. If 11B then goto CALLER_3.
  • Page 20: Figure 2-2. Sample Program Listing

    FILE: anly.S HEWLETT-PACKARD: 80186 Assembler LOCATION OBJECT CODE LINE SOURCE LINE 1 "80186" 400H ASSUME DS:ORG,ES:ORG 0400 B80000 5 START AX,SEG RAND_SEED 0403 8ED8 DS,AX 0405 8ED0 SS,AX 0407 B80000 AX,SEG RESULTS 040A 8EC0 ES,AX 040C BCFE06 SP,OFFSET STACK 11 * The next three instructions move the second 12 * previous random number into DI (offset to 13 * RESULTS area).
  • Page 21: Map Memory

    49 * The WRITE_NUMBER routine writes the random 50 * number to the RESULTS area. The second 51 * previous number is the offset in this area. 0448 26889D0005 52 WRITE_NUMBER RESULTS[DI],BL 044D C3 54 * The RAND routine generates a pseudo-random 55 * number from 0-0FFH, and leaves the result 56 * in AX.
  • Page 22: Load The Program

    Load the Program Absolute files, in a number of different file formats, can be loaded into an HP 64700 Series emulator in a number of different ways. Refer to the Terminal Interface: Emulator User’s Guide for information on load- ing programs into the emulator.
  • Page 23: Starting The Trace (T)

    Starting the Trace (t) Enter the t (trace) command to tell the analyzer to begin monitoring the states which appear on the trace signals. You will see a message which confirms that a trace is started. U>t Emulation trace started Halting the Trace (th) The th (trace halt) command allows you to halt a trace measurement.
  • Page 24: Displaying The Trace (Tl)

    default trigger condition is any state, the first state after the t command becomes the trigger state. Because all captured states are stored, the next 511 states are stored in the trace. The "sequence term" and "occurrence left" items are explained later. Displaying the Trace Use the tl (trace list) command to display the trace data.
  • Page 25 must use the -d option to the tl command to view the mnemonic infor- mation in disassembled form. The fourth column shows the count information (time is counted by de- fault). The "R" indicates that each count is relative to the previous state. The fifth column contains information about the sequencer.
  • Page 26: Expressions In Trace Commands

    Expressions in So far, the default trace specifications have been used, and you have not entered any expressions. Expressions are used in commands which Trace Commands qualify the trace. This section describes the expressions which may be used in trace commands. Expressions may be specified in the following forms (the pound sign, # , appears before comments): any/all # special tokens...
  • Page 27: Trace Labels

    Trace Labels Labels shown in the forms above may be predefined trace labels or la- bels which you define with the tlb (trace label) command or the xtlb (ex- ternal trace label) command if you have an external analyzer. Trace la- bels can be up to 31 characters long.
  • Page 28 Hexadecimal (base H or h). For example: 6eh, 9xH, 0f3, or 0cfh. • (The leading digit of a hexadecimal constant must be 0-9.) Decimal (base T or t, for base "ten"). For example: 27t or 99T. • (Don’t cares are not allowed in decimal numbers.) Binary (base Y or y).
  • Page 29: Predefined Equates For Emulation Analyzer Status

    Note All operations are carried out on 32-bit numbers. Refer to the Terminal Interface: User’s Reference description of expr for operator truth tables. Predefined Equates The equ (specify equates) command allows you to equate values with names. Equates for common status values are predefined. To view the for Emulation names equated with common analysis status, enter the equ command Analyzer Status...
  • Page 30: Expression Examples

    Refer to the appropriate Terminal Interface: Emulator User’s Guide for information on the status signals for your HP 64700 series emulator. Expression Examples Some example trace command expressions follow. addr=500 and data=30 and stat=mr addr=400+5*20t and data=0 stat=0xx10y addr=520..532 stat!=0xx10y or stat!=0x1xxy...
  • Page 31 The tf command primarily allows you to arrange the columns of trace information in a different manner. However, notice that you can in- clude any trace label in the trace. (This is especially useful with the ex- ternal analyzer.) Also, notice that the trace label information can be displayed in various number bases, and that counts can be displayed relative or absolute.
  • Page 32: Specifying A Simple Trigger (Tg)

    Specifying a The tg (specify simple trigger) command allows you to specify when the analyzer should begin storing states. For example, suppose you want to Simple Trigger look at the execution of the sample program after the AGAIN label, (tg) and therefore, you would like to begin storing states after the AGAIN address occurs.
  • Page 33 As you can see in the trace status display, 512 analyzer states are saved in the trace list. To display the "next" lines in a trace list, enter the tl (trace list) command with no options. U>tl Line addr,H 8018x mnemonic,H count,R ----- ------...
  • Page 34 006fc 0440H, mem write 0.520 uS 00448 MOV ES:BYTE PTR 0500H[DI],BL 0.160 uS The instructions shown in the trace list above decide which caller will call the WRITE_NUMBER subroutine. Line 58 shows the disassem- bled mnemonic of the instruction which calls the WRITE_NUMBER subroutine.
  • Page 35: Specifying An Occurrence Count

    Specifying an When specifying a simple trigger, you can include an occurrence count. The occurrence count specifies that the analyzer trigger on the Nth oc- Occurrence Count currence of some state. For example, to trigger the analyzer when the address 40FH occurs a hundred times, enter the command below. U>tg addr=40f 100 The default base for an occurrence count is decimal.
  • Page 36: Prestoring States (Tpq)

    0059c xx3bH, mem write 36.24 uS 00535 c1xxH, mem write 35.40 uS 0053b 45xxH, mem write 36.48 uS 005c1 7dxxH, mem write 36.48 uS 00545 11xxH, mem write 36.20 uS 0057d e0xxH, mem write 36.20 uS 00511 3fxxH, mem write 35.00 uS Notice that the trigger state (line 0) is included in the trace list;...
  • Page 37: Turning Off Prestore

    U>tpq data=0e8xx U>t Emulation trace started U>tl Line addr,H 8018x mnemonic,H count,R ----- ------ ------------------------------------ --------- 00434 INSTRUCTION--opcode unavailable prestore 0040f INSTRUCTION--opcode unavailable 00430 e800H, opcode fetch prestore 00443 e8xxH, opcode fetch prestore 005d4 xxcdH, mem write 31.48 uS 00430 e800H, opcode fetch prestore 00437...
  • Page 38: Changing The Count Qualifier (Tcq)

    Changing the Suppose now that you are interested in only one address in the RE- SULTS area. You wish to see how many loops of the program occur Count Qualifier between each write of a random number to this address. You can use (tcq) the tcq (trace count qualifier) command to count a state which occurs once on each loop of the program.
  • Page 39: Using The Sequencer (Tsq)

    U>tcq addr=40f U>tf addr,h mne count,r count,a U>t Emulation trace started U>tl Line addr,H 8018x mnemonic,H count,R count,A ----- ------ ------------------------------------ --------- --------- 005c2 xx75H, mem write 005c2 xx2bH, mem write 005c2 xx90H, mem write 005c2 xxeaH, mem write 005c2 xxb7H, mem write 005c2 xxbfH, mem write...
  • Page 40: Resetting The Sequencer (Tsq -R)

    the first term. The same secondary branch condition is used for all se- quence terms, and secondary branches are always back to the first term; therefore, the secondary branch is called the global restart. Resetting the To reset the sequencer to its default, power-up state use the -r option to the tsq (trace sequencer) command.
  • Page 41: Simple Trigger And The Sequencer

    mand as a conditional statement. For example, "If (some state occurs), then branch". Because sequence term 1 is the last term and a branch out of the last term constitutes the trigger, the primary branch expression (any) of term 1 specifies the trigger condition. The expression any says that any captured trace state will cause a branch.
  • Page 42: Primary And Secondary Branch Expressions (Tif, Telif)

    whose address equals 40FH will trigger the analyzer, causing trace memory to be filled with states and stop. When the tg command is entered with no options, the primary branch expression of the first sequence term is displayed. This is the trigger condition only when one term exists in the sequencer.
  • Page 43: Figure 2-4. Specifying Primary And Secondary Branches

    The sequencer specification above is represented in figure 2-4. The pri- mary branch expression of the first sequence term is the address associ- ated with CALLER_3 (443H). The primary branch expression for the second sequence term is the specific write condition we would like to trace;...
  • Page 44 U>t Emulation trace started U>ts --- Emulation Trace Status --- NEW User trace complete Arm ignored Trigger in memory Arm to trigger ? States 512 (512) 0..511 Sequence term 3 Occurrence left 1 The "Sequence term" line of the trace status display shows the number of the term the sequencer was in when the trace completed.
  • Page 45: Inserting Sequence Terms (Tsq -I)

    Remember, the primary branch out of the last term constitutes the trigger. Also, a primary branch always advances to the next higher term. A secondary branch from any term is always made back to the first sequence term (global restart). Inserting Sequence The sequencer may have a total of 4 terms.
  • Page 46: Deleting Sequence Terms (Tsq -D)

    Deleting Sequence You delete sequence terms using the -d option to the tsq (trace se- quencer specification) command. For example, to delete the terms Terms (tsq -d) which were just inserted, enter the following commands. U>tsq -d 2 U>tsq -d 3 After a term is deleted, the remaining terms are renumbered;...
  • Page 47 appear before the trigger in the trace and reissuing the trace will result in the trace list which follows. U>tp -b 10 U>t Emulation trace started U>tl Line addr,H 8018x mnemonic,H count,R ----- ------ ------------------------------------ --------- 00444 0002H, opcode fetch 00443 INSTRUCTION--opcode unavailable 00446...
  • Page 48: Tracing A Program As It Starts Up

    Tracing a If a background monitor is being used, you can trace the program as it starts up by breaking to background, starting the trace, and running the Program as it program as shown by the commands below. Starts Up U>tinit U>b M>t...
  • Page 49: Accessing Full Analyzer Capability

    Accessing Full Analyzer Capability Introduction This chapter: Introduces the terms "complex configuration" and "easy configura- • tion" to represent the analyzer configurations which respectively al- low access to the full capability (as described in this chapter) and the capability provided with the easy-to-use configuration (as de- scribed in the "Getting Started"...
  • Page 50: Prerequisites

    Prerequisites Before reading the examples in this chapter you should already know how the emulator operates. You should know what the various emula- tor prompts mean, and you should know how to use the emulation commands. Refer to the appropriate Terminal Interface: Emulator User’s Guide to learn about the emulator;...
  • Page 51: Primary Branch Expressions

    Primary Branch In the "easy" configuration, primary branches are always made to the next higher sequence term. Expressions In the "complex" configuration, primary branches may be made to any sequence term. Secondary Branch In the "easy" trace configuration, the secondary branch expression is a global restart.
  • Page 52 U>help tpat tpat - set and display pattern resources tpat - display all patterns tpat <pattern> - display named patterns tpat <pattern> <label>=<value> - equals pattern tpat <pattern> <label>!=<value> - not equals pattern tpat <pattern> <label>=<value> and <label>=<value> tpat <pattern> <label>!=<value> or <label>!=<value> --- VALID <pattern>...
  • Page 53 Again, values may be specified as described in the "Getting Started" chapter. Examples of valid range specifications follow. U>trng addr=500..5ff U>trng data=0080..008f Combining Resources The eight patterns (p1..p8), the range (r for "in range" or !r for "not in range"), and the arm qualifier (described in the "Making Coordinated Measurements"...
  • Page 54 This set combination is invalid because p1 and p2 are in the same set. Note that "p1 ~ p1" is allowed; this type of expression may occasionally be useful if you are running out of pattern resources and wish to specify a logical NOT of some existing pattern.
  • Page 55: Commands That Change In The "Complex" Configuration

    Commands that Changing the trace configuration will affect the following trace com- mands. In a few cases, the options of the affected trace command are Change in the different. However, in most cases, the only difference is that complex "Complex" expressions are used where easy configuration expressions were used Configuration before.
  • Page 56: The Sample Program

    The Sample The sample program used to illustrate the use of the analyzer in the "complex" configuration is the same as the example used in the "Get- Program ting Started" chapter, except that after a certain number of random numbers are written, a quicksort routine sorts the random numbers. After the random numbers are sorted, the program runs again.
  • Page 57 25 * The instructions which follow determine which 26 * caller calls WRITE_NUMBER (depends on the last 27 * two bits of the previous random number). 0422 D0DC AH,1 0424 7207 ONE_THREE 0426 D0DC AH,1 0428 7216 CALLER_2 042A E90700 CALLER_0 042D D0DC 33 ONE_THREE...
  • Page 58 80 *---------------------------------------------------- 81 * The WRITE_NUMBER subroutine writes the random 82 * number to the RESULTS area. The second previous 83 * random number is the offset in this area. 84 *---------------------------------------------------- 0474 26889D0005 86 WRITE_NUMBER RESULTS[DI],BL 0479 C3 89 *---------------------------------------------------- 90 * The QSORT subroutine is passed the high and low 91 * addresses of some area of bytes to be sorted on 92 * the stack.
  • Page 59 04A3 8825 [DI],AH 04A5 EBE2 INC_LOW 136 * SI = low address (needed to swap dividing value). 04A7 8B7602 137 OUT SI,[BP+2] 138 * Swap dividing value and high index value. 04AA 8A15 DL,[DI] 04AC 8814 [SI],DL 04AE 8805 [DI],AL 143 * The area is now split into two smaller areas.
  • Page 60: Before You Can Use The Analyzer

    Before You Can Use You must map memory, load the program, and run the program as was done in the previous chapter. The only difference is that another block the Analyzer of emulation memory must be mapped since the stack takes up more space.
  • Page 61: The Default Sequencer Specification (Tsq -R)

    The Default After entering the "complex" analyzer configuration, the sequencer is in its default state. The tsq (trace sequencer specification) command with Sequencer no options will display the sequencer. Specification (tsq U>tsq tif 1 any 2 tif 2 any 3 tif 3 any 4 tif 4 any 5 tif 5 any 6...
  • Page 62: Specifying A Simple Trigger (Tg)

    Figure 3-2. "Complex" Configuration Default Sequencer Specifying a Using the tg (simple trigger) command in the "complex" configuration will cause the first two sequence terms to be modified. The pattern Simple Trigger specified in the tg command becomes the primary branch expression of (tg) the first sequence term.
  • Page 63 The result of the tg command in the "complex" configuration is the same as in the "easy" configuration, and equivalent tg commands (where the pattern is the same as the "easy" configuration expression, and the storage qualifiers are the same) will yield identical traces in each of the trace configurations.
  • Page 64: Using The Sequencer In The "Complex" Configuration

    Figure 3-3. Simple Trigger in "Complex" Configuration Using the This section contains three examples of setting up the sequencer: Sequencer in the "Complex" Configuration The first example shows the general steps to follow when setting • up the sequencer in the complex configuration. Labels from a hy- pothetical program are used to illustrate the steps involved.
  • Page 65: Hints To Make Setting Up The Sequencer Easy

    Hints to Make When you become experienced at using the "complex" configuration, you will be able to simply enter the trace commands for the measure- Setting Up the ment you want. Until then, following the steps listed below may make Sequencer Easy it easier for you to set up the sequencer.
  • Page 66: Figure 3-4. Flowchart Of Hypothetical Program

    taken. Also, occurrence counts may only be specified with primary branch expressions. The following examples are based on a hypothetical program whose flowchart is shown in figure 3-4. Suppose there is a problem in the hypothetical program. You can iden- tify two situations which cause this problem, but you are not quite sure as to why the problem occurs, and you would like to trace the program execution around either of these situations.
  • Page 67 when the specific state occurs in the specific process. The sequencer should take the following steps. Step 1: First of all, you want the sequencer to search for PROC- ESS_1. Step 2: After PROCESS_1 is found, you want the sequencer to search for TRIG_STATE_1 until PROCESS_1 exits.
  • Page 68: Figure 3-5. Drawing The Sequencer Diagram

    A pseudo-code algorithm of the sequencer follows. Term_1: If (PROCESS_1 occurs) Then go to Term_2. Term_2: If (TRIG_STATE_1 occurs before PROCESS_1_EXIT) Then trigger the analyzer, i.e., go to Term_5. Else if (PROCESS_1_EXIT occurs before TRIG_STATE_1) Then go to Term_3. Term_3: If (PROCESS_2 occurs before PROCESS_3) Then go to Term_4.
  • Page 69 Draw Sequencer Diagram After you have listed (or while you are listing) the steps you want the se- quencer to take, draw a state diagram of the sequencer as it would fol- low those steps. For example, the sequencer diagram for the steps listed above is shown in figure 3-5.
  • Page 70 U>tsq -t 5 Specify Storage Qualifiers Since each sequence term may have a storage qualifier, storage quali- fier specification is part of the sequencer setup. Suppose, in the exam- ple above, that you do not wish to store states while searching for PROCESS_1 but that you wish to store all states after PROCESS_1 is found.
  • Page 71: Tracing "Windows" Of Activity

    Tracing "Windows" One common use for the "complex" configuration sequencer is to trace "windows" of execution or, perhaps, to eliminate "windows" of execu- of Activity tion from traces. For example, suppose you wish to trace only the exe- cution within a certain range of addresses. These addresses could be a subroutine or perhaps they are just the addresses of instructions in which you are interested.
  • Page 72: Figure 3-6. Tracing A "Window" Of Activity

    Figure 3-6. Tracing a "Window" of Activity Specify trace patterns that equal these addresses. U>tpat p1 addr=Rand # WINDOW ENABLE. U>tpat p2 addr=RandRet # WINDOW DISABLE. U>tpat p3 addr=QsortCall # TRIGGER CONDITION. Specify the primary and secondary branch expressions, and specify the trigger term.
  • Page 73 dow enable. However, since the RAND subroutine is located after the QSORT call, prefetches from the Rand address would be interpreted as window enable conditions. Two prefetches from the Rand address occur: one before the QSORT call, and one after. The primary branch condition of the trigger term causes the sequencer to continue search- ing for the window enable condition after the two prefetches from the Rand address.
  • Page 74 Enter the tsq command with no options to display the sequencer speci- fication. U>tsq tif 1 p1 2 tif 2 p2 1 tif 3 p1 1 2 tif 4 any 5 tif 5 any 6 tif 6 any 7 tif 7 any 8 tif 8 never tsq -t 3 tsto 1 none...
  • Page 75 Starting the trace, waiting for the measurement to complete, and dis- playing the trace will result in the following information. U>t Emulation trace started U>tl -t 50 Line addr,H 8018x mnemonic,H count,R ----- ------ ------------------------------------ --------- 0046c 0600H, opcode fetch 0046a INSTRUCTION--opcode unavailable 0.120 uS...
  • Page 76: Isolating And Tracing Specific Conditions

    Isolating and Tracing There is a "bug" in this chapter’s sample program. Occasionally, after the 256 bytes of the RESULTS area have been sorted by the QSORT Specific Conditions subroutine, you will see a byte out of order in the last eight or so bytes of the area.
  • Page 77 Enable software breakpoints with the bc (emulator break conditions) command, and execute the sort macro. M>bc -e bp M>bp 489 M>bp 412 M>sort # bp -e 489;r;w 1;bp -e 412;r;w 1;m -db 500..5ff # waiting for 1 second..# waiting for 1 second..00500..0050f 80 80 81 83 83 85 88 89 8e 8f 8f 92 92 92 93 94 00510..0051f...
  • Page 78 M>r U>tg any U>tpat p1 addr=45a U>tsto p1 U>trng addr=5f8..5ff U>tpq r U>t Emulation trace started U>w -m # waiting for analysis measurements to complete... U>tl Line addr,H 8018x mnemonic,H count,R ----- ------ ------------------------------------ --------- 00428 1672H, opcode fetch 005fd 3dxxH, mem write prestore 005fc...
  • Page 79: Figure 3-7. Sequencer To Isolate Sample Program Bug

    QSORT address from being interpreted as entry into the rou- tine.) 2. If a write of 39H to address 5FFH occurs, this may or may not be the trigger event -- another condition must be tested (see 3). Else, if the QSORT routine exits before a write of 39H to 5FFH occurs, the trigger event has not occurred in this loop of the program;...
  • Page 80 The corresponding sequencer diagram is shown in figure 3-7. The commands to set up the sequencer, display the sequencer, issue the trace, and display the trace are shown below. Since we are interested in the instructions which occur before the trigger, the trigger position is specified such that only 10 states are stored after the trigger state.
  • Page 81 tif 2 p2 3 tif 3 p3 4 tif 4 never tif 5 any 6 tif 6 any 7 tif 7 any 8 tif 8 never tsq -t 4 tsto 1 none tsto 2 all tsto 3 all tsto 4 all tsto 5 none tsto 6 none tsto 7 none...
  • Page 82 U>tl -210 Line addr,H 8018x mnemonic,H count,R ----- ------ ------------------------------------ --------- -210 0048e CMP DI,SI 0.160 uS -209 00492 f5ebH, opcode fetch 0.400 uS -208 00490 JLE SHORT 04a7H 0.120 uS -207 00494 3a4fH, opcode fetch 0.400 uS -206 004a7 8bxxH, opcode fetch 0.680 uS -205...
  • Page 83 *---------------------------------------------------- * The QSORT subroutine is passed the high and low * addresses of some area of bytes to be sorted on * the stack. *---------------------------------------------------- QSORT BP,SP DI,[BP+4] ; DI = high index. SI,[BP+2] ; SI = low index. * The following section splits the area to be sorted * into two areas.
  • Page 84 INC_LOW * SI = low address (needed to swap dividing value). SI,[BP+2] * Swap dividing value and high index value. DL,[DI] [SI],DL [DI],AL * The area is now split into two smaller areas. * The last high index value is the middle of the * two areas.
  • Page 85: Using The External Analyzer

    Using the External Analyzer Introduction Your HP 64700 Series analyzer may optionally contain 16 external trace signals. These trace lines allow you to analyze additional target system signals. The external analyzer may be configured as an exten- sion to the emulation analyzer, as an independent state analyzer, or as an independent timing analyzer.
  • Page 86: Connecting The Analyzer Probe Lines To The Target System

    Connect the analyzer probe to signals of interest in your target sys- • tem. Specify threshold voltages of external trace signals. • Label the external trace signals. • Select the external analyzer mode. • Connecting the The following steps must be taken to connect the analyzer probe to the target system: Analyzer Probe Lines to the Target...
  • Page 87: Figure 4-2. Attaching Grabbers To Probe Wires

    Assembling the Analyzer Probe The analyzer probe is a two-piece assembly, consisting of ribbon cable and 18 probe wires (16 data channels and the J and K clock inputs) at- tached to a connector. Either end of the ribbon cable may be con- nected to the 18 wire connector, and the connectors are keyed so they may only be attached one way.
  • Page 88: Figure 4-3. Removing Cover To Emulator Connector

    Connecting the Probe to the Emulator The external analyzer probe is attached to a connector under the snap- on cover in the front upper right corner of the emulator. Remove the snap-on cover by pressing the side tabs toward the center of the cover; then, pull the cover out.
  • Page 89: Figure 4-4. Connecting The Probe To The Emulator

    Note Check for bent connector pins before connecting the analyzer probe to the emulator. Figure 4-4. Connecting the Probe to the Emulator Using the External Analyzer 4-5...
  • Page 90 Connecting Probe Wires to the Target System Caution Turn OFF target system power before connecting analyzer probe wires to the target system. The probe grabbers are difficult to handle with precision, and it is extremely easy to short the pins of a chip (or other connectors which are close together) with the probe wire while trying to connect it.
  • Page 91: Figure 4-5. Connecting Probe To The Target System

    Figure 4-5. Connecting Probe to the Target System Using the External Analyzer 4-7...
  • Page 92: Specifying External Trace Signal Threshold Voltages

    Specifying External The external analyzer probe signals are divided into two groups: the lower byte (channels 0 through 7 and the J clock), and the upper byte Trace Signal (channels 8 through 15 and the K clock). You can specify a threshold Threshold Voltages voltage for each of these groups.
  • Page 93: Selecting The External Analyzer Mode

    Selecting the By default, on power-up or after trace initialization (tinit), the external analyzer is aligned with the emulator. In this mode, you have 16 exter- External Analyzer nal trace signals which are clocked with the same signal(s) as the emula- Mode tion analyzer.
  • Page 94: Independent State Analyzer

    State Analyzer the emulation analyzer, except that only 16 bits of analysis are available. Your HP 64700 Series emulator now contains two state analyzers; two sets of analyzer resources (trace memory, patterns, qualifiers, etc.) are available, one for the emulation analyzer and one for the independent state analyzer.
  • Page 95: Specifying The Independent Analyzer Clock Source

    Specifying the The clock source for the independent state analyzer is specified with the xtck (external trace clock) command. The independent state ana- Independent lyzer may be clocked with target system clock signals connected to the Analyzer Clock JCL and KCL external clock inputs. (Refer to the "Selecting Clock Sig- Source nals"...
  • Page 96: External Analyzer Specifications

    External Analyzer Threshold Accuracy = + /- 50 mV. • Specifications Dynamic Range = + /- 10 V about threshold setting. • Minimum Input Swing = 600 mV pp. • Minimum Input Overdrive = 250 mV or 30% of threshold setting, •...
  • Page 97: Making Coordinated Measurements

    HP 64700 Series emulator and which involve the HP 64700 Series analyzer. The types of coordinated measurements involv- ing the analyzer which can be made internal to an HP 64700 series emu- lator are: Breaking into the monitor on an analyzer trigger.
  • Page 98: Specifying An Arm Condition

    An arm condition may not be used as a count qualifier. Specifying an Arm By default, the analyzer is always armed. This means that the analyzer arm condition is always true. The tarm (trace arm condition) com- Condition mand is used to specify or display the arm condition. The tarm com- mand with no options will display the current arm condition.
  • Page 99: Driving Signals When The Trigger Is Found

    time since the most recent trace started, even if it happened after the trace was halted or became complete. The "Arm to trigger" line displays the amount of time between the arm condition and the trigger. The time displayed will be from 0.04 uS to 41.943 mS, less than 0.04 uS, or greater than 41.943 mS.
  • Page 100: Figure 5-1. Coordinated Measurements

    Figure 5-1. Coordinated Measurements Making Coordinated Measurements 5-4...
  • Page 101: Breaking On An Analyzer Trigger

    Breaking on an The bc (break conditions) command is used to enable or disable the conditions which may break the emulator into the monitor. The inter- Analyzer Trigger nal signals trig1 and trig2 may be used to cause breaks to background. Therefore, to cause an analyzer trigger to break the emulator, you must specify that the analyzer drive one of the internal signals when the trig- ger is found, and enable a break on that internal signal.
  • Page 102: Cross-Arming Between Emulation And External Analyzers

    Cross-Arming Cross-arming between the emulation analyzer and the external ana- lyzer is a matter of specifying that one analyzer drive one of the internal Between signals (trig1 or trig2) and then specifying that the other analyzer be Emulation and armed on that signal. For example, to cause the external analyzer to External Analyzers arm the emulation analyzer, the commands below are entered.
  • Page 103: Cross-Triggering

    To cause the emulation analyzer to arm the external analyzer, enter the commands below. R>xtmo -s R>tgout trig1 R>xtarm =trig1 R>xtif 1 arm R>xtif 2 xbits=87 R>r 400 U>xt External trace started U>t Emulation trace started Cross-Triggering Cross-triggering is a special case of cross arming in which the arm con- dition triggers the analyzer.
  • Page 104 Notes Making Coordinated Measurements 5-8...
  • Page 105: Special Analyzer Topics

    Special Analyzer Topics Introduction This chapter describes analyzer topics which are not specifically related to the "easy" or "complex" configurations, the external analyzer, or coor- dinated measurements. The analyzer topics which fall into this cate- gory are listed below and described in this chapter. Displaying trace activity.
  • Page 106: Specifying The Analyzer Clock Source (Tck)

    U>ta Pod 3 = 01100100 100?000? Pod 2 = 11011101 ???????? Pod 1 = 01??1??? 00000000 External Pod = 0010?1?? 010??001 The trace signals are displayed in sets of sixteen. Pod 1 represents emu- lation analyzer trace signals 0 through 15 (the least significant bit is on the right).
  • Page 107: Selecting Clock Signals

    Notice that the user/background option is a switch in the clock specifi- cation. Changing the option as shown above does not affect the rest of the trace clock specification. It is also possible to trace both user and background code; this is accomplished by specifying both options in a single tck command.
  • Page 108: Specifying The Maximum Qualified Clock Speed

    Figure 6-1. Qualified Clocks Specifying the The maximum qualified clock rate is the repetition rate of all specified clock signals (see figure 6-1). You are allowed to select the maximum Maximum Qualified qualified clock speed of the analyzer; however, there are tradeoffs in- Clock Speed volving the trace count qualifier to be considered.
  • Page 109: Qualifying Clocks (Tck -L, -H)

    Very Fast (tck -s VF). Very fast specifies a maximum qualified • clock rate of 25 MHz. When "VF" is selected, the trace count quali- fier may not be used at all (in other words, tcq none). Qualifying Clocks The selected clock signals may be qualified with other clock signals; that is, the selected signals may only clock the analyzer when the qualify- (tck -l, -h) ing clock signal is true.
  • Page 110: Using Slave Clocks For Demultiplexing (Tsck)

    Using Slave There are two modes of demultiplexing that can be set for each 16-bit pod: mixed clocks and true demultiplexing. Clocks for Demultiplexing (tsck) Emulation trace slave clocks are specified with the tsck (trace slave clock) command. External analyzer slave clocks are specified with the xtsck (external trace slave clock) command.
  • Page 111: Mixed Clocks

    Mixed Clocks The mixed clock mode is specified with the -m option to the tsck com- mand. In this mode, the lower 8 channels of the pod (bits 0-7) are latched with the slave clock, and the master clock gates the entire pod (see figure 6-2).
  • Page 112: Figure 6-4. True Demultiplexing

    Figure 6-4. True Demultiplexing Special Analyzer Topics 6-8...
  • Page 113: True Demultiplexing

    Command Files host computer. Example The following example makes several assumptions: A host computer running HP-UX (which you are currently logged • in to). The terminal is connected to port B, and the host computer is con- •...
  • Page 114 Because you may wish to save trace specifications at any time, it is a good idea to create a macro containing the commands used to save the trace specification. U>mac tsave={po -o a; echo "cat > tspec";w 1; tcf; tpat; trng; tsq; tpq; tcq; tp; echo "#+#";...
  • Page 115 U>tsave # po -o a;echo "cat > tspec";w 1;tcf;tpat;trng;tsq;tpq;tcq;tp;echo "#+#";echo \04;po -o b U> After tsave has executed, there exists a file called "tspec" on the host computer which contains the trace specification. To use the command file to load the trace specification enter the po (port control) command with the -s option.
  • Page 116 Notes Special Analyzer Topics 6-12...
  • Page 117 Index absolute count display, 2-15 absolute files, loading, 2-6 addr (predefined trace label), 2-11 analyzer probe assembling, 4-3 connecting to the emulator, 4-4 connecting to the target system, 4-6 arm condition, specifying, 5-2 background execution, tracing, 6-2 bases (number), 2-11 bc (break conditions) command, 3-29 BNC connector, 5-1 branch expression...
  • Page 118 definition, 5-1 count qualifier, 2-22 counts displaying relative or absolute, 2-15 See also: occurrence counts cross-arming, 5-1, 5-6 cross-triggering, 5-1, 5-7 data (predefined trace label), 2-11 DeMorgan’s law, 3-6 demultiplexing mixed clocks mode, 6-7 true demultiplexing mode, 6-9 using slave clocks for, 6-6 disassembly, 2-9 easy configuration definition, 3-2...
  • Page 119 trace trigger output, 5-3 using, 4-1 features of the analyzer, 1-1 format of trace list, 2-14 global restart, 2-24/2-25 global set operators, 3-5 grabbers connecting to analyzer probe, 4-3 halting the trace, 2-7 hold times for external analyzer, 6-5 initializing the analyzer, 2-7 instruction queues, 2-9 interset operators, 3-5 intraset operators, 3-5...
  • Page 120 patterns (trace), 3-3 defining, 3-21 limitations of combining, 3-6 pipelined architecture, 2-9 po (port control) command, 6-10 predefined equates for emulator status, 2-13 predefined trace labels, 2-11 prestore, 2-20 prestore qualifier, 2-20 primary branch expression, 2-25/2-26 difference between easy and complex configuration, 3-3 probe See: analyzer probe prompts, 2-2...
  • Page 121 deleting terms, 2-29 drawing the diagram, 3-21 hints for setting up in the complex configuration, 3-17 inserting terms, 2-29 resetting, 2-24 simple trigger specification, 2-25 using, 2-23 setup times for external analyzer, 6-5 simple measurements, 1-3 simple trigger in the complex configuration, 3-14 in the easy configuration, 2-16 slave clocks, 6-6 specifications of external analyzer, 4-12...
  • Page 122 threshold voltages, specifying, 4-8 tif (primary branch expression) command, 2-25/2-26 tif (primary branch expressions) command in the complex configuration, 3-7 tinit (trace initialization) command, 2-7 tl (trace list) command, 2-8 tp (trigger position) command, 2-30 tpat (trace patterns) command, 3-3 tpq (trace prestore qualifier) command, 2-20 in the complex configuration, 3-8 trace...
  • Page 123 easy configuration, 2-25 simple complex configuration specification, 3-14 specifying a simple, 2-16 trigger condition, 2-25 trigger position, 2-30 accuracy of, 2-31 trigger term, 3-2 trng (trace range) command, 3-4 ts (trace status) command, 2-7 arm information, 5-3 occurrence left information, 2-28 sequence term information, 2-28 tsck (trace slave clock) command, 6-6 tsq (trace sequencer specification) command...
  • Page 124 Notes Index-8...

Table of Contents