Agilent 1660CS Users Guide

User’s Guide
Publication Number 01660-97017 First Edition, November 1995
For Safety Information, Warranties, and Regulatory Information, see the pages at the end of this manual.
Copyright Hewlett-Packard Company 1991 - 1995 All Rights Reserved.
HP 1660CS-Series Logic Analyzers

HP 1660CS-Series Logic Analyzers

The HP 1660CS-series logic analyzers are 100-MHz state/500-MHz timing logic analyzers and 1 GSa/s digitizing oscilloscopes.
Logic Analyzer Features
130 data channels and 6 clock/data channels in the HP 1660CS
96 data channels and 6 clock/data channels in the HP 1661CS
64 data channels and 4 clock/data channels in the HP 1662CS
32 data channels and 2 clock/data channels in the HP 1663CS
3.5-inch flexible disk drive and 540 MB hard disk drive
HP-IB, RS-232-C, and Centronics interfaces
Variable setup/hold time
4 K memory on all channels with 8 K in half-channel mode
Marker measurements
12 levels of trigger sequencing for state and 10 levels of trigger
sequencing for timing
100 MHz time tagging and number-of-states tagging
Full programmability
DIN mouse and keyboard support
Oscilloscope Features
8000 samples per channel
Automatic pulse parameters
displays time between markers, acquires until specified time between markers is captured, performs statistical analysis on time between markers
Lightweight miniprobes
Options include Ethernet LAN Interface, Programmer’s Guide, and Service Guide
ii

In This Book

The Logic An alyzer at a Glance
1
This User’s Guide shows you how to use the HP 1660CS-series logic analyzer. It contains measurement examples, field and feature definitions, and a basic service guide. Refer to this manual for information on what the menu fields do and how they are used. This manual covers all HP 1660CS-series analyzers.
The User’s Guide is divided into four parts. The first part, chapters 1 through 4, covers general product information you need to use the logic analyzer. The second part, chapters 5 and 6, contains detailed examples to help you use your analyzer in performing complex measurements. The third part, chapters 7 through 9, contains reference information on the hardware and software, including the analyzer menus and how they are used. There are sections for each analyzer menu and a separate chapter on System Performance Analysis. The fourth part, chapters 10 through 12, provides a basic service guide.
2
3
4
5
6
7
8
9
10
11
12
Connecting Peripherals
Using the Logic Analyzer
Using the Trigger Menu
Triggering Examples
File Management
Reference
System Performance Analysis
(SPA) Software
Concepts
Troubleshooting
Specifications
Operator’s Service
Glossary
Index
iii
Introduction
iv

Contents

1 Logic Analyzer Overview
To make a measurement 1–4
2 Connecting Peripherals
To connect a mouse 2–3 To connect a keyboard 2–4 To connect to an HP-IB printer 2–5 To connect to an RS-232-C printer 2–7 To connect to a parallel printer 2–8 To connect to a controller 2–9
3 Using the Logic Analyzer
Accessing the Menus 3–3
To access the System menus 3–4 To access the Analyzer menus 3–6 To access the Scope menus 3–8
Using the Analyzer Menus 3–10
To label channel groups 3–10 To create a symbol 3–12 To examine an analyzer waveform 3–14 To examine an analyzer listing 3–16 To compare two listings 3–18
The Inverse Assembler 3–20
To use an inverse assembler 3–20
v
Contents
4 Using the Trigger Menu
Specifying a Basic Trigger 4–3
To assign terms to an analyzer 4–4 To define a term 4–5 To change the trigger specification 4–6
Changing the Trigger Sequence 4–7
To add sequence levels 4–8 To change macros 4–9
Setting Up Time Correlation between Analyzers 4–10
To set up time correlation between two state analyzers 4–11 To set up time correlation between a timing and a state analyzer 4–11
Arming and Additional Instruments 4–12
To arm another instrument 4–12 To arm the oscilloscope with the analyzer 4–13 To receive an arm signal from another instrument 4–15
Managing Memory 4–16
To selectively store branch conditions (State only) 4–17 To place the trigger in memory 4–18 To set the sampling rates (Timing only) 4–19
vi
5 Triggering Examples
Single-Machine Trigger Examples 5–3
To store and time the execution of a subroutine 5–4 To trigger on the nth iteration of a loop 5–6 To trigger on the nth recursive call of a recursive function 5–8 To trigger on entry to a function 5–10 To capture a write of known bad data to a particular variable 5–11 To trigger on a loop that occasionally runs too long 5–12 To verify correct return from a function call 5–13 To trigger after all status bus lines finish transitioning 5–14 To find the nth assertion of a chip select line 5–15 To verify that the chip select line is strobed after the address is stable 5–16 To trigger when expected data does not appear when requested 5–17 To test minimum and maximum pulse limits 5–18 To detect a handshake violation 5–20 To detect bus contention 5–21
Contents
Cross-Arming Trigger Examples 5–22
To examine software execution when a timing violation occurs 5–23 To look at control and status signals during execution of a routine 5–24 To detect a glitch 5–25 To capture the waveform of a glitch 5–26 To view your target system processing an interrupt 5–27 To trigger timing analysis of a count-down on a set of data lines 5–28 To monitor two coprocessors in a target system 5–29
Special displays 5–30
To interleave trace lists 5–31 To view trace lists and waveforms on the same display 5–32
vii
Contents
6 File Management
Transferring Files Using the Flexible Disk Drive 6–3
To save a configuration 6–4 To load a configuration 6–6 To save a listing in ASCII format 6–7 To save a screen’s image 6–8 To load additional software 6–9
7 Reference
Configuration Capabilities 7–3
Probing 7–5
General-purpose probing system description 7–8 Oscilloscope probes 7–11 Assembling the probing system 7–12
Keyboard Shortcuts 7–16
Moving the cursor 7–16 Entering data into a menu 7–17 Using the keyboard overlays 7–17
Common Menu Fields 7–18
Print field 7–19 Run/Stop field 7–20 Roll fields 7–21
Disk Drive Operations 7–22
Disk operations 7–22 Autoload 7–24 Format 7–24 Pack 7–24 Load and Store 7–25
viii
The RS-232-C, HP-IB, and Centronics Interfaces 7–26
The HP-IB interface 7–27 The RS-232-C interface 7–27 The Centronics interface 7–28
System Utilities 7–29
Real Time Clock Adjustments field 7–29 Update FLASH ROM field 7–29 Shade adjustments 7–30
The Analyzer Configuration Menu 7–31
Type field 7–31 Illegal configuration 7–31
Contents
The Analyzer Format Menu 7–32
Pod threshold field 7–32 State. acquisition modes (state only) 7–32 Timing acquisition modes (timing only) 7–33 Clock Inputs display 7–34 Pod clock field (State only) 7–34 Master and Slave Clock fields (State only) 7–37 Symbols field 7–40 Label fields 7–41 Label polarity fields 7–42
The Analyzer Trigger Menu 7–43
Trigger sequence levels 7–43 Modify trigger field 7–43 Timing trigger macro library 7–44 State trigger macro library 7–46 Modifying the user macro 7–48 Resource terms 7–51 Arming Control field 7–54 Acquisition Control field 7–56 Count field (State only) 7–57
ix
Contents
The Analyzer Listing Menu 7–58
Markers 7–58
The Analyzer Waveform Menu 7–60
sec/Div field 7–60 Accumulate field 7–60 Delay field 7–60 Waveform label field 7–61 Waveform display 7–62
The Analyzer Mixed Display Menu 7–63
Interleaving state listings 7–63 Time-correlated displays 7–64 Markers 7–64
The Analyzer Chart Menu 7–65
Min and Max scaling fields 7–66 Markers/Range field 7–66
The Analyzer Compare Menu 7–67
Reference Listing field 7–68 Difference Listing field 7–68 Copy Listing to Reference field 7–69 Find Error field 7–69 Compare Full/Compare Partial field 7–69 Mask field 7–70 Bit Editing field 7–70
Oscilloscope Common Menus 7–71
Run/Stop options 7–71 Autoscale 7–72 Time base 7–73
x
The Scope Channel Menu 7–74
Offset field 7–74 Probe field 7–75 Coupling field 7–75 Preset field 7–75
The Scope Display Menu 7–76
Mode field 7–76 Connect Dots field 7–77 Grid field 7–77 Display Options field 7–78
The Scope Trigger Menu 7–79
Trigger marker 7–79 Mode/Arm menu 7–79 Level field 7–81 Source field 7–82 Slope field 7–83 Count field 7–83 Auto-Trig field 7–84 When field 7–85 Count field 7–87
Contents
The Scope Marker Menu 7–88
Manual time markers options 7–88 Automatic time markers options 7–90 Manual/Automatic Time Markers option 7–94 Voltage Markers options 7–94 Channel Label field 7–96
The Scope Auto Measure Menu 7–97
Input field 7–97 Automatic measurements display 7–97 Automatic measurement algorithms 7–99
xi
Contents
8 System Performance Analysis (SPA) Software
System Performance Analysis Software 8–2
What is System Performance Analysis? 8–4 Getting started 8–6 SPA measurement processes 8–8 Using State Overview, State Histogram, and Time Interval 8–21 Using SPA with other features 8–30
9 Concepts
The File System 9–3
Directories 9–4 File types 9–5
Transitional Mode Theory 9–7
125-MHz transitional mode 9–7 250-MHz transitional mode 9–8 Other transitional timing considerations 9–11
The Trigger Sequence 9–12
Trigger sequence specification 9–13 Analyzer resources 9–15 Timing analyzer 9–18 State analyzer 9–18
Configuration Translation Between HP Logic Analyzers 9–19
The Analyzer Hardware 9–21
HP 1660CS-series analyzer theory 9–22 Logic acquisition board theory 9–25 Oscilloscope board theory 9–28
Self-tests description 9–32
xii
10 Troubleshooting
Analyzer Problems 10–3
Intermittent data errors 10–3 Unwanted triggers 10–3 No activity on activity indicators 10–4 Capacitive loading 10–4 No trace list display 10–4
Preprocessor Problems 10–5
Target system will not boot up 10–5 Slow clock 10–6 Erratic trace measurements 10–7
Contents
Inverse Assembler Problems 10–8
No inverse assembly or incorrect inverse assembly 10–8 Inverse assembler will not load or run 10–9
Error Messages 10–10
". . . Inverse Assembler Not Found" 10–10 "No Configuration File Loaded" 10–10 "Selected File is Incompatible" 10–10 "Slow or Missing Clock" 10–11 "Waiting for Trigger" 10–11 "Must have at least 1 edge specified" 10–12 "Time correlation of data is not possible" 10–12 "Maximum of 32 channels per label" 10–12 "Timer is off in sequence level n where it is used" 10–13 "Timer is specified in sequence, but never started" 10–13 "Inverse assembler not loaded - bad object code." 10–13 "Measurement Initialization Error" 10–14 "Warning: Run HALTED due to variable change" 10–14
xiii
Contents
11 Specifications
Accessories 11–2 Specifications (logic analyzer) 11–3 Specifications (oscilloscope) 11–4 Characteristics (logic analyzer) 11–5 Characteristics (oscilloscope) 11–5 Supplemental characteristics (logic analyzer) 11–6 Supplemental characteristics (oscilloscope) 11–9 Operating environment 11–13
12 Operator’s Service
Preparing For Use 12–3
To inspect the logic analyzer 12–4 To apply power 12–4 To set the line voltage 12–5 To degauss the display 12–6 To clean the logic analyzer 12–6 To test the logic analyzer 12–6
Calibrating the oscilloscope 12–7
Set up the equipment 12–7 Load the default calibration factors 12–8 Self Cal menu calibrations 12–9
Troubleshooting 12–11
To use the flowcharts 12–12 To check the power-up tests 12–14 To run the self-tests 12–15 To test the auxiliary power 12–22
xiv
1

