Going Non-Linear

Spice is grand for solving circuits that have complicated topologies or include nonlinear elements. If, however, you are working with a simple, linear circuit, you might question whether Spice is best.

For example, suppose you are designing a 2.5-Gbps serial-communications channel terminated at both ends. Your 100Ω output-impedance driver is a highly linear creature. So is your load. Simulations of this circuit therefore produce the same output whether you use a linear-analysis tool or Spice.

The linear-analysis method is the same as the frequency-domain method (Figure 1). To perform linear analysis, you first transform your excitation waveform, x(t), into the frequency domain. You accomplish the transformation using a canned FFT algorithm. It produces a vector of frequency-domain values, Xk, sampled on a very dense grid of frequencies. Next, you compute the frequency response of the communication channel. If your system comprises a transmission line with frequency-varying values of R, L, G, and C combined with some terminators, you can directly write down an expression for the frequency response (Reference 1). Then, for every frequency on the dense grid, multiply Xk times the frequency response of the communication channel, Hk, and apply an inverse FFT to convert the resulting spectrum back into a time-domain waveform. The FFT method handles reflections at the source; reflections at the load; impedance mismatches within the communications channel; linear filters at the transmitter, receiver, or both; connector effects; and extended data patterns.

Showing the correllation between frequency-domain analysis and time-domain linear analysis

The FFT shines as an efficient computational tool for long transmission channels. Whenever the bulk transport delay of the channel exceeds the rise time of the driver, a time-step simulator must break the channel into many tiny sections, independently simulating each section. A simulation with N channel sections and M time steps requires N×M separate simulation activities. A frequency-based simulation, on the other hand, computes the performance of the communication channel as a whole, proceeding with only one computation (albeit a very complex one) for each frequency on the dense grid. When the number of simulated cable sections in the time-step method becomes large, the FFT-based approach computes much more rapidly.

The FFT method is far from perfect. It assumes the underlying system has a simple topology and is both linear and time-invariant. That means, for example, that you cannot analyze a diode with terminations (a nonlinear circuit) using the FFT method. Fortunately, most transceivers on long communication channels adhere to the linear-time-invariant assumption, so FFT-based simulation of serial-communications links usually delivers excellent results.

A final advantage of FFT-based simulation is really not an advantage of the method per se, but more an advantage of the types of mathematical-spreadsheet tools you can use to do the computations. MatLab, Mathematica, and MathCad (my favorite) easily perform the required FFT operations and at the same time provide a highly flexible environment in which to optimize your design. All three tools provide automatic optimizing routines that can adjust the circuit parameters to improve just about any objective criteria. The criteria can include both time- and frequency-domain constraints, such as "adjust my transmit-equalizer component values to maximize the eye opening of the received data subject to minimizing the radiated emissions above 1.5 GHz." You can't come close to that kind of flexibility with Spice.

Next time you face a challenging high-speed serial-communications problem, consider the advantages of frequency-based simulation before you go totally nonlinear.


[1] Johnson and Graham,High-Speed Digital Design: A Handbook of Black Magic, Prentice-Hall, 1993, section 4.3.