App Notes

Here you will find out latest app notes.

Creating Eye Displays Using Probe

Application Notes

In communications work, the eye display is frequently used to illustrate the voltage and timing margins present in a system transmitting digital data. In an eye display the signal is shown with a time axis that is a small number of data periods long. The signal wraps from the right edge of the display back to the left edge, thereby depicting a large number of overlapping data periods. If a random bit pattern is simulated and then displayed in this way, the required margins can be seen as the opening in the eye on the display.

Probe’s macro feature can be used to create a sweep function that implements the wrap feature required. You can then change the time axis variable from time to this sweep function to obtain an eye display. To use the macro feature, select Macros from the Trace menu in Probe. Then type the following three macros:

    mod(a, b) = (b)*(atan(tan(((a)/(b))*pi-pi/2))+pi/2)/pi
    eye_sweep(p, d) = mod(time+(p)/2+(d), p) - ((p)/2+(d))


The first macro (pi) calculates the value of π. The second macro (mod) is a floating-point modulo function, implemented using the tangent and arctangent functions. The third macro (eye_sweep) implements an eye sweep function; the display is centered at one half the period (p/2), plus a time delay (d).

To use the macros, simply change the time axis variable from time to eye_sweep(p, d). In this function, p is the data period of the system (or a multiple of it), and d is the time interval by which the start of the display is delayed. As an example, consider a simple system that sends a randomstream of bits through an Analog Behavioral Model of E2 device. The bit stream is generated by a ten-bit shift register (U1) with feedback provided by an XOR gate (U2). The signal is processed by a tristate buffer (U3) and a E2 device to generate standard noise. This arrangement generates a pseudo-random sequence 1023 bits long. The simulation runs for 5 usec. Following is the schematic diagram of the circuit:


                                 Figure 1: Schematic diagram of random generator




                                                        Figure 2: Standard Noise output


To observe this standard noise output waveform perform Transient analysis to the same design.

Figure 2 shows the standard display of the EFREQ output versus time. It is very difficult to use this display to determine the voltage and timing margins for data recovery from the system. The eye display, on the other hand, superimposes the results for all three hundred data periods on a shortened time axis, enabling both margins to be gauged easily. To include all of the simulation data in one eye, we need to use a single data period for the sweep period. We also need to offset the display slightly to make sure that the eye is centered in the smaller display. Following are the results:



                                     Figure 3: Output showing all simulation data in one eye


Apart from the simulation data we can also create Eye displays from external data source, if available. For example, an eye display shown below is plotted using external data that is available at the location:
%HOME%\< Version number>\Eye_Display-PSpiceFiles\Eye_Diagram\Tran\Waveform.dat For example:
%HOME%\cdssetup\OrCAD_Capture\16.6.0\tclscripts\caplearningresources\work\supportfiles\Eye_Display\Misc\Designfiles\Eye_Display-PSpiceFiles\Eye_Diagram\Tran\Waveform.dat. and using macros the eye display is plotted.



                                Figure 4: Output showing all External set of data in eye diagram

Note: Make sure to include or place the three macros (given earlier) when running Probe.



© Copyright 2016 Cadence Design Systems, Inc. All rights reserved. Cadence, the Cadence logo, and Spectre are registered trademarks of Cadence Design Systems, Inc. All others are properties of their respective holders.









Download PSpice and try it for free! Download Free Trial