Microsim (the author of PSPice) publishes a spice newsletter.
In the January 1993 issue of "The Design Center Source" newsletter
there was an article on "Creating 'Eye' Displays using Probe' .
('Probe' is the PSpice graphical post-processor.) This was also reprinted
in their Microsim Tutorial book for version 6.2 published April 1995.
I'll paraphrase the methodology for creating the eye pattern
display:
Excite the circuit with a pseudo-random bit pattern. (The PRBS can be created
using a linear feedback register arrangement. A ten bit shift register with
feedback taps at Q3 and Q10 will produce a1024 bit PRBS pattern.)
Create three macro definitions in the Probe postprocessor:
1. pi = 4*atan(1)
2. mod(a,b) = (b)*(atan(tan(((a)/(b))*pi-pi/2))+pi/2)/pi
3. eye_sweep(p,d) = mod(time+(p)/2+(d),p) - ((p)/2+(d))
(The second macro implements a floating point modulo function, and the
third macro implement the eye pattern sweep function at one half the
period (p) plus a time delay (d) )
Change the X-axis from time to eye_sweep(p,d) where p is period
of the system or multiple of it and d is some time delay shift from the
start of the sweep.
I haven't tried this with Hspice, but I think you can achieve the
same thing with the GSI postprocessor as it also supports algebraic
processing of variables.
Contec Spice implements eye pattern generation in a more seamless
manner as it supports PRBS independent voltage sources and has the
requisite eyepattern sweep algorithm built into its graphical display
module.
Hope the above thumbnail sketch of the method for generation the
patterns helps out somebody. Refer to the app-note cited above for more
details.
----------------------------------------------------------------------------
This response does not represent the official position of, or statement by,
Sun Microsystems Incorporated. The above data is provided for informational
purposes only. It is supplied without warranty of any kind.
----------------------------------------------------------------------------
/\
\\ \
\ \\ /
/ \/ / / Raymond E. Anderson
/ / \//\ Signal Integrity Engineer
\//\ / / Sun Microsystems
/ / /\ / 2550 Garcia Ave. MS MTV03-01
/ \\ \ Mountain View, CA 94043-1100
\ \\
\/ (415) 336-1023
(415) 336-5469 (FAX)
raymond.anderson@Sun.Com
raymonda@radium.eng.sun.com