D JOUR S! ••••••••••'•*• •••••••§«•••1** © Copr. 1949-1998 Hewlett-Packard Co.

advertisement
DJOUR
S!••••••••••'•*•
•••••••§«•••1**
© Copr. 1949-1998 Hewlett-Packard Co.
A Logic State Analyzer for Evaluating
Complex State Flow
Sequential triggering and selective trace are two of the
capabilities that enable this 32-bit logic state analyzer to
capture only the states of interest in complex program flow.
It also counts states, and times their execution to help
evaluate program performance.
by George A. Haag
THE FIRST LOGIC STATE ANALYZER was intro
duced in 1973, * marking the beginning of a new
age for the logic designer. For the first time since the
computer era began, he now had a tool to monitor
state flow in digital systems.
Since then, advancing technology has increased
the variety and complexity of logic devices, result
ing in more complex forms of state flow and bus pro
tocol. Consequently, a new logic state analyzer,
Model 1610A (Fig. 1), has been designed to provide
measurement facilities commensurate with these
more complex requirements. Because it has appli
cation to a wide variety of microprocessors, to the
many microprocessor peripheral activities with their
more involved state sequences, and to minicompu
ters with their use of both macro- and microprocessor
languages, Model 1610A may truly be called a
general-purpose logic state analyzer.
keyboards, CRT displays, cassette and floppy disc
drives, direct memory access, and the other func
tional units needed for a given task may use a variety
of 1C technologies, usually MOS, bipolar, and ECL.
Cover: The instrument
shown here is the HP Model
161 5 A Logic Analyzer, an in
strument with a new capabil
ity for simultaneous logic
state and timing analyses,
described in the article be
ginning on page 14. The
other articles in this issue
describe further new developments in datadomain instrumentation for the fast-burgeoning
world of digital electronics.
The Need for a General-Purpose Instrument
Most contemporary logic designs employ the con
cepts of algorithmic state machines, most of which
now incorporate microprocessors. The behavior of
these machines is characterized by their state flow
and the major application of logic state analyzers has
been monitoring the address and data buses of these
devices during investigations of system performance.
However, programming for these machines now goes
far beyond simple "in-line" code to include various
forms of branches, loops, nested loops, subroutines,
re-entrant routines, and recursive routines. Data
structures in advanced designs include arrays, stacks,
queues, and linked lists, and the machine architec
tures involve context switching and mapped and vir
tual memory schemes. Model 1610A has the program
tracing capabilities needed for analyzing the perfor
mance of these more complex systems.
A microprocessor-based system may have only one
to five chips directly involved with the CPU but the
peripheral functions may involve up to several
hundred integrated circuits. The controllers for
In this Issue:
A Logic State Analyzer for Evaluating
Complex State Flow, by George A.
H a a g
p a g e
2
Viewpoints-Chuck House on the
Ongoing Revolution in Digital Testing page 11
Interactive Logic State and Timing
Analyses for Tracking Down Problems
in Digital Systems, by John A. Scharrer,
Robert G. Wickliff, Jr., and William
D .
M a r t i n
p a g e
Entry Level Logic State Analyzer Has
High-Level Capability, by Charles T.
Small and Alan J. DeVilbiss .
1 4
page 21
Adapting the 1611 A Logic State Ana
lyzer to Work with the F8 Micropro
cessor Family, by Deborah J. Ogden page 28
©Hewlett-Packard Company, 1978
Printed in U.S.A.
© Copr. 1949-1998 Hewlett-Packard Co.
Fig. 1. Model 1610A Logic State
Analyzer traces the flow of states
up to 32 bits wide in minicomput
ers, microprocessor-based sys
tems, and other sophisticated
logic systems. The interactive dis
play and keyboard simplify the es
tablishment of highly selective pro
tocol for capturing only the data of
interest.
Model 1610A has four 8-bit input pods, with inde
pendent threshold levels settable from -10V to
+ 10V. These, plus flexible data formatting facilities,
make Model 1610A adaptable to systems that use a
variety of custom designs.
Sophisticated new ICs are arriving on the market to
simplify the design of HP-IB interfaces, CRT control
lers, mass-memory controllers, and many other sys
tems. In addition, bit-slice microprocessors are being
designed with faster, more powerful micro-coded
processor architectures that use more involved state
sequences. Model 1610A with its advanced triggering
and flexible data formatting capabilities is readily
applied to these areas.
Most minicomputers execute several micro-coded
instructions to implement one instruction of a
CDCU
U
0
0
Q0CDCD
LJuDUDlD
GlDEQ
higher-level language. Tracing micro-code with a
logic state analyzer usually involves the collection of
simple instruction sets executed at a fast rate. Model
IBlOA's ability to count states or measure time is
useful in optimizing micro-code performance. Trac
ing higher level code requires less speed but much
greater selectivity, which Model 1610A also offers.
New Capabilities
Like other logic state analyzers, Model 1610A
monitors the states (1's or O's) of bus lines or other
points in a digital system and stores a sequential
series of states for display and examination. Trigger
ing circuits initiate data capture at a point selected by
the user in the program, enabling him to find out
exactly what occurs in any part of the program as it is
o o o
Q Q
3
© Copr. 1949-1998 Hewlett-Packard Co.
o o
O
Fig. 2. Keyboard control of Model
1610 A was greatly simplified by
using the display for much of the
information that normally would
appear on the front panel. The five
keys in the CURRENT MEASUREMENT
DISPLAY block at the left enable the
selection of interactive "menus"
that direct the operator to enter
appropriate variables.
F O R H f l T
S P E C I F I C A T I O N
7
P O D 4
e
7
S T O R E - C O H P L E T E
P 0 0 3
e
P 0 0 2
7
e
P O D I
7
e
Fig. 3. FORMAT SPECIFICATION menu enables the operator to
specify the logic polarity of the data input and the numerical
base assigned to sets of input lines, as grouped by assign
ment of labels. An exclamation point under a probe marker
indicates that that probe is actively sensing transitions. In
verse video (black on white) indicates where the operator is to
make entries.
actually being executed.
What distinguishes Model 1610A from its pre
decessors is its capability for sequential triggering,
selective trace, sequence restart, and time and state
count. With much microprocessor programming now
including various forms of branches, loops, nested
loops, and subroutines, Model 1610A's sequential
triggering capabilities enable it to hold off data cap
ture until an executing program passes through the
particular branch or loop of concern. This is done by
specifying a series of steps in the program that must
be encountered in the specified order before the
analyzer starts to gather data. Furthermore, the user
can specify a certain number of times that each step
must occur, such as in a loop, before going on to look
for the next word in the sequence.
Model 1610A also has a way of eliminating the
capture of much unnecessary data: selective trace. To
use this mode, the user can specify up to seven states
(addresses, data, or whatever) and the analyzer will
then store only those states as they occur during pro
gram execution, and ignore the others. A long se
quence can thus be condensed into a shorter one.
Furthermore, the user can select a range of states for
storage by inserting X's (don't cares) into any of the
digit positions. For example, if a state were entered as
A5XX16 in selective trace, then any of the states with
in the range A50016 to A5FF16 would be stored for
display as they occur. Thus, data capture can be re
stricted for example, to only those instructions
addressed to a particular peripheral.
Another useful capability designed into the 1610A
is the ability to measure the time intervals that occur
between program steps acquired for display. By pro
viding information on how much time a program
spends in loops or in servicing interrupts, the timemeasurement capability is a useful aid in perfor
mance monitoring and program optimization. The
time intervals are measured and stored simulta
neously with the state sequences and are available for
display as either state-to-state time intervals (relative
time) or total accumulated time with respect to the
trace point (absolute time).
The counting capability can also be applied to the
number of states occurring between displayed states.
This helps determine whether the program is spend
ing time on non-essential activities while carrying
out the desired task.
A new feature that can be particularly helpful in
evaluating program performance is the 1610A's abil
ity to present a graph of state magnitude versus time,
which gives an easily-interpreted overview of pro
gram execution (see Fig. 6). Each dot in the display
represents one program step with its vertical dis
placement proportional to the numerical magnitude
represented by the state and its horizontal position
determined by its order of occurrence. The occur
rence of branches, loops, or any other departures from
"in-line" code are immediately apparent.
An Overview
Model 1610A has 32 high-impedance inputs, ar
ranged in groups of eight on four pods (a fifth pod is
provided for the clocking input). Data can be input at
clock rates up to 10 MHz. Worst-case set-up/hold time
is 20/0 ns on all 32 input channels, enabling Model
1610A to monitor state flow in minicomputers and
peripherals, as well as in microprocessors and the
sophisticated new random-logic chips now arriving
on the market.
Up to 64 words 32 bits wide can be stored at a time.
Roll keys enable the user to display any consecutive
© Copr. 1949-1998 Hewlett-Packard Co.
Fig. 4. TRACE SPECIFICATION menu helps the operator define
where in the program data acquisition is to start. In this ex
ample, data acquisition begins when the state FFFE occurs
on the 1. labelled A and the least-significant bit of F is 1.
Fig. 5. TRACE LIST menu displays the data that is captured and
stored following the occurrence of the trigger state, in this
case FFFE as specified in the TRACE SPECIF/CATION menu of
Fig. 4. The data is displayed in the numerical base selected
for each of the labelled groups of inputs. The ROLL DISPLAY keys
enable any consecutive 20 of the 64 captured states to be
brought up on the display for viewing.
20 of the stored words for examination. For ease in
reading the digital data captured by Model 1610A, the
data may be formatted in octal, decimal, or hexadeci
mal form for display, as well as in the binary form in
which it is acquired. A printer output that interfaces
to Model 9866A/B thermal line printers enables
specifications and results displayed on the CRT to be
documented at the push of a button (see Fig. 8).
Menu Control of an Instrument
A major challenge facing the designers of this in
strument was how to provide the user with the means
of controlling all this capability. The use of a key-perfunction arrangement would have resulted in an
overly complicated keyboard. A "menu" control ap
proach with directive displays and a simpler
keyboard is used to eliminate the complexity.
Referring to Fig. 2, the user selects a menu by pres
sing one of the keys within the CURRENT MEASURE
MENT DISPLAY group at the left of the keyboard. As an
example, suppose he pressed the FORMAT SPECIFICA
TION key. The resulting display would be as shown in
Fig. 3.
The top line of the display identifies the menu
selected and the current state of the instrument (TRACE
COMPLETE). The second line contains any messages for
the user concerning incorrect operation or undesira
ble external conditions (WARNING - SLOW CLOCK). The
blocks in inverse video (black on white) indicate
where entries are to be made from the ENTRY group of
keys. Annotation adjacent to the inverse video fields
explains the meaning of each field and lists the
choices.
The user inputs data into an entry field by first
selecting the field with the CURSOR keys in the EDIT
section of the keyboard. These move a blinking cursor
to the desired entry field.
Brackets in an entry field indicate that the input to
this field is controlled by the FIELD SELECT key in the
ENTRY group. Pressing this key causes the entry field
identified by the cursor to cycle through its allowable
choices. For example, in the CLOCK SLOPE field, the
FIELD SELECT key cycles the entry field through " + "
(positive edge) and "-" (negative edge). The FIELD
SELECT key thus functions as a selector switch and, in
conjunction with the CURSOR keys, replaces the many
keys that would be required in a key-per-function
implementation.
The FORMAT SPECIFICATION menu is used to format
the acquired data to suit a variety of applications. All
the data input probes are represented on the display,
grouped according to their respective pods (see Fig.
3). The probes are connected to a bus in the system
under test and labels can be assigned to identify the
parameter monitored by each probe. In Fig. 3, A's
were entered consecutively on all probes of pods 3
and 4 to indicate that these 16 bits are to be treated as
one combined variable, the address bus of a micro
processor. Another parameter is defined by D's, the
data bus, on the 8 bits of pod 2. Up to six different
dummy labels, from A to F, may be used to segment
the 32 data channels into parameters. Assignments
may be specified without regard for pod boundaries
as long as labels are defined along consecutive probe
positions. Those probes that aren't used may be
turned off by entering X's in their position with the
Fig. 6. TRACE GRAPH menu gives an overview of all 64 states
captured in the analyzer's memory, each state being rep
resented by a dot whose vertical position corresponds to its
numerical value and horizontal position to its order of occur
rence. Departures from a straight line show where the program
loops and branches. The GRAPH LIMITS keys allow the upper and
lower limits to be set so the vertical scale can be expanded for
comprehensive viewing. States outside this range are dis
played in a horizontal row above or below the dashed lines.
The brightened dots represent the states that will be displayed
when the analyzer is switched to the TRACE LIST mode.
© Copr. 1949-1998 Hewlett-Packard Co.
6), or it may be stored for comparison with data to be
acquired later (Fig. 7), such as comparing the
playback from a disc memory to the original data.
Rather than start the trace when trigger conditions
are met, the user can elect to "center" the trace, where
the 31 points prior to and the 32 states following the
trace point (trigger) are captured for display, or to
"end" the trace, where the 63 states prior to the trace
point are captured.
How It Is Used
Fig. 7. TRACE COMPARE mode compares a stored trace listing to
incoming data, displaying a non-zero where bits differ as in
step 06 of this program. The analyzer can also be directed to
rerun a measurement continuously and stop when the current
and stored traces are either equal or not equal, making it
easier to capture intermittent problems.
DON'T CARE key so they will not be displayed in the
trace listing.
The menu is completed by selecting the desired
logic polarity and numerical base for each assigned
label. A " + " logic polarity indicates that the variable
is strobed high true while a "-" indicates low true.
Selecting a numerical base (binary, octal, decimal, or
hexadecimal) defines the radix of the number system
that will be used to specify and display the data for
that label.
Other menus are shown in Figs. 4, 5, 6, and 7. The
TRACE SPECIFICATION menu (Fig. 4) enables the user to
establish the trigger conditions for acquiring data and
provides a control overview of the trace and count
functions. Following specification of the data format
and trigger condition, the user can press the TRACE
key in the EXECUTE group, and data is stored starting
with the state in the program flow that meets the
trigger conditions. The stored data may then be dis
played as a program listing (Fig. 5) or as a graph (Fig.
The capabilities of Model 1610A can be illustrated
by a few examples. Consider the branched-code flow
diagram of Fig. 8. The state flow in either path A or
path B down to address 2942 is "in-line" code and is
traceable by any logic state analyzer with a single
trigger state in the appropriate branch. However, the
state sequence following 2942 may differ according to
which branch was traversed. To trace this part of the
program following a particular branch, triggering on
a known state in the branch and then setting the
digital delay to start data capture at 2942 might work,
but there are two difficulties to be considered. First,
the path length in terms of clock pulses is rarely
known to the user because he is seldom aware of the
number of states involved in executing program al
gorithms. Second, the path length itself is often vari
able, depending on the number of wait loops, inter
rupts, data-dependent loops, and so on.
By enabling path-dependent tracing, the sequential
triggering capability of Model 1610A overcomes
these difficulties. As shown by the trace list in Fig. 8,
Model 1610A first finds address 28AF and then starts
the trace at 2942, thus assuring that the common
segment of code is traced only when the program has
passed through path A. The path length may vary, but
the start of the trace is constant. The count of states in
the trace listing of Fig. 8 shows that 81 states were
executed between 28AF and 2942 during that pass.
This example had only one branch. Most al
gorithms contain a multitude of decision branches,
Fig. 8. The program in the com
mon leg beginning with state 2942
may differ according to which path
the program followed. The printout
of the TRACE LIST shows how se
quential triggering was used by
Model 1610A to capture data be
ginning with state 2942 only when
the program followed path A.
© Copr. 1949-1998 Hewlett-Packard Co.
Fig. 9. This example shows how
variables stored at various ad
dresses before a mathematical
routine can be included in a record
by making these addresses part of
a trigger sequence. In this exam
ple, the number 33 is multiplied by
35 in the routine beginning at state
2986.
perhaps as many as one branch for every five instruc
tions. To analyze these more typical cases, Model
1610A provides as many as seven terms in a tracepoint sequence. (Terms are added by use of the INSERT
key in the EDIT section of the keyboard.)
Sequential triggering is useful in other ways. For
example, consider data-dependent procedures such
as a multiply routine whose behavior depends on the
values it is given to multiply. These values are often
loaded into registers or memory well before the
routine is called, but without knowing what they are,
the user can't tell if the multiply activity traced by a
logic state analyzer is appropriate to those particular
values.
With the 1610A, the trigger sequence can be
specified to first search for and find the addresses
where the values are stored, and then start the trace
where the multiply routine starts. The values thus
become part of the trace record, as shown in Fig. 9.
Occurrence
Fig. 10 depicts a common situation where a loop is
nested within another loop. Model 1610A has an "oc
currence" feature that enables it to pick out any pass
through any loop for tracing. It does this by requiring
a given state condition to be satisfied repeatedly a
given number of times before it advances to the next
line in the trace specification.
Referring to the example in Fig. 10, suppose the J
loop completes 1 1 passes each time it is called by the I
loop, and the I loop completes 17 passes before exit
ing to address 28CE, and suppose it is desired to trace
the eighth pass of the J loop while it is in the fifth pass
of the I loop. The trace specification (Fig. 10) causes
the instrument to find in sequence state 28B7, then
eight occurrences of 28AE followed by five occur
rences of 28A5. The number 8 (decimal) is entered into
the occurrence field for 28AE and 5 was entered into
the occurrence field for 28A5. The state count in the
resulting trace list (Fig. 10) verifies that 8x11 + 5 = 93
passes through the inner loop occurred before the
trigger sequence was satisfied.
The range of occurrence counts is from 1 to 65,536.
Occurrence is actually a more general form of the
digital delay offered in earlier logic state analyzers.
Digital delay may be specified for the 1610A by
adding another state, consisting of all X's (i.e., any
state), to the sequential trigger specification and en
tering the desired delay into the occurrence field for
that state. In most cases, however, state occurrence
is found to be more useful than digital delay.
Sequence Restart
Not every branched or looped problem can be
analyzed simply by the use of sequential triggering
and occurrence. Consider the flow diagram of Fig. 11.
The dashed line indicates a "zero length" path where
the branch from 2450 to 2452 is direct with no inter
vening states. A typical routine might be: if the
branch carry set instruction (2450) is met, jump di-
Fig. 10. Any pass in a loop nested within other loops can be captured for display by using the
OCCURRENCE feature in conjunction with sequential triggering. In this example, tracing begins with
the eighth pass of the J loop during the fifth pass of the I loop.
© Copr. 1949-1998 Hewlett-Packard Co.
2450
BCS
SKIP
Fig. 1 1 . A trace beginning at state
2452 only when the program
jumps directly from 2450 to 2452
can be assured by using SEQUENCE
RESTART to abort the trigger se
quence if 2451 occurs before
2452.
2451 SUB A MODULUS
2452 SKIP
rectly to SKIP (2452); otherwise execute the subtract
instruction (2451) then go to SKIP. How, then, can
sequential triggering be used to start a trace at 2452
only when the zero-length path is taken?
The sequence restart capability of Model 1610A
resolves this problem. Sequence restart allows the
entry of a state that will cause the trigger sequence to
be restarted if that state occurs before the trigger
sequence has been completed. In the example of Fig.
11, the trigger sequence could be: find 2450 then start
the trace on 2452. With 2451 entered into the se
quence restart field, if 2450 had been found and 2451
occurred before 2452, the sequence would be aborted
and the analyzer would begin anew to look for 2450,
starting a new trigger sequence.
The SEQ RESTART field appears in the TRACE SPECIFI
CATION menu whenever a second state is entered into
the trigger specification. Normally it is in the OFF state
(see Fig. 8) but can be turned ON with the FIELD SELECT
key. The restart state may then be entered.
Fig. 12 shows how sequence restart applies to
analyses of loops. In this example, it was desired to
find out how much time elapses between the start and
end points when traversing path 2. The path is de
scribed in the trace specification by finding 2875,
then 28B3, and start the trace at 29E4. However, with
out sequence restart, each state in the sequence could
be satisfied on a different pass through the loop. For
example, state 2875 could be acquired at the begin
ning of a cycle through path 1 while 28B3 and 29E4
are acquired during a subsequent cycle through path
2, giving an erroneous count between 2875 and 29E4.
With 29E4 entered as the restart condition, the trigger
sequence would be restarted at the end of any cycle
that branched through path 1. The resultant trace list
(Fig. 12) shows that the correct path required 148 /us
from start to end. In general, restarting on a state that
occurs at the beginning or end of an algorithm forces
a single-path solution.
This use of sequential trigger and sequence restart
enables the length of a path through an algorithm to
be measured directly. Both the time count and the
state count have a 32-bit range (4.3 x 109) counts. Time
values are measured with a resolution of 100 ns and
are displayed with four-digit resolution in units of ¿us,
ms, or s.
The restart feature has broad application. For
example, it can trace a transmission on the HP inter
face bus that addresses device 10 to talk and device 5
to listen before the unlisten command is given (restart
on unlisten). In a virtual memory environment
(swapping programs with disc), a trace specification
can find the trace point of interest within the program
when swapped into memory, and restart if it is ever
swapped out. In short, the instrument's analysis
capabilities are available to start, center, or end a
trace in virtually any form of state flow.
Selective Trace
Fig. 13, a memory map of a microprocessor routine,
helps illustrate the use of selective trace. Up to seven
state conditions can be specified and if a monitored
Fig. by SEQUENCE RESTART can prevent an erroneous measurement by aborting the trigger
sequence any time the program branches into path 1 .
© Copr. 1949-1998 Hewlett-Packard Co.
- - - Variables
: - :-
FFFF
Memory Map
Fig. 13. Selective tracing captures only significant information and eliminates insignificant
detail. The time measurements at lines 11 and 13 indicate subroutine calls were executed. Details
of these subroutines were excluded from the trace list by the selective trace.
state meets any of these conditions, it will be included
in the measurement. In general, selective tracing con
serves the trace memory, allowing pertinent data to be
gathered over an arbitrarily large time interval. Only
important states are collected while all others are
discarded. With the incidentals removed, trace list
ings are easier to read and comprehend.
The routine of Fig. 13 represents one of many
routines in a total program and is traced starting at its
entry point (2942) when called by 29FF. With selec
tive trace, specifying 294X allows routine instruc
tions from 2940 to 294F to be collected. Specifying
40XX collects the routine's output data written to a
file. The remaining conditions specified allow the
collection of a few key variables that represent inputs
to the routine. This is all that is necessary to under
stand the routine's behavior.
What is significant is what this selective trace did
not collect. The trace memory was spared from col
lecting several unnecessary variable references,
memory-consuming wait loops and handshakes, state
flow necessary to execute called subroutines, stack
references, and random interrupt transactions. The
count function, by recording the time between traced
states, indicates where states were omitted (this often
leads to discovering excessive time spent in a mal
functioning procedure!).
The selective trace technique lends itself to charac
terizing the behavior of procedures as "black box"
transfer functions in the same way that the output of
an electronic circuit as a function of its input charac
terizes the behavior of the circuit. Tracing only the
inputs and outputs of a procedure can totally describe
its behavior while collecting only a small fraction of
the total number of states. Conversely, using selective
trace to trace only key states of major routines can
describe an overview of state flow between all
routines as a whole. To illustrate, Fig. 14 shows
another memory map. To evaluate arithmetic expres
sions, the main program calls the various subroutines
while executing. Suppose it is desired to monitor the
order in which the routines are called while various
expressions are evaluated, and find the time spent in
each routine. The 1610A is asked to start the trace
upon reading the first expression, beginning at ad
dress 29B3. Then the selective trace feature is
employed to trace only the entry point to each routine
(2951, 2969, or 297F). Since these states occur only
once per call, the trace memory does not become
filled with unwanted details of each routine's execu
tion. Finally, a simultaneous count of time is
specified to measure the path length through each
routine.
The resulting trace list (Fig. 14) shows the order to
Fig. major Selective trace can be used to trace program flow between major program segments
and the execution in which subroutines are called following initiation of program execution at address
2963. The COUNT feature discloses how much time is spent in each subroutine.
© Copr. 1949-1998 Hewlett-Packard Co.
be as expected. It also shows that the divide and
multiply routines take nearly as long as the exponen
tiate routine, contrary to expectations. Detailed
analyses of the divide and multiply routines might
therefore be performed to identify which internal
procedures or loops might be refined to shorten their
execution times.
SPECIFICATIONS
HP Model 1610A Logic State Analyzer
Capturing Every nth State
Another way to encompass a long state sequence
within the analyzer's finite memory is to use the OC
CURRENCE field in the TRACE ONLY STATE specification
(see Fig. 4). For example, if the number 3 were entered
in this field, and the TRACE ONLY STATE specification
were filled with Xs (don't cares), the instrument
would store every third state, effectively compressing
a 192-state sequence into the 64-state memory.
This capability is especially useful with the GRAPH
display (Fig. 6) as it then provides an overview of state
sequences longer than 64. This is comparable to the
way that slowing the sweep rate of an oscilloscope
compresses a displayed waveform to place more of
the waveform on screen although slowing the sweep
rate may obscure fine detail. When using the OCCUR
RENCE feature with the graph display, the major de
tails of the graph are retained if the number of states
between acquired states is not too great.
CLOCK AND DATA INPUTS
REPETITION RATE: to 10 MHz.
INPUT RC: 50 kil shunted by s 14 pF at probe tip.
INPUT BIAS CURRENT: «20 fiA.
INPUT THRESHOLD: TTL, fixed at approximately +1.5 V; variable, ±10 Vdc.
MAXIMUM INPUT: -15 V to +15 V.
MINIMUM INPUT
SWING: 0.5 V.
CLOCK PULSE WIDTH: 20 ns at threshold level.
DATA SETUP TIME: 20 ns.
HOLD TIME: 0 ns.
TRIGGER AND MEASUREMENT ENABLE OUTPUTS
TRIGGER OUTPUT (rear panel): 50 ns ± 1 0 ns positive TTL level trigger pulse is
generated each time trace position is recognized. If trace position includes
a word con pulse occurs when last word is found. Trigger outputs con
tinue until a new specification is traced or STOP key is pressed. Pulse rep-rate
is 0 to 10 MHz depending on input data rates. In continuous or compared
trace rep-rates internal display process blanks out pulses for 1 00 ¡¿s at rep-rates
of <20 Hz.
MEASUREMENT ENABLE OUTPUT (rear panel): Positive TTL level mea
surement enable output goes high and remains high when 1610A is look
ing for trace position and goes low when trace position is recognized or if
STOP key is pressed, in continuous or compared trace modes transitions
repeat each time the 1610A makes a new measurement.
MEMORY screen. 64 data transactions; 20 transactions are displayed on screen.
Roll keys permit viewing all 64 data transactions.
TIME time, Resolution, 100 ns; accuracy, 0.01%. Maximum time, 429.4
seconds.
EVENTS COUNT: 0 to 232-1 events.
DIMENSIONS: 230 mm H x 425 mm W x 752 mm D (9.063 x 1 6.75 x 29.625 in.).
WEIGHT: 26.5 kg (58.5 Ib).
ACCESSORIES SUPPLIED: four 1 0248A data probes, one 1 0247A clock probe.
PRICE IN U.S.A.: $9500.
MANUFACTURING DIVISION: COLORADO SPRINGS DIVISION
P.O. Box 2197
Colorado Springs, Colorado 80901 U.S.A.
In Summary
Space does not permit further discussions of the
TRACE GRAPH and TRACE COMPARE functions (Figs. 6
and 7) but suffice it to say that Model 1610A was
developed to suit the ever-changing and increasingly
complicated needs of the digital hardware and
software designer. Analysis features such as sequen
tial trigger, occurrence, sequence restart, selective
trace, and simultaneous count of state or time offer the
power necessary to treat complex state flow in mic
roprocessors and minicomputers. Yet operator inter
face remains simple because of the menu control con
cept. These features offer the designer a reduction in
development time with measurement applications
limited mainly by his imagination.
George A. Haag
Raised in Colorado, George Haag
obtained a BSEE degree from
Colorado State University in 1968,
then joined HP's San Diego Divi
sion. He worked on the logic and
servo design of the 7200A TimeShare Plotter, was project leader
on the 9125B Calculator Plotter,
and did the software and logic de
sign for the 9862A Calculator Plot
ter. He transferred to the Colorado
Springs Division in 1972 and
started software development for
the 1610A, becoming project
' leader in 1 975. He is now a section
leader. George designed and built his own home, doing just
about everything but the foundation and framing, but still finds
time to participate in motorcycle scrambles and take his family
skiing (he has a wife and two children, 3 and 6).
Acknowledgments
Gordon Greenley shared the software development
task. Jim Donnelly and Steve Shepard designed the
high-speed data acquisition system, Paul Sherwood
engineered the processor, I/O, and performance ver
ification, and Guy Howard contributed the probes,
CRT drive circuits and the power supply design. Pro
duct design was by Don Skarke.
Reference
1. W.A. Farnbach, "The Logic State Analyzer — Displaying
Complex Digital Processes in Understandable Form,"
Hewlett-Packard Journal, January 1974.
10
© Copr. 1949-1998 Hewlett-Packard Co.
Viewpoints
Chuck House on the Ongoing Revolution in Digital Testing
The logic analyzers described in this issue represent the latest
step in for evolution of a new breed of diagnostic test equipment for
digital system troubleshooting. Logic analyzer concepts have been
discussed before in these pages1'2'3 and by now it is generally
acknowledged that logic analyzers are a powerful contribution for
design analysis and troubleshooting of digital systems.
The way in which these instruments have evolved is very in
teresting, and the implications are widespread for many engineers,
technicians, and even company managements. For this much is
clear: the world of electronics is on the threshold of a profound
revolution in the nature of design tasks and diagnostic require
ments, not to mention the opportunities and challenges in new
product development.
The nature of these changes may be illustrated by considering
the interplay between component suppliers, end-product man
ufacturers, users, and test equipment suppliers. In the 1960s, virtu
ally all component vendors supplied classical RLC parts along with
discrete semiconductors. The end-product manufacturer
employed many circuit designers, equipped almost entirely with
analog circuit skills, for the design and development of the end
product. Users varied — many were technically skilled, since en
gineers often built products for other engineering groups (e.g.,
communications and military electronics). There was, of course, a
consumer electronics segment where the users were largely non
technical and the service groups were semi-skilled.
For all of these groups, the classical analysis techniques seemed
appropriate. Those techniques, as we all know, were the frequency
domain and time domain approaches pioneered by the mathemat
ics of oscil Fourier, Heaviside, and LaPlace. Voltmeters, oscil
loscopes, counters, and spectrum analyzers are but a few of the
many test instruments that have evolved to facilitate analysis by
these basically Significantly, these instruments were basically
the same whether used in a lab, production, or field-service
environment — differing to be sure in portability, cost, accuracy,
and sophistication, but not in terms of the parametric test method.
The advent of integrated circuits and minicomputers led to a
significant expansion of computer-based system design oppor
tunities, and eventually to a modification of the product cycle
relationships. The first difference to note is the addition of a
"systems-design" block to the components-to-user-chain, an ad
mission of the importance of applications software design, I/O
considerations, and support peripherals. Note that these designers
were not very often designing hardware, except for translators,
buffers, and other circuits needed to overcome a basic interface
mismatch between two system parts. Designers and troubleshooters frequently found themselves spending long hours debugging
software, searching for glitches, or checking for noise margins. To
ease to problems, they resorted to using one minicomputer to
develop another — in-house groups built simulators, and even as
semblers and editors to help them develop applications software
more quickly. For field service, diagnostic routines became im
bedded in the software.
In effect, a new class of instrumentation was being defined as a
function of need. This need was almost transparent to the outside
world, because in large part electronic engineers not at a minicom
puter and were still designing circuits on a nodal basis, and
test equipment used by designers and computer service techni
cians still included voltmeters, counters, and scopes. In fact,
scopes were still the primary digital troubleshooting tools after the
diagnostic routine indicated that a problem existed.
But such inefficient tools! The errors in computers are largely
errors the signal data flow. A flag line fails to set at the right time, the
memory address is read incorrectly, the wrong instruction is exe
cuted, the data being massaged is transmitted with a dropped
bit — they are not electrical parameter failures, except that they are
incidently accomplished with electronic circuits. They are data
errors , occurring because of an incorrect data sequence , and as such
their analysis is more appropriately considered data domain
analysis.
Into the Data Domain
The characterization of the data domain analysis concepts at HP
came slowly during the late 1960's, based on a conviction that
classical test instruments were largely irrelevant to the design and
test requirements of the rapidly growing computer industry. That
view was shaped by our own evolving design experience with
desk-top computers, hand-held calculators, and minicomputer
controller systems.
Nodal testers were the earliest aids for design and trouble
shooting of digital systems, and they are still the least expensive.
By the early 1970's the logic probes, clips, comparators, current
tracers, and totalizing counters of HP's Santa Clara Division had
become widely used to locate stuck nodes, pulse activity, shorts
and opens, and pulse burst counts. 4'5'6'7 The time-space informa
tion content of digital signals is so important, however, that these
simple tools have been augmented by more precise techniques
based upon error-correcting code theory.
Perhaps the most powerful way of compressing large amounts of
data is typified by the classical cyclic redundancy checksums
(CRC) "Sig for error checking in large memory systems. "Sig
nature analysis" techniques based upon CRC patterns are now
appearing in instruments for data comparison analysis where large
amounts of data must be monitored, collated and analyzed in a
short some by an unskilled operator.8 The technique requires some
interactive work by the digital system designer to provide the
proper signal checks and buffers from extraneous phenomena
(such as electromechanical switch bounce), but the serviceability
and analysis power of the technique usually far outweighs the
initial design investment.
At HP's Colorado Springs Division, our initial thoughts were on
building "digital scopes" but we went to considerable effort to
explain that they were scope-like tools in terms of value for digital
designers, rather than digitizing scopes. For our internal under
standing, we began with a duality, trying to describe a function of
word and event, f(W,E), analogous to the time domain function of
volts word time, f(V,t). This allowed development of trigger word
conditions that were analogous to the scope functions to which we
were more accustomed.
We began also to view sampled data in a different context —
sampling theory had always been used before at HP to develop a
stroboscopic reconstruction of continuous high-frequency
phenomena. The mathematics of state variables and algorithmicstate-machine (ASM) concepts became very popular topics for de
signers at HP around 1970 and 1971 and state-flow data table
presentations are a clear outgrowth of this work. Thus, sampleddata theory moved from a relationship with time-domain analysis
on continuous phenomena to data-domain analysis on discon
tinuous or truly discrete event-time phenomena.
An important consideration is the total amount of data that must
be collected at every event-time in order to characterize system
11
© Copr. 1949-1998 Hewlett-Packard Co.
Bus
Analyzers
Product Manufacturer
Development Aids
Bus (State) Analyzers ~
Firmware
Bus (Timing)
Analyzers •-. . H i g h Oscilloscopes
Frequency
Parameters
Component Manufacturer
Automatic
1C
Testers
Automatic Repair to
Board Component '
T e s t L e v e l
— Nodal Testers
Signature Analyzers
Manual
1C
Testers
Lab
Production
Field
Legend for All Levels
behavior. The program counter, the instruction register, the ac
cumulators, and so forth, contain specific coded data that collec
tively describe the machine status at any one event-time. In addi
tion, most digital machines are built to operate on external data — to
add, deci multiply, or divide data, to make branching deci
sions from data comparisons, and to accumulate, store and process
still more data. Thus, to select data domain analysis as a descriptor
for a way of analyzing digital logic machines suggests both an
awareness of the machine's external function of working with
digital data and its internal operation in terms of an organized flow
of data sequences.
Data con analysis, then, is a set of analysis techniques con
cerned of designing, monitoring, and correcting the behavior of
a digital machine as a function of its internal data sequences and its
external data manipulations.
simple Boolean breakpoint trigger.1 It was developed to serve ASM
designers. The 1601L consequently emphasized the development
of such things as Boolean triggering for unique data occurrence
registration and the portrayal of data as data — in machine code
format with no time-relevence or electrical parameter display
whatsoever.
The excitement at HP was not in the first logic state analyzer,
however. It was in the concept and its application to the
"computer-on-a-chip" revolution that was being born in 1973. Our
view even then was that this was a singular opportunity for a
fundamental change in test and measurement requirements — and
that we could help to create that change by providing a reasonably
comprehensive line of instrumentation for the new class of prob
lems.
Today's Equipment
Locating the Problems
Data domain problems are manifested as improper data se
quences. It is important to note that the problem effect is always
functional (i.e., data errors are transmitted) whether the cause is
functional or electrical. This is true even for noise or voltage mar
gin testing. Consequently, the first analysis step is locating the
malfunction in the data flow sequence.
Locating a problem in data flow with an external instrument
requires data registration or synchronization between the two sys
tems, presen by data capture, possible manipulation, and presen
tation to the user. To meet this need, the Colorado Springs Division
offered the Model 1601L, the world's first commercially available
parallel-logic-state analyzer, in mid-1973. It did a relatively modest
job — it was 12 channels wide, and had 16 words of memory and a
After several years of experience now, some obvious subtrends
have emerged within this instrumentation area. We may differen
tiate aids, three major groups of equipment: development aids,
bus analyzers, and nodal testers. We have already mentioned nodal
testers. Logic state and timing analyzers are bus analyzers. De
velopment aids are tools aimed at improving the time-efficiency of
digital design, primarily in software and 1C development.
The more sophisticated development aids have been primarily
minicomputer-based to provide a higher-level language (e.g., PL-1,
FORTRAN, BASIC, ALGOL) for code generation, and a more com
plete reloca system for ease of text-editing, linking, and reloca
tion of complex subroutines.
The difficulty with microprocessor-based systems has been the
lack of lack in the operating system software, relative lack
© Copr. 1949-1998 Hewlett-Packard Co.
of high-level language support, and lack of versatility for several
microprocessors. Manufacturers of most of these systems today are
promising improvements in the software support, including
compiler-level language capability.
The disadvantage of mini-based systems has been lack of coordi
nation between minicomputer vendors, users, and instrument
manufacturers to provide a relatively simple system configuration.
Emulation is not as easy to obtain as with a dedicated
microprocessor-based system, nor is it as much of a concern when
writing in a higher level language (which lacks direct analysis
correlation in any event) for a complete chip set on a single-board
computer. One significant advantage of this type of system is the
ability to share the same software between multiple terminals so
that same designers can simultaneously have access to the same
major routines. There are today software companies offering
cross-assemblers for several microprocessors available for most
popular minicomputers. This, in conjunction with ROM
simulators (word generators) and logic analyzers offering
assembly-language tracing (e.g., HP 1611A) offers a very complete
solution for the more extensive design laboratories using micro
processors.
to place perspective on the existing and future measurement needs.
We view the problems of digital systems test at four levels: product
design, product support, system design, and system support. The
drawing at left depicts the typical tasks found in a product cycle
(e.g., from lab design to end-user maintenance). Each has its own
set of problems, but all are closely related.
It is interesting to consider what an end-user "lab environment"
might be for a bank or airline company using a large computer
system. For this grid, it seems natural to consider the EDP usergroup into software as flowing through a lab design into
production and use. It is harder to conceive of a fast-food outlet
doing any software or digital hardware design for their POS termi
nals, but easy to consider their maintenance requirement.
The grid illustrates the most effective area for each of the datadomain analysis equipments I have described. There are, of course
many overlaps and shadings where different equipment has value
that is not apparent in this diagram. Nonetheless, it should serve as
a useful guide for assessing the major area of contribution of each
type of instrumentation.
The original data-domain thesis is, of course, but a beginning. It
is important that we recognize that the breadth of data domain
analysis embraces not only local transactions of word-events, but
the entire global picture of data state-space usage. This, con
sequently, includes the statistical pattern of event-flows (e.g., his
tograms, repetitive CRC sums, or perhaps even correlation for ergodicity), and it suggests that the mathematics of data-domain
analysis already exists, but is not recognized conjunctively yet
with these measurement techniques.
As we move into the 1980's, data-domain analysis equipment
will inte all-pervasive in our industry. Very large-scale inte
grated circuitry (VLSI) and its extensions not only offer the oppor
tunity for lower-cost, higher-performance products for our society,
but also the opportunity to change our design and test
philosophies. What data-domain analysis tools make possible is
top-down design for digital designers — which should permit us to
consider not only block-structured programming languages, but
block-structured 1C layout and block-structured diagnostic and test
routines. Without this change, we could imagine the fast-paced
semiconductor revolution producing a chip capability of one mil
lion junctions or more for perhaps ten dollars by 1982 — and then
finding that 1C designers or software designers need two or more
years to use the $10 device.
Data-domain analysis techniques will help the revolution
continue.
System Bus Analyzers
The nodal testers are of chief value when it is known that a
particular product or module is malfunctioning. Bus analyzers are
of value for the more difficult task of ascertaining which portion of
a system is malfunctioning. For example, a full system may have a
central single-board-computer, two disc memory units, two dataentry terminals, and twenty on-line process-control transducers.
We may or expect the four peripheral units to incorporate one or
more microprocessors themselves, resulting in a multi-computer
network of sorts. Unravelling the network transactions is the first
priority for troubleshooting.
We may characterize each major bus area as CPU, I/O and
peripheral. The relevant parameters of the CPU bus structure are
synchronous with clock speeds usually 3 MHz or less (for virtually
all minicomputer and microprocessor systems). Bus contents may
be address, data, instructions, and control signals. The I/O bus, in
contrast, usually carries asynchronous, multiplexed data at speeds
up to 10 MHz. Moreover, it sometimes runs much longer physical
distances in a facility. Consequently, we may expect to find that
race are noise spikes, and glitches from various causes are
much more significant problems on an I/O bus than on a CPU bus.
Moreover if they exist, they will be much harder to trace to a source
because of the multiplexed architecture and data flow at a particu
lar point.
The CPU and I/O buses generally are parallel buses, which
means, among other things, that the data format may be the same on
both. data buses, in contrast, usually employ serial data
transmission, which requires further data formatting. They are
lengthy buses, but with very slow data rates, so glitches are not so
significant except in batch transmissions (e.g., across the conti
nent).
The point to be recognized here is that designing, installing, and
servicing a general computer network is not a trivial task for which
a simple tester can be described. At the same time, some very usable
general-purpose testers that will work in a variety of these applica
tion areas can be defined.
The current second-generation set of logic analyzers described in
this They are the most effective bus analyzers available. They are
configured for most bus analysis problems more or less on a bus
by-bus basis, with the very significant inclusions of cross-bus event
correlation and very powerful selective data trace for linked and
nested loop algorithms.
References
1. W.A. in "The Logic State Analyzer — Displaying Complex Digital Processes in
Understandable Form," Hewlett-Packard Journal, January 1974.
2. C.T. Data and J S. Morrill, Jr., "The Logic State Analyzer, a Viewing Port for the Data
Domain," Hewlett-Packard Journal, August 1975.
3. J.H. Hewlett-Packard "A Logic State Analyzer for Microprocessor Systems," Hewlett-Packard
Journal, January 1977.
4 G.B. Gordon, "1C Logic Checkout Simplified," Hewlett-Packard Journal, June 1969.
5. R Adler and J.R. Hofiand, "Logic Pulser and Probe: A New Digital Troubleshooting
Team," Hewlett-Packard Journal, September 1972.
6. J.F. Faults." "Current Tracer: A New Way to Find Low-Impedance Logic Circuit Faults."
Hewlett-Packard Journal, December 1976.
7. D. Priebe, "Multifamily Logic Clip Shows All Pin States Simultaneously," Hewlett-Packard
Journal, December 1976
8. R.A. Hewlett- "Signature Analysis: A New Digital Field Service Method." HewlettPackard Journal, May 1977.
Chuck House is manager of the logic analyzer department
at HP's Colorado Springs Division. He has a 8S degree in
solid-state physics from the California Institute of Technol
ogy, an MSEE degree from Stanford University andan MA in
History of Science from the University of Colorado Upon
getting his BS degree in Ã- 962 ne joined HP as a develop
ment engineer and was involved in many oscilloscope and
CRT display projects before delving into logic analyzers.
Matching Product and Need
Let us now stand back from product considerations and attempt
13
© Copr. 1949-1998 Hewlett-Packard Co.
Interactive Logic State and Timing
Analyses for Tracking Down Problems
in Digital Systems
A new instrument combines 16-bit logic state analysis with
8-bit logic timing analysis to speed the location of problems
involving asynchronous as well as synchronous events.
by John A. Scharrer, Robert G. Wickliff, Jr., and William D. Martin
narrower than the sampling period, most analyzers
latch the logic level until the next sampling pulse so
the glitch can be detected. (A glitch could be de
scribed as a spurious narrow pulse or double transi
tion that crosses the logic threshold level.)
At first glance it would seem that a real-time oscil
loscope would provide more precise timing informa
tion, which is true, but there are no fast, real-time
oscilloscopes that can display eight channels on a
single sweep nor are there any that can display the
events that occur before a trigger. Like logic state
analyzers, logic timing analyzers can continuously
replace old data in their memories with new data but
stop and retain the data when the trigger event occurs.
The logic timing analyzer thus provides information
that the real-time oscilloscope cannot.
ECAUSE THE SYMPTOM of a digital system
failure is a deviation from the system's program
sequence, logic state analyzers were designed to
locate functional problems and do so even when
the system is functionally complex. Although locat
ing a functional problem is usually all that is needed
to solve the problem, there are instances when more
information is needed than a logic state analyzer can
provide. For example, an occasional glitch on a clock,
reset, or interrupt line may give rise to a functional
problem, and timing errors, such as a foreshortened
or missing read pulse, can alter a normal state se
quence. Logic timing analyzers can help locate the
sources of these kinds of problems.
Logic timing analyzers detect events that occur
asynchronously with respect to the clock of the sys
tem being investigated. These events may occur as
handshake sequences across an I/O port, where the
order in which lines toggle is of interest, and they
often arise as a result of signal delays, cross-coupling
between conductors, reflections from impedance
mismatches and the like. Logic state analyzers, on the
other hand, are synchronous in nature, capturing the
states of the monitored lines at the moment a clock
edge occurs.
A logic timing analyzer might be described as a
multichannel digital-storage oscilloscope with twolevel resolution. It looks at up to eight input lines
simultaneously and if any of them are above a
threshold voltage level when sampled, that sample is
stored as a 1 in the memory while samples from the
lines below threshold are stored as O's. The display
circuits read out the memory repetitively and recreate
the input signals as two-level waveforms syn
chronized with the sampling pulses (Fig. 1). The tim
ing relationships between logic level changes are
thus easily evaluated.
Usually, a sampling rate four or five times faster
than the system clock is sufficient to capture asyn
chronous events of significance. For a glitch or event
Combining State and Timing Analyses
All too often, digital system malfunctions occur in
an apparently random and erratic manner. When
Fig. 1. Typical logic timing analyzer display shows the order
in which the eight monitored lines toggle. The trigger point is
indicated by the short vertical bars at the left of the display.
Raster-scan techniques are used to generate the display so
alphanumerics as well as waveforms can be displayed.
14
© Copr. 1949-1998 Hewlett-Packard Co.
Fig. 2. Model 1615A Logic
Analyzer functions as both a logic
state analyzer and a logic timing
analyzer. The state analyzer part
of the instrument can trigger the
timing analyzer so timing prob
lems related to a particular part of
a program can be located. Con
versely, the timing analyzer can
trigger the state analyzer so state
information related to a timing
event can be observed.
using a logic analyzer to look at a "time snapshot" in a
system going through a long sequence of functional
states, it is important that the snapshot be taken when
the system is executing the states or problem of con
cern and that the snapshot is located in the proper
point in the state flow. If these conditions are not met,
it is quite easy for the user to wander down the wrong
path simply because he has observed and is trying to
fix a glitch that is relatively unimportant to the prob
lem at hand.
It thus becomes desirable to monitor both the syn
chronous and asynchronous behavior of a malfunc
tioning system. To make this possible, logic state
analysis and logic timing analysis have been com
bined in a new instrument in such a way that both
areas can be investigated simultaneously (or inde
pendently) in a single-shot environment. This com
bination of capabilities greatly shortens the time
needed to track down a malfunction.
The interaction between state and time made pos
sible by this instrument, Model 1615A (Fig. 2), can
best be described by an example. The example con
cerns a microprocessor system under development
that had a small keypad for data entry and control. It
had been observed that the system detected a keydown condition and serviced the key when in fact no
key had been pressed. To track down this problem,
Model 1615A, set up in the timing mode, was con
nected to the microprocessor's interrupt line and set
to trigger on a high on this line. Model 161 5 A then
displayed interrupt pulses of normal duration on this
line when none should have occurred. However, no
glitches were detected.
Additional logic timing analyzer inputs were then
connected to the inputs to the interrupt-request
generator, a monostable multivibrator. Model 1615A
showed that a glitch occurred on one of these inputs.
The next step was to find out what was happening
in the system when the glitch occurred. The state
probes of Model 161 5A were connected to the mi
croprocessor's address bus and the analyzer was
switched to dual state and timing operation. The trig
ger was changed to start the timing trace on the glitch
on the interrupt-request generator's input line, and
the timing analyzer part of the instrument was used to
end data capture by the state analyzer part. The mi
croprocessor states leading up to the glitch were thus
captured for display. Repeated tracings made in this
mode revealed that the microprocessor was always
executing the same instructions when the glitch oc
curred.
The listing of the microprocessor code showed that
the instruction being executed when the glitch occur
red was "read I/O port 200." The I/O read line and the
chip-select input to port 200 were then connected to
the timing machine. The resulting timing display re
vealed the source of the problem: the falling edge of
the I/O read pulse coincided with the glitch.
Examination of the circuit board revealed that these
two signals ran side by side for some distance. Rerout
ing one of them to eliminate the capacitive coupling
between lines solved the problem.
15
© Copr. 1949-1998 Hewlett-Packard Co.
FORMAT SPECIFICATION TRACE-COMPLETE
7
P O D 3
0 7
Fig. 3 When configured as a
24-bit logic state analyzer, Model
161 5 A allows the user to label the
input probes and select the numer
ical base for the captured data,
using the FORMAT SPECIFICATION
"menu" (left), for easier interpreta
tion of the captured data when
displayed on the TRACE LIST (right).
P O D 2
P O D I
0 7 - â € ” â € ” - J
LOGIC POLARITY |_
BASE \aam\ KMifcl
The Instrument
locating states related to timing phenomena, as de
scribed in the example prcblem above.
Model 161 5A Logic Analyzer has three primary
modes of operation. The first is as a 24-bit, 20-MHz
state analyzer (Fig. 3). Memory is 256 words deep
with 15 words on display at one time. The words can
be displayed in binary or formatted into octal, deci
mal, or hexadecimal code. The input clock can be
qualified with up to six qualifiers and the qualifier
expression can contain two ORed terms so that pro
cessors with independent read/write qualifiers can be
monitored. Other capabilities include selective trace
and tracing after the nth occurrence of a state.
The second mode is as an 8-channel, internally
clocked, timing analyzer (Fig. 4). The captured data is
displayed in the timing diagram format and the X axis
can be expanded by a factor of 10 for greater display
resolution. Other characteristics include internal
clock rates up to 20 MHz, detection of glitches as short
as 5 ns, asynchronous pattern triggers, trigger delay
in terms of time or external clock periods, OR and
NOT triggering, and direct readout of time intervals.
It can also be triggered on glitches.
The third and newest mode involves time-state in
teraction. In this mode, 16 bits can be traced for state
analysis while at the same time 8 bits are traced for
timing analysis. The state analyzer trigger word can
trigger or arm the timing analyzer, enabling the tim
ing window to be located more precisely near states of
interest (Fig. 5). Conversely, timing (including glitch
trigger) can trigger or arm the state machine, thereby
Glitch Detection
Detectors that monitor the eight timing input lines
capture and store glitches independently of the sam
pled data. Several advantages accrue from this ar
rangement. The first is that the glitches can be inten
sified on the timing display, making their presence
obvious (see Fig. 4). This is particularly important
when narrow events occur in a relatively long time
span. Even though system operation may be quite
slow, narrow glitches can affect the operation of the
logic families commonly used in slow systems, so the
presence of a glitch nanoseconds wide should be
made known even when the displayed timing dia
gram spans milliseconds of data.
The second advantage is that a glitch occurring in
the same sample period as a data change is detected
separately and displayed as an intensified edge on the
data. A double transition or "hook" on a data transi
tion at a clock edge is an example. Separate detection
of glitches is important because glitches are likely to
occur at clock edges, where there are cross-coupling
or grounding problems, because this is when logic
lines are changing. Clock-edge reflections from im
pedance mismatches on heavily loaded or widely dis
tributed clock lines are another source of glitches.
Most glitch detectors have missed these glitches be
cause the detectors stretch them for the sampler.
Fig. allows select as an 8-bit logic timing analyzer, Model 161 5 A allows the user to select up to
three ORed trigger patterns with the TRACE SPECIFICATION menu (left). Triggering on glitches can be
ANDed higher-intensity the trigger patterns. Detected glitches are displayed as higher-intensity vertical bars
on the display DIAGRAM display (center). The brightened segment of the display can be expanded
horizontally by a factor of 10 (right) for increased display resolution.
16
© Copr. 1949-1998 Hewlett-Packard Co.
Fig. 5. In the TRACE SPECIFICATION at
left, the trigger point is specified
(below the dashed line) so the tim
ing analyzer will start data capture
by the state analyzer (above the
dashed line). In the TRACE SPECIFI
CATION at right, occurrence of the
trigger specified for the state
analyzer ends data capture by the
timing analyzer, capturing the
pre-trigger timing data.
Thus, if there is a glitch and a data change in the same
sample period, only the data is displayed. Model
1615A, on the other hand, captures both individually
and displays the glitch as a brightened edge on the
data.
A third advantage of this type of glitch detection is
that glitches can serve as triggers in conjunction with
the eight timing lines. A combination of states for the
timing lines can be ANDed with the specification
that a glitch be required on any ORed combination of
the same lines for a trace to start. This is a powerful
tool for triggering at the source of a system fault.
pies taken, with vertical graticule lines and a time- or
samples-per-division readout added to facilitate read
ing and relating data. The timing data can also be
displayed in tabular form. The glitch display can be
turned on or off as desired although glitches are al
ways captured and made available for display.
Interfacing to Model 1615A
Data and clock inputs to Model 1615A are through
four pods similar to those used in other HewlettPackard logic analyzers. Each pod has eight minia
ture probe inputs and a ground. Pod 1 is for the timing
inputs, pods 2 and 3 for state inputs, and pod 4 for an
external clock, six clock qualifiers, and a trigger in
put. Logic threshold levels are selectable between
-10V and +10V.
The man-machine interface is keyboard-andmenu-display, similar to Model 1610A Logic State
Analyzer described in the preceding article. The CRT
display is a raster-scan type for both the timing dia
gram and alphanumerics. Menus are called up by the
keyboard and changes are made by moving a cursor to
the desired location and pressing the appropriate data
entry keys. The input lines can be labelled on the
display to make it easier to format and evaluate data
listings (Fig. 3).
Versatile Triggering
Triggering is further enhanced by Model 1615A's
ability to trigger on the logical NOT-AND of the tim
ing lines. In this way, a timing trace can be initiated
when any one of several control or status lines
changes state. Furthermore, up to three combinations
of states or their NOTs can be ORed to create a threeterm trigger specification. For example, if it is desired
to trigger on the exclusive-OR of two lines, Model
1615A can be set to trigger on XXXXXX01 or
XXXXXX10, and triggering will occur when either of
these states occurs.
The actual trigger point is indicated on the timing
diagram display by short bars on a vertical line (Fig.
4). To avoid triggering on transient states that are not
of importance in determining a valid trigger condi
tion, the length of time that a trigger pattern has to
exist to be considered valid is selectable in a range
from 15 ns to 2 /j.s.
Model 161 5A can also be edge-triggered on an extra
input line provided on the clock probe. Either a + or
- edge can be selected. Actual triggering can also be
delayed with respect to the trigger state either in units
of absolute time or qualified clock pulses.
As a logic timing analyzer, Model 1615A has an
internal clock operating with periods selectable from
50 ns to 500 ms per sample, and it can also work with
an external clock. Operation is either single shot or
repetitive with pre-trigger or post-trigger data collec
tion. The trigger can be delayed in units of an external
clock even though the internal clock is used for sam
pling. The timing display shows 249 of the 256 sam-
Technical Details
The use of a microprocessor to perform the opera
tions of Model 1615A greatly simplified the amount
of hardware needed to perform the many functions.
However, for high-speed data acquisition, the mi
croprocessor is simply a controller and the actual data
collection is performed by dedicated hardware.
Each of the data inputs is to a fast ECL-III com
parator with a 50-kfl input impedance and a differen
tial output. The outputs are applied through a short
delay line to a latch within the instrument and the
outputs of the latch go to the data memory and the
trigger circuits.
The clock probe is electrically identical to the data
probes except there is no delay line between the com
parator and the latch for the clock. This insures that
the data channel hold time is zero to make certain that
the data captured is exactly that "seen" by the system
17
© Copr. 1949-1998 Hewlett-Packard Co.
the display.
The 8-bit timing section also has the glitch detec
tors. These look at the outputs of the timing datainput pod comparators in parallel with the data
latches and thus separate the glitches from the sam
pled data, storing them in a separate memory.
To overcome some of the problems associated with
earlier glitch detectors,1 the 1615A detectors were de
signed to detect glitches defined by two conditions:
(1) If a logic high is detected by the sampler clock and
a positive transition occurs during the following
sampler clock period;
(2) If a logic low is detected by the sampler clock and
a negative transition occurs during the subsequent
sampler clock period.
To see the advantages of this scheme, consider the
typical glitches shown in Fig. 6. The glitch at A would
be missed without any glitch detection scheme. With
a pulse stretcher, the glitch is lengthened sufficiently
to allow its detection by the next sample pulse.
With the new detection scheme, the sample clock
latches a low level at time T0 and a negative transition
is detected at time Tg2, indicating the presence of a
glitch. The glitch is then displayed as a bright, verti
cal bar rather than as a data unit.
under test. The clock latches the data and activates a
timing generator that writes the data into the
memories, advances the memory address counter,
and latches the trigger information.
The output of the data latch is also used as an
address for the trigger memory. If a trigger condition
has been stored at that address, the memory output
indicates a valid trigger condition. The trigger mem
ory is sampled about 50 ns after the corresponding
clock pulse is received, provided the six clock qual
ifiers meet required conditions. If the END TRACE mode
was selected, the trigger word and the 255 previous
qualified words are retained in memory in response to
a valid trigger. If the START TRACE mode was selected,
an 8-bit counter is started which allows an additional
255 qualified words to enter prior to inhibiting any
further data memory loading.
When TRIGGER DELAY is in use, a valid trigger ena
bles a 20-bit counter and the trace point is delayed
until the selected number (up to 999,999) qualified
words have entered.
Model 161 5A may be set up to capture trigger
events only instead of the trigger event and a series of
qualified words. This is done by allowing the memory
address and index counters to advance by one each
time the trigger condition (trigger plus delay) has
been met. This mode is useful, for example, for re
stricting data capture to only data that is written to a
particular I/O port.
The instrument may also be set up to trigger only
after the trigger word has occurred a specified
number of times, a useful mode for capturing data on
the exit of a loop. This is done by allowing the 20-bit
delay counter to advance only when the trigger word
is received.
Logic Timing and Glitches
The 8-bit timing analyzer section functions simi
larly to the state analyzer section except that the clock
is internally generated (at rates between 2 Hz and 20
MHz). Also, a filter on the output of the trigger mem
ory requires the trigger state to be maintained a defi
nite length of time (selectable between 1 5 ns and 2 ¿is)
for a valid sample to be obtained.
The horizontal time base can be expanded by a
factor of 10 for increased display resolution (Fig. 4).
The section to be expanded is shown by the expand
indicator, the brightened portion of the normal dis
play, and is moved right or left by the ROLL keys. The
expand indicator can also be used to measure the time
interval between any two points on the display by
zeroing the relative time indicator with the FIELD
SELECT key while the leading edge of the expand indi
cator is positioned on the first point, then moving the
leading edge to the second point. The time interval is
then displayed in the relative time indicator field on
Fig. 6. Representative glitches ( A and B) and how logic timing
analyzers react to them.
18
© Copr. 1949-1998 Hewlett-Packard Co.
signal, the sampler output would be high and U4-A
would also go high when the reset pulse occurs. This
forces U6-AQ low. If a positive transition then occurs
before the next sample clock, U5-AQ" will go low.
The next sample pulse sets Ul-Q low so all inputs
to U7 will be low, setting U9 high. The glitch reset
pulse then loads the output of U9 into thre glitch
memory for later display. The output of U9 can also be
used as a trigger.
The same sample pulse also sets Ul-Q high, disabl
ing the A detector while Ul-Q enables the B detector
by going low.
Operation for negative-going glitches is similar ex
cept that U3-A becomes active in place of U4-A, and
the roles of U5-A and U6-A are interchanged.
As for the glitch at B, a pulse stretcher would react
to the transition at time Td and stretch it until the
next sample, ignoring the glitch at time Tg3. With
the new scheme, the sample clock latches a high level
at time T0. A positive transition is then detected at
time Tg3. For display, the bright bar is superimposed
on the data transition at time Tj.
Circuit Details
A simplified block diagram of the glitch detector
for one channel in Model 161 5A is shown in Fig. 7. To
prevent dead time when the glitch detector is being
reset, there are two detectors per channel. This allows
one to be operational while the other is being reset.
Operation is as follows. Assume that Ul-Q is driven
low and Ul-Q high by a sample clock, enabling the A
detector and inhibiting the B detector. If the sample
clock had also detected a logic high on the input
Acknowledgments
Mechanical design was by Harry Short who also
Sampler Output
A Detector
(Common to 3 Other Channels)
B Detector
To Glitch
Memory
-5.2V
Fig. 7. Simplified block diagram of Model 1615A's glitch detection circuits.
19
© Copr. 1949-1998 Hewlett-Packard Co.
worked with Larry Koperski in smoothing the in
strument's way into production. Jim Williams pro
vided industrial design expertise. Dave Hood wrote a
good part of the software and took on the responsibil-
ity for all hardware in the latter stages of the project,
as well as providing a comprehensive self-test sys
tem. Product marketing managers Don Corson and
Bruce Farly contributed to the definition of the in
strument. Thanks are due Bill Farnbach, in whose
section the product was defined, and to Chuck Gustafson, in whose section the product was carried to
completion..
William 0. Martin
Bill Martin joined the HP Colorado
Springs Division in 1 972 upon get
ting his MSEE degree from the
University of Florida (he obtained
his BSEE degree there a year ear
lier). Initially he did circuit design
for a storage scope and later
worked on the vertical-channel
preamplifier of the Model 171 OB
Oscilloscope. He then returned to
¿"' -,-.- Florida, doing digital design for
i , , . ^ j/f j remote-controlled aircraft, but reI 1 turned to HP a year later where he
worked on the data-acquisition
section of Model 1615A. In offhours, Bill likes to make furniture and he also likes to take the
family (wife and two boys, 4 and 1) camping.
References
1. R. Adler, M. Baker, and H.D. Marshall, "The Logic
Analyzer: A New Kind of Instrument for Observing Logic
Signals," Hewlett-Packard Journal, October 1973.
SPECIFICATIONS
HP Model 1615A Logic Analyzer
CLOCK QUALIFIER AND DATA INPUTS
REPETITION RATE: to 20 MHz.
INPUT RC: 50 kn shunted by stA pF at probe tip.
INPUT BIAS CURRENT: «20 ftA.
INPUT THRESHOLD: TTL, fixed at approximately +1.4 V; variable ±10 Vdc.
MAXIMUM INPUT: -15 V to +15 V.
MINIMUM INPUT
SWING: 0.6V.
CLOCK PULSE WIDTH: 20 ns at threshold level.
SETUP TIME: 20 ns.
HOLD TIME: zero.
SYNCHRONOUS OPERATION
TRIGGER DELAY: to 999,999 clocks.
TRIGGER OCCURRENCE: to 999,999.
ASYNCHRONOUS OPERATION
SAMPLE RATE: 2 Hz to 20 MHz.
DATA SKEW: 9 ns maximum.
MINIMUM DETECTABLE GLITCH: 5 ns with 30% peak overdrive or 250 mV,
whichever is greater.
GLITCH glitch on any selected channel(s), if glitch Is captured glitch Is
AND ed with asynchronous pattern trigger.
EXTERNAL TRIGGER PULSE WIDTH: 5 ns minimum with 30% peak overdrive
or 250 mV, whichever is greater.
PATTERN TRIGGER: any 8-bit pattern. Trigger duration required is selectable
1 5, 50, 1 00, 200, 500, 1 000, or 2000 ns ± 1 5 ns or 1 5%, whichever is greater.
DELAY TIME: to 1, 048, 575 x sample period.
TRIGGER OUTPUTS (rear panel)
16/24 BIT TRIGGER OUTPUT
LEVEL: high, 3=2 V into 50 11; low, sOA V into 50!!.
PULSE DURATION: approximately 25 ns.
DELAY FROM INPUT CLOCK: approximately 85 ns.
16/24 BIT TRACE POINT OUTPUT
LEVEL: high, ^2 V into SOU; low, «0.4 V into 50Ã!.
PULSE DURATION: starts at beginning of trace and ends at trigger point
(pattern trigger plus delay).
DELAY FROM INPUT CLOCK: approximately 85 ns.
8 BIT PATTERN OUTPUT
LEVEL: high, ^2 V into 50Ã!; low «0.4 V into 50Ã!.
PULSE DURATION: pattern duration minus asynchronous trigger duration
width.
DELAY FROM PATTERN RECOGNITION TRIGGER AT PROBE: approxi
mately 75 ns plus asynchronous trigger duration width.
Robert G. Wickliff, Jr.
Bob Wickliff was born and raised
in Columbus, Ohio, and obtained
BSEE (1969) and MSEE (1970)
degrees from nearby Ohio State
University. Following graduation,
he worked on electronic countermeasures as a graduate re
search associate In OSU's ElectroScience Lab, coauthoring sev
eral papers in the process. Four
years later he joined HP, going to
work In the CRT lab, where he con
tributed the design of the Model
1741 A Oscilloscope's variablepersistence/storage tube, then in.
the logic timing analyzer group where he did the firmware for
Model 1 61 5A. Bob and his wife enjoy extended travel In their VW
bus but lately they've been stay-at-homes, doing plumbing,
wiring, and other things in the shell home they bought.
John A. Scharrer
A native of Sheboygan, Wisconsin,
John Scharrer obtained a BSEE in
1 963 and an MSEE degree In 1 965
from the University of Wisconsin,
then joined Hewlett-Packard. At
HP, he was Involved for several
years In vertical amplifier design
for scopes and CRT displays and
was project leader on some of the
1200-series scopes and displays,
the 1707A oscilloscope, and
several 180-series oscilloscope
plug-ins. He was project leader for
the Model 1615A Logic Analyzer
and is now group leader for logic
timing analyzers.
spare time, John enjoys biking, tennis,
and bridge-playing with his wife, and camping with the whole
family (all girls, 11,8, and 4) In their camper.
GENERAL
MEMORY DEPTH: 256 data transactions (in timing display mode, 249 samples
are displayed).
POWER: 100. 120, 220, 240 Vac; -10% to -t-5%; 48 to 66 Hz: 230 VA max.
DIMENSIONS: 189 mm H x 426mm W x 664 mm D (7,438 x 16.75 x 26.125 in.).
WEIGHT: 19.1 kg (42 Ib).
ACCESSORIES SUPPLIED: three 8-bit Model 10248B data probes and one
Model 10248B opt 001 clock probe with probe leads and tips (three for data and
one for clock, qualifiers, and external trigger).
PRICE IN U.S.A.: S6800
MANUFACTURING DIVISION: COLORADO SPRINGS DIVISION
P.O. Box 2197
Colorado Springs, Colorado 80901 U.S.A.
20
© Copr. 1949-1998 Hewlett-Packard Co.
Entry Level Logic State Analyzer Has
High-Level Capability
Operable by a first-time user without any prior instruction,
this compact, portable logic-state analyzer is also capable
of sophisticated analyses of data flow. Moreover it's
programmable, making possible low-cost, automatic
systems for functional testing.
by Charles T. Small and Alan J. DeVilbiss
signed to be as self-explanatory as possible. For
example, the FORMAT group of keys at the left enables
the first-time user to select the logic polarity, the edge
on which the clock triggers, and the format in which
the data is to be displayed without referring to an
instruction manual. However, operating procedures
are outlined on an instruction card mounted in the
flip-up lid (Fig. 3). The card gives all the information
necessary for the first-time user to apply the machine
to problems in digital program execution. The card
also lists a number of messages from the machine to
the operator, such as "no clock," that are identified by
code numbers displayed by the machine at appro
priate times.
WHAT STARTED OUT during the product def
inition stage to be an easy-to-understand, lowcost logic state analyzer has evolved into a highly
versatile though economical instrument, Model
1602A (Fig. 1). A multi-faceted tool that is equally
useful in the design lab, in the field, and on the pro
duction line, this new instrument still retains a high
degree of "friendliness" for the uninitiated user.
Like other logic state analyzers, the new Model
1602A has a multi-input probe that can be connected
to an address bus, a data bus, or other group of digital
signal lines, and it can be set to capture and store a
series of states or words appearing on these lines in
response to the occurrence of a selected trigger word.
The user can thus obtain a record of a sequence of
logic states in a form suitable for analysis.
Ease of operation was a primary design goal for
Model 1602A. Thus, the keyboard (Fig. 2) was de-
Briefcase Size
In the interests of portability, Model 1602A is
housed in a briefcase size package. To keep things
small, the stored information is displayed on a row of
18 seven-segment LEDs, rather than on a CRT. When
displaying stored data, the two LEDs at the far left of
the display show the address of the analyzer's mem
ory contents that are displayed in the center. If there is
room in the display, which is the usual case except
when the binary display format is used, the next word
in memory is displayed on the right (Fig. 2). The
64-word memory can be rolled forward and backward
through the display with the NEXT WORD and PRIOR
WORD keys.
The captured data, stored in binary form, can be
displayed in decimal, octal, hexadecimal, or binary
format. When test parameters such as the trigger word
are being entered, the LEDs display the entered data
for verification in the same format selected for the
data.
Versatile Probes
Fig. 1. Model 1602A Logic State Analyzer captures and
stores for analysis sequences of 64 digital words up to 16 bits
wide occurring at rates up to 10 MHz. Although designed for
ease of use. it is capable of seeking and capturing the desired
information in complicated programs.
Another design feature related to ease of operation
is the input probe. The single probe has inputs for 16
data lines, a clock input, a clock qualifier, and
ground. The input end of the probe has a standard
21
© Copr. 1949-1998 Hewlett-Packard Co.
Untangling the Probing Problem
As logic state analyzers grow In versatility, the number of
simultaneous signals they should monitor also grows. As a
means of inputting all these signals, the conventional miniature
grabber probes serve very well in a research environment but in
a production test environment where the same measurement
may be made on many products in succession, reconnecting 1 6
or more leads becomes a time-consuming chore that most
companies can ill afford.
i I
Fig. 3.
connector shown at the bottom right of Fig. 2. More likely, the
design engineer may wish to make his own lead set for soldering
into a circuit semipermanently or for connecting to a clothes-pin
style in clip. For these applications, the connector is available in
a connector body without any leads. Individual leads or flat
cable can then be attached to the connector as desired. The
engineer can also make his own 20-pin pc connectors and wire
them into circuits to be tested.
Fig. 1.
One solution to this problem is shown in Fig. 1 . By terminating
the Model 1602A Logic State Analyzer probe pod with a
circuit-board edge connector, a multiplicity of convenient, lowcost methods of connecting up to 16 signals to the analyzer
becomes available, as shown in Fig. 2.
The fastest and most direct way to make these connections is
to include 20-pin edge connectors on the circuit boards in the
system to be tested. The desired signals are routed to the
appropriate pins on the connectors. The probe pod can then be
attached quickly with the added advantage of eliminating any
danger of misplaced signal leads.
For the development lab, the new probe pod is easily adapted
to conventional miniature probe connections by the multilead
Working with the HP Interface Bus
To facilitate connections to the HP interface bus, a probe
connector is available attached to a ribbon cable that is termi
nated in an HP-IB connector shown center right in Fig. 2 and
also in Fig. 3. This can be plugged on to any of the piggy-back
connectors in an HP-IB system. The logic state analyzer is then
enabled to monitor activity on the bus, encoding the eight data
lines for display in the octal number base while the eight control
lines are displayed in binary.
Where the Model 1 602A is to be used extensively for work with
HP-IB systems, an input probe pod (Fig. 3) has been designed
to work specifically with the bus. It serves as a pre-processor for
the logic state analyzer by providing three sources of clock input
as follows: (1 ) the DAV (data valid) line, which causes data to be
loaded into the logic state analyzer whenever any device on the
HP-IB system places data on the bus; (2) the NDAC (not-dataaccepted) line, which clocks data into the analyzer whenever
the intended recipient receives data; or (3) the parallel-poll state
(ATM and EOI lines low), which enables the analyzer to monitor
the response of HP-IB devices to the HP-IB controller's request
for device status. The probe pod also has a pushbutton for
manually entering the status of the HP interface bus at any time.
The clocking signal can also be qualified so only HP-IB com
mands are monitored or only HP-IB data. In addition, logic
circuits in the probe pod monitor every HP-IB three-wire hand
shake sequence and flash a LED indicator whenever an abnor
mal sequence is detected. The abnormal sequence also causes
a trigger pulse to be supplied to an oscilloscope probe socket
on the or body. Using this trigger pulse, an oscilloscope or
logic timing analyzer can help track down the timing problems
that may be involved in an abnormal handshake sequence.
Fig. 2.
tached and detached (see box above). During the de
sign phase of a digital system, several lead sets can
printed-circuit-board edge connector that allows var
ious arrangements of probing leads to be quickly at
22
© Copr. 1949-1998 Hewlett-Packard Co.
a
a
a
a
a
QQQ ^QGD0CD oo
Fig. 2. Model 1602A's keyboard
is self-explanatory. The 18-digit
LED display shows two consecu
tive words stored in memory, when
operating in the octal, decimal, or
hexadecimal mode, with the ad
dress of the center word shown at
left. With binary words more than 6
bits wide, it displays one word and
its address.
1602A LOGIC STATE ANALYZER HEWLETT
be attached to the system with each set dedicated to a
given logic state measurement. Thus, a quick and
easy shift from one measurement to another is possi
ble. This avoids individual wire hook-ups, which are
tedious when 16 leads are involved and whose con
nection sequence may be suspect. In addition, if stan
dard edge-connector pads for the probe are included
on a PC board being designed, a quick and reliable
probing interface becomes permanently available.
The threshhold level of the input lines is fixed at 1.5
volts, compatible with TTL circuits. The instrument
accepts data at clock rates up to 10 MHz. Set-up and
hold times are 35 and 0 ns respectively. The 16 data
inputs can be connected to data buses, qualifiers, or
any other lines that have information of interest. In
the majority of applications, the user monitors the
address bus of a system as this clearly delineates
program flow.
With the probe connected to the appropriate points
in the system, operation is straightforward. To select
the segment of program flow to be monitored, the
operator presses the TRIGGER= key then enters the
appropriate trigger word using the part of the key pad
appropriate to the numerical base chosen. Data cap
ture can be delayed beyond the trigger word by enter
ing the desired number of states of delay (up to
65,535) with the DELAY= and the decimal keys. The
operator can elect to start data capture on the trigger
(plus any specified delay), or stop data capture with
the trigger word (plus delay) thereby preserving the
data leading up to the trigger point. He can then
examine the acquired sequence using the NEXT WORD
or PRIOR WORD keys to cause the display to roll through
the stored data, or the WORD NUMBER= key to find a
particular word in memory. The AT TRIG WORD key
returns the display to a known point.
Beyond the Elementary
The capabilities described so far are those of a basic
logic state analyzer. As a matter of fact, the new Model
1602 A has all the capabilities of the first logic state
analyzer, HP Model 1601A,1 with the added advan
tages of accepting up to 16 rather than 12 inputs and
storing 64 rather than 16 states. However, in the
hands of the knowledgable user Model 1602A is cap
able of far more sophisticated testing. For example, it
can be used to monitor the termination of a program
loop by being able to delay data capture until the nth
pass through the loop. This is done by entering an E
after pressing the DELAY= key. This causes the in
strument to delay data capture until the trigger word
has been encountered n more times, where n is the
number entered following E. This mode is known as
the delay-by-events mode.
Related to the delay-by-events mode is the traceevents mode. This mode is invoked by entering E
immediately after the TRACE key is pressed. The in
strument will then store only those words that meet
the trigger specifications (i.e., trigger plus delay).
This mode is used to trace all events that satisfy a
particular condition, such as all accesses to a particu
lar page of memory. In this case, part of the trigger
23
© Copr. 1949-1998 Hewlett-Packard Co.
MEASUREMENT MODEL
the hexadecimal, decimal, or octal format and the
remainder in binary (Fig. 4). This mixed display
mode is obtained by first pressing the WORD WIDTH =
key followed by the total number of bits in the word (if
less than 1 6) , then pressing the HEX, DEC, or OCTAL key
followed by the number of bits to be encoded. These
bits, which will be the lowest numbered bits, will be
encoded for display while the remainder will be dis
played in binary.
The mixed display mode is useful for simultaneous
monitoring of a data bus and control lines. Informa
tion on the data bus can be encoded for easier in
terpretation while the states of the control lines are
presented in binary as high or low (1 or 0). These lines
can be identified on the Model 1602A by writing their
names on labels that can be placed on tabs located in
front of the display window. The tabs allow the labels
to be changed quickly and conveniently when the
measurement set-up is changed.
MESSAGE CODES
-
-
Fig. 3. The instruction card inside the flip-up lid gives com
plete instructions for operating the instrument and also ex
plains the operator messages that the analyzer presents in
code.
Automated Test Systems
With an optional plug-in HP-IB interface card in
stalled, Model 1602A can serve as a "transducer" fora
system controller in an automatic test system, feeding
sequences of logic states it acquires to the system
controller for analysis (Fig. 5) . This enables very rapid
functional testing of digital systems in a production
or service environment.
When a test program is being prepared, Model
1602A can be set up manually for a particular test and
then allowed to perform the test on a known, good
unit. Following this, the system controller can be
instructed to interrogate Model 1602A, which will
then transfer all its control settings and the contents
of its memory to the system controller, where the
information becomes part of the test program. Sub
sequently, during execution of the test program, the
controller will set up the 1602A exactly as before and
when the 1602A acquires data according to this set
up, the controller will compare the new data to the
previously stored data. The test program can be de
vised to indicate to the operator the steps to be taken
appropriate to the result of the comparison. With the
proper test procedures, the causes of functional prob
lems can be isolated very quickly this way, not only
on the production line but in field service as well.
An application program has been prepared for the
word is common to all accesses and this part is en
tered into the trigger specification. The remaining
part of the trigger specification is filled with DON'T
CARES and the data of interest is input on these lines.
The trace-events mode is particularly useful when
used with a trigger-plus-delay specification. For
example, this could be used to monitor changes in a
program step in an iterative loop. The program step
captured would be n steps (the selected delay)
downstream from an unchanging word in the loop
that is used as the trigger word.
Additional qualification of the trigger word can be
obtained by use of the rear-panel TRIGGER QUALIFIER
input. Anything that holds this input in the low state
prevents the instrument from responding to the trig
ger word. This single qualifier can be expanded to
four qualifiers by use of the Model 102 50 A Trigger
Probe, which is essentially a four-input AND gate.
A similar arrangement is used to provide additional
qualifiers for the CLOCK input. Anything connected to
the rear-panel CLOCK QUALIFIER input that holds this
input low prevents the instrument from loading data,
recognizing trigger words, or counting delay cycles.
This function can be used for sorting data. For ex
ample, if the ATN line of the HP interface bus is con
nected to this input, the 1602A will not recognize
clock edges when commands are on the data lines
(ATN is low), but when data is on these lines (ATN
high) , the 1602A will load the data into its trace mem
ory when trigger conditions are met.
Address in Memory
Mixed Display Mode
To aid in the interpretation of data acquired simul
taneously from two different types of inputs, the in
strument is able to encode part of each data word into
Binary
Hexadecimal
Fig. 4. Mixed display mode encodes the lowest-numbered
bits into the octal, decimal, or hexadecimal format (CA here)
and displays the remaining bits in binary.
24
© Copr. 1949-1998 Hewlett-Packard Co.
Data
Fig. 5. Model 1602A, shown here with a Model 9825A Desk
top Computer, is programmable by way of the HP Interface
Bus and is thus easily adapted to automatic test systems.
Model 9825A Desktop Computer working with the
Model 1602A Logic State Analyzer. Available on a
tape cartridge, this is a conversational program that
directs the user to set up the 1602 A for the various test
procedures he wants, and automatically inserts the
control settings and data for comparisons into the
program. A complete test program, stored on tape for
subsequent use, is generated very quickly this way
without requiring the user to know the formal HPL
language of the Model 9825A Desktop Computer.
Production versions of the Model 1602A are tested
by such a system. Use is made of the HP-IB port to
make the inner workings of the 1602A readily acces
sible to the test system. A complete test is completed
in less than an hour, including any repair and retesting time needed for units that don't work when first
turned on. This compares with the more than four
hours of production test time that was required for
earlier logic state analyzers.
Instrument Organization
A simplified block diagram of a basic logic state
analyzer is shown in Fig. 6. The fundamental element
is the random-access memory (RAM). It stores a se
quence of program steps or states appearing on the
lines being monitored, usually the address bus of a
digital system. With this configuration, loading the
memory is inhibited until the pattern trigger circuit
recognizes the occurrence of a particular bit pattern
on the monitored lines and closes the clock-line
switch, starting the counter.
The counter supplies the addresses for loading the
memory and when it reaches terminal count, it stops.
The sequence of states loaded into memory is thus
retained for display.
Fig. 6. Block diagram of a basic logic state analyzer.
Alternatively, the clock-line switch could be closed
initially and then opened when the trigger pattern
occurs. The state sequence leading up to the trigger
pattern is thus retained for display. Or, a digital delay
can be added between the pattern trigger and the
clock-line switch so memory loading start or stop is
delayed by a selected number of clock periods.
A simplified block diagram of Model 1602A is
shown in Fig. 7. Trigger pattern recognition in this
instrument is done with two 2 56 x 1-bit memories
whose outputs are ANDed to provide 16-bit pattern
capability. Data from the input probe is latched on the
trigger memory address lines by the external clock. If
a 1 is stored in each memory at its 8-bit part of the
address, a trigger pulse is generated.
Once a trigger pulse is generated, the delay
generator is enabled and the trigger memory is in
hibited by setting the memory chip-select lines high.
If more than zero delay has been selected, the delay
generator, which is essentially a counter, is in
cremented by each subsequent qualified clock pulse.
When the delay counts out, if the analyzer is in the
trigger-starts-trace mode the data memory address
counter is enabled. This fact is reported to the micro
processor. The address counter is then incremented
by each qualified clock pulse until the 63 states fol
lowing the trigger-plus-delay specification are stored
in the data memory.
When the completion of a trace is reported to the
microprocessor, it takes control of the data memory
address counter and accesses the word selected for
display by incrementing the address counter. It then
generates the LED control signals for displaying the
characters one at a time, completing a display scan
25
© Copr. 1949-1998 Hewlett-Packard Co.
Trigger Plus
Delay
Register
Delay Trace Point Output
Output
Data
Out
(2 Bytes
Per Word)
Clock
Fig. Analyzer. clarity, block diagram of Model 1602A Logic State Analyzer. For the sake of clarity,
switches for changing the operating mode and various gates for qualifying the clock and trigger
pulses have been omitted.
that is reloaded by the microprocessor whenever the
delay number is changed. Whenever the delay is
counted out, the delay generator is reloaded from the
delay register and the trigger memory chip-select
lines are set low so trigger pattern recognition is again
enabled. The trigger-recognition-delay-count se
quence repeats independently of the rest of the in
strument, except during data memory loading, so the
TRIGGER-PLUS-DELAY output can be used to trigger an
oscilloscope or other instrument repetitively. This
part of the instrument functions, in effect, as a break
point register.
every 18 ms. It also scans the keyboard every 18 ms.
In the delay-by-events mode, the delay generator is
incremented by the trigger pattern only when the
trigger pattern occurs. The trigger memories are not
inhibited by the delay generator but remain enabled.
(The switches for reconfiguring the instrument in this
and other modes are not shown in Fig. 7).
In the trigger-plus-delay-ends-trace mode, the data
is constantly clocked into the data memory but trigger
recognition is inhibited until enough data has been
acquired to fill the data memory. Data acquisition
then continues, each new state replacing the oldest
state in memory until the trigger-plus-delay specifi
cation is met. Data acquisition then stops and the
microprocessor takes charge of the memory for read
out.
The trigger memories are loaded with the trigger
pattern by configuring the input data latch as a
counter to drive the memory address lines. The mi
croprocessor initializes the counter and supplies
clock pulses to increment it. When the counter output
is the same as a desired trigger pattern, the micro
processor loads a 1 into the memory at that address.
Otherwise it loads a 0.
The delay register is a serial-in-parallel-out register
Rear-Panel Outputs
The "trigger plus delay output" indicated in Fig. 7
is a rear-panel output labelled TRIG OUT. It supplies a
TTL-level pulse each time trigger-plus-delay condi
tions are met. It is useful as an oscilloscope trigger
when investigating system timing problems.
The TRACE POINT output is also on the rear panel.
This output is normally high, going low when the
TRACE key is pressed and returning to the high state
when trigger conditions are met. This can be used as
an interrupt signal and it also enables two or more
Model 1602A's to operate in parallel.
26
© Copr. 1949-1998 Hewlett-Packard Co.
Operating two Model 1602A's in parallel to effect a
32-bit logic state analyzer is accomplished by using
the TRACE POINT output of one, designated the "mas
ter," to drive the TRIGGER QUALIFIER input of the other,
designated the "slave." The trigger word on the slave
is then set to all "don't cares" so triggering can be
controlled by the master.
Both the TRIGGER and TRACE POINT outputs lag the
input clocks by about 150 ns. This means that in
parallel operation the data in the slave unit is one
clock period behind the master unit, and it also limits
the maximum clock rate to about 6 MHz.
microprocessor ROMs are checksummed. the I/O
ports are toggled and read back, and operation of the
microprocessor RAM is verified. During the tests, the
resulting information is compared to references in the
microprocessor's ROM. If the test fails, E99 is dis
played. The user then refers to the manual to find
instructions on how to step through the self test and
interpret the displayed messages, which indicate
where the problem lies. If the self test finds no prob
lems, the display shows all 8's.
Acknowledgments
Package design was by Bill Fisher. Don Miller did
the product design and the probing system. Thanks
are due Bill Farnbach for help in defining the instru
ment and to John Scharrer for starting the hardware
design.
Self-Test
Each time Model 1602A is turned on, 22 tests are
performed on the data acquisition hardware (except
for the probe) using the input latch as a counter driven
by a 2-MHz clock to supply test patterns. Also, the
Alan J. DeVilbiss
Al DeVilbiss joined HP in 1965
after working four years on
spacecraft sequencers and com
puters. At HP he contributed to the
1300A Large-Screen Display and
the 183A 250-MHz Oscilloscope,
and worked with the HP Corporate
Engineering Group on heattransfer problems before doing
the HP-IB interface hardware and
software design for Model 1602A.
Al obtained a BSEE degree from
Louisiana Polytechnic University
(1960) and an MSEE from the
California Institute of Technology
(1961). For fun, Al designed a miniature computer for use in
enduro motorcycling and sports car rallies (he drives a TR4). He
also designed his own home, now being built. He and his wife
have a boy, 10, and a girl, 12.
Charles T. Small
"— Chuck Small joined HP in 1966 as
<* a test technician, moved to the R
and D lab two years later to build
and debug prototype pulse
generators, and then joined the
logic state analyzer group in 1 972,
contributing to the design of the
Models 1601L and 1600A before
becoming project leader for the
Model 1602A. Chuck has an AE
degree from the Portland (Oregon)
Community College and obtained
a BS degree in EE and Computer
Science from the University of
Colorado in 1977. He also taught a
logic-circuits lab it UC, using a Model 1602A to teach state
analysis. Chuck's a model railroader (HO) and does some
woodworking. He and his wife have two children, 1 and 5.
SPECIFICATIONS
HP Modef 1602A Logic State Analyzer
CLOCK, DATA, AND QUALIFIER PROBE INPUTS
REPETITION RATES: to 10 MHz.
INPUT LOAD: one low power Schoflky gate (<400 fjA source).
INPUT THRESHOLD: TTL, fixed at approximately 1.5 V.
MAXIMUM INPUT: <+5.$ V.
MINIMUM INPUT
LEVEL; J--0.5 V.
SWING: (rom «+0.4 V (low) to s*+2.4 V(high).
CLOCK PULSE WIDTH: ^25 ns at threshold.
DATA SETUP TIME: 35 ns threshold.
HOLD TIME: 0 ns.
TRIGGER AND CLOCK QUALIFIER INPUTS(Rear Panel)
INPUT LOAD: 6 mA maximum source.
MAXIMUM INPUT: • . +55 V
MINIMUM INPUT
SWING: from *+0.4 V (low) to *+2.5 V (high).
SETUP TIME: 40 ns wilh 10250A probe. 10 ns without probe
HOLD TIME: 15 hs with 10250A probe, 30 ns without probe.
TRIGGER AND TRACE POINT OUTPUTS
HIGH: ;=2 V into 50Q.
LOW. S.-0.4 V into SOn.
PULSE DURATION (width)
TRIGGER: high for approximately one clock period.
TRACE POINT: sets low when TRACE key is pressed, returns high when Irat
specification is met,
DELAY FROM INPUT CLOCK: <150 ns.
GENERAL
POWER: 100. 120, 220. and 240 Vac; -10% + 5%, 48 to 66 Hz: SO VA maximum.
DIMENSIONS: 107 mm H x 275 mm W x 421 mm D (4.219 x 10.813
16.563 ¡n,).
ACCESSORIES SUPPLIED: one external probe pod. one connector wil
individual clock, ground, ana data probe leads with tips,
ACCESSORIES AVAILABLE
Connectors with and without leads.
ADAPTER, 10050A: when used as passive connection to 1602A, loac
each HP-IB signal line with one Schottky TTL gate (<400 ¿iA sourci
except DAV which is loaded with two low-power SchottKy TTL gate
(<BOOnA source).
27
© Copr. 1949-1998 Hewlett-Packard Co.
HP-IB TEST PROSE, 10051A
INPUT LOAD one low-power Schottky TTL gate (<400 ^A source) on
each HP-IB signal line.
INPUT THRESHOLD: TTL fixed at approximately 1.5 volts except DAV,
NRFD, NDAC, ATN, EOI which are buffered with low-power Schottky
TTL hysteresis gates (positive-going threshold approximately 1.7 V, nega
tive-going threshold approximately 0.9 V).
MAXIMUM INPUT: =5 + 5.5 V.
MINIMUM INPUT: >-0.5 V
DIFFERENTIAL SIGNAL DELAY: signals on ATN and EOI lines are delayed
approximately 30 ns more than DIO 1-e, SRO. IFC. and REN which are
applied to 1602A data inputs without buffering.
DATA HOLD TIME: 50 ns.
OPTIONS: 001: HPIB Interface.
PRICES IN U.S.A.; $1800. Opt 001, add $300 10050A HP-IB Adapter. $35.
10051 HP-IB Test Probe. $185
MANUFACTURING DIVISION: COLORADO SPRINGS DIVISION
P.O. Box 2197
Colorado Springs, Colorado 80901 USA.
Adapting the 1611 A Logic State Analyzer
to Work with the F8 Microprocessor Family
Microprocessors are not all alike. Adapting a dedicated
instrumentto test several different kinds of microprocessors
poses some interesting challenges but also provides
opportunities to broaden capability.
by Deborah J. Ogden
GREATLY SIMPLIFIED ANALYSIS of program
flow in microprocessor systems was made pos
sible by the use of "personality" modules in the
Model 161 1A Logic State Analyzer1 (Fig. 1). Each
personality module customizes the logic state ana
lyzer for a particular microprocessor by providing
input probes whose pin connections, trigger levels,
and clock slope match the microprocessor's, and by
providing a capability for converting the machine
language of the microprocessor into mnemonic lan
guage (Fig. 2). The probes greatly simplify set-up of
the instrument while display of the microprocessor's
instructions in mnemonic language makes it much
easier to interpret the "snapshot" of executing pro
gram steps captured and retained for display by the
logic state analyzer.
Two personality modules, one for 8080 and one for
6800 microprocessors, were available at the time of
the 161lA's introduction. Personality modules for
Z80 and F8 microprocessors have since been de
signed. Adapting the analyzer to this variety of
microprocessors posed a variety of problems.
Personality Requirements
To fit into the existing 1611A Logic State Analyzer
structure, a personality module needs four parts: a
probe, a front-panel control organization, a personal
ity board, and a ROM board (Fig. 3). The probe inter
faces with the microprocessor system, buffering the
signals supplied to the logic state analyzer. The per
sonality board latches microprocessor data, ad
dresses, and status information with the help of
Fig. 1. Model 1611 A Logic State
Analyzer uses "personality" mod
ules to configure the instrument for
testing digital systems designed
around particular microproces
sors. Each personality module es
tablishes the appropriate pin con
nections for the probe, sets the
proper clock slope and threshold
levels, and encodes the micro
processor's data bus contents into
the mnemonic code used for that
microprocessor.
28
© Copr. 1949-1998 Hewlett-Packard Co.
ADDRESS
AORS
0B2B
0B2C
0B2E
0B31
04CD
0B:
0B _ _
0B4S
04 D5
L
I
N
DATA
structured differently from other microprocessors. It
was designed so only a few components are needed
for simple systems but expansion is possible for more
complex systems. Particularly challenging from the
logic state analyzer point of view was the absence of a
separate address bus for the F8 CPU and the lack of a
wait, halt, or bus-request line for suspending micro
processor operation. Yet a design goal for the F8 per
sonality module was similarity to other modules so a
user familiar with logic state analyzer operation with
other modules would not have to relearn instrument
operation.
The CPU of an F8 system has a 64-byte RAM that is
used as a scratch-pad memory but all other memory
(RAM or ROM) is in external components. Each of the
ROM components, called program storage units
(PSU), has a program counter and a data counter for
accessing its own internal data. Data is transferred on
a bidirectional 8-line data bus with data flow control
led by a 5-line bus (ROMC) that identifies the type of
information on the data lines and what the satellite
components must do with it during each instruction
cycle, such as write data-bus contents to memory,
place contents of I/O port on data bus, add data-bus
contents to data counter, and so on.
Since a separate address bus is not required, each of
the CPU and PSU components has 16 pins available
for two 8-bit I/O ports. The simplest F8 system there
fore needs only two components, a CPU and one PSU.
If more than IK of ROM is needed, more PSUs can be
EXTERNAL
PRE-TRIGR=10
E
0
O P C O D E / D A T A E X T E R N A L
0 3
R E A D
1 1 1 1
1 1 1
L Â · I S
F
1 1 1 1
1 1 1
M S
S
1 1 1 1 1 1 1
D C
I
0 4 C D
1 1 1 1
1 1 1
A D C
1 1 1 1
1 1 1
0 8
D C A D
1 1 1 1
1 1 1
L I
F F
1 1 1 1 1 1 1
DS 1
B M 0
I N S
COM
S R 4
B Z 0
LM
0 0
1
B 4 0
1
B 4 0
R E A D
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Q
0
0
0
0
0
0
0
Fig. 2. Eac/i personality module enables Model 1611 A to
display the contents of a microprocessor's data bus in the
microprocessor's mnemonic code. This allows the user to
rapidly scan large blocks of code to determine if a program is
executing properly.
clocks and control signals from the microprocessor,
and at the end of each microprocessor machine cycle
it provides clocks to the logic state analyzer for stor
ing the output of these latches. Other functions of the
personality board are to control halting of the micro
processor, provide status information to the front
panel, and generate a self-test routine for the logic
state analyzer.
The front panel displays status information, such as
NO CLOCK , and it has various switches such as those
that select normal or single-step program tracing and
the hexadecimal or octal display format. The ROM
board has all the software needed by the logic state
analyzer including the inverse assembler that trans
lates the microprocessor machine code into
mnemonics.
All personality modules are required to be passive
to the system under test. This is because a major
advantage of a logic state analyzer over development
systems is that it can help in design and debugging a
system without having any effect on the system, other
than adding a small amount of capacitance to the
lines being monitored and drawing a small amount of
current for driving the personality module's buffers.
The only active role the logic state analyzer plays is
halting and single-stepping the microprocessor.
Otherwise, it merely "takes snapshots" of the pro
gram flow for display.
Fig. 3. Block diagram of a personality module for the Model
1611 A Logic State Analyzer. The microprocessor probe can
clip onto the microprocessor in the user system with a
"clothes-pin" clip, or the probe can plug into the microproces
sor socket with the microprocessor plugged into a socket on
the probe body.
Attributes of the F8
The personality module for the F8 series proved to
be an interesting challenge. This is because the F8 is
29
© Copr. 1949-1998 Hewlett-Packard Co.
Personality Module Operation
added, each of these contributing two more I/O ports.
Other F8 devices, the static memory interface (SMI)
and dynamic memory interface (DMI), output addres
ses to external RAMs and ROMs. These also have
internal program and data counters, but no separate
I/O ports. A multi-unit F8 system may then have sev
eral program and data counters, but they must all
contain the same values. This synchronization is per
formed by the ROMC lines under control of the CPU.
The basic timing of the personality board, whose
main function is grabbing data, address, and status
information, was designed around the timing specifi
cations for the F8 CPU. During program execution,
each event in the microprocessor system is triggered
by a CPU-generated clock pulse called WRITE. When
an op-code is placed on the data lines, all the ROMC
lines are at the zero level and the information on the
data lines is valid on the falling edge of the WRITE
clock. When ROMC £ 0, information on the data lines
is valid on the rising edge of the WRITE clock. The
personality module must therefore monitor the
ROMC lines to decide on which edge to clock the
data, then latch it during the small time window
where it is guaranteed valid. Flags are also generated
by the ROMC lines to indicate the transaction type.
The circuitry for doing all this is diagrammed in
Fig. 4.
Because the 1611 A Logic-State Analyzer normally
monitors microprocessor address and data lines
simultaneously, some means of tracking the F8 ad
dresses is needed. This is accomplished by using one
of the F8 system's own SMI (static memory interface)
chips within the F8 personality module to monitor
the data lines and generate outputs according to the
states of the ROMC lines. The flags generated by the
ROMC lines (Fig. 4) then tell the personality module
when to latch the information on the data lines as data
and when to latch the output of the SMI as an address.
The control inputs to the SMI are set so it cannot drive
the data bus or respond to an interrupt; it serves
merely as a passive monitor.
The 1611A Logic State Analyzer normally provides
means of halting a microprocessor at the end of a trace
New Features
The absence of a separate address bus allowed a
useful feature to be added to the logic state analyzer's
F8 personality module. Since the CPU package has 16
pins for the two I/O ports, data on these pins can be
supplied through the analyzer's microprocessor
probe directly to the analyzer's eight external input
lines. If the user wishes to monitor these I/O pins, he
does not have to make individual connections to them
with the analyzer's external probe. A three-position
front-panel switch determines whether I/O port 0, I/O
port 1, or the external probe supplies the data that is
written in the external field on the analyzer display.
A bank of trigger qualifier switches is another new
feature. A set of flags derived from the ROMC lines by
the personality module can qualify trigger words so
triggering occurs only when the selected qualifiers
are true. The qualifiers are READ op CODE, which al
lows triggering only on op-code fetch machine cy
cles, READ OPCODE, which allows triggering on any
read cycle except op-codes, WRITE, which allows trig
gering only on memory-write cycles, and I/O, which
allows triggering only on I/O cycles. These trigger
qualifiers have proved so useful that they have been
designed into the other 1611A personality modules.
Data and
Address
Storage
Clock
Fig. 4. Logic state analyzer clock
is derived from the external mi
croprocessor WRITE pulse by these
logic circuits that detect whether
clocking is to occur on the rising or
falling edge of the WRITE pulse.
30
© Copr. 1949-1998 Hewlett-Packard Co.
T—r
-5V
+ 5V
To Probe
Buffers
and User
System
Multiplexer
From
IMP
Socket
ROMC4
ROMC3
ROMC2
Halt
/J.P in Socket
Fig. 5. Halt circuits intercept the
ROMC signals to supply a no-op
(1 1 10Q2) to the rest of the external,
microprocessor system. A no-op
Instruction is also placed on the
data bus.
From
Personality
Board
(data capture cycle). This gives the user an opportun
ity to examine program execution in blocks of up to 64
steps before asking the microprocessor to continue.
The halt capability, used in the single-step mode, also
enables the user to go through a program one step at a
time.
Since the F8 CPU has no halt input, the F8 personal
ity module accomplishes halt indirectly. To enable
this capability, the CPU must be plugged into the
probe body and the probe tip plugged into the micro
processor's socket in the system being tested. This
enables the personality module to break into the
ROMC lines and supply a no-op (ROMC = 111002) to
the rest of the system when an opcode fetch (ROMC =
000002) is output by the CPU. About 100 ns after this
break, which gives time for all the external units to
place their data lines in the high-impedance state, the
personality module places a no-op instruction on the
data lines. Until the halt is released, the CPU executes
a no-op instruction repetitively but the program
counters in the rest of the system will not be in
cremented because of the no-op on the ROMC lines.
Fig. 5 is a diagram of the halting circuitry. Only the
three most significant bits of the ROMC lines are
affected because the two least significant bits are zero
for both an op-fetch and a no-op transaction. The
three lines are run through a multiplexer that
switches either the ROMC lines (B inputs) or a "high"
state (A inputs) to the Y outputs, depending on the
state of the HALT line (S input). In either state, the Yl
output grounds the bases of transistors that pull up
any "high" output line to 3.6V for the benefit of the F8
CMOS circuits. This pull-up is needed because the
multiplexer, which is low-power Schottky, outputs a
high of only 2.4V. Low-power Schottky is used here to
obtain a sufficient speed advantage over CMOS.
If the F8 CPU is not in the probe socket, the /tP-lN/
SOCKET line turns off the multiplexer. The Y outputs
then go to a high-impedance state and the pull-up
transistors turn off so as not to interfere with any
activity on the ROMC lines. The ^P-IN-SOCKET line also
disables the halting circuitry and displays an error
message (HALTING NOT ALLOWED) if the front-panel test
mode switch is set to TRACE THEN HALT or TRACE SINGLE
STEP. The ,uP-lN-SOCKET line is enabled by a circuit that
senses the voltage drop across a 1-ohm resistor in
series with the + 5V supply line to the microprocessor
Deborah J. Ogden
An early interest in mathematics
led Debbie Ogden to a BS degree
in computer science at North
Carolina State University and a job
writing programs for manipulating
three-dimensional computer
graphics in the University's EE lab.
This generated an interest in com
puter hardware problems which
led to an MSEE degree (1976) and
a job at Hewlett-Packard's Col
orado Springs Division. At HP,
Debbie's first assignment was the
F8 personality module. Outside of
working hours, Debbie enjoys
outdoor activities like skiing or back-packing, and recently she's
taken up woodworking in a local adult educational program with
the goal of making furniture.
31
© Copr. 1949-1998 Hewlett-Packard Co.
socket. Current is drawn through this resistor only
when a microprocessor is in the socket of the probe
body and the probe is correctly connected to a pow
ered system.
Acknowledgments
Roger Molnar did the product design for the F8
personality module (Model 10259A). Sheila McCullough provided the pc board layout. Jeff Smith, Bill
Farnbach, and Justin Morrill contributed valuable
engineering ideas, and Chuck House, logic analyzer
department manager, inspired everyone involved to
make the extra effort needed to bring this product to
the marketplace in good time.
Reference
1. J.H. Smith, "A Logic State Analyzer for Microprocessor
Systems," Hewlett-Packard Journal, January 1977.
SPECIFICATIONS
Option OF8 for HP Model 1611 A Logic State Analyzer
NOTE: Option OF8 (Model 10259A) is compatible with any microprocessor that meets the specifications ot the Fairchild F8.
CLOCK AND WRITE
CLOCK RATE: 100 kHz to 2 MHz.
WIDTH: 180 ns minimum for either high or low state.
INPUT CURRENT: approximately 50 /¿A, logic high and low.
INPUT CAPACITANCE: approximately 25 pp.
THRESHOLD: 2.4 V to 5.5 V, logic 1 (high); -0.8 to 0.8 V, logic 0 (low).
WRITE PERIOD: either 4 or 6 times the clock period.
WRITE PULSE WIDTH: maximum=clock period, minimum=clock period- 100ns.
RÓMC
INPUT CURRENT: approximately 220 (¿A, logic 0 (low); approximately 40 /¿A,
logic (high).
INPUT CAPACITANCE: approximately 25 pF.
THRESHOLD: 2 V minimum logic 1 (high); 0.7 V maximum logic 0 (low).
SETUP TIME: 200 ns minimum relative to second falling edge of <f> after WRITE
goes low.
HOLD TIME: 60 ns minimum relative to falling edge of WRITE.
DATA, I/OO, I/O1, EXTRES
INPUT 20 approximately 200 fiA, logic 0 (low); approximately 20 (¿A,
logic 1 (high).
INPUT CAPACITANCE: approximately 25 pF including 30.4 cm (12 in.) cable.
THRESHOLD: 2 V minimum logic 1 (high); 0.7 V maximum logic 0 (low).
DATA SETUP AND HOLD TIMES
If ROMC=0, times are relative to falling edge of WRITE; setup, 200 ns minimum;
hold, 50 ns minimum.
If ROMC^O, times are relative to rising edge of WRITE; setup, 350 ns minimum;
hold, 50 ns minimum.
1/OO AND 1/O1 : setup, 300 ns minimum; hold, 50 ns minimum.
EXTERNAL PROBE INPUTS
INPUT CURRENT: approximately 50 >iA, logic 0 or logic 1.
INPUT CAPACITANCE: approximately 25 pF at probe tip.
THRESHOLD: 2.4 V to 5.5 V, logic 1 (high); -0.8 V to 0.8 V, logic 0 (low).
SETUP TIME: 150 ns minimum relative to rising edge of WRITE for ROMC^O,
or to falling edge of WRITE for ROMC=0.
HOLD to zero relative to rising edge of WRITE for ROMC=0, or to falling
edge of WRITE for ROMC=0.
NOTE: all inputs have hysteresis.
HALTING: If 1611 A Test Mode Switch is in TRACE THEN HALT or TRACE
SINGLE an and F8 CPU is not in socket on probe with probe connected to an
energized user system, then halt is not possible. 161 1 A CRT will display: Halting
Not Allowed.
OUTPUTS
LOW: <0.4 V Into 500.
HIGH: >2.0 V into 50(1 (nominally 3.9 V into open circuit).
TRIGGER: duration, approximately 75 ns (RZ format); delay, approximately
350 ns after 'rising edge of WRITE if ROMC^O, and approximately 350 ns
after valid edge of WRITE if ROMC=0 during cycles that define a valid
trigger.
TRACE POINT ( J~ ): provides positive edge approximately 350 ns after rising
or falling edge ot WRITE (as explained for Trigger Output) during cycle that
defines specific valid trigger to be displayed on 1611A. If 1611A delay is set
such that trigger word is not displayed, TRACE POINT OUTPUT occurs for
cycle that defines valid word immediately preceding first displayed word.
TRACE POINT ( ~\_ ): complement of TRACE POINT ( J- ).
1611 A General
MEMORY time; 64 data transactions; 16 transactions are displayed at one time;
roll keys permit viewing all 64 transactions.
TIME (16.7 accuracy, 0.1% ±1 /is. Maximum time, 2M-1 |¿s (16.7 s).
EVENTS COUNT: 224-1 events (16.7 million) maximum.
LOGIC PROBE OUTPUT POWER: 5 Vdc at 0.1 A maximum.
POWER: 100, 120,220, 240 Vac; -10% +5%; 48 to 440 Hz, 120 VA maximum.
DIMENSIONS: 206 mm H x 426 mm W x 522 mm D (8.125 x 1 6.75 x 25.5 in.).
WEIGHT: 15 kg (33 Ib).
ACCESSORIES SUPPLIED: one microprocessor probe, external 8-bit probe; one
40-pin cm with 30.5 cm (12 in.) cable, one 40-pin male socket with 30.5 cm
(12 in.) cable; one 40-pin male socket with 7.6 cm (3 in.) cable.
PRICE IN U.S.A.: Model 1611A Logic State Analyzer with Opt OF8, $5200.
10259A Personality Module for Field Installation, $1250.
MANUFACTURING DIVISION: COLORADO SPRINGS DIVISION
P.O. Box 2197
Colorado Springs, Colorado 80901 U.S.A.
Hewlett-Packard Company, 1501 Page Mill
Road, Palo Alto, California 94304
HEWLETT-PACKARDJOURNAL
FEBRUARY 1978 Volume 29 . Number 6
Technical information from the Laboratories of
Hewlett-Packard Company
Hewlett-Packard Central Mailing Department
Van Heuven Goedhartlaan 121
Amstelveen-1134 The Netherlands
Yokogawa-Hewlett-Packard Ltd., Shibuya-Ku
Tokyo 151 Japan
Editorial Director • Howard L. Roberts
Managing Editor • Richard P. Dolan
Art Director, Photographer • An/id A. Danielson
Illustrator • Susan E. Wright
Administrative Services, Typography • Anne S. LoPresti
European Production Manager* Dick Leeksma
To change peels address or delete your name from our mailing list please send us your old address label (it peels off).
Send changes to Hewlett-Packard Journal, 1501 Page Mill Road, Palo Alto, California 94304 U.S.A. Allow 60 days.
© Copr. 1949-1998 Hewlett-Packard Co.
Download