Agilent E4411B User’s Guide

Agilent 4072A Advanced Parametric Tester
Agilent E4411B Control Software for Ring Oscillator Measurement
User’s Guide
©1999 Agilent Technologies
- 1 -
1. INSTALLATION ...............................................................................................................4
ARDWARE INSTALLATION.................................................................................................4
1.2 S
OFTWARE INSTALLATION.................................................................................................4
1.2.1 Installing the Spectrum Analyzer Control Software................................................4
1.2.2 Further Customization Required for the Agilent SPECS User ...............................7
1.2.3 Software Installation Details ....................................................................................7
1.2.4 Notes on Updating Agilent SPECS.........................................................................10
2. OVERVIEW.........................................................................................................................11
2.1 P
ROVIDED SOFTWARE.......................................................................................................11
2.1.1 Driver library............................................................................................................11
2.1.2 Add-on start program ..............................................................................................11
2.1.3 SPECS Algorithm ....................................................................................................11
2.1.4 SPECS Plug Framework .........................................................................................12
2.2 C
OMMAND LIST .................................................................................................................12
2.3 L
IMITATIONS ....................................................................................................................12
3. COMMAND REFERENCE...............................................................................................13
3.1 I
NIT_SPA...........................................................................................................................13
3.2 S
ET_SPA ...........................................................................................................................14
3.3 M
EASURE_SPA..................................................................................................................15
3.4 D
ISABLE_SPA....................................................................................................................17
3.5 D
ISPOFF_SPA....................................................................................................................18
3.6 D
ISPON_SPA .....................................................................................................................19
WEEP_SPA.......................................................................................................................20
3.7 S
4. OPERATION GUIDE........................................................................................................21
4.1 O
PERATION CHECK USING THE ADD-ON/START PROGRAM.................................................21
4.2. P
ROGRAMMING EXAMPLES..............................................................................................21
4.2.1 Stand-alone Measurement Program .......................................................................21
4.2.2 BASIC measurement algorithm ..............................................................................22
4.2.3 C measurement algorithm .......................................................................................23
4.2.4 Throughput optimization tips .................................................................................25
5. TROUBLESHOOTING .....................................................................................................26
5.1 S
OFTWARE TROUBLESHOOTING.......................................................................................26
ARDWARE TROUBLESHOOTING......................................................................................27
5.2.1 Monitoring the 50 MHz Internal Amplitude Reference..........................................27
5.2.2 Monitoring Signals (10 MHz Reference and its Harmonics).................................28
- 2 -
This document describes Spectrum Analyzer (Agilent E4411B) control software to be used with Agilent 4072A for a ring oscillator measurement. Also this document describes the service related information such as troubleshooting, installation, and the set-up required to use the software package.
© Copyright Agilent Technologies 1999
All Rights Reserved. Reproduction, adaptation, or translation is prohibited.
Printing History
Edition 1 : July 1999 Edition 2 : August 1999 Edition 3 : November 1999
- 3 -
1. Installation

1.1 Hardware Installation

The Agilent E4411B spectrum analyzer is rack mounted in a system cabinet at the factory. The Agilent E4411B measurement cable is wrapped with the pulse generator (PG) cables and connected to the Agilent E4411B input port. After installing the Agilent 4072A, connect the Agilent E4411B measurement cable to an HF port.
Figure 1-1 shows two different Agilent E4411B rack mount configurations. If the system includes three or more PG units, the Agilent E4411B is rack mounted in the system controller position. If the system contains one or two PG units, the Agilent E4411B is rack mounted it the position of PG3 through PG5.
Figure 1-1 Agilent E4411B Rack Mount Configurations

1.2 Software Installation

1.2.1 Installing the Spectrum Analyzer Control Software