Logic Analyzer Overview

HP 1660CS-Series Logic Analyzer
Select Key
The Select key action depends on the type of field currently highlighted. If the field is an option field, the Select key brings up an option menu or, if there are only two possible values, toggles the value in the field. If the highlighted field performs a function, the Select key starts the function.
Done Key
The Done key saves assignments and closes pop-up menus. In some fields, its action is the same as the Select key.
Shift Key
The shift key, which is blue, provides lowercase letters and access to the functions in blue on some of the keys. You do not need to hold the shift key down while pressing the other key — just press the shift key first, and then the function key.
Knob
The knob can be used in some fields to change values. These fields are indicated by a side view of the knob placed on top of the field when it is selected. The knob also scrolls the display and moves the cursor within lists. If you are using a mouse, you can do the same actions by holding down the right button of the mouse while dragging.
1-2
Logic Analyzer Overview
Line Power Module
Permits selection of 110-120 or 220-240 Vac and contains the fuses for each of these voltage ranges.
External Trigger BNCs
The External Trigger BNCs provide the "Port In" and "Port Out" connections for the Arm In and Arm Out of the Trigger Arming Control menu.
RS-232-C, HP-IB, and Parallel Printer Connectors
The RS-232-C connector is a standard DB-25 connector for RS-232-C printer or controller. The HP-IB connector is a standard HP-IB connector for connecting an HP-IB printer or controller. The Parallel Printer connector is a standard Centronics connector for connecting a parallel printer.
Oscilloscope Calibration Ports
Provides signals for operational accuracy calibration for the oscilloscope and the oscilloscope/probe together to optimize performance.
LAN Connectors (with LAN option only)
Connects the logic analyzer to your local Ethernet network. The BNC connector on top accepts 10Base2 ("thinlan"). The UTP connector below the BNC connector accepts 10Base-T ("ethertwist").
1-3
Logic Analyzer Overview

To make a measurement

To make a measurement
For more detail on any of the information below, see the referenced chapters or the Logic Analyzer Training Kit. If you are using a preprocessor with the logic analyzer, some of these steps may not apply.
Map to target
Connect probes Connect probes from the target system to the logic
analyzer to physically map the target system to the channels in the logic analyzer. Attach probes to a pod in a way that keeps logically-related channels together. Remember to ground the pod.
See Also "Probing" in Chapter 7 for more detail on grounding and constructing probes.
Set type* When the logic analyzer is turned on, Analyzer 1 is named Machine 1 and is configured as a timing analyzer, and Analyzer 2 is off. To use state analysis or software profiling, you must set the type of the analyzer in the Analyzer Configuration menu. You can only use one timing analyzer at a time.
Assign pods* In the Analyzer Configuration menu, assign the connected pods to the analyzer you want to use. The number of pods on your logic analyzer depends on the model. Pods are paired and always assigned as a pair to a particular analyzer.
* If you load a configuration file, this step is not necessary.
1-4
Logic Analyzer Overview
To make a meas urement
Set up analyzers*
Set modes and clocks Set the state and timing analyzers using the
Analyzer Format menu. In general, these modes trade channel count for speed or storage. The state analyzer also provides for complicated clocking. If your state clock is set incorrectly, the data gathered by the logic analyzer might indicate an error where none exists.
See Also "The Format Menu" in Chapter 7 for more information on modes and clocks.
Group bits under labels The Analyzer Format menu indicates active pod bits. You can create groups of bits across pods or subgroups within pods and name the groups or subgroups using labels.
* If you load a configuration file, this step is not necessary.
1-5
Logic Analyzer Overview
To make a measurement
Set up trigger*
Define terms In the Analyzer Trigger menu, define trigger variables
called terms to match specific conditions in your target system. Terms can match patterns, ranges, or edges across multiple labels.
Configure Arming Control Use Arming Control if
you want to correlate the triggers and data of both analyzers
you want to use the logic analyzer to trigger an external instrument or
the built-in oscilloscope, or you want to use an external instrument or the built-in oscilloscope to
trigger the logic analyzer.
Set up trigger sequence Create a sequence of steps that control when the logic analyzer starts and stops storing data and filters which data it will store. For common tasks, you can use a trigger macro to simplify the process or use the user-defined macros to loop and jump in sequence. You can also set the oscilloscope to trigger on a complex pattern.
See Also Chapter 4,"Using the Trigger Menu" and Chapter 5, "Triggering Examples" for
more information on setting up a trigger. "The Trigger Sequencer" in Chapter 9 for more information about the trigger
sequence mechanism. "To save a configuration" and "To load a configuration" in Chapter 6 for
instructions on saving and loading the setup so you don’t have to repeat setting up the analyzer and trigger.
* If you load a configuration file, this step is not necessary.
1-6
Logic Analyzer Overview
To make a meas urement
Run measurement
Select single or repetitive From any Analyzer or Scope menu, select
the field labeled Run in the upper right corner to start measuring, or press the Run key. A single run will run once, until memory is full; a repetitive run will go until you select Stop or until a stop measurement condition that you set in the markers menu is fulfilled.
See Also "Markers Field" and "Scope Markers" in Chapter 7 for more information on
markers and stop measurement conditions.
If nothing happens, see Troubleshooting. When you start a run, your analyzer menu changes to one of the display menus or a status message pops up. If nothing happens, press the Stop key or select Cancel. If the analyzer still does not display any measurements, see Chapter 10, "Troubleshooting."
Gather data You can gather statistics automatically by going to a Waveform or Listing menu, turning on markers, and setting patterns for the X and O markers. You can set the logic analyzer to stop if certain conditions are exceeded, or just use the markers to count valid runs.
See Also "Markers Field," "Scope Markers," and "Scope Auto-measure" in Chapter 7 for
more information on markers.
1-7
Logic Analyzer Overview
To make a measurement
View data
Search for patterns In both the Waveform and Listing menus you can
use symbols and markers to search for patterns in your data. In the Analyzer Waveform or Analyzer Listing menu, toggle the Markers field to turn the pattern markers on and then specify the pattern. When you switch views, the markers keep their settings.
Correlate data You can correlate data by setting Count Time in your state analyzer’s Trigger menu and then using interleaving and mixed display. Interleaving correlates the listings of two state analyzers. Mixed display correlates a timing analyzer waveform and a state analyzer listing, or a state analyzer and an oscilloscope waveform, or a state analyzer and both timing and oscilloscope waveforms. To correlate oscilloscope data, the oscilloscope arm mode must be set to Immediate. The System Performance Analysis (SPA) Software does not save a record of actual activity, so it cannot be correlated with either timing or state mode.
Make measurements The markers can count occurrences of events, measure durations, and collect statistics, and SPA provides high-level summaries to help you identify bottlenecks. To use the markers, select the appropriate marker type in the display menu and specify the data patterns for the marker. To use SPA, go to the SPA menu, select the most appropriate mode, fill in the parameters, and press Run.
See Also Chapter 8, "System Performance Analysis (SPA) Software" for more
information on using SPA. "The Waveform Menu" and "The Listing Menu" in Chapter 7 for additional
information on the menu features.
1-8
2

Connecting Peripherals

Connecting Peripherals
Your HP 1660CS-series logic analyzer comes with a PS2 mouse. It also provides connectors for a keyboard, Centronics (parallel) printer, and HP-IB and RS-232-C devices. This chapter tells you how to connect peripheral equipment such as the mouse or a printer to the logic analyzer.
Mouse and Keyboard
You can use either the supplied mouse and optional keyboard, or another PS2 mouse and keyboard with standard DIN connector. The DIN connector is the type commonly used by personal computer accessories.
Printers
The logic analyzer communicates directly with HP PCL printers supporting the printer control language or with other printers supporting the Epson standard command set. Many non-Epson printers have an Epson-emulation mode. HP PCL printers include the following:
HP ThinkJet
HP LaserJet
HP PaintJet
HP DeskJet
HP QuietJet
You can connect your printer to the logic analyzer using HP-IB, RS-232-C, or the parallel printer port. The logic analyzer can only print to printers directly connected to it. It cannot print to a networked printer.
2-2
Connecting Peripherals

To connect a mouse

