Test signals for multi-input digital devices

Agilent 8110A: Multi-channel Product Note
Agilent 8110A pulse generator
Multi-channel product Note
Test Signals for Multi-Input Digital Devices
============================================
___
___
___
___|
|___|
|___|
|___ Multi-phase clocks
___
___
___
___|
|___|
|___|
|_
___
___
___
___|
|___|
|___|
___
___
_
__|
|___|
|___|
0010110000100111100101000000 Parallel data
0111111011001010011011111111
1100000001111000001111100100
_
_
_
_
_| | _
| |_ | |_| |_
__|
|_| |__|
|_|
|
_|_
___
|___
___|
|___|_| | |___|
|___
3- and 4-levels
Glitch simulation
=============================================
Foreword
Compact, convenient, flexible
Designed for characterizing digital circuits in the lab and
in the automatic test environment, the Agilent 8110A pulse generator
has extensive functionality and high parametric performance.
Its small size and weight pair well with Agilent's oscilloscopes so
that a powerful stimulus-response tool can be applied rapidly
to new problems as they occur.
Through master-slaving, multi-input devices can be stimulated
with signals that match the real environment. Low per-channel
volume, easy hook-up to systems, and the ability to compensate
for skews introduced by test heads and cables, are some of the
attributes that make this approach practical and economic.
Applications
CAD emulation can only go so far; thorough characterization
under realistic conditions is needed before you can proceed with
confidence through the product cycle. For these measurements,
repeatable signals are needed that are accurate models of the
real ones. This means not only simulating the necessary clocks,
control impulses and two- or multi-level data streams, but also
the effects of crosstalk, ground-bounce and distortion.
The same Agilent 8110A master-slave setup will generate any of
these signal types, even a mix of them. In the case of data, a
few extra initialization steps are needed to ensure frame
synchronization, but the hardware and connections remain the
same. This document therefore focuses on multi-channel clock
and pulse applications on the one hand, and multi-channel data
applications on the other. It is hoped that this results in a
good overview of the possibilities without going into detail of
all possible signal mixes.
Page1 of10
Agilent 8110A: Multi-channel Product Note
Contents
Multiple clocks and pulse sequences............
Multi-channel digital signals..................
Some application tips..........................
Appendices:
A: Agilent 8110A modules ..................
B: Connections and accessories.............
C: Agilent 8110A timing ranges............
D: Automatic synchronization...............
Part
4
5
6
7
8
9
10
Part 4: Multi-phase clocks
--------------------------An Agilent 8110A master-slave setup generates accurate clock
signals and can also simulate "real life" clocks where phase
and duty cycle have been corrupted through the clock
distribution path.
The same setup can also generate parallel pulse sequences
(and data, too, but this is described later).
It's easy to set up phase, duty cycle and squareness of
clock signals because these period-dependent parameters can be
set up directly. On the other hand, when time intervals are
required, a keystroke changes the display to delay and width
(or leading edge and trailing edge delays, as required by the
application).
In reality, the signals may well be subject to ground-bounce,
ringing and crosstalk. To help understand these problems early
in design, the Agilent8110A lets you simulate these effects before
hardware is completed. This is possible because you can set up
an interferance pulse in one channel and combine it internally
with a clean waveform in the other. An application of this kind,
with say 4 clock phases, two of which with simulated distortion,
would be met by a setup with 2 slaves and just 12 inches height.
With the appropriate number of Agilent 8110As connected as shown
in Appendix B, set the instruments as follows:
Master
- Recall the default settings.
- Set a deskew delay of 26 ns in both channels (this is
the typical value of slave propagation delay).
Slave(s)
- Recall the default settings.
- TRG-MODE page: set pulse period to "ext CLK-IN",
"leading edge".
- TRG-LEV page: change default value of "CLK-IN:
threshold" as follows:
- One slave:
1.2 V.
- Two slaves:
0.6 V.
- Three slaves: 0.6 V for the slave via one splitter,
0.3 V when via two splitters.
- Four slaves:
0.3 V.
If deskew at the device-under-test is an important
consideration, connect the Agilent 8110A outputs to an oscilloscope
with the cables you would normally use with the device. Use a
slave trigger output to trigger the oscilloscope. Set the master
to a fairly low frequency to avoid pulse-position ambiguity, and
adjust master and slave delays to "tune out" the skews.
For continuous sequences of higher stability, you can use the
master's internal PLL, or External Clock input, instead of the
internal oscillator. All that now has to be done is to set the
required parameters and enable the outputs. Frequency* (and
any other parameters) can now be adjusted any time as needed.
* Frequency and other timing parameters: A glitch may occur
when crossing a boundary from one range to another.
Synchronization is not impaired. A list of ranges is given
in Appendix C so that boundary glitches can be avoided .
Triggered signals, such as clock bursts can be generated by
setting the master to one of the following:
- Gated pulses
Pulse period: VCO or PLL.
Gate source: Ext Input
- Triggered burst
Page2 of10
Agilent 8110A: Multi-channel Product Note
Pulse period: VCO.
Trigger source: Ext Input or PLL
or:
Pulse period: PLL.
Trigger source: Ext Input.
In a triggered mode, the slave(s) must be switched to "Meas
Once" to avoid a false measurement. Use this procedure to
initialize:
- Master: set to Continuous mode.
- Slave: go to TIMING page and, with "Per" ( or "Freq") value
highlighted, select "Meas Once" in the MODIFY panel. Now
press Enter to measure the frequency.
- Return the master to the required mode.
If the clock frequency of a triggered sequence is to be adjusted
during a measurement, remember that the timing parameters (even
if set in terms of phase or % of period) will NOT change with
frequency because of the need to operate in "Meas Once" mode.
Part 5: Multi-channel digital signals
-------------------------------------Digital devices all need "data" of some kind to be tested
realistically. Requirements in practice will be manifold: chip
control signals, device-triggered sequences, parallel data, RZ
or NRZ formats, and 3- or 4-level codes.
The kind of measurement (for example: pattern compare,
state or timing analysis, eye-pattern or BER) will also
influence the stimulus requirements. These are addressed by the
following
Agilent 8110A capabilities:
- a pattern mode with an editor that includes prbs,
- internal or external starting and clocking,
- channel addition for multi-level communications codes, plus
timing and level capabilities available in all modes.
As an example, consider an 8-bit MUX with chip select and
reset inputs. An Agilent 8110A master with three slaves can
stimulate not only the eight data lines but also -thanks to the
strobe channels- the control lines as well.
With the appropriate number of Agilent 8110As connected as
shown in Appendix B, set the instruments as follows:
Master
- Recall the default settings.
- Set a deskew delay of 26 ns in both channels (this is
the typical value of slave propagation delay).
Slave(s)
- Recall the default settings.
- TRG-MODE page: set pulse period to "ext CLK-IN",
"leading edge".
- TRG-LEV page: change default value of "CLK-IN:
threshold" as follows:
- One slave:
1.2 V.
- Two slaves:
0.6 V.
- Three slaves: 0.6 V via one splitter,
0.3 V via two splitters.
- Four slaves: 0.3 V.
If deskew at the device-under-test is an important consideration, connect the Agilent 8110A outputs to an oscilloscope with the
cables you would normally use with the device. Use a slave
trigger output to trigger the oscilloscope. Set the master to a
fairly low frequency to avoid pulse-position ambiguity, and
adjust master and slave delays to "tune out" the skews.
Continuous Sequences
To set up the sequences, proceed as follows:
1. Set master and slaves to Continuous Pattern mode
2. Select the format (RZ or NRZ) needed in each channel.
3. Set all Agilent 8110As to the same pattern length.
4. Enter the data required.
5. Set timing and output values as required.
6. Synchronize as shown in Table 1.
Page3 of10
Agilent 8110A: Multi-channel Product Note
Table 1: Data generator synchronization
______________________________________________________________
|
|
|-Set master to "Triggered Pattern" and "Trg'd by: MAN key"
|
| (the object of this is to stop the master so that no clock
|
| pulses get to the slaves during this synchronization).
|
|-Set the master to Burst mode, then back to Triggered
|
|
Pattern mode.
|
|-Set the slave(s) to Burst mode, then back to Pattern mode
|
| (this and the previous step clears all the address counters |
| so that all channels will start at bit 1 on the first clock).|
|-Enable all outputs.
|
|-Set the master to the required mode:
|
|
-"Continuous Pattern"
|
|
or "Triggered Pattern" / "Trg'd by: PLL"
|
|
or "Triggered Pattern" / "Trg'd by: EXT-IN"
|
|______________________________________________________________|
For continuous sequences of higher stability, you can use the
master's internal PLL, or External Clock input, instead of the
internal oscillator.
Triggered Sequences
As implied by the last step of Table 1, externally or
internally (PLL)-triggered patterns are also feasible. In the
case of externally-triggered patterns, the PLL can be used as
the period source for higher accuracy. Here, two important
conditions must be observed:
a) The start is asynchronous, that is, after the external
trigger, the master will wait until the next available clock
edge (or next-but-one if the first edge happens to be masked by
the trigger pulse). The advantage of this mode -apart from
better frequency stability and accuracy- is that the period
settling time is zero.
b) The slaves must operate in the "measure frequency once" mode
because continuous measurement of a gated clock would lead to a
false result.
To set up a triggered pattern:
1. Set master and slaves to Continuous Pattern mode.
2. Go to the Timing page of each slave and, with "Per" (or
"Freq" highlighted, select "Meas Once" in the MODIFY
panel. Now press the Enter key(s) so that each slave
measures the incoming clock frequency from the master.
Return the master to the required mode.
3. Select the format (RZ or NRZ) needed in each channel.
4. Set all Agilent 8110As to the same pattern length.
5. Enter the data required.
6. Set timing and output values as required.
7. Synchronize as shown in Table 1.
If the clock frequency of a triggered sequence is to be
adjusted during a measurement, remember that the timing
parameters -even if set in terms of phase or % of period- will
NOT change with frequency because of the need for "Meas Once"
mode.
Note also that triggered and continuous patterns lose
synchronism when a boundary from one frequency or other timing
range to another. A list of ranges is given in Appendix C so
that loss of synchronism can be avoided. If a boundary is
crossed, perform the synchronization procedure of Table 1. Any
change of data in the programmed pattern will cause loss of
synchronization, too. If data is changed, perform Table 1.
Part 6:
Some application tips
Page4 of10
Agilent 8110A: Multi-channel Product Note
-----------------------------Here are some examples showing how the Agilent 8110A's features
in master-slave operation solve demanding stimulus requirements.
Double-frequency auxiliary clock
- - - - - - - - - - - - - - - Generally, master and slaves will be operated in the same mode
(examples: multi-phase clock, parallel data applications).
However, there is nothing to prevent one or more of the slaves
being operated in pulse mode when the master and other slaves
are in data mode. An example is shown in Figure 2 where a
double-pulse is generated on each bit of master data.
Master (data)
__ _____________ _____________ ___
__X_____________X_____________X____
Slave (double pulse)
__
__
__
__
__
__| |__| |____| |__| |____| |_
Figure 2: Generation of double-frequency
square wave (for clarity, pulses are shown
before width and spacing have been
equalized).
Accurate downstream trailing edge placement
- - - - - - - - - - - - - - - - - - - - - The above technique can also be used when trailing edges in
one channel must be placed critically relative to the data in
others. This overcomes the incremental nature of trailing-edge
position in NRZ (non-return zero) data format, relative to the
leading edge. Further, a slave may be clocked from a strobe
output instead of the clock output when a single event is needed
in the data cycle.
Master, pattern mode:
Output:
__ __________ __________ __________ _______
__X__________X__________X__________X_______
:
:
Strobe out
:______
___|
|________________________________
:
:
Slave (pulse mode):
Output 1 (single pulse):
: Delay
:--------->:____________
___:__________|
|________________
:
:---Width--->:
:
Output 2 (double pulse, complement)
:----Double --------->
___:----Width---->:______
____
|______________|
|______________|
Figure 3: Both edges of a pulse event have
variable timing and hence can be placed with
high resolution anywhere in the data frame.
The above example is taken from a flash-RAM test application
and is given here to show some of the potential.
A "third channel" in each Agilent 8110A
- - - - - -- - - - - - - - - - - Mention has already been made of the strobe output. This has
the same data capability as a main output, has selectable TTL/
ECL output level and fixed NRZ timing, so can be used to
stimulate channels that do not require parametric adjustment.
Thus each Agilent 8110A can be regarded as providing an extra
channel.
Page5 of10
Agilent 8110A: Multi-channel Product Note
Absolute and period-dependent parameters
- - - - - - - - - - - - - - - - - - - Delay, width and transition-time can be entered in perioddependent terms (e.g., phase, duty cycle, % of period) in
master and slave instruments as well as in stand-alones.
How does a slave "know" the period value? Simply that one of
the functions of the PLL module is to measure the external
clock frequency. However, take care if the external clock is
not continuous (which is the case if the master is, for example,
in burst or gate mode, or in triggered pattern mode) because
the "missing" clock pulses will falsify the frequency
measurement. To help solve this problem, there is a "count once"
mode which can be implemented when the system is initialized.
APPENDIX A:
Modules needed in the Agilent 8110As
Whether your application needs several pulse channels,
multi-phase clocks or parallel data patterns, the same
hardware setups apply. These consist of a master with up to
four slaves. The instrument configurations are:
Master Agilent 8110A:
- An Agilent 8110A mainframe.
- Two Agilent 81103A channel modules.
- An Agilent 81107A deskew module. This module
compensates for slave propagation time by delaying
the two master channels by an appropriate amount
(typically about 24 ns).
- Optional: an Agilent 81106A PLL module for enhanced
master/slave clock accuracy. Also allows synchronization to an external clock.
Slave
-
Agilent 8110As
An Agilent 8110A mainframe.
Two Agilent 81103A channel modules.
An Agilent 81106A PLL module, essential for synchronizing to the master.
- Optional: an Agilent 81107A deskew module. This module
is more essential the higher the frequency. It allows
differences in set-up and test-head propagation times
to be compensated at the device-under-test.
APPENDIX B: Connections and accessories needed
For all applications -that is, multi-channel clock, pulse
and data requirements- a slave is synchronized to the master
by connecting the master's Trigger output to the slave's Clock
input.
For clean triggering, it is important to connect with 50-ohm
components and to ensure that all slave Clock inputs are set to
50-ohm. Depending on the number of slaves, one or more power
splitters are needed to preserve a 50-ohm match throughout the
clock distribution. This number of splitters determine the
threshold level to which the slave Clock inputs should be set.
These details are shown below for setups consisting of 2, 3, 4
and 5 instruments.
Two Agilent 8110As: 4 full channels 2 strobes
------------------------------------------ one master and one slave,
- one 61 cm, 50-ohm coax cable (Agilent 8120-1839).
Master Agilent 8110A
Trigger Out <--------------------->
(TTL levels
61-cm BNC
selected)
cable
Slave Agilent 8110A
Clock In (rear panel)
(50 ohm,
1.2 V threshold)
Three Agilent 8110As: 6 full channels 3 strobes
-------------------------------------------- one master and two slaves,
- one 61 cm, 50-ohm BNC coax cable (Agilent 8120-1839),
- one BNC f-f adapter (Agilent 1250-0080),
Page6 of10
Agilent 8110A: Multi-channel Product Note
- one adder/splitter (Agilent 15104A, passive 50-ohm delta network),
- two 30 cm, 50-ohm BNC coax cables (Agilent 8120-1838).
Adapter
Master
8110A
(TTL levels
_____
|
|>-<<|
|
|_____| Clock In (rear panel)
(50 ohm, 0.6 V threshold)
\
61-cm BNC
30-cm
cable
Slave 2
8110A
From splitter <-------------> Clock In (rear panel)
30-cm
(50 ohm, 0.6 V threshold)
cable
Four Agilent 8110As: 8 full channels 4 strobes
------------------------------------------ one master and three slaves,
- one 61 cm, 50-ohm BNC coax cable (Agilent 8120-1839),
- one BNC f-f adapter (Agilent 1250-0080),
- two adder/splitters (Agilent 15104A, passive 50-ohm delta network),
- three 30 cm, 50-ohm BNC coax cables (Agilent 8120-1838).
Master
8110A
(TTL levels
61-cm BNC
30-cm
cable
Splitter 1 Agilent 15104A
___
|
|><<|
|
/ |___| Clock In (rear panel)
(50 ohm, 0.3 V threshold)
Slave 2
8110A
From splitter 2 <--------------> Clock In (rear panel)
30-cm
(50 ohm, 0.3 V threshold)
cable
Slave 3
8110A
From splitter 1 <---------------> Clock In (rear panel)
30-cm
(50 ohm, 0.6 V thresh)
cable
Five Agilent 8110As: 10 full channels 5 strobes:
--------------------------------------------- one master and four slaves,
- one 61 cm, 50-ohm BNC coax cable (Agilent 8120-1839),
- one BNC f-f adapter (Agilent 1250-0080),
- three adder/splitters (Agilent 15104A, passive 50-ohm delta
network),
- four 30 cm, 50-ohm BNC coax cables
(Agilent 8120-1838).
Master
8110A
(TTL levels
61-cm BNC
30-cm
cable
Splitter 1 Agilent 15104A
___
|
|><<|
|
|___| Clock In (rear panel)
(50 ohm, 0.3 V threshold)
Slave 2
8110A
From splitter 2 <-------------> Clock In (rear panel)
30-cm
(50 ohm, 0.3 V threshold)
cable
Slave 3
8110A
From splitter 3 <-------------> Clock In (rear panel)
30-cm
(50 ohm, 0.3 V threshold)
cable
Slave 4
8110A
From splitter 3 <-------------> Clock In (rear panel)
30-cm
(50 ohm, 0.3 V threshold)
cable
APPENDIX C: Timing ranges
Page7 of10
Agilent 8110A: Multi-channel Product Note
5.2ns
10ns
100ns
1us
10us
100us
1ms
10ms
100ms
1s
10s
100s
9.99ns
99.9ns
999ns
9.99us
99.9us
999us
9.99ms
99.9ms
999ms
9.99s
99.9s
999s
Width ranges
2.4ns
10ns
100ns
1us
10us
100us
1ms
10ms
100ms
9.99ns
99.9ns
999ns
9.99us
99.9us
999us
9.99ms
99.9ms
999ms
Delay ranges
0ns
10ns
100ns
1us
10us
100us
1ms
10ms
100ms
9.99ns
99.9ns
999ns
9.99us
99.9us
999us
9.99ms
99.9ms
999ms
Double pulse ranges
4.3ns
10ns
100ns
1us
10us
100us
1ms
10ms
100ms
9.99ns
99.9ns
999ns
9.99us
99.9us
999us
9.99ms
99.9ms
999ms
PLL frequency ranges
160MHz
79.99MHz
39.99MHz
19.99Mhz
9.999MHz
4.999MHz
3.999MHz
1.999MHz
999.9kHz
799.9kHz
399.9kHz
199.9kHz
99.99kHz
79.99kHz
39.99kHz
19.99kHz
9.999kHz
7.999kHz
3.999kHz
1.999kHz
999.9Hz
799.9Hz
80MHz
40MHz
20MHz
10MHz
5MHz
4MHz
2MHz
1MHz
800kHz
400kHz
200kHz
100kHz
80kHz
40kHz
20kHz
10kHz
8kHz
4kHz
2kHz
1kHz
800Hz
400Hz
Page8 of10
Agilent 8110A: Multi-channel Product Note
399.9Hz
199.9Hz
99.99Hz
79.99Hz
39.99Hz
19.99Hz
9.999Hz
7.999Hz
3.999Hz
1.999Hz
999.9mHz
799.9mHz
399.9mHz
199.9mHz
99.99mHz
79.99mHz
39.99mHz
19.99mHz
9.999mHz
7.999mHz
3.999mHz
1.999mHz
200Hz
100Hz
80Hz
40Hz
20Hz
10Hz
8Hz
4Hz
2Hz
1Hz
800mHz
400mHz
200mHz
100mHz
80mHz
40mHz
20mHz
10mHz
8mHz
4mHz
2mHz
1mHz
Part 1.10.
APPENDIX D:
Automatic synchronization
The following program in HPBasic automates the procedure in
Part 5 for synchronizing digital patterns. It also handles data
loading.
10
20
30
40
50
60
70
80
90
100
110
!Master/slave: data loading and sync routine
CLEAR SCREEN
ASSIGN @Pm TO 711
ASSIGN @Ps TO 712
CLEAR @Pm
CLEAR @Ps
OUTPUT @Pm;"*RST"
OUTPUT @Ps;"*RST"
!
! Master settings:
OUTPUT @Pm;":TRIG:COUN 50;:DIG:PATT ON" ! 50-bit pattern,
pattern mode.
120
OUTPUT @Pm;":ARM:SOUR IMM;:TRIG:SOUR INT2" ! Continuous
cycle, PLL clock.
130
!OUTPUT @Pm;"ROSC:SOUR EXT;EXT:FREQ 10 MHZ" ! Activate if
ext frequency ref needed.
140
OUTPUT @Pm;":FREQ 100 MHZ"
150
OUTPUT @Pm;":DIG:PATT:DATA #250400113333333333333331
10000000000000000000000000000"
160
!Data pattern: # =start of block
170
!
2 = "next 2 characters define block length
180
!
50 = "block has 50 characters"
190
! Block characters set consecutive bits (from bit 0)
200
!
into channels 1, 2 or strobe as follows:
210
!
1 sets a bit in ch1 to 1
220
!
2 sets a bit in ch2 to 1
230
!
3 sets same bit in ch1 and ch2
240
!
4 sets a bit in strobe channel to 1
250
!
5 sets same bit in ch1 and strobe to 1
260
!
6 sets same bit in ch2 and strobe to 1
270
!
7 sets same bit in all channels to 1
280
OUTPUT @Pm;":DIG:SIGN1:FORM NRZ;:DIG:SIGN2:FORM NRZ"
290
!
300
! Slave settings:
310
OUTPUT @Ps;":TRIG:COUN 50;:DIG:PATT ON" ! Pattern count
same as master's.
320
OUTPUT @Ps;":PULS:WIDT1 2.4NS" ! Min pulse width....
330
OUTPUT @Ps;":PULS:WIDT2 2.4NS" !..to allow max frequency.
340
OUTPUT @Ps;":PULS:PER:AUTO ONCE" ! Measures master
frequency M-Trig Out to S-Clock In.
350
OUTPUT @Ps;":ARM:SOUR IMM;:TRIG:SOUR EXT2" ! Cont cycle.
Rear-panel Clock In is source.
360
OUTPUT @Ps;":DIG:PATT:DATA #25040000000000000003000
000000000000000000000000000000"
370
OUTPUT @Ps;":PULS:PER:AUTO ONCE"
Page9 of10
Agilent 8110A: Multi-channel Product Note
380
390
400
410
420
430
440
450
460
470
480
490
500
510
520
530
540
550
560
570
580
590
600
610
620
630
640
650
660
670
680
690
700
710
OUTPUT @Ps;":DIG:SIGN1:FORM RZ"
OUTPUT @Ps;":PULS:DEL2 2NS"
OUTPUT @Ps;":PULS:WIDT1 5NS"
OUTPUT @Ps;":PULS:WIDT2 5NS"
WAIT 1
LOCAL @Pm
LOCAL @Ps
PRINT "Manual adjustments can now be made. When finished,"
PRINT "press CONT to synchronize master and slave"
PAUSE ! Synch routine. Implement whenever frequency or
pattern are changed.
CLEAR SCREEN
OUTPUT @Pm;":PULS:DEL1 22.3NS" !Compensates slave prop
OUTPUT @Pm;":PULS:DEL2 22.3NS" ! delay. Skip if 81107A
not fitted.
OUTPUT @Pm;":ARM:SOUR MAN" ! Stop master
OUTPUT @Pm;":DIG:PATT OFF" ! Set master to....
WAIT 1
OUTPUT @Pm;":DIG:PATT ON" ! ....start at bit 1.
! Set slave to start at bit 1:
OUTPUT @Ps;":DIG:PATT OFF" ! Set slave to.....
WAIT 1
OUTPUT @Ps;":DIG:PATT ON" ! ....start at bit 1.
OUTPUT @Pm;":OUTP1 ON;:OUTP2 ON" ! Switch all...
OUTPUT @Ps;":OUTP1 ON;:OUTP2 ON" ! ...outputs on.
PRINT "Press CONT to start signals"
PAUSE
CLEAR SCREEN
OUTPUT @Pm;":ARM:SOUR IMM" ! Start master
PRINT "Master and slave synchronized and active"
WAIT 5
CLEAR SCREEN
PRINT "Re-run program if frequency or pattern are to be
changed."
LOCAL @Pm
LOCAL @Ps
END
Page10 of10