## Shaping Edges

There are many ways to create realistic signal edges.

High-speed digital simulations usually begin with a
time-domain specification of the driving signal. The specification calls
out every moment at which the driving signal, or *excitation*, should
transition. From that data, the simulation then builds a time-domain
sequence or subroutine depicting the excitation as a function of time.
As the simulation proceeds, it applies edge shaping to each signal
transition.

You can think of the edge-shaping process as a linear
filtering operation. For example, pass a perfectly square-edged
time-domain signal through a Gaussian lowpass filter, and it
produces—guess what—Gaussian edges. Each signal edge looks like the
integrated form of a Gaussian bell-shaped curve. You may recognize that
shape from statistics as the Gaussian error function, erfc(). Set the
Gaussian lowpass filter's –3dB bandwidth to 0.33864/T, and it will form
signal edges with a 10 to 90% rise and fall time of precisely *T*.
This discussion assumes that you have sufficiently separated the
signal-transition points to produce a clear and complete copy of the
signal edge's shape at every transition.

If you tear apart your simulator code, you may never find an explicit linear signal-filtering routine. There are many ways to make properly shaped signal edges, but they are each equivalent to some linear filtering operation. In every case, the simulator endows the signal with a frequency-response characteristic of the equivalent lowpass filter you used to create the signal edges.

Figure 1 plots the frequency response of two popular edge-shaping filters. The 10 to 90% rise and fall time of each filter is 100 psec. The Gaussian filter exhibits a smooth frequency response with little signal power above 10 GHz. The PWL (piecewise-linear) filter retains an unrealistically large amount of signal power above 10 GHz. This situation happens when you use a PWL function in Spice to create a simple linear ramp at each signal edge. Such signals look good on a timing diagram, but they do not represent the spectral qualities of your system.

The single-segment PWL filter has a rectangular, or
*boxcar*, impulse response. When you play a digital signal through a
boxcar filter, it creates steps with linear rising and falling edges. If
the 10 to 90% rise time is *T*, then the 0-100% rise time must be
1.25*T*. That figure is the actual width of the filter's boxcar
response, which accounts for its spectral null at 8 GHz. The sharp
corners at the beginning and end of each PWL edge account for the extra
signal power at very high frequencies. At 12 GHz, the PWL spectrum peaks
some 20 dB higher than the Gaussian spectrum.

I avoid single-segment PWL simulation because the PWL edge exaggerates by an order of magnitude the importance of system artifacts around 12 GHz. The PWL edge masks artifacts at 8 GHz because there is no signal energy at 8 GHz to test for such defects. It also vastly overstates crosstalk at high frequencies.

Whenever you need to see details of your actual signal edge shape or spectrum, use a signal-shaping process that properly represents the signals at hand. If you have a record of the actual signal shape or can extract it from an IBIS (input/output-buffer-information) file, use it. In the absence of other information, use a Gaussian shape.