To connect a mouse
Hewlett-Packard supplies a mouse with the logic analyzer. If you prefer a different style of mouse you can use any PS2 mouse with a standard PS2 DIN interface.
Plug the mouse into the mouse connector on the back panel. Make
1
sure the plug shows the arrow on top.
2 To verify connection, check the System External I/O menu for a
mouse box.
The mouse box is on the right side above the Settings fields. If the logic analyzer was displaying the System External I/O menu when you plugged in the mouse, the menu won’t update until you exit and then return to it.
The mouse pointer looks like a plus sign ( pointer over it and press the left button. To duplicate the front-panel knob, hold down the right button while moving the mouse. Moving the mouse up or to the right duplicates turning the knob clockwise. Moving the mouse down or to the left duplicates turning the knob counterclockwise.
+). To select a field, move the
System External I/O menu showing mouse installed
2-3
Connecting Peripherals

To connect a keyboard

To connect a keyboard
You can use either the HP-recommended keyboard, HP E2427B, or any other keyboard with a standard DIN connector.
Plug the keyboard into the keyboard connector on the back panel.
1 2 To verify, check the System External I/O menu for a keyboard box.
The keyboard box is on the right side, above the Settings fields. If the logic analyzer was displaying the System External I/O menu while you plugged the keyboard in, the menu won’t update until you exit and then return to it.
The keyboard cursor is the location on the screen highlighted in inverse video. To move the cursor, use the arrow keys. Pressing Enter selects the highlighted field. The primary keyboard keys act like the analyzer’s front-panel data entry keys.
See Also "Keyboard Shortcuts" in the Chapter 7 for complete key mappings.
System External I/O menu showing keyboard installed
2-4
Connecting Peripherals

To connect to an HP-IB printer

To connect to an HP-IB printer
Printers connected to the logic analyzer over HP-IB must support HP-IB and Listen Always. When controlling a printer, the analyzer’s HP-IB port does not respond to service requests (SRQ), so the SRQ enable setting does not have any effect on printer operation.
Turn off the analyzer and the printer, and connect an HP-IB cable
1
from the printer to the HP-IB connector on the analyzer rear panel.
2 Turn on the analyzer and printer. 3 Make sure the printer is set to Listen Always or Listen Only.
For example, the figure below shows the HP-IB configuration switches for an HP-IB ThinkJet printer. For the Listen Always mode, move the second switch from the left to the 1 position. Since the instrument doesn’t respond to SRQ EN (Service Request Enable), the position of the first switch doesn’t matter.
Listen Always switch setting
2-5
Connecting Peripherals
To connect to an HP-IB printer
4 Go to the System External I/O menu and configure the analyzer’s
printer settings.
a If the analyzer is not already set to HP-IB, select the field under
Connected To: in the Printer box and choose HP-IB from the menu.
b Select the Printer Settings field.
c In the top field of the pop-up, select the type of printer you are using.
If you are using an Epson graphics printer or an Epson-compatible printer, select Alternate.
d If the default print width and page length are not what you want,
select the fields to toggle them.
If you select 132 characters per line when using a printer other than QuietJet, the listings are printed in a compressed mode. QuietJet printers can print 132 characters per line without going to compressed mode, but require wider paper.
e Press Done.
Printer Settings menu
2-6
Connecting Peripherals

To connect to an RS-232-C prin ter

To connect to an RS-232-C printer
1 Turn off the analyzer and the printer, and connect a null-modem
RS-232-C cable from the printer to the RS-232-C connector on the analyzer rear panel.
2 Before turning on the printer, locate the mode configuration switches
on the printer and set them as follows:
For the HP QuietJet series printers, there are two banks of mode function
switches inside the front cover. Push all the switches down to the 0 position.
For the HP ThinkJet printer, the mode switches are on the rear panel of
the printer. Push all the switches down to the 0 position. For the HP LaserJet printer, the factory default switch settings are okay.
3 Turn on the analyzer and printer. 4 Go to the System External I/O menu and configure the analyzer’s
printer settings.
a If the analyzer is not already set to RS-232-C, select the field under
Connected To: in the Printer box and choose RS-232C from the menu.
b Select the Printer Settings field.
c In the top field of the pop-up, select the type of printer you are using.
If you are using an Epson graphics printer or an Epson-compatible printer, select Alternate.
d If the default print width and page length are not what you want,
select the fields to toggle them.
If you select 132 characters per line when using a printer other than QuietJet, the listings are printed in a compressed mode. QuietJet printers can print 132 characters per line without going to compressed mode, but require wider paper.
e Press Done.
5 Select the RS232 Settings field and check that the current settings are
compatible with your printer.
See Also "The RS-232-C Interface" section in Chapter 7 for more information on
RS-232-C settings.
2-7
Connecting Peripherals

To connect t o a parallel printer

To connect to a parallel printer
1 Turn off the analyzer and the printer, and connect a parallel printer
cable from the printer to the parallel printer connector on the analyzer rear panel.
2 Before turning on the printer, configure the printer for parallel
operation.
The printer’s documentation will tell you what switches or menus need to be configured.
Turn on the analyzer and printer.
3 4 Go to the System External I/O menu and configure the analyzer’s
printer settings.
a If the analyzer is not already set to Parallel, select the field under
Connected To: in the Printer box and choose Parallel from the menu.
b Select the Printer Settings field.
c In the top field of the pop-up, select the type of printer you are using.
If you are using an Epson graphics printer or an Epson-compatible printer, select Alternate.
d If the default print width and page length are not what you want,
select the fields to toggle them.
If you select 132 characters per line when using a printer other than QuietJet, the listings are printed in a compressed mode. QuietJet printers can print 132 characters per line without going to compressed mode, but require wider paper.
e Press Done.
There are no settings specific to the parallel printer connector.
2-8
Connecting Peripherals

To connect t o a controller

To connect to a controller
You can control the HP 1660CS-series logic analyzer with another instrument, such as a computer running a program with embedded analyzer commands. The steps below outline the general procedure for connecting to a controller using HP-IB or RS-232-C.
Turn off both instruments, and connect the cable.
1
If you are using RS-232-C, the cable must be a null-modem cable. If you do not have a null-modem cable, you can purchase an adapter at any electronics supply store.
Turn on the logic analyzer and then the controller.
2 3 In the System External I/O menu, select the field under Connected
To: in the Controller box and set it appropriately.
The figure below is for HP-IB.
4 Select the appropriate Settings field and configure the values in the
pop-up menu to be compatible with the controller.
See Also HP 1660C/CS-Series Logic Analyzers Programmer’s Guide and the LAN
User’s Guide for more information on connecting controllers.
2-9
2-10
3

Using the Logic Analyzer

Using the Logic Analyzer
This chapter shows you how to perform the basic tasks necessary to make a measurement. Each section uses an example to show how the task fits into the overall goal of making a measurement.
3–2

Accessing the Menus

When you power up the logic analyzer, the first screen after the system tests is the Analyzer Configuration menu. Menus are identified by two fields in the upper left corner. The leftmost field shows Analyzer. This field is sometimes referred to as the "mode field" or the "module field" because it controls which other set of menus you can access. The second field, just to the right of the mode field, accesses menus within the mode and so is called the "menu field". Menus are referred to by the titles that appear in the mode and menu fields, for example, the Analyzer Configuration menu.
The figure below shows the top of the first screen. The mode field, item 1, displays "Analyzer." The menu field, item 2, displays "Configuration." Because menus are identified by the titles in these two fields, this menu is referred to as the Analyzer Configuration menu. When there is no risk of confusion, the menu is sometimes referred to just by the title showing in the second field, for example, the Configuration menu.
3–3
Using the Logic Analyzer

To access the System menus

To access the System menus
The System menus allow you to perform operations that affect the entire logic analyzer, such as load configurations, change colors, and perform system diagnostics.
Select the mode field.
1
Use the arrow keys to highlight the mode field, then press the Select key. Or, if you are using the mouse, click on the field. This operation is referred to as "select".
A pop-up menu appears with the choices System, Analyzer, and Scope. (If you have installed any optional software, there may be other choices as well.)
Select System.
2
3 Select the menu field.
The pop-up lists five menus: Hard Disk, Flexible Disk, External I/O, Utilities, and Test.
3–4
Using the Logic Analyzer
To access the System menus
Hard Disk allows you to perform file operations on the hard disk
Flexible Disk allows you to perform file operations on the flexible disk.
External I/O allows you to configure your HP-IB, RS-232-C, and LAN
interfaces and connect to a printer and controller. Utilities allows you to set the clock, update the operating system software,
and adjust the display. Test displays the installed software version number and loads the self
tests.
See Also For more information on operations available in the Disk menus, "File
Management" chapter and "Disk Drive Operations" in Chapter 7. For more information on the External I/O, "Connecting Peripherals" chapter
and "The RS-232-C, HP-IB, and Centronics Interfaces" in Chapter 7. For more information on the system utilities, "System Utilities" in Chapter 7. For information on running the self-tests, "Operator’s Service" chapter.
3–5
Using the Logic Analyzer

To access the Anal yzer menus

To access the Analyzer menus
The Analyzer menus allow you to control the analyzer to make your measurement, perform operations on the data, and view the results on the display.
Select the mode field.
1
A pop-up menu appears with the choices System, Analyzer, and Scope. (If you have installed any optional software, there may be other choices as well.)
Select Analyzer.
2 3 Select the menu field.
The figure on the next page shows all possible menus. Your analyzer will never have all of them available at once, because certain menus are only accessible with the analyzer configured in a particular mode. For instance, the Compare menu is only available when you set an analyzer to state mode, and the SPA menu requires an analyzer set to SPA.
Configuration is always available in Analyzer mode. Use Configuration to
assign pods and set the analyzer type. Format is available whenever an analyzer is set to a type other than "Off."
Use Format to create data labels and symbols, adjust the pod threshold level, and set modes and clocks.
Trigger is available when an analyzer is set to State or Timing. Use Trigger
to specify a trigger sequence which will filter the raw information into the measurement you want to see.
Listing is available when an analyzer is set to State or Timing. Use Listing
to view your measurement as a list of states. Using an inverse assembler, a state analyzer can display the measurement as though it were assembly code.
Compare is available only when an analyzer is set to State. Use Compare to
compare two listings and quickly scroll to the sections where they differ.
3–6
Using the Logic Analyzer
To access the Analyzer menus
Mixed Display always appears in the menu list when an analyzer is set to
State or Timing, but it requires a State analyzer with time tags enabled. Waveform is available when an analyzer is set to State or Timing. Use
Waveform to view the data as logic levels on discrete lines. Chart is available only when an analyzer is set to State. Use Chart to view
your measurement as a graph of states versus time. SPA is available only when an analyzer is set to SPA. Use SPA to gather
and view overall statistics about your system performance.
See Also Chapter 7, "Reference" for details on the State and Timing menus and
Chapter 8, "System Performance Analysis (SPA) Software" for information on the SPA menu.
"Using the Analyzer Menus" in this chapter for how to use the menus.
3–7
Using the Logic Analyzer

To access the Scope menus

To access the Scope menus
The Scope menus allow you to control the analyzer to make your measurement, perform operations on the data, and view the results on the display.
Select the mode field.
1
A pop-up menu appears with the choices System, Analyzer, and Scope. (If you have installed any optional software, there may be other choices as well.)
Select Scope.
2 3 Select the menu field.
The pop-up lists six menus: Scope Channel, Scope Display, Scope Trigger, Scope Marker, Scope Auto Measure, and Scope Calibration.
Scope Channel lets you select the channel input. It lets you set values that
control the vertical sensitivity, offset, probe attenuation factor, input impedance, and coupling of the input channel currently shown in the Input field. The Channel menu also gives you preset vertical sensitivity, offset, and trigger level values for ECL and TTL logic levels.
Scope Display controls how the oscilloscope acquires and displays
waveforms. You can acquire and display the waveforms in one of the following modes: Normal, Average, or Accumulate. The Display options also control the connect-the-dots display and grid display features.
3–8
Using the Logic Analyzer
To access t he Scope menus
Scope Trigger allows you to choose the method you want to use to trigger
the oscilloscope for a particular application. The three trigger modes are Edge, Pattern, and Immediate.
Scope Markers has two sets of markers that allow you to make time and
voltage measurements. These measurements can be made either manually (voltage and time markers) or automatically (time markers only).
Scope Auto Measure provides nine automatic measurements to fit the
acquired waveform to the display. These measurements are Period, Risetime, Falltime, Frequency, +Width, Width, Vp_p, Preshoot, and Overshoot.
Scope Calibration allows you to calibrate the oscilloscope or the
oscilloscope/probe system.
See Also Chapter 12, "Operator’s Service," for details on calibrating the oscilloscope.
3–9

Using the Analyzer Menus

The following examples show how to use some of the Analyzer menus to configure the logic analyzer for measurements. These examples assume that you have already determined which signals are of interest and have connected the logic analyzer to the target system. Some of the examples use data from a Motorola 68360 target system, acquired with an HP E2456A Preprocessor Interface.

To label channel groups

Hewlett-Packard logic analyzers give you the ability to separate or group data channels and label the groups with a name that is meaningful to your measurement. Labels also assist you in triggering only on states of interest.
Labels can only be assigned in the Analyzer Format menu. Once assigned, the labels are available in all display menus, where they can be added to or deleted from the display. Use labels when you want to group data channels by function with a name that has meaning to that function.
The default label names are Lab1 through Lab126. However, you can modify a name to any six-character string. If you are using an HP preprocessor interface, the configuration file has predefined labels for your specific processor.
To create or modify a label and assign channel groups, use the following procedure.
Press the Format key to go to the Format menu.
1 2 Select a label under the Labels heading. In the pop-up menu, select
Modify Label.
3 Use the keyboard to type in a name for the label and press Done.
In this example, the label is called CYCLE.
3–10
Using the Logic Analyzer
To label channel groups
4 Select the pod containing the channels for the label. Use the knob or
the arrow keys to position the selector over a channel you want to change.
An asterisk indicates the channel is selected; a dot indicates the channel is not part of the current group.
Toggle the channel’s group status by pressing Select.
5
The indicator changes and the selector moves to the next channel. In this example, the channels 3, 1, and 0 (Pod A1) are assigned to label
CYCLE and the channels 6 and 3 (Pod A2) are assigned to the label Lab2.
3–11
Using the Logic Analyzer

To create a symbol

To create a symbol
Symbols are alphanumeric mnemonics that represent specific data patterns or ranges. When you define a symbol and set the the base type to Symbol in the Listing menu, the symbol is displayed in the data listing where the bit pattern would normally be displayed. The symbols also appear in the Waveform menu when you view a label in bus form. Symbols allow you to quickly identify data of interest.
To create a symbol, use the following procedure.
In the Analyzer Format menu, select Symbols.
1
The symbol table menu appears. The symbol table is where all user symbols are created and maintained. If you get a message, "No labels specified," check that you have at least one label turned on with channels assigned to it.
In the Symbol menu select the Label field. In the pop-up menu select
2
the label that contains the channel groups you want.
When you open the symbol table menu, the Label field displays the name of the first active label.
If the label you want does not appear in the pop-up menu, the label is probably off. Return to the Format menu, select the label you want, and select Turn Label On. Another possibility is that the label is on the other analyzer. The two analyzers manage resources separately.
Select the Base field. In the pop-up menu, select the base for the
3
pattern.
In this example, binary is used since CYCLE only contains three channels.
4 Select the field below Symbol. Select Add a Symbol, type in the
symbol name, then press Done.
3–12
Using the Logic Analyzer
To create a symbol
5 If additional Symbols are needed, repeat step 4 until you have added
all symbols.
In this example three symbols are added: MEM RD, MEM WR, and DATA RD.
6 Toggle the Type field to "range" or "pattern".
When Type is range, a third field appears under the Stop column. To fully specify a range, you need to enter a value for it, too.
Select the Pattern/Start field and use the keypad to enter an
7
appropriate value in the selected base. Use X for "don’t care."
8 When the pattern is specified, press Done. If you created additional
Symbols, repeat steps 6 and 7 until all symbols are specified.
9 To close the symbol table menu, select Done.
Symbol ta ble menu showing three symbols
You can also download symbol tables created by your programming environment using HP E2450A Symbol Utility. The Symbol Utility is shipped with the HP 1660CS-series logic analyzers.
See Also HP E2450A Symbol Utility User’s Guide for more information on the
Symbol Utility.
3–13
Using the Logic Analyzer

To examine an analyzer waveform

To examine an analyzer waveform
The Analyzer Waveform menu allows you to view state or timing data in a format similar to an oscilloscope display. The horizontal axis represents states (in state mode) or time (in timing mode) and the vertical axis represents logic highs and lows.
In Analyzer mode, press the Run key to acquire data.
1
In any mode other than Analyzer or Scope, pressing the Run key has no effect. The menus which ignore Run lack the Run field onscreen. In Analyzer mode with Run available, the menu changes to a display menu.
Go to the Analyzer Waveform menu.
2 3 To adjust the horizontal axis (sec/Div or states/Div) use the knob.
If nothing happens when you turn the knob, make sure the Div field has a roll indicator above it, as in the figures on the next page. When you first enter the Waveform menu, the knob adjusts the horizontal axis but if you select another rollable field, the knob will control that field instead.
To adjust the display relative to the trigger, select the Delay field and
4
enter a value or use the knob.
The portion of memory being displayed is indicated by a white bar along the bottom of the display area. The position of the trigger in memory is indicated by a white dot on the same line. When the bar includes the dot, then the trigger is visible on the display as indicated by a vertical line with a "t" underneath.
To scroll through waveforms, select the large rectangle below the Div
5
field and use the knob.
The roll indicator appears at the top of the rectangle and the name of the first waveform is highlighted. The highlight moves as you turn the knob.
To insert waveforms, select the large rectangle under the Div field. In
6
the pop-up, select Insert, and then select the labels and channels.
The Sequential field inserts all the channels of the label as individual waveforms; the Bus field groups the waveforms; the Bit N field inserts just the Nth bit. Waveforms are inserted after the currently highlighted one.
3–14
7 To take measurements, select the Markers field and choose the
appropriate marker type.
The markers available depend on the type of analyzer and whether or not tagging is enabled. Use markers to locate patterns quickly.
See Also "Count Field" and "Markers Field" in Chapter 7.
roll indicator
trigger in dicator memory displayed
indicator
Using the Logic Analyzer
To examine an analyzer waveform
Example
The following example shows a state waveform from the Hewlett-Packard preprocessor interface for the Motorola 68360. Notice how the bus waveforms insert symbols or state data.
3–15
Using the Logic Analyzer

To examine an analyzer listing

To examine an analyzer listing
The Analyzer Listing menu displays state or timing data as patterns (states). The Listing menu uses any of several formats to display the data such as binary, ASCII, or symbols. If you are using an inverse assembler and select Invasm, the data is displayed in mnemonics that closely resemble the microprocessor source code.
See Also "The Inverse Assembler" at the end of this chapter for additional information
on using an inverse assembler.
In Analyzer mode, press the Run key to acquire data.
1
In any mode other than Analyzer or Scope, pressing the Run key has no effect. The menus which ignore Run lack the Run field onscreen. In Analyzer mode with Run available, the menu changes to a display menu.
Go to the Analyzer Listing menu.
2
All labels defined in the Analyzer Format menu appear in the listing. If there are more labels than will fit on the screen, the Label/Base field is shaded like a normal field.
To scroll the labels, select the Label/Base field and use the knob.
3
If the Label/Base field is selectable, the roll indicator appears over the field as in the example. To move the labels one full screen at a time, press Shift and a Page key.
To scroll the data, use the Page keys or select the data roll field and
4
use the knob.
If you select the data roll field, the roll indicator moves to it. No matter which field is currently controlled by the knob, however, the Page keys page the data up or down.
The numbers in the data roll column indicate how many samples the data is from the trigger. Negative numbers occurred before the trigger and positive numbers occurred after.
If the labels have symbols associated with them, set the base to
5
Symbol.
The symbols you defined appear in the listing.
3–16
6 To insert a label, select one of the label fields, then select Insert from
the pop-up and the label you want to insert.
The last label cannot be deleted, so there is always at least one label. You can insert the same label multiple times and display it in different bases.
To take measurements, select the Markers field and choose the
7
appropriate marker type.
The markers available depend on the type of analyzer and whether or not tagging is enabled. Use markers to locate states quickly.
See Also "Count Field" and "Markers Field" in Chapter 7.
The following illustration shows a listing from the Hewlett-Packard
Example
preprocessor interface for the Motorola 68360. The ADDR label has the base set to Hex to conserve space on the display. The DATA label has the base set to Invasm for inverse assembly. The FC label has the base set to Symbol. Additional labels are located to the right of FC, and can be viewed by highlighting and selecting Label, then using the knob to scroll the display horizontally.
Using the Logic Analyzer
To examine a n analyzer listing
roll indicator
data roll field
3–17
Using the Logic Analyzer

To compare two listings

To compare two listings
The Compare menu allows you to take two state analyzer acquisitions and compare them to find the differences. You can use this function to quickly find all the effects after changing the target system or to quickly compare the results of quality tests with results from a working system.
In Analyzer mode, press the Run key to acquire data.
1
In any mode other than Analyzer or Scope, pressing the Run key has no effect. The menus which ignore Run lack the Run field onscreen. In Analyzer mode with Run available, the menu changes to a display menu.
Go to the Analyzer Compare menu, select Copy Listing to Reference,
2
and then select Execute.
The Compare menu initially is empty, but when you select Execute the data appears.
Set up the other test that you want to compare to the first.
3
This can be a change to the hardware, or a different system. Do not change the trigger, however, or all the states will be different.
Run the test again, then select the Reference listing field to toggle to
4
Difference listing.
The Difference listing is displayed on the next page.
3–18
Using the Logic Analyzer
To compare t wo listings
The Difference listing displays the states that are identical in dark typeface, and the states that are different in light typeface (indistinguishable in the above illustration). The light typeface shows the data from the compare file that is different from the data in the reference file.
Select the Find Error field and use the knob to scroll through the
5
errors.
The display jumps past all states that are identical, and shows the number of errors through the current state in the Find Error field. In the above illustration, there are 37 errors through state 44 of the listing.
3–19

The Inverse Assembler

When the analyzer captures a trace, it captures binary information. The analyzer can then present this information in symbol, binary, octal, decimal, hexadecimal, or ASCII. Or, if given information about the meaning of the data captured, the analyzer can inverse assemble the trace. The inverse assembler makes the trace list more readable by presenting the trace results in terms of processor opcodes and data transactions.

To use an inverse assembler

Most preprocessors include an inverse assembler in their software. Loading the configuration file for the preprocessor sets up the logic analyzer to provide certain types of information for the inverse assembler. This section is provided in case you ever have to set up an analyzer for inverse assembly yourself.
The inverse assembly software needs at least these five pieces of information:
Address bus. The inverse assembler expects to see the label ADDR, with
bits ordered in a particular sequence. Data bus. The inverse assembler expects to see the label DATA, with bits
ordered in a particular sequence. Status. The inverse assembler expects to see the label STAT, with bits
ordered in a particular sequence. Start state for disassembly. This is the first displayed state in the trace list,
not the cursor position. See the figure on the next page. Tables indicating the meaning of particular status and data combinations.
The particular sequences that each label requires depends on the type of chip the inverse assembler was designed for. Because of this, inverse assemblers cannot generally be transferred between platforms.
To run the inverse assembler, you must be sure the labels are spelled correctly as shown here, or as directed in your inverse assembler documentation. Even a minor difference such as not capitalizing each letter will cause the inverse assembler to not work.
3–20
The inverse assembler sync hroni z es at the first line in the trace list...
not at the cursor position
Using the Logic Analyzer
To use an inverse assembler
Inverse assembly synchronization
When you press the Invasm key to begin inverse assembly of a trace, the inverse assembler begins with the first displayed state in the trace list. This is called synchronization. It looks at the status bits (STAT) and determines the type of processor operation, which is then displayed under the STAT label. If the operation is an opcode fetch, the inverse assembler uses the information on the data bus to look up the corresponding opcode in a table, which is displayed under the DATA label. If the operation is a data transfer, the data and corresponding operation are displayed under the DATA label. This continues for all subsequent states in the trace list.
If you roll the trace list to a new position and press Invasm again, the inverse assembler repeats the above process. However, it does not work backward in the trace list from the starting position. This may cause differences in the trace list above and below the point where you synchronized inverse assembly. The best way to ensure correct inverse assembly is to synchronize using the first state you know to be the first byte of an opcode fetch.
See Also The Preprocessor User’s Guide for more information on controlling inverse
assembly. "Troubleshooting," Chapter 10, if you have problems using the inverse
assembler.
3–21
3–22
4

Using the Trigger Menu

Using the Trigger Menu
To use the logic analyzer efficiently, you need to be able to set up your own triggers. This book provides examples of triggering in the next chapter. Those examples assume you already know where to find fields in the trigger menu. This chapter explains how to use those fields.
This chapter shows you how to:
Specify a basic trigger
Change a trigger sequence
Set up time correlation between analyzers
Arm from another instrument, or arm another instrument
Manage memory
Much of the information here is also covered in the Logic Analyzer Training Kit, but this chapter presents the information in a more general form.
4–2

Specifying a Basic Trigger

The default analyzer triggers are
While storing "anystate" TRIGGER on "a" 1 time Stor e "a ny state"
for state analyzers and
TRIGGER on "a" > 8 ns
for timing analyzers. The oscilloscope triggers separately from the logic analyzers. If you want to simply record data, these will get you started. They can quickly be tailored by specifying a particular pattern to look for instead of the general case.
Customizing a trigger generally requires these steps:
Assign terms to both analyzers
Define the terms
Change the trigger to use the new terms
The oscilloscope can be used in complex triggering sequences managed by the logic analyzer, but its inherent trigger mechanism is much simpler. Using the oscilloscope in conjunction with one or both of the analyzers is covered in "Arming and Additional Instruments" in this chapter. The different modes of triggering the oscilloscope are covered in "The Scope Trigger Menu" in Chapter 7.
4–3
Using the Trigger Menu

To assign terms to an analyzer

To assign terms to an analyzer
When you turn the logic analyzer on, Analyzer 1 is named Machine 1 and Analyzer 2 is off. Trigger terms can only be used by one analyzer at a time, so all the terms are assigned to Analyzer 1. If you plan to use both analyzers in your measurement, you need to assign some of the terms to Analyzer 2.
Go to the Trigger Machine 1 menu.
1
If you have renamed Machine 1 in the Analyzer Configuration menu, the name you changed it to will appear in the menu instead of Machine 1.
Select a term.
2
The terms are the fields below the roll field "Terms". See the figure below.
Terms
Select Assign from the list that appears.
3
The Resource Term Assignment menu appears. It is divided into two sections, one for each analyzer. All the terms are listed.
To change a term assignment, select the term field.
4
The term fields toggle from one section to the other. You can get all your terms assigned at once, or just change a few to meet immediate needs.
To exit the term assignment menu, select Done.
5
4–4
Using the Trigger Menu

To define a term

To define a term
Both default triggers trigger on term "a". If you only need to look for the occurrence of a certain state, such as a write to protected memory, then you only need to define term "a" to make the measurement you want.
In the Trigger menu, select the field at the intersection of the term
1
and the label whose value you want to trigger on.
You set labels in the Analyzer Format menu. If the channels you want to monitor are not attached to a label, they will not appear in the trigger menu.
Enter the value or pattern you want to trigger on.
2
If the label’s base is Symbol, a pop-up menu appears offering a choice of symbols. For other bases, use the keypad. An "X" stands for "don’t care".
If there are two conditions that need to be present at the same time, for example a protected address on the address bus and a write on the read/ write line, define both values on the same term. See the figure below.
Press Done.
3
Term "a" defined as a data write to read-only memory
4–5
Using the Trigger Menu

To change the trigger specification

To change the trigger specification
Most triggers use terms other than "a." Even a simple trigger might use additional terms to set conditions on the actual trigger. To use these terms, you must include them in the trigger sequence specification.
In the Trigger menu, select the number beside the specific level you
1
want to modify.
A Sequence Level menu pops up. It shows the current specification for that trigger level.
Select the field you want to change.
2
In the top row of the pop-up are three action fields: Insert Level, Select New Macro, and Delete Level. The next section goes into detail on them. The fields after "While storing," "TRIGGER on," and "Else on" are completed with trigger terms. Selecting these fields pops up a menu of terms(see below).
Select the term you want to use from the pop-up, or enter a new
3
value, as appropriate to the field.
Selecting "Combination" pops up a menu to define a term combination. The combination mechanism is discussed in "Resource Terms" in Chapter 7 and "The Trigger Sequencer" in Chapter 9.
If you have renamed a term, that name is automatically used everywhere the term would appear.
Select Done until you are back at the Trigger menu.
4
Term selection pop-up menu
4–6

Changing the Trigger Sequence

Most measurements require more complicated triggers to better filter information. From the basic trigger, you can
Add sequence levels
Change macros
Your logic analyzer provides a macro library to make setting up the trigger easier. There are 12 state macros and 13 timing macros. Most macros take more than one level internally to implement, and can be broken down into their separate levels. Once broken down, the levels can be used to design your own trigger sequences.
4–7
Using the Trigger Menu

To add sequence levels

To add sequence levels
You can add sequence levels anywhere except after the final one.
1 In the Trigger menu, select the number beside the sequence level just
after where you want to insert.
For example, if you want to insert a sequence level between levels 1 and 2, you would select level 2. To insert levels at the beginning, select level 1.
A Sequence Level pop-up appears. Its exact contents depend on the analyzer configuration and the level specification. However, all Sequence Level pop-ups have an Insert Level field in the upper left corner.
Select Insert Level.
2
Another pop-up offers the choices of Cancel, Before, or After. If the level you started from was the last level, After will not appear.
Select Before.
3
The Trigger Macro pop-up replaces the Sequence Level pop-up. The macros available depend on whether the analyzer is configured as state or timing.
Use the knob to highlight a macro, and select Done.
4
A new Sequence level pop-up appears. Its contents reflect the macro you just selected. The figure below shows a user macro for a state analyzer.
Fill in the fields and select Done.
5
Sequence Lev el pop-up menu
4–8
Using the Trigger Menu

To change macros

To change macros
You do not need to add and delete levels just to change a level’s macro. This can be done from within the Sequence Level pop-up.
From the Trigger menu, select the sequence level number of the
1
sequence level you want to modify.
A Sequence Level pop-up appears. Its contents reflect the current macro.
Select Select New Macro.
2
The Trigger Macro pop-up replaces the Sequence Level pop-up. The macros available depend on whether the analyzer is configured as state or timing.
Use the knob to highlight the macro you want, and select Done.
3
A new Sequence Level pop-up appears. Its contents reflect the macro you just selected. The wording of this screen is very similar to the macro description, and the line drawing demonstrates what the macro is measuring.
Select the appropriate assignment fields and insert the desired
4
pre-defined terms, numeric values, and other parameter fields required by the macro. Select Done.
See Also "Timing Trigger Macro Library" and "State Trigger Macro Library" in
Chapter 7 for a complete listing of macros.
4–9

Setting Up Time Correlation between Analyzers

There are two possible combinations of analyzers: state and state, and state and timing. Timing and timing is not possible because the Analyzer Configuration menu only permits one analyzer at a time to be configured as a timing analyzer. For either combination, time correlation is necessary for interleaving and mixed display.
Time correlation is useful when you want to store different sorts of data for each trace, but see how they are related. For instance, you could set up a timing and a correlated state analyzer and see if setup and hold times are being met. Or, you could set up two state analyzers and have one watch normal program execution and the other watch the control and status lines.
Time correlation requires that state analyzers store time tags. You set the state analyzer to store time tags by turning on Count Time in the Analyzer Trigger menu. The timing analyzer already stores time tags when it samples data.
See Also "Special Displays" in Chapter 5 for more information on interleaving
and mixed display.
4–10
Using the Trigger Menu

To set up time correlation between two state analyzers

To set up time correlation between two state analyzers
To correlate the data between two state analyzers, both must have Count Time turned on in their Trigger menus. Although both have Count State available, it is not possible to correlate data based on states even when they are identically defined.
In the Analyzer Trigger menu, select Count.
1
Count may be Count Off, Count Time, or Count States. Selecting the field causes a pop-up to appear.
Select the field after Count: and select Time.
2
A warning may appear about reduced memory. It will not prevent you from changing Count to Count Time.
Select Done.
3 4 Repeat steps 1 through 3 for the other state analyzer.
Now when you acquire data you will be able to interleave the listings.

To set up time correlation between a timing and a state analyzer

To set up time correlation between a timing and a state analyzer, only the state analyzer needs to have Count Time turned on. The timing analyzer automatically keeps track of time.
In the state Analyzer Trigger menu, select Count.
1
Count may be Count Off, Count Time, or Count States. Selecting the field causes a pop-up to appear.
Select the field after Count: and select Time.
2
A warning may appear about reduced memory. It will not prevent you from changing Count to Count Time.
Select Done.
3
Now when you acquire data you will be able to set up a mixed display.
4–11

Arming and Additional Instruments

Occasionally you may need to start the analyzer acquiring data when another instrument detects a problem. Or, you may want to have the analyzer itself arm another measuring tool. This is accomplished from the Arming Control field of the Analyzer Trigger menu.

To arm another instrument

1 Attach a BNC cable from the External Trigger Output port on the
back of the logic analyzer to the instrument you want to trigger.
The External Trigger Output port is also referred to as "Port Out." It uses standard TTL logic signal levels, and will generate a rising edge when trigger conditions are met.
In the Analyzer Trigger menu, select Arming Control.
2
Arming Control is below the Run button.
3 Select the Port Out field, and choose Analyzer from the list. 4 If you are using both analyzers, set the Arm Out Sent From field in
the upper right corner.
This field does not appear if only one analyzer is configured. The selected analyzer will send the arm signal when it finds its trigger.
Select Done.
5
When you make a measurement, the analyzer will send an arm signal through the External Trigger Output when the analyzer finds its trigger.
4–12
Using the Trigger Menu

To arm the oscilloscope with the analyzer

To arm the oscilloscope with the analyzer
If both analyzers and the oscilloscope are turned on, you can configure one analyzer to arm the other analyzer and the oscilloscope. An example of this is when a state analyzer triggers on a bit pattern, then arms a timing analyzer and the oscilloscope which capture and display the waveform after they trigger.
In the Analyzer Trigger menu, select Arming Control.
1 2 Select the Analyzer Arm Out Sent From field, and choose from the
list the Analyzer that will generate the arm.
3 Select the Analyzer Arm In field, and choose Group Run.
This allows you to time-correlate the data from the analyzers and the scope. The Scope Trigger Mode must be Immediate for correlation.
Select the field of the instrument which will arm the others, and in
4
the pop-up set it to run from Group Run.
The Scope field is not selectable. To set how the scope is run, select the field under Scope Arm In.
Select the other instrument fields and choose the mechanism which
5
will arm them.
The Analyzer Arm Out field determines which analyzer sends the arming signal to Port Out and to the oscilloscope if the oscilloscope is being armed by an analyzer.
As you set each machine, the arrows connecting the fields in the Arming Control menu change. The arrows show the order in which the instruments are armed.
See the example on the next page.
Select Done until you are back at the Trigger menu.
6
4–13
Example
Using the Trigger Menu
To arm the oscilloscope with the analyzer
In this example STATE MACH triggers from Group Run, then arms TIME MACH and Scope.
To duplicate this, set STATE MACH to run from Group Run, TIME MACH to run from STATE MACH, and Scope Arm In to Analyzer.
Arming with two analy zers and an oscillscope
When the run starts, the state analyzer automatically begins evaluating its trigger sequence instruction. When the trigger sequence is satisfied, the state analyzer sends an "Arm" signal to the timing analyzer, the oscilloscope, and the external trigger.
4–14

To receive an arm signal from another instrument

To receive an arm signal from another instrument
When you set the analyzer to wait for an arm signal, it does not react to data that would normally trigger it until after it has received the arm signal. The arm signal can be sent to any of the Trigger Sequence levels, but will go to level 1 unless you change it. Setting up the analyzer to receive an arm signal is more efficient when the sequence levels are already in place.
Connect a BNC cable from the instrument which will be sending the
1
signal to the External Trigger Input port on the back of the logic analyzer.
CAUTION Do not exceed 5.5 volts on the External Trigger Input.
The External Trigger Input port is also referred to as "Port In." It uses standard TTL logic signal levels, and expects a rising edge as input.
2 In the Analyzer Trigger menu, select Arming Control.
Arming Control is below the Run button.
Select the Analyzer Arm In field, and choose PORT IN.
3 4 To change the default settings, select the analyzer field.
A small pop-up menu appears. To change which device the analyzer is receiving its arm signal from, select the Run from field. To change which sequence level is waiting for the arm signal, select the Arm sequence level field.
Select Done until you are back at the Trigger menu.
5
Using the Trigger Menu
4–15

Managing Memory

Sometimes you will need every last bit of memory you can get on the logic analyzer. There are three simple ways to maximize memory when specifying your trigger:
Selectively store branch conditions (State only)
Place the trigger relative to memory
Set the sampling rates (Timing only)
4–16
Using the Trigger Menu

To selectively store branch conditions (State only)

To selectively store branch conditions (State only)
Besides setting up your trigger levels to store anystate, no state, or some subset of states, you can also choose whether or not to store branch conditions. Branch conditions are always stored by default, and can make tracing the analyzer’s path through a complicated trigger easier. If you really need the extra memory, however, it is possible to not store the branch conditions.
You cannot set the analyzer to store only some branches in a trigger sequence specification.
In the Analyzer Trigger menu, select Acquisition Control.
1
The Acquisition Control menu pops up. If the acquisition mode is set to Automatic, the menu contains a single field and an explanation. If Acquisition has been customized, it has 3 fields and a picture showing where the trigger is currently placed in memory.
If the mode is Automatic, select the field to toggle it to Manual.
2
The menu now shows three fields and a picture.
3 Select the Branches Taken Stored field.
It toggles to Branches Taken Not Stored.
4 Select Done.
Acquisition Control menu with branches field highlighted
4–17
Using the Trigger Menu

To place the trigger in memory

To place the trigger in memory
In Automatic Acquisition Mode, the exact location of the trigger depends on the trigger specification but usually falls around the center. You can manually place it to be at the beginning, end, or anywhere else.
In the Analyzer Trigger menu, select Acquisition Control.
1
The Acquisition Control menu pops up. If the acquisition mode is set to Automatic, the menu contains a single field and an explanation. If Acquisition has been customized, it has 3 or 4 fields and a picture showing where the trigger is currently placed in memory.
If the mode is Automatic, select the field to toggle it to Manual.
2
The menu now shows three fields and a picture.
3 Select the Trigger Position field.
A list of choices appears, as shown in the timing trigger example below.
4 Select the appropriate entry for your needs.
Start, Center, and End place the trigger respectively at the beginning, middle, and end of the memory. Delay, available in timing analyzers only, causes the analyzer to not save any data before the time delay has elapsed. User Defined calls up a fourth field where you specify exactly where you want the trigger.
Select Done.
5
Acquisition Control menu with trigger position pop-up for a timing analyzer
4–18
Using the Trigger Menu

To set the sampling rates (Timing only)

To set the sampling rates (Timing only)
A timing analyzer samples the data based on its own internal clock. A short sample period provides more detail about the device under test; a long sample period allows more time before memory is full. However, if the sample period is too large, some information may be missed.
In the Analyzer Trigger menu, select Acquisition Control.
1
The Acquisition Control menu pops up. If the acquisition mode is set to Automatic, the menu contains a single field and an explanation. If Acquisition has been customized, it has 3 or 4 fields and a picture showing where the trigger is currently placed in memory.
If the mode is Automatic, select the field to toggle it to Manual.
2
The menu now shows three fields and a picture.
3 Set the Sample Period field using the knob, or select it to use the
keypad to enter the period.
4 Select Done.
Next time you take a measurement, the analyzer will sample at the rate you entered.
Acquisition Control menu with Sample Period selected
4–19
4–20
5

Triggering Examples

Triggering Examples
As you begin to understand a problem in your system, you may realize that certain conditions must occur before the problem occurs. You can use sequential triggering to ensure that those conditions have occurred before the analyzer recognizes its trigger and captures information.
If you are not familiar with the trigger menus, read through the previous chapter, "Using the Trigger Menu," and try working through the examples in the Logic Analyzer Training Kit manual.
5-2

Single-Machine Trigger Examples

The following examples require only a single analyzer to make measurements. Sequence specifications are given in the form you see within the sequence levels, but the illustrations show the complete, multi-level sequence specification.
Although all the examples are case-specific, terms are named in a way that highlights their role in solving the trigger problem. You can easily apply the examples to your specific instance by changing the specific values assigned to the trigger terms.
5-3
Single-Machine Trigger Examples

To store and time the execution of a subroutine

To store and time the execution of a subroutine
Most system software of any kind is composed of a hierarchy of functions and procedures. During integration, testing, and performance evaluation, you want to look at specific procedures to verify that they are executing correctly and that the implementation is efficient. The analyzer allows you to do this by triggering on entry to the address range of the subroutine and counting the elapsed time since the trigger state.
Go to the state analyzer’s Trigger menu.
1 2 Set Count to Time. 3 Define a range term, such as Range1, to represent the address range
of the particular subroutine.
You may need to examine the structure of your code to help determine this. If your subroutine calls are really procedure calls, then there is likely to be some code at the beginning of the routine that adjusts the stack for local variable allocation. This will precede the address of the first statement in the procedure. If your subroutine has no local storage and is called by a jump or branch, then the first statement will also be the entry address.
Under State Sequence Levels, enter the following sequence
4
specification:
While storing "no state" TRIGGER on "In_Range1" Occurs 1 Else on "no
state" go to level 1 While storing "In_Range1" Then find "Out_Range1" Occurs 1 Else on "no
state" go to level 2 Store "no state" on "no state" go to level 1
For processors that prefetch instructions or have pipelined architectures, you may want to a dd part or all of the depth of the pipeline to the start address for In_Range1 to ensure that the analyzer does not trigger on a prefetched but unexecuted state.
5-4
Single-Machine Trigger Examples
To store and time the execution of a subroutine
The figure below shows what you would see on your analyzer screen after entering the sequence specification given in step 4.
Trigger setup for storing and timing execution of a subroutine
Suppose you want to trigger on entry to a routine called MY_SUB. You can create a symbol from the address of MY_SUB in the Format menu, allowing you to reference the symbol name when setting up the trace specification. Assume that MY_SUB extends for 0A hex locations. You can set up the trigger sequence as shown in the display.
5-5
Single-Machine Trigger Examples

To trigger on the nth iteration of a loop

To trigger on the nth iteration of a loop
Traditional debugging requires print statements around the area of interest. This is not possible in most embedded systems designs, but the analyzer allows you to view the system’s behavior when a particular event occurs. Suppose that your system behaves incorrectly on the last iteration of a loop, which, in this instance, happens to be the 10th iteration. You can use the analyzer’s triggering capabilities to capture that iteration and subsequent processor activity.
Go to the state analyzer’s Trigger menu.
1 2 Define the terms LP_START and LP_END to represent the start and
end addresses of statements in the loop, and LP_EXIT to represent the first statement executed after the loop terminates.
3 Change State Sequence Level 1’s macro to "Find event2 n times after
event1 before event3 occurs."
4 In the pop-up, enter the following sequence specification:
While storing anystate Find "LP_START" "9" times after "LP_END" before
"LP_EXIT" occurs.
You should use your value for n-1 instead of "9" in the sequence specification above.
Trigger setup for triggering on the 10th iteration of a loop
5-6
Single-Machine Trigger Examples
To trigger on the nth iteration of a loop
The specification has some advantages and a potential problem.
The advantages are that a pipelined processor won’t trigger until it has
executed the loop 10 times. Requiring LP_END to be seen at least once first ensures that the processor actually entered the loop; then, 9 more iterations of LP_START is really the 10th iteration of the loop. Also, no trigger occurs if the loop executes less than 10 times – the analyzer sees LP_EXIT and restarts the trigger sequence.
The potential problem is that LP_EXIT may be too near LP_END and thus
appear on the bus during a prefetch. The analyzer will constantly restart the sequence and will never trigger. The solution to this problem depends on the structure of your code. You may need to experiment with different trigger sequences to find one that captures only the data you want to view.
5-7
Single-Machine Trigger Examples

To trigger on the nth recursive call of a recursive function

To trigger on the nth recursive call of a recursive function
1 Go to the state analyzer’s Trigger menu. 2 Define the terms CALL_ADD, F_START, and F_END to represent the
called address of the recursive function, and the start and end addresses of the function. Define F_EXIT to represent the address of the first program statement executed after the original recursive call has terminated.
Typically, CALL_ADD is the address of the code that sets up the activation record on the stack, F_START is the address of the first statement in the function, and F_END is the address of the last instruction of the function, which does not necessarily correspond to the address of the last statement. If the start of the function and the address called by recursive calls are the same, or you are not interested in the function initialization code, you can use F_START for both CALL_ADD and F_START.
Change State Sequence Level 1’s macro to "Find event2 n times after
3
event1 before event3 occurs."
4 In the pop-up, enter the following sequence specification:
While storing anystate Find "CALL_ADD" "9" times after "F_START"
before "F_EXIT" occurs.
You should use your value for n-1 instead of "9" in the specification.
Insert another sequence level before the current one. Select the User
5
Level macro and enter the following specification:
While storing "no state" Find "F_END" occurs "1" Else on "no state" go to
level 1.
As with the trigger specification for "To trigger on the nth iteration of a loop," this specification helps avoid potential problems on pipelined processors by requiring that the processor already be in the first recursive call before advancing the sequencer. Depending on the exact code used for the calls, you may need to experiment with different trigger sequences to find one that captures only the data you want to view.
5-8
To trigger on the nth recursive call of a recursive function
Triggering on the 10th call of a recursive function
Single-Machine Trigger Examples
5-9
Single-Machine Trigger Examples

To trigger on entry to a function

To trigger on entry to a function
This sequence triggers on entry to a function only when it is called by one particular function.
Go to the state analyzer’s Trigger menu.
1 2 Define the terms F1_START and F1_END to represent the start and
end addresses of the calling function. Define F2_START to represent the start address of the called function.
3 Change State Sequence Level 1’s macro to "Find event2 n times after
event1 before event3 occurs."
4 In the pop-up menu, enter the following sequence specification:
While storing anystate Find "F2_START" "1" times after "F1_START"
before "F1_END" occurs.
This sequence specification assumes there is some conditional logic in function F1 that chooses whether or not to call function F2. Thus, if F1 ends without the analyzer having seen F2, the sequence restarts.
The specification also stores all execution inside function F1, whether or not F2 was called. If you are interested only in the execution of F1, without the code that led to its invocation, you can change the storage specification from "anystate" to "nostate" for the second sequence term.
Triggering on entry to a function
5-10
Single-Machine Trigger Examples

To capture a write of known bad data to a particular variable

To capture a write of known bad data to a particular variable
The trigger specification ANDs the bad data on the data bus, the write transaction on the status bus, and the address of the variable on the address bus.
Go to the state analyzer’s Trigger menu.
1 2 Define the terms BAD_DATA, WRITE, and VAR_ADDR to represent
the bad data value, write status, and the address of the variable.
3 Under State Sequence Level 1, enter the following sequence
specification (use the Combination trigger term):
While storing "anystate" TRIGGER on "BAD_DATA WRITE
VAR_ADDR" Occurs "1" Else on "no state" go to level "1"
Capturing a bad write to a variable
5-11
Single-Machine Trigger Examples

To trigger on a loop that occasionally runs too long

To trigger on a loop that occasionally runs too long
This example assumes the loop normally executes in 14 µs.
Go to the state analyzer’s Trigger menu.
1 2 Define terms LP_START and LP_END to represent the start and end
addresses of the loop, and set Timer1 to the normal duration of the loop.
3 Change State Sequence Level 1’s macro to "Find event2 occurring too
late after event1."
4 In the pop-up menu, enter the following sequence specification:
While storing anystate Find "LP_END" occurring too late after
"LP_START" Use Timer: "Timer1" Time="14 µs"
Of course, you use your normal loop duration in place of "14 µs." The macro will automatically start Timer1 for you.
Triggering on a loop overrun
5-12
Single-Machine Trigger Examples

To verify correct retu rn from a function call

To verify correct return from a function call
The exit code for a function will often contain instructions for deallocating stack storage for local variables and restoring registers that were saved during the function call. Some language implementations vary on these points, with the calling function doing some of this work, so you may need to adapt the procedure to suit your system.
Go to the state analyzer’s Trigger menu.
1 2 Define terms SR_START and SR_END to represent the start and end
addresses of the subroutine.
3 Under State Sequence Levels, insert 2 more sequence levels and enter
the following sequence specification:
While storing "anystate" Find "SR_START" Occurs "1" Else on "no state" go
to level "1" While storing "anystate" Then find "SR_END" Occurs "1" Else on "no state"
go to level "2" While storing "anystate" TRIGGER on " SR_START" Occurs "1" Else on
"SR_START" go to level "2"
Verifying correct return from a function call
5-13
Single-Machine Trigger Examples

To trigger after all status bus lines finish transitioning

To trigger after all status bus lines finish transitioning
In some applications, you will want to trigger a measurement when a particular pattern has become stable. For example, you might want to trigger the analyzer when a microprocessor’s status bus has become stable during the bus cycle.
Go to the timing analyzer’s Trigger menu.
1 2 Define a term called PATTERN to represent the value to be found on
the status bus lines.
3 Under Timing Sequence Levels, enter the following sequence
specification:
TRIGGER on "PATTERN" > 40 ns
Tri ggering after lines have finished transi tioning
5-14
Single-Machine Trigger Examples

To find the nth assertion of a chip select line

To find the nth assertion of a chip select line
1 Go to the timing analyzer’s Trigger menu. 2 Define the Edge1 term to represent the asserting transition on the
chip select line.
You can rename the Edge1 term to make it correspond more closely to the problem domain, for example, to CHIP_SEL.
Under Timing Sequence Levels, enter the following sequence
3
specification:
TRIGGER on "CHIP_SEL" Occurs "10" Else on "no state" go to level "1"
You should use your value for "n" in place of "10" in the specification above.
Triggering on the 10th assertion of a chip select line
5-15
Single-Machine Trigger Examples

To verify that the chip select line is strobed after the address is stable

To verify that the chip select line is strobed after the address is stable
1 Go to the timing analyzer’s Trigger menu. 2 Define a term called ADDRESS to represent the address in question
and the Edge1 term to represent the asserting transition on the chip select line.
You can rename the Edge1 term to suit the problem, for example, to MEM_SEL.
Under Timing Sequence Levels, enter the following sequence
3
specification:
Find "ADDRESS" > 80 ns
TRIGGER on "MEM_SEL" Occurs "1" Else on " ADDRESS" go to level "1"
Verifying setup time for memory address
5-16
Single-Machine Trigger Examples

To trigger when expected data does not appear when requested

To trigger when expected data does not appear when requested
1 Go to the timing analyzer’s Trigger menu. 2 Define a term called DATA to represent the expected data, the Edge1
term to represent the chip select line of the remote device, and the Timer1 term to identify the time limit for receiving expected data.
You can rename the Edge1 and Timer1 terms to match the problem domain, for example, to REM_SEL and ACK_TIME.
Under Timing Sequence Levels, enter the following sequence
3
specification:
Find "REM_SEL" Occurs "1" Else on "no state" go to level "1"
TRIGGER on "ACK_TIME > 16.00 µs" Occurs "1" Else on "DATA" go to
level "1"
You will need to start ACK_TIME timer (Timer1) upon entering this state. You do this using the Timer Control field in the menu for sequence level 2.
This sequence specification causes the analyzer to trigger when the data does not occur in 16 µs or less. If it does occur within 16 µs, the sequence restarts. Specifications of this type are useful in finding intermittent problems. You can set up and run the trace, then cycle the system through temperature and voltage variations, using automatic equipment if necessary. The failure will be captured and saved for later review.
Triggering when data not returned
5-17
Single-Machine Trigger Examples

To test minimum and maximum pulse limits

To test minimum and maximum pulse limits
1 Go to the timing analyzer’s Trigger menu. 2 Define the Edge1 term to represent the positive-going transition, and
define the Edge2 term to represent the negative-going transition on the line with the pulse to be tested.
You can rename these terms to POS_EDGE and NEG_EDGE.
Define the Timer1 term to represent the minimum pulse width, and
3
the Timer2 term to represent the maximum pulse width.
You can rename these terms to MIN_WID and MAX_WID. In this example, Timer1 was set to 496 ns and Timer2 was set to 1 µs. Both timers start when sequence level 2 is active.
Under Timing Sequence Levels, enter the following sequence
4
specification:
Find "POS_EDGE" Occurs "1" Else on "no state" go to level "1"
Then find "NEG_EDGE" Occurs "1" Else on "no state" go to level "2"
You will need to start both timers upon entering this second state. You do this using the Timer Control field in the menu for sequence level 2.
TRIGGER on "MIN_WID 496 ns + MAX_WID 1.00 µs" Occurs "1" Else on
"anystate" go to level "1"
Because both timers start when entering sequence level 2, they start as soon as the positive edge of the pulse occurs. Once the negative edge occurs, the sequencer transitions to level 3. If at that point, the MIN_WID timer is less than 496 ns or the MAX_WID timer is greater than 1 µs, the pulse width has been violated and the analyzer triggers. Otherwise, the sequence is restarted.
Measurement of minimum and maximum pulse width limits
5-18
Single-Machine Trigger Examples
To test minimum and maximum pulse limits
Triggering when a pulse exceeds minimum or maximum limits
5-19
Single-Machine Trigger Examples

To detect a handshake violation

To detect a handshake violation
1 Go to the timing analyzer’s Trigger menu. 2 Define the Edge1 term to represent either transition on the first
handshake line, and the Edge2 term to represent either transition on the second handshake line.
You can rename these terms to match your problem, for example, to REQ and ACK.
Under Timing Sequence Levels, enter the following sequence
3
specification:
Find "REQ" Occurs "1" Else on "no state" go to level "1"
TRIGGER on "REQ" Occurs "1" Else on "ACK" go to level "1"
Triggering on a handshake violation
5-20
Single-Machine Trigger Examples

To detec t bus contention

To detect bus contention
In this setup, the trigger occurs only if both devices assert their bus transfer acknowledge lines at the same time.
Go to the timing analyzer’s Trigger menu.
1 2 Define the Edge1 term to represent assertion of the bus transfer
acknowledge line of one device, and Edge2 term to represent assertion of the bus transfer acknowledge line of the other device.
You can rename these to BTACK1 and BTACK2.
3 Under Timing Sequence Levels, enter the following sequence
specification:
TRIGGER on "BTACK1 BTACK2" Occurs "1" Else on "no state" go to
level "1"
Triggering on bus contention
5-21

Cross-Arming Trigger Examples

The following examples use cross arming to coordinate measurements between two separate analyzers within the logic analyzer or between analyzers and the oscilloscope. The analyzers can be configured as either a state analyzer and timing analyzer, or two state analyzers. It is not possible to set both to timing.
You set up cross arming in the Arming Control menu (obtained by selecting Arming Control in the Trigger menu). When coordinating measurements between two instruments, you need to select Count Time to correlate the measurements. When correlating measurements between an analyzer and the scope you also need to set the oscilloscope Trigger Mode to Immediate.
See also "Arming and Additional Instruments" in Chapter 4 for more
information on cross arming.
5-22
Cross-Arming Trigger Examples

To examine software execution when a timing violation occurs

To examine software execution when a timing violation occurs
The timing analyzer triggers when the timing violation occurs. When it triggers, it also sets its "arm" level to true. When the state analyzer receives the arm signal, it triggers immediately on the present state.
Set up one state analyzer and one timing analyzer.
1 2 Go to the timing analyzer’s Trigger menu. 3 Define Edge1 to represent the control line where the timing violation
occurs.
4 Under Timing Sequence Levels, enter the following sequence
specification:
TRIGGER on "Edge1" Occurs "1" Else on "no state" go to level "1"
Go to the state analyzer’s Trigger menu and check that term "a" is set
5
to "don’t care". In the Arming Control menu set the state analyzer to be run by the timing analyzer.
Arming the state analyzer from the timing analyzer
6 Under State Sequence Levels, enter the following sequence
specification:
While storing "anystate" TRIGGER on "arm a" Occurs "1" Else on "no
state" go to level "1"
5-23
Cross-Arming Trigger Examples

To look at control and status signals during execution of a routine

To look at control and status signals during execution of a routine
The state analyzer will trigger on the start of the routine whose control and status signals are to be examined more frequently than once per bus cycle. When the state analyzer triggers, it sends out an arm signal. The timing analyzer triggers when it receives the true arm level and detects the transition represented by Edge1.
Set up one state analyzer and one timing analyzer.
1 2 Go to the state analyzer’s Trigger menu and define term R_START to
represent the starting address of the routine.
3 Under State Sequence Levels, enter the following sequence
specification:
While storing "anystate" TRIGGER on "R_START" Occurs "1" Else on "no
state" go to level "1"
Go to the timing analyzer’s Trigger menu.
4 5 Define the Edge1 term to represent a transition on one of the control
signals.
6 Set the timing analyzer to be run by the state analyzer. Under Timing
Sequence Levels, enter the following sequence specification:
TRIGGER on "arm Edge1" 1 time
You do not need to use a combination trigger when one analyzer is armed from the other analyzer - the arm term is ANDed automatically with the term already in use.
5-24
Cross-Arming Trigger Examples

To detect a glitch

To detect a glitch
The following setup uses a state analyzer to capture state flow occurring at the time of the glitch. This can be useful in troubleshooting. For example, you might find that the glitch is ground bounce caused by a number of simultaneous signal transitions.
Set up a timing analyzer and a state analyzer.
1 2 Go to the timing analyzer’s Format menu and set the Timing
Acquisition Mode to Glitch Half Channel 125 MHz.
Glitch mode only allows you to use one pod of a pod pair at a time. If the wrong pod is active, toggle by selecting the Pod button.
Go to the timing analyzer’s Trigger menu.
3 4 Select an Edge term. Then assign glitch detection "*" to the channels
of interest represented by the Edge term.
5 Go to the state analyzer’s Trigger menu. 6 Set the analyzer to be armed by the timing analyzer. Leave the trigger
set to trigger on any state.
If you don’t see the activity of interest in the state trace, try changing the trigger position using the Acquisition Control field in the Trigger menu of the state analyzer. By changing the Acquisition mode to manual, you can position the trigger at any state relative to analyzer memory.
The timing analyzer can detect glitch activity on a waveform. A glitch is defined as two or more transitions a cross the logic threshold b etween adjacent timing analyzer samples.
5-25
Cross-Arming Trigger Examples

To capture the waveform of a glitch

To capture the waveform of a glitch
The following setup uses the triggering capability of the timing analyzer and the acquisition capability of the oscilloscope.
Set up a timing analyzer. Go to the timing analyzer’s Format menu
1
and set the Timing Acquisition Mode to Glitch Half Channel 125 MHz.
Glitch mode only allows you to use one pod of a pod pair at a time. If the wrong pod is active, toggle by selecting the Pod field.
Go to the timing analyzer’s Trigger menu.
2 3 Select an Edge term. Then assign glitch detection "*" to the channels
of interest represented by the Edge term.
4 Go to the Arming Control menu. Set the Scope Arm In to Analyzer. 5 Select Group Run in the Analyzer Arm In menu. 6 Go to the Scope Trigger menu, and set Mode to Immediate.
If you have trouble capturing the glitch waveform on the oscilloscope, try adjusting the skew in the Arming Control menu, so the oscilloscope triggers earlier.
A timing analyzer can trigger on a glitch and capture it, but a timing analyzer doesn’t hav e the voltage or timing re solution to display the glitch in detail. An oscilloscope can display a glitch waveform with fine resolution, but cannot trigger on glitches, combinations of glitches, or sophisticated patterns involving many channels.
5-26
Loading...