|
The Curse of FAST Logic
(Originally published in
Electronic Design
Magazine, May, 1996)
Fifty years ago,
John William Mauchly and John Eckert were hard at work
completing the ENIAC, the world's first electronic
computing machine. It was built using electron tubes
(lots of them) and it was quite large. No doubt its
inventors would have had a hard time believing that all
of that computing power would someday easily fit into a
shirt pocket.We've progressed quite a
lot since 1946; but in other ways, we haven't. If Mr.
Mauchly and Mr. Eckert were both looking over our
shoulders today, they probably would not be surprised to
see that, on long signal connections, ringing and
overshoot are still a problem. Sure, our systems are MUCH
smaller, which makes our problem that much easier. But on
the other hand, clock rates have skyrocketed. That makes
the problem more difficult. On balance, system
performance is still limited by the physical propagation
of signals from point A to point B. In the ENIAC, points
A and B were on opposite sides of a room. Today, our
circuits may only be on opposite sides of a motherboard,
but they are still physically separated, and signal
propagation remains a significant factor. Physics hasn't
changed. As we go faster, physical considerations will
force us to develop even smaller physical packaging. Fast
logic is great, but it's also a curse.
In the last
couple of decades, the speed problem has gotten worse. We
have been blessed with much faster chips, but our logic
packaging hasn't kept up. As a result, interconnection
difficulties are absorbing a larger and larger percentage
of each processor cycle. Just look at what's happened in
the world of desktop computing. The original Intel 8080
processor had a clock speed of only 400 KHz. New Intel
Pentium processors now run at least 133 MHz. That's more
than a three-hundred-to-one speedup.
In the same
period of time, what has happened to the size of desktop
computers? They certainly haven't been shrinking much, if
at all. Are we headed for trouble? You bet. Three bad
things will happen to desktop-sized devices as we try to
go faster.
- A greater
and greater percentage of PCB traces in new
designs will likely require terminators.
Terminators help control ringing and overshoot on
transmission lines. As we go faster in speed,
more and more of our PCB traces will begin to
take on aspects of transmission line behavior,
and thus will require terminators. Unfortunately,
terminators occupy precious space on every
printed circuit board. They also dissipate a lot
of power.
- Second, the
delay of individual traces will become more and
more important. Already CAD manufacturers are
beginning to incorporate features useful for
matching trace lengths, and for matching overall
circuit delays (including chip delays). At very
high speeds, such features are crucial to system
operation.
- Third,
crosstalk will begin to overwhelm many systems.
Every time the clock rate is doubled, crosstalk
will go up by at least a factor of two. This
effect will hit some systems like a ton of
bricks. And when it does happen,, the affected
systems will experience some of the following
symptoms--flaky or data dependent logic errors,
sudden system crashes, software branches to
nowhere, impossible state transitions, and
unexplained interrupts.
If this does
indeed happen to you, you should be consoled with the
idea that signal propagation was a problem on the ENIAC
project, too. At least you are in good company.
|