1) Before installing the software, verify:
Agilent 4070 system software revision B.02.00 or later is
installed.
- 4 -
More than 5 Mbytes of disk space is available in the /opt
directory.
2) Load the spectrum analyzer control software. a. Insert the CD-ROM into the drive, and wait until the
indicator stops flashing.
b. Log in as superuser, and open a dtterm window. c. Mount the CD-ROM on the /SD_CDROM directory with the
command: # /sbin/mount /dev/dsk/c0t2d0 /SD_CDROM Here, it is assumed that the SCSI address of the CD-ROM drive is 2. If it is not, use the proper special device file expression, instead of the /dev/dsk/c0t2d0 file.
d. Start the SD install utility with the command:
# /usr/sbin/swinstall The SD Install – Software Selection window and the Specify Source window will appear.
e. Select “Local Directory” as the Source Depot Type. f. Type “/SD_CDROM/HP4070_E4411BDRV_X_01_20.DEPOT;1” as the
Source Depot Path and click OK.
g. Select HP4070_E4411BDVR, and choose “Action:Install
(analysis)”. The Install Analysis window will appear and the analysis will start. When the HP4070_E4411BDVR is chosen, an error window will appears to warn you to verify the items in Step 1 above.
h. When the analysis is complete, click OK to start loading
the software.
i. After loading, click Logfile, and check that there are no
errors in the logfile.
j. Exit the SD install utility. k. Unmount the CD-ROM from the /SD_CDROM directory with the
command:
# /sbin/umount /SD_CDROM
l. Remove the CD-ROM from the drive.
3) Customize the software. a. Set up the spectrum analyzer GPIB address file with the
command:
# /opt/ringosc/setup_e4411b_hpib This script requires you to enter the GPIB address of the Agilent E4411B. The default GPIB address of the spectrum analyzer is 718. The script creates the /opt/ringosc/config file, which is referred to by the start program calibration script.
b. Edit each user’s profile to change the PCS_ADDON_TIMEOUT
value. Add the following line in the $HOME/.dtprofile.
export PCS_ADDON_TIMEOUT=60 If the DTSOURCEPROFILE parameter in .dtprofile is defined as true, add the above line to the user’s .profile or .login, depending on the shell type of the user. Note that it must be set to 60. Otherwise, the /opt/hp4070/addon/start script does not run correctly. If you load the spectrum analyzer control software before installing Agilent SPECS, simply re-install the spectrum
analyzer control software
4) Verify the software installation. a. Start the TIS server with the command:
# /opt/hp4070/bin/hp4070 –start
- 5 -
When the TIS server starts, the /opt/hp4070/addon/start program is executed. The /opt/hp4070/addon/start program verifies the existence of the Agilent E4411B, and then calibrates it. The start log is recorded in the /opt/ringosc/syslogE4411BDVR file.
b. Check that there are no errors in the
/opt/ringosc/syslogE4411BDVR file.
- 6 -

1.2.2 Further Customization Required for the Agilent SPECS User

1) Create a framework using the Plug Framework (RO_PLUG.fwk) and
the standard framework. If you don't use the standard framework, INIT_SPEANA must be manually added to your framework after TESTER_START.
1) Configuration file can be found in the /opt/SPECS/usr/fwk
directory with the name consists of framework name followed by a suffix (.cf).) The GPIB address is written in the configuration file with “SPANA_ADDR” parameter.
2) The created framework retrieves the Agilent E4411B and GPIB
addresses from a framework configuration file. (The framework
configuration file can be found in the /opt/SPECS/usr/fwk directory. The filename consists of a framework name followed by an extension (.cf). The GPIB address is written in the configuration file with the “SPANA_ADDR” parameter.) Set the
correct GPIB address in the framework configuration file.
The Agilent E4411B drivers can be called from any algorithm, just like TIS commands. The drivers cannot be called from a test plan.

1.2.3 Software Installation Details

The software installation consists of:
If Agilent SPECS is installed:
a. Fileset E4411BDVR is loaded on the system. The fileset
E4411BDVR includes the following files:
/opt/ringosc/SpDVRe4411_01.20.usrlib /opt/ringosc/libdvre4411b.sl /opt/ringosc/libdvre4411b1.20.sl /opt/ringosc/src/spdvre4411b_1.20.c /opt/ringosc/start /opt/ringosc/src/start.c /opt/ringosc/setup_e4411b_hpib /opt/ringosc/setup_e4411b_specs /opt/ringosc/SPECS/RO_PLUG.cf /opt/ringosc/SPECS/RO_PLUG.fwk /opt/ringosc/SPECS/RO_PLUG~ /opt/ringosc/SPECS/INIT_SPEANA_LIB.lib /opt/ringosc/SPECS/INIT_SPEANA_LIB.bas /opt/ringosc/SPECS/INIT_SPEANA_LIB.sl /opt/ringosc/SPECS/INIT_SPEANA_LIB~/ /opt/ringosc/SPECS/EX_OSCFREQ.lib /opt/ringosc/SPECS/EX_OSCFREQ.bas /opt/ringosc/SPECS/EX_OSCFREQ.sl /opt/ringosc/SPECS/EX_OSCFREQ~/
- 7 -
b. Files are copied to the appropriate directories as shown
below.
/opt/SPECS/usr/lib/SpDVRe4411_01.20.usrlib /opt/SPECS/usr/fwk/plug/RO_PLUG.cf /opt/SPECS/usr/fwk/plug/RO_PLUG.fwk /opt/SPECS/usr/fwk/plug/RO_PLUG~ /opt/SPECS/usr/alg/tester/INIT_SPEANA_LIB.lib /opt/SPECS/usr/alg/tester/INIT_SPEANA_LIB.bas /opt/SPECS/usr/calg/tester/INIT_SPEANA_LIB.lib /opt/SPECS/usr/calg/tester/INIT_SPEANA_LIB.sl /opt/SPECS/usr/calg/tester/INIT_SPEANA_LIB~/ /opt/SPECS/usr/alg/measure/EX_OSCFREQ.lib /opt/SPECS/usr/alg/EX_OSCFREQ.bas /opt/SPECS/usr/calg/measure/EX_OSCFREQ.lib
/opt/SPECS/usr/calg/measure/EX_OSCFREQ.sl
/opt/SPECS/usr/calg/measure/EX_OSCFREQ~/
/opt/hp4070/addon/start (*1)
c. (For BASIC ALGTYPE only) BASIC.make is performed to
integrate the drivers, which are included in the SpDVRe4411_01.20.usrlib, into the BASIC interpreter.
d. (For C ALGTYPE only) The shared library name
(/opt/ringosc/libdvre4411b.sl) is added to the CUSRLIB parameter in the sysconf file, and the TEMPLATE.mak file (/opt/SPECS/usr/etc/TEMPLATE.mak) is modified to incorporate the shared libraries.
e. The /etc/opt/hp4070/modelname file is read to find out the
tester type.
f. The INIT_SPEANA algorithm is merged into the tester
algorithm library.
- 8 -
1) If Agilent SPECS is not installed: a. The following files are loaded.
/opt/ringosc/SpDVRe4411_01.20.usrlib /opt/ringosc/libdvre4411b.sl /opt/ringosc/libdvre4411b1.20.sl /opt/ringosc/src/spdvre4411b_1.20.c /opt/ringosc/start /opt/ringosc/start.c /opt/hp4070/addon/start (*1) /opt/ringosc/setup_e4411b_hpib /opt/ringosc/setup_e4411b_specs /opt/ringosc/SPECS/RO_PLUG.cf /opt/ringosc/SPECS/RO_PLUG.fwk /opt/ringosc/SPECS/RO_PLUG~ /opt/ringosc/SPECS/INIT_SPEANA_LIB.lib /opt/ringosc/SPECS/INIT_SPEANA_LIB.bas /opt/ringosc/SPECS/INIT_SPEANA_LIB.sl /opt/ringosc/SPECS/INIT_SPEANA_LIB~/ /opt/ringosc/SPECS/EX_OSCFREQ.lib /opt/ringosc/SPECS/EX_OSCFREQ.bas /opt/ringosc/SPECS/EX_OSCFREQ.sl /opt/ringosc/SPECS/EX_OSCFREQ~/
(*1) If /opt/hp4070/a ddon/start already exists, it is not overwritten.
- 9 -

1.2.4 Notes on Updating Agilent SPECS

When updating Agilent SPECS in the future, simply re-install the
spectrum analyzer control software.
- 10 -

2. Overview

2.1 Provided sof t ware

The software package includes several programs that can be used with an Agilent 4072A advanced parametric tester to measure the frequency of a ring oscillator. It is designed for use with the Agilent ESA-L Series Agilent E4411B spectrum analyzer. Both HP BASIC and C are supported by the software package.
There are four software modules included in the package:

2.1.1 Driver library

The driver library includes TIS-like commands, which can be called from measurement algorithms or stand-alone programs.
BASIC /opt/ringosc/SpDvrE4411_01.20.usrlib C /opt/ringosc/libdvre4411b.sl

2.1.2 Add-on start program

/opt/ringosc/src/spdvre4411b_1.20.c
The add-on start program can be found in the ‘­/opt/hp4070/addon/ directory. The source code of this start program is also provided, so users with existing start can incorporate it.
Program Start Source code /opt/ringosc/src/Start.c

2.1.3 SPECS Algorithm

(i) For TESTER algorithm library
The following SPECS algorithm library specifications and algorithm body are provided. They are automatically added to the user’s tester algorithm library during installation.
Spec library INIT_SPEANA_LIB.lib BASIC INIT_SPEANA_LIB.bas C INIT_SPEANA_LIB.sl
INIT_SPEANA.c
(ii) For MEASUREMENT algorithm library
The following SPECS algorithm library specifications and algorithm body are provided. They include an example algorithm for ring oscillator measurement. The user must add these files to the measurement algorithm library.
Spec library EX_OSCFREQ.lib BASIC EX_OSCFREQ.bas C EX_OSCFREQ.sl
- 11 -

2.1.4 SPECS Plug Framework

The following SPECS Plug Framework is provided. The framework should be built using the plug framework.
RO_PLUG.fwk

2.2 Command list

Table shows commands included in the driver library.
Command Description
Init_spa Sets the GPIB address and initializes the spectrum
Set_spa Sets the sweep frequency range and the resolution
Measure_spa Measures the oscillation frequency
Disable_spa Disables (or initializes) the spectrum analyzer
Dispoff_spa Disables the display of the spectrum analyzer. The
Dispon_spa Enables the display of the spectrum analyzer. Sweep_spa Performs the sweep measurement defined by Set_spa and
Oscfreq.c
Analyzer
Band width
Calculates the gate propagation delay (the frequency counter function can be used for more accurate measurement)
measurement speed is improved by calling this command.
returns the amplitude vs. frequency characteristics to arrays.

2.3 Limitations

1) The library is supported in on-line mode only.
2) The library is not a part of the 4070 TIS library. It is not supported by the IDP software in the
Agilent 4070 series.
- 12 -

3. Command reference

e

3.1 Init_spa

3.1.1 Syntax
BASIC : Init_spa(INTEGER Address, Stat) C : int init_spa(int address);
3.1.2 Parameters
I/O Parameter nam
I Address Integer GPIB address of the spectrum analyzer
I Stat Integer Status to be returned
3.1.3 Description
This command sets the GPIB address and initializes the spectrum analyzer. The GPIB address is stored in a common variable. This command needs to be executed before calling any other spectrum analyzer control commands. The previous settings are all cleared, and the spectrum analyzer is set to 'preset' status.
This command has a timeout function. If the E4411B doesn’t respond in 30 seconds:
1) BASIC: The command displays an error message on the HP BASIC
screen, and returns –1 to the ‘Stat’parameter.
2) C: The command displays an error message on the standard out,
and returns –1 to the Stat parameter.
Type Description
(for example, 2718)
- 13 -

3.2 Set_sp a

e
3.2.1 Syntax
BASIC : Set_spa(REAL Minf,Maxf,Rbw, INTEGER Stat) C : int set_spa(double minf, double maxf, double rbw);
3.2.2 Parameters
I/O Parameter nam
I Minf REAL Start frequency I Maxf REAL Stop frequency I Rbw REAL Resolution bandwidth I Stat Integer Status to be returned
Minf >= -80 Maxf <= 1.5E+9 1E+3<= Rbw <=5E+6
The resolution bandwidth is rounded to Agilent E4411B internal value as below.
Resolution bandwidth specified as the input parameter Rbw
1E+3 <= Rbw <= 2E+3 1kHz 2E+3 < Rbw <=6.5E+3 3kHz
6.5E+3 < Rbw <=2E+4 10kHz 2E+4 < Rbw <=6.5E+4 30kHz
6.5E+4 < Rbw <=2E+5 100kHz 2E+5 < Rbw <=6.5E+5 300kHz
6.5E+5 < Rbw <=2E+6 1MHz 2E+6 < Rbw <= 3.6E+6 3MHz
3.6E+6 < Rbw <= 5E+6 5MHz
Type Description
Actual bandwidth set by the Agilent E4411B
3.2.3 Description
This command specifies the Start and Stop frequencies, and the resolution bandwidth.
This command has a timeout function. If the E4411B doesn’t respond in 30 seconds:
1) BASIC: The command displays an error message on the HP BASIC
screen and returns –1 to the Stat parameter.
2) C: The command displays an error message on the standard out,
and returns –1 to the Stat parameter.
- 14 -

3.3 Measure_sp a

e
3.3.1 Syntax
BASIC : Measure_spa(REAL Osc_freq,Amp,Delay, N, Fcr,INTEGER Stat) C : int measure_spa(double *osc_freq., double *amp, double *delay, double n, double fcr);
3.3.2 Parameters
below
I/O Parameter nam
O Osc_freq. REAL Peak frequency in the searched
O Amp REAL Measured peak amplitude O Delay REAL Calculated gate delay (Tr + Tf) of the ring
I N REAL The number of inverters in the ring
I Fcr REAL The resolution of the marker frequency
I Stat Integer Status to be returned
0 <= Fcr <= 1E+5 If 0 is specified as Fcr, the marker frequency counter function is not used.
The marker frequency counter resolution is rounded to Agilent E4411B internal value shown
Marker frequency counter resolution specified as input parameter Rbw
0 < Fcr < 9.5 1Hz
9.5 <= Fcr <=99.5 10Hz
99.5 <= Fcr < 999.5 100Hz
999.5 <= Fcr <=9999.5 1kHz
9999.5 <= Fcr < 99999.5 10kHz
99999.5 <= Fcr <=1E+5 100kHz
Type Description
frequency range
oscillator. (The number of inverters must be specified to obtain this value.)
oscillator
counter
Actual marker frequency counter resolution set by Agilent E4411B
3.3.3 Description
This command measures the oscillation frequency and the amplitude at the peak frequency. The gate propagation delay time can also be calculated based on the following equation.
[Delay]=1/(N*Osc_freq )
Where:
[Delay] = tpLH + tpHL
tpLH : Gate propagation delay time going from Low to High tpHL : Gate propagation delay time going from High to Low
- 15 -
N must be represented as shown in the following equation, otherwise the ring oscillator will not oscillate.
N=2*n+1 (where n is an integer)
If N equals zero, or less than zero, then ‘-1’ and ‘999999.9999’ are returned to ‘Stat’ and ‘Delay’, respectively.
If Fcr, the resolution of the marker frequency counter, is specified as greater than zero, the marker frequency counter function in the spectrum analyzer is used. The rough frequency is measured using the given resolution bandwidth, then the marker frequency counter function is activated to measure the oscillation frequency more precisely.
If an input parameter error occurs, the command returns –1 and the following sentinel values (indicating an error condition) are returned to the output parameters.
Osc_freq.=999999.9999 Amp=999999.9999 Delay=999999.9999 Stat=-1
- 16 -

3.4 Disable_sp a

3.4.1 Syntax
BASIC : Disable_spa(INTEGER Stat) C : int disable_spa(void);
3.4.2 Parameters
I/O Parameter name Type Description
I Stat Integer Status to be returned
3.4.3 Description
This command initializes the spectrum analyzer. This command should be the first command sent to the spectrum analyzer.
This command has a timeout function. If the E4411B doesn’t respond in 30 seconds:
1) BASIC: The command displays an error message on the HP BASIC
screen and returns –1.
2) C : The command displays an error message on the standard out
and returns –1.
- 17 -

3.5 Dispoff_sp a

This command disables the display of the E4411B and auto calibration. Once this command is called, subsequent command execution times become faster. It stores value 1 in the internal variable (dispmode). * “Auto calibration off” will be called from this function. If this function is “ON”, the measurement speed degrades when a measurement is performed while a calibration is being executed.
- 18 -

3.6 Dispon_sp a

This command enables the display of the E4411B and the auto calibration function. When this command is called, subsequent command execution time becomes slower. It stores value 0 to an internal variable (dispmode). * “Auto calibration on” will be called from this function. If this function is “ON”, the measurement speed degrades when a measurement is performed while a calibration is being executed.
- 19 -

3.7 Sweep_sp a

e
This command performs the measurement defined by Set_spa and returns the amplitude vs. frequency characteristics to arrays.
3.7.1 Syntax
BASIC : Sweep_spa(REAL Amp(*), Freq.(*), INTEGER Stat) C : int sweep_spa(double amp[], double freq.[])
3.7.2 Parameters
I/O Parameter nam
O Amp REAL[401] Array to return the amplitude values O Freq REAL[401] Array to return the frequency values I Stat INTEGER Status to be returned
Type Description
- 20 -

4. Operation Guide

4.1 Operation check using the add-on/st art program

The Agilent E4411B is calibrated whenever the Agilent 4070 series TIS server is run. (This usually occurs when the workstation is first turned on.) The calibration is performed using the add-on/start function. To verify the Agilent E4411B is calibrated successfully, check the following file:
/opt/ringosc/syslogE4411BDVR

4.2. Programming Examp les

4.2.1 Stand-alone Measurement Program

The following program performs a ring oscillator oscillation frequency measurement. The sweep range is from 100MHz to 900MHz with a 1MHz resolution bandwidth. The frequency counter function is used to obtain more accurate results. In this case, 10kHz is used as the frequency counter resolution. The device has four terminals (Ro, Buf, Out, and Rognd). A 3.3V signal is applied to both Ro and Buf (Line 1135 and 1136) while Rognd is grounded (Line 1133). The Out terminal is connected to the HF1 port of the E4411B (Line 1134). The actual measurement is performed at line 1140 and 1150.
1000 OPTION BASE 1 1010 INTEGER Spana, Stat 1011 INTEGER Ro, Buf, Out, Rognd 1020 ! 1060 Spana=2718 ! GPIB Address 1070 Minf=1.00E+8 ! Sweep start frequency 1080 Maxf=9.00E+8 ! Sweep stop frequency 1090 Rbw=1.E+6 ! Resolution band width 1100 N=101 ! Number of inverters in the R.O. 1105 Fcr=1.00E+4 ! Frequency counter resolution 1110 Stat=0 1111 ! 1112 Vcc=3.3 ! Drive voltage 1113 Icomp=4.00E-2 ! Current compliance 1114 ! 1115 Ro=2 ! Pin assignment 1116 Buf=4 ! 1117 Rognd=6 ! 1118 Out=8 ! 1120 ! 1121 Init_system ! Initializes Agilent 4072A 1130 Init_spa(Spana,Stat) ! Initializes E4411B 1131 ! 1133 Connect(FNPort(0,9),Rognd) ! Connection 1134 Connect(FNPort(3,1),Out) ! 1135 Connect(FNPort(0,2),Ro,Buf) ! 1136 Force_v(Ro,Vcc,Vcc, Icomp) ! Drive R.O. 1137 Sync_th
- 21 -
1140 Set_spa(Minf, Maxf ,Rbw,Stat) ! Set up measurement 1150 Measure_spa(Osc_freq,Amp,Delay,N,Fcr, Stat) ! Measure osc. frequency 1170 Disable_spa(Stat ) 1180 Disable_port 1190 Connect 1191 ! 1200 PRINT "Freq:";Osc_freq;"(Hz), Gate delay:";Delay;"(s)"
1210 END

4.2.2 BASIC measurement algorithm

The following code is an example algorithm written in BASIC. It retrieves 1) the bias voltage value (Vcc), 2) the compliance current value (Icomp), 3) the sweep start voltage (Minf), 4) the sweep stop voltage, 5) the resolution bandwidth (Rbw), 6) the number of stages in the ring oscillator (n), and 7) the frequency counter function’s resolution (Fcr). It returns 1) the oscillation frequency (Freq.), 2) the signal amplitude at the oscillation frequency (Amp) and 3) the calculated propagation delay time of the inverter (Delay). If you specify ‘zero’ for Fcr, the frequency counter function is not used (This is handled by the function Measure_spa.).
10190 Oscfreq:SUB Oscfreq(REAL Vcc,Icomp,Minf,Maxf,Rbw,N,Fcr,INTEGER Pins(*),REAL Freq,Amp,Delay) 10200 !***** DON'T REMOVE THIS LINE ************************************* 10210 ! 10220 ! Type : Algorithm 10230 ! Name : Oscfreq 10240 ! Vers : 1 10250 ! Desc : Ring oscillator oscillation frequency and delay 10260 ! Date : 05/31/1999 10270 ! Time : 20:33:22 10280 ! User : spc24 10290 ! 10300 !***** DON'T REMOVE THIS LINE ************************************* 10310 ! 10320 ! Input Variables: 10330 ! 10340 ! # Name Type Size Description 10350 ! --- --------------- ---- -------- -------------------------------­10360 ! Measurement Parameters: 10370 ! 1 Vcc R ­10380 ! 2 Icomp R ­10390 ! 3 Minf R ­10400 ! 4 Maxf R ­10410 ! 5 Rbw R ­10420 ! 6 N R ­10430 ! 7 Fcr R - 0: Non-FCR 10440 ! 10450 ! Device Terminals: 10460 ! 1 Ro I ­10470 ! 2 Buf I ­10480 ! 3 Out I ­10490 ! 4 Rognd I ­10500 ! 10510 ! Output Variables: 10520 ! 10530 ! # Name Type Size Description 10540 ! --- --------------- ---- -------- -------------------------------­10550 ! Output Parameters:
- 22 -
10560 ! 1 Freq R - Oscillation frequency 10570 ! 2 Amp R - Amplitude 10580 ! 3 Delay R - Gate delay 10590 ! 10600 !***** DON'T REMOVE THIS LINE ************************************* 10610 OPTION BASE 1 !***** DON'T REMOVE THIS LINE ***** 10620 INTEGER Ro 10630 INTEGER Buf 10640 INTEGER Out 10650 INTEGER Rognd 10660 INTEGER Onoff 10665 INTEGER Stat 10670 ! 10680 Ro=Pins(1) 10690 Buf=Pins(2) 10700 Out=Pins(3) 10710 Rognd=Pins(4) 10720 ! 10730 Connect(FNPort(0,9),Rognd) 10740 Connect(20201,Out) 10750 Connect(FNPort(0,2),Ro) 10760 Connect(FNPort(0,1),Buf) 10770 Force_v(Ro,Vcc,Vcc,Icomp) 10780 Force_v(Buf,Vcc,Vcc,Icomp) 10782 Sync_th 10790 Set_spa(Minf,Maxf,Rbw,Stat) 10800 ! 10810 Measure_spa(Freq,Amp,Delay,N,Fcr,Stat) 10820 PRINT Freq,Amp,Delay,N,Fcr 10830 Disable_spa(Stat) 10840 Disable_port 10850 Connect 10860 SUBEND

4.2.3 C measurement algorithm

The following code is an example algorithm written in C. It receives 1) the bias voltage value (Vcc), 2) the compliance current value (Icomp), 3) the sweep start voltage (Minf), 4) the sweep stop voltage, 5) the resolution bandwidth (Rbw), 6) the number of stages in the ring oscillator (n), and 7) the frequency counter function’s resolution (Fcr). It returns 1) the oscillation frequency (Freq.), 2) the signal amplitude at the oscillation frequency (Amp) and 3) the calculated propagation delay time of the inverter (Delay). If you specify ‘zero’ for Fcr, the frequency counter function is not used (This is handled by the function measure_spa().).
/****** <BEGIN> INCLUDE FILES *********** DON'T EDIT FROM <BEGIN> TO <END> ***/ #include <stdio.h> #include <stdlib.h> #include <tis.h> #include <f_rom.h> #include <SPECS.h> #include <UTILITY.h> #include <PROBER.h> /****** <END> INCLUDE FILES *********** DON'T EDIT FROM <BEGIN> TO <END> ***/ /****** <BEGIN> ALGORITHM DOCUMENTATION * DON'T EDIT FROM <BEGIN> TO <END> **** ===============================================================================
Type : Algorithm Name : Oscfreq Vers : 1 Desc : Ring oscillator oscillation frequency and delay
- 23 -
Date : 05/31/1999 Time : 20:33:22 User : spc24
===============================================================================
Input Variables:
# Name Type Size Description
--- --------------- ---- -------- --------------------------------
Measurement Parameters: 1 Vcc R ­2 Icomp R ­3 Minf R ­4 Maxf R ­5 Rbw R ­6N R ­7 Fcr R - 0: Non-FCR
Device Teminals: 1Ro I ­2 Buf I ­3 Out I ­4 Rognd I -
Output Variables:
# Name Type Size Description
--- --------------- ---- -------- -------------------------------­Output Parameters:
1 Freq R - Oscillation frequency 2 Amp R - Amplitude 3 Delay R - Gate delay
******* <END> ALGORITHM DOCUMENTATION * DON'T EDIT FROM <BEGIN> TO <END> ***/ /****** <BEGIN> ALGORITHM DECLARATION *** DON'T EDIT FROM <BEGIN> TO <END> ***/ void Oscfreq(REAL Vcc,REAL Icomp,REAL Minf,REAL Maxf,REAL Rbw,REAL N,REAL Fcr,INTEGER pins[],REAL *Freq,REAL *Amp,REAL *Delay) { /****** <END> ALGORITHM DECLARATION *** DON'T EDIT FROM <BEGIN> TO <END> ***/ /****** <BEGIN> VARIABLE DECLARATION **** DON'T EDIT FROM <BEGIN> TO <END> ***/ /****** <END> VARIABLE DECLARATION **** DON'T EDIT FROM <BEGIN> TO <END> ***/ /*===========================================================================*/
int Ro; int Buf; int Out; int Rognd;
Ro = pins[0]; Buf = pins[1]; Out = pins[2]; Rognd = pins[3];
connect_pin(PORT(0,9), Rognd); connect_pin(20201, Out); connect_pin(PORT(0,2), Ro); connect_pin(PORT(0,1), Buf); force_v(Ro, Vcc, Vcc, Icomp); force_v(Buf, Vcc, Vcc, Icomp); sync_th(0); set_spa(Minf, Maxf, Rbw);
measure_spa(Freq, Amp, Delay, N, Fcr);
- 24 -
printf("Frq=%G Amp=%G Delay=%G N=%G Fcr=%G\n", *Freq, *Amp, *Delay, N, Fcr); disable_spa(); disable_port_all(); disconnect_all();

4.2.4 Throughput optimization tips

1) Call dispoff_spa() after calling the init_spa() command. This
will increase the execution speed of subsequent commands.
2) Call init_spa() only once during a program. It should not be
called from any measurement algorithm. It should be called only once from a test shell when it initializes the hardware resources of the tester. If Agilent SPECS is used as a test shell, init_spa() is called during the tester initialization routine.
3) Minimize the number of calls to set_spa() and disable_spa(). In
many cases, the same setting is used for multiple test structure. Since the Agilent E4411B doesn’t generate any output voltage or current, you don’t have to call ‘disable_spa()’ before making a disconnection. Disable_spa() will set the Agilent E4411B to the default state. Call the ‘set_spa()’ command to re-set the Agilent E4411B for measurements.
4) Don’t use the frequency counter function unless the measurement
requires very high resolution. The measurement time greatly increases when the frequency counter function is used.
5) Increase the resolution band. For instance, if the swept range
is from 0Hz to 500MHz, set the resolution bandwidth to a value greater than, or equal to, 1 MHz.
- 25 -

5. T r oubles hooting

5.1 Software Troubleshooting

The following are the tips that may help you when you are in a trouble using the software.
The Agilent E4411B calibration, which is supposed to be done
at TIS server start-up, is not performed correctly.
1) Check if the GPIB address in the /opt/ringosc/config file
is correct.
2) Check if the environmental variable “PCS_ADDON_TIMEOUT” is
set 60 or longer.
# echo $PCS_ADDON_TIMEOUT
The Agilent E4411B is not recognized when using the SPECS with
a framework that is created by using a supplied plug framework (RO_PLUG.fwk).
2) Check the configuration file of the framework.
(Configuration file can be found in the /opt/SPECS/usr/fwk directory with the name consists of framework name followed by a suffix (.cf).) The GPIB address is written in the configuration file with “SPANA_ADDR” parameter.
Wrong results are returned as oscillation frequency.
1) Check if the DUT (Ring Oscillator) has enough drive current
to quickly charge up the residual capacitance of the system (Test head and a cable). It is around 500 pF.
2) Check if the peak oscillation is in swept range.
3) Check if the resolution band width or frequency counter
resolution is small enough to meet your requirement.
- 26 -

5.2 Hardware T roubleshooting

5.2.1 Monitoring the 50 MHz Internal Amplitude Reference

Check the spectrum analyzer operation using the 50 MHz internal amplitude reference.
1) Turn the Agilent E4411B spectrum analyzer on by pressing On.
Wait for the power-up process to complete (about 1 minute).
2) Remove the cable connected to the Agilent E4411B input port.
3) Press System, Power On/Preset, and Preset(Factory).
4) Press the green Preset key. Turn on the internal 50 MHz signal
by pressing Input and Amptd Ref (f=50 MHz).
5) Set the center frequency by pressing FREQUENCY, 5, 0 and MHz.
6) Set the span by pressing SPAN, 2, 0,and MHz.
7) Read the amplitude and frequency of the reference signal. You
can either press Search or Marker to move the marker to the signal peak. The reference signal amplitude and frequency are about 50 MHz/-27 dBm. Figure 5-1 shows an example of the 50 MHz amplitude reference.
Figure 5-1 Monitoring a 50 MHz Internal Amplitude Reference
- 27 -

5.2.2 Monitoring Signals (10 MHz Reference and its Harmonics)

Check the 10 MHz reference and its harmonics.
1) Turn the Agilent E4411B spectrum analyzer on by pressing On.
Wait for the power-up process to complete (about 1 minute).
2) Press System, Power On/Preset, and Preset(Factory).
3) Connect the 10 MHz REF OUT port to the INPUT port using a BNC
cable (Agilent E4411B measurement cable). The 10 MHz reference output port is located on the rear panel of the Agilent E4411B.
4) Set the center frequency to 30 MHz by pressing FREQUENCY, 3,
0,and MHz.
5) Set the span to 50 MHz by pressing SPAN, 5, 0,and MHz.
6) Set the reference level to 10 dBm by pressing AMPLITUDE, 1,
0,and dBm. The 10 MHz reference signal and its harmonics will appear on the display.
7) Press Search to place a marker at the highest peak on the
display (The Next Pk Right and Next Pk Left softkeys are available to move the marker from peak to peak). The marker should be on the 10 MHz reference signal as shown in figure 5-2.
Figure 5-2 Monitoring the 10 MHz Reference and Its Harmonics
- 28 -
Loading...