The Agilent Technologies 16554A 70 MHz State/500 MHz Timing Logic
Analyzer offers just enough memory and just enough speed to solve
most digital debug problems.
Getting Started
• “Analyzer Probing Overview” on page 101
• “Setting Up a Measurement” on page 10
• “When Something Goes Wrong” on page 33
• “Error Messages” on page 33
Measurement Examples
• “Making a Basic Timing Measurement” on page 22
• “Making a Basic State Measurement” on page 18
• Advanced Measurement Examples (see the Measurement Examples help
volume)
• “Interpreting the Data” on page 26
More Features
“Coordinating Measurements” on page 31
Using Inverse Assembly (see the Listing Display Tool help volume)
Using Symbols (see page 104)
Using Markers (see the Markers help volume)
“Loading and Saving Logic Analyzer Configurations” on page 32
Connect the Analyzer to the Target System 10
Define the Type of Measurement 11
Set Up the Bus Labels 13
Define Trigger Conditions 14
Run the Measurement15
Examine the Data 16
Making a Basic State Measurement18
Making a Basic Timing Measurement 22
Interpreting the Data26
Analysis Using Waveform 26
Analysis Using Listing 28
Coordinating Measurements31
Loading and Saving Logic Analyzer Configurations32
When Something Goes Wrong 33
Interference with Target System 33
Error Messages 33
Nothing Happens 39
Suspicious Data 39
Testing the Logic Analyzer Hardware40
5
Contents
The Sampling Tab41
Acquisition Depth 41
Setting the Acquisition Mode 42
Performing Clock Setup (State only) 42
Naming the Analyzer 45
Turning the Analyzer Off 46
Sample Period (Timing Only) 46
Trigger Position Control 47
The Format Tab49
Importing Netlist and ASCII Files 50
Exporting ASCII Files 52
Importing ASCII Files 52
Termination Adapter 54
E5346A High Density Adapter 55
Mapping Connector Names 56
Import the Net List File 56
Verify Net to Label Mapping 57
Select/Create Interface Labels 58
Activity Indicators 58
Assigning Pods to the Analyzers 59
Data On Clocks Display 60
To reorder bits in a label 63
Labels: Mapping Analyzer Channels to Your Target 64
Setting Up the Pod Clock 64
Pod Selection 65
Setting the Pod Threshold 66
State Clock Setup/Hold (State only)67
6
Contents
The Trigger Tab69
Understanding Logic Analyzer Triggering 70
Setting Up a Trigger 72
Inserting and Deleting Sequence Steps 73
Editing Sequence Steps 74
Setting Up Loops and Jumps in the Trigger Sequence 75
Saving and Recalling Trigger Sequences 76
Clearing Part or All of the Trigger 77
Overview of the Trigger Sequence 77
Trigger Functions 78
Working with the User-level Function85
Defining Resource Terms 88
Tagging Data with Time or State Tags (State Only) 95
Arming Control 95
Specifications and Characteristics97
What is a Specification 97
What is a Characteristic 97
What is a Calibration Procedure98
What is a Function Test 98
Agilent Technologies 16554A Logic Analyzer Specifications 98
Agilent Technologies 16554A Logic Analyzer Characteristics 99
Analyzer Probing Overview 101
The Symbols Tab 104
Displaying Data in Symbolic Form 105
Setting Up Object File Symbols106
To Load Object File Symbols 106
Relocating Sections of Code 108
To Delete Object File Symbol Files 109
Symbol File Formats 109
Creating ASCII Symbol Files 110
Creating a readers.ini File 115
7
Contents
User-Defined Symbols 118
To Create User-Defined Symbols 118
To Replace User-Defined Symbols 118
To Delete User-Defined Symbols 119
To Load User-Defined Symbols 119
Using Symbols In The Logic Analyzer120
Using Symbols As Trigger Terms 120
Using Symbols as Search Patterns in Listing Displays 121
Using Symbols as Trigger Terms in the Source Viewer 121
Using Symbols as Pattern Filter Terms 121
Using Symbols as Ranges in the Software Performance Analyzer 122
After you have connected the logic analyzer probes to your target
system, (see page 10) there are five basic steps for any measurement.
1. “Define the Type of Measurement” on page 11
2. “Set Up the Bus Labels” on page 13
3. “Define Trigger Conditions” on page 14
4. “Run the Measurement” on page 15
5. “Examine the Data” on page 16
Refine measurement by repeating steps 3 - 5.
If you load a configuration file, it will set up the logic analyzer and
trigger. For your particular measurement, you may need to change
some settings.
See Also “Making a Basic Timing Measurement” on page 22
“Making a Basic State Measurement” on page 18
Measurement Examples (see the Measurement Examples help volume)
Making Basic Measurements for a self-paced tutorial
Connect the Analyzer to the Target System
Before you begin setting up a measurement, you need to physically
connect the logic analyzer to your target system. Attach the pods in a
way that keeps logically related channels together and be sure to
ground each pod. Analysis probes, available for most common
microprocessors, can simplify the connection process.
The logic analyzer pods carry the signals to the logic analyzer from
your target system. Connect the pods either directly to the target
system or to an analysis probe. You can attach the pods either directly
to a 40-pin header, to a 20-pin header with an adapter, or use the
General Purpose Probes to attach to individual channels.
If you are using an analysis probe, Setup Assistant will guide you
through the process based on your logic analyzer and the analysis
probe.
Step 1: Describe the Measurement (see page 11)
See Also“Analyzer Probing Overview” on page 101 for more detail on types of
probes
Setup Assistant (see the Setup Assistant help volume)
Logic Analysis System and Measurement Modules Installation Guide
for probe pinout and circuit diagrams.
Define the Type of Measurement
There are two types of measurements: state measurements and
timing measurements. Use the Sampling tab to select either type
and to specify the details particular to that type.
In a state measurement, the analyzer uses an external clock to
determine when to sample. Each time the analyzer receives a state
clock pulse, it samples and stores the logic state of the target system.
In a timing measurement, the analyzer is analogous to an oscilloscope.
It samples at regular time intervals and displays the information in a
waveform similar to the oscilloscope.
Set Measurement Mode
Each measurement type has different measurement modes. In general,
there is a trade-off between number of signals and speed.
Because the measurement type and mode affect clocking and trigger
options, you must set the measurement type first.
Set up State Clock
For state measurements, you must specify a clock to match the
clocking arrangement used by your target system. It can be as simple
as a single rising edge, or a complex arrangement of up to four signals.
If the clock is incorrect, the trace data may indicate a problem where
there isn’t one. Specify the state clock in Clock Setup.
The equivalent in timing mode of the state clock is the Sample Period.
The Sample Period sets the time between logic analyzer samples. For
reliable data, the sample period should be no more than half of your
clock period. Many engineers prefer setting it to one-fourth of the clock
period.
Set up the Trace
The remaining controls finish your description of how you want to
capture data. The trigger position determines where the events you
specify in the trigger sequence will be relative to the majority of the
data the logic analyzer captures.
Memory depth is affected by the measurement mode. Some logic
analyzers also let you limit how big the acquisition will be with an
Acquisiton Depth control.
See Also“The Sampling Tab” on page 41 for information on setting type and
assigning pods
“Setting the Acquisition Mode” on page 42 for links to this analyzer's
modes
“Performing Clock Setup (State only)” on page 42
Set Up the Bus Labels
The next step is to finish defining the physical connection between the
target system and the analzyer. Use the Format tab to tell the analyzer
what you want to measure on the target system. If you load a
configuration file, this step is taken care of for you.
Group and Label Signals
Because the logic analyzer can capture dozens or even hundreds of
signals, you need to organize the signals by grouping and labeling
channels. Labels are used to group these channels into logical signals;
for example, "addr bus". These groupings are then used in the trigger
tab and the data displays. A label can have up to 32 channels. Each
measurement can define 126 labels. Active channels are indicated like
so .
Set Threshold Level
The logic analyzer needs to know what threshold level the target
system is using. You can set the analyzer to use a Standard or a User
Defined threshold voltage. The logic analyzer requires a minimum
voltage swing of 500 mV at the probe tip to recognize changes in logic
levels.
Step 3: Define Trigger Conditions (see page 14)
See Also“Assigning Bits to a Label” on page 60
“The Format Tab” on page 49
Define Trigger Conditions
The third step is to define the trigger. The trigger settings tell the
analyzer when you want to capture data. Controls for this are located
under the Tri g ger tab. Configuration files saved from previous
measurements automatically define trigger settings.
Set Up a Trigger Sequence
The trigger sequence is like a small program that controls when the
logic analyzer stores data. There are trigger functions for the common
tasks, or you can set up your own. The logic analyzer starts at the first
trigger level, and stays there until the conditions described in that level
become true. When that happens, the logic analyzer goes to the next
level and follows the instructions there.
Trigger terms are like variables that you use in the trigger sequence.
Depending on what analyzer you are using, you can either assign the
values directly from within the trigger sequence or from the tabs
(pattern, range, edge).
Step 4: Run the Measurement (see page 15)
See Also“Defining Resource Terms” on page 88
“Understanding Logic Analyzer Triggering” on page 70
“Setting Up a Trigger” on page 72
“The Trigger Tab” on page 69
Measurement Examples (see the Measurement Examples help volume)
Setting Up a Measurement
Run the Measurement
You run the measurement by selecting the Run button. The Run button
is labeled either Run, Group Run, or Run All. The difference between
the three types is that Run starts only the instrument you are using,
Group Run starts all instruments attached to group run in the
Intermodule window, and Run All starts all instruments currently
placed in the workspace.
Runs can be single or repetitive. Single runs gather data until the logic
analyzer memory is full, and then stop. Repetitive runs keep repeating
the same measurement and are useful for gathering statistics. To stop a
run, select the Stop button.
NOTE:Repetitive runs on a logic analyzer don’t do equivalent time sampling like
oscilloscopes do.
If Nothing Happens...
Analyzers with deep memory take a noticeable amount of time to
complete a run. Because data is not displayed until acquisition
completes, it may look like nothing is happening. Check the Run Status
window to see if the logic analyzer is still running. Messages such as
"Waiting in level 1" may indicate you need to refine your trigger. If the
status shows as "Stopped", the analyzer either finished the acquisition,
or was unable to run. The cause of the problem is listed in the bottom
half of the Run Status window, and the messages are explained in more
detail in “Error Messages” on page 33.
Step 5: Examine the Data (see page 16)
See Also“When Something Goes Wrong” on page 33
Examine the Data
Data from your measurement can be viewed in various display windows
or offline. Some of the things you can do in the display windows are
• Use markers to make measurements and gather statistics
Search for Patterns
You can search displays for certain values, and place markers on them.
There are two global markers which keep their place across all
measurement views, even across instruments.
Display Correlated Data
There are several tools for correlation. The Intermodule window allows
you to specify complex triggering configurations using several
instruments. It is also useful for starting acquisitions at the same time.
Global markers mark the same events in different displays, so you can
switch views without having to reorient yourself. The Compare tool lets
you compare two different acquisitions to look for changes.
Use Markers to Make Measurements
The markers can be positioned relative to the beginning, end, trigger,
or another marker, as well as set to a specific pattern, state, or time.
The Markers tab in the Display windows shows the time or state value
as you move the markers or take new acquisitions.
See AlsoWorking with Markers (see the Markers help volume)
Using the Chart Display Tool (see the Chart Display Tool help volume)
Using the Distribution Display Tool (see the Distribution Display Tool
help volume)
Using the Listing Display Tool (see the Listing Display Tool help volume)
Using the Digital Waveform Display Tool (see the Waveform Display Tool
help volume)
Using the Compare Analysis Tool (see the Compare Tool help volume)
The logic analyzer automatically triggers on Pattern1, the first trigger
event. You can set up more complex triggers by editing the sequence levels
and combining trigger events.
a. Select the sequence level number 1 button and choose Edit...
b. In the dialog box, select the Pattern1 button just after Trigger on and
choose Combo...
c. In the Combination box, select the Off option button next to Pattern2
and choose On.
d. To change the trigger to Pattern1 and Pattern2, select the Or option
button to the right of the events and choose And.
e. Select the OK button.
f. Select the Close button.
The analyzer is now set to trigger when it detects both the pattern
defined by Pattern1 and the pattern defined by Pattern2 on the target
system’s buses. The trigger sequence windows shows
Trigger on "(Pattern1.Pattern2)" 1 time
See Also“The Tri gger Tab” on page 69
1. Select the Run button.
2. Examine the data.
a. Select the Window menu.
b. Select Analyzer<A> in the menu and choose Listing<1>.
Depending on what other instruments are active, there may be more
than one Analyzer<A>. Choose the one that refers to your analyzer.
c. To have the listing display appear automatically when you run the logic
analyzer, select Options -> Popup on Run -> On in the menu bar of the
listing display.
d. To insert additional labels, select the label name.
See AlsoFor Connection Information
Logic Analysis System and Measurement Modules Installation Guide
2. To define the event as a combination of labels, choose Insert... To
use a different label to define the event, choose Replace... Edges
within an event are always OR’d together, which means only one of
the edges on one of the labels needs to occur for the edge event to
become true.
3. In the dialog box, select the label name you want to use and then
select the OK button.
d. Select the edge assignment button (........) and enter the edge or
edges you want to trigger on. Remember, if more than one edge is
specified, then when the logic analyzer detects any of the edges the
event becomes true.
6. Add the edge event to the trigger specification.
a. Select the sequence level number 1 button and choose Edit...
b. In the dialog box, select the Pattern1 button and choose Combo...
c. In the Combination box, select the Off option button next to Edge1 and
choose On.
d. Select the Or option button where the path from Pattern1 and the
path from Edge1 come together, and choose And.
e. Select the OK button.
The analyzer is now set to trigger when it detects Edge1 and Pattern1
on the bus. The trigger sequence window shows
Trigger on Pattern1.Edge1 occurs 1 times
.
The logic analyzer automatically triggers on the first trigger event. You can
set up more complex triggers by editing the sequence levels and defining
additional trigger events.
After you’ve acquired a trace with the logic analyzer, you can analyze it
in the display tools. The logic analysis system also provides filtering
and compare tools for more complex analysis.
The logic analyzer is automatically connected to the Waveform and
Listing displays when you set up a measurement. To move to that
display,
1. Select the Window menu.
2. Select the name of the analyzer whose data you want to view.
3. Choose Waveform or Listing.
Source Viewer brings up a Listing display but requires an inverse
assembler and an ADDR label.
•“Analysis Using Waveform” on page 26
•“Analysis Using Listing” on page 28
Analysis Using Waveform
Waveform is most useful for timing data. If you look at state data that
uses store qualification, you won’t be able to easily see where samples
were not stored. Timing data, however, is periodic and stores all
samples and so works well with Waveform.
Example: Looking for a Missing Pattern
You can easily use the waveform tool to make timing measurements.
For example, if you were triggering when a pattern doesn’t follow an
edge within a certain time (see the Measurement Examples help
volume), you would probably want to look at your data set to see if the
pattern ever did occur. This might be the case when you verifying that
the system is responding to an interrupt.
After triggering on an instance where the response did not appear
quickly enough, you might take these steps in the Waveform display:
b. Select the down arrow after the Label field, and select the label
containing the edge.
c. Select the Value field and enter 1.
d. Select the Next button to locate the edge transition.
2. Place a marker on the edge.
Select the Set G1 button. This sets global marker G1 at the location of the
edge you just found.
3. Search for the pattern. Searches start at your current location. Since you
just set the global marker G1, it indicates where the search starts from.
a. Select the down arrow after the Label field, and select the label
containing the pattern.
b. Select the Value field and enter the pattern you are searching for.
c. Select the down arrow after the When field and select Entering.
d. Select the Next button to find the next occurrence of that pattern after
G1.
If the logic analysis system cannot find the pattern, a "Value not found"
message pops up.
4. Place a marker on the pattern.
Select the Set G2 button. This will set global marker G2 at the location of
the pattern.
5. Find the time between the edge and the pattern.
a. Select the Markers tab.
b. In the G2 row, select the down arrow after from, and select G1.
The value after the from field changes to the time between G1 and G2. You
can toggle between time and samples by selecting the arrow after the Time
or Samples field.
See AlsoUsing the Digital Waveform Display Tool (see the Waveform Display Tool
Using the Listing Display Tool (see the Listing Display Tool help volume)
Using the Chart Display Tool (see the Chart Display Tool help volume)
Using the Distribution Display Tool (see the Distribution Display Tool
help volume)
Using the Compare Analysis Tool (see the Compare Tool help volume)
Using the Pattern Filter Analysis Tool (see the Pattern Filter Tool help
volume)
Analysis Using Listing
Listing is more useful than Waveform when your target system is
running code because it shows the labels as states rather than
transitions. Listing is especially useful when you have defined
meaningful symbol names for your states. If you have an inverse
assembler, you might prefer Source Viewer which functions like
Listing.
Example: Examining a Subroutine
Listing is the preferred display tool for state measurements. for
example, if you were trying to see if a subroutine were exiting
abnormally, you might want to measure the number of states between
entering and exiting the subroutine. After acquiring data with the logic
analyzer, you could examine the data set in the Listing display like this:
1. Find the start of the subroutine.
Assume the subroutine starts at the address 0x58FC.
a. Select the Search tab.
b. Select the down arrow after the Label field, and select ADDR.
c. Select the Value field, and enter the starting address, 0x58FC.
d. Select the down arrow after the When field and select Present.
e. Select the Next or Prev button to move the display to the address.
Select the Set G1 button. This sets global marker G1 at the address you
just found.
3. Find the end of the subroutine.
Assume the end of the subroutine is at address 0x58FF. Searches always
start at the current location. Since you just set the global marker G1, it
indicates where the search starts from.
a. Select the Value field, and enter 58FF.
b. Select the Next button to find the next occurrence of 0x58FF after the
starting address.
4. Place a marker on the end of the subroutine.
Select the Set G2 button to set global marker G2 at this position. This lets
you refer to G2 when you want to know where the subroutine ends.
5. Find the number of states between the start and end of the subroutine.
Since you’ve placed markers at the start and end of the subroutine, all you
have to do is find the number of states between those markers.
a. Select the Markers tab.
b. In the G2 row, select the second down arrow and select Sample.
c. Select the down arrow after from, and select G1.
The value after the from field changes to the number of states between G1
and G2. You can toggle between time and states by selecting the arrow
after the Time or Samples field.
Now you know how long the execution stayed in the subroutine, and
can also examine the data set between G1 and G2 to look for unusual
data.
See AlsoUsing the Digital Waveform Display Tool (see the Waveform Display Tool
help volume)
Using the Listing Display Tool (see the Listing Display Tool help volume)
Using the Chart Display Tool (see the Chart Display Tool help volume)
Using the Distribution Display Tool (see the Distribution Display Tool