Page 153 - The Art of Designing Embedded Systems
P. 153
140 THE ART OF DESIGNING EMBEDDED SYSTEMS
dab of epoxy directly to the board. All of these trends offer various system
benefits; all make it difficult or impossible to troubleshoot software and
hardware.
OK, you smirk, these issues only apply to the high end of the embed-
ded market, where clock rates-and production costs-soar with the eagles.
Other, subtle influences, though, are wreaking havoc on the low end.
Take microcontrollers, for example. These CPUs have ROM and
RAM on-board, giving a very simple, very inexpensive one-chip solution
for simple 8- and 16-bit applications. The 8051 is the classic example of
this, and indeed has been an amazing success that has survived 20 years of
assault by other, perhaps more capable, processors.
Single-chip solutions are tough to debug, though, since the on-board
memory means there’s generally no addreddata bus coming to the outside
world. An extreme example is Microchip’s 8-pin PIC part. Eight pins!
Various debugging solutions exist, but the traditional solution is the
bond-out chip, a special version of the processor, with extra pins that bring
all important signals to the outside world, especially those oh-so-critical
address and data lines needed to track program execution. With a proper
bond-out-based ICE you can track everything the code does, in real time,
with no compromises. Perfect, no?
Well, a few wrinkles are starting to surface. For one, the chip vendors
hate making bond-outs. The market is essentially zero, yet every time the
processor’s mask gets revised a new bond-out is needed. In the old days
chip vendors swallowed hard, but did make them reasonably available.
Now this is less common. With the 386EX (which is not a micro-
controller, but which benefits from a bond-out) Intel announced that only
a handful of vendors would get access to the special version of the part,
probably to some extent increasing the cost of tools. Is this an indication of
the beginning of the end of generally available bond-out parts?
Sometimes the bond-out is not kept to current mask revisions. I know
of at least one case where a vendor provides bond-outs that will not run at
full speed, essentially removing the critical visibility of real-time execution
from developers. This situation puts you in the awful conundrum of de-
ciding, “Should I buy an expensive tool. . . that forces me to run at half
speed, no doubt destroying all timing relationships?”
Sometimes-often-the bond-outs will not run at reduced voltages.
Your 3-volt system might require a pod that is a convoluted mix of 3- and
5-volt technologies, creating additional propagation delays as voltages get
translated. In effect, a nonintrusive tool becomes subtly more intrusive, in
ways that are hard to predict. Voltages are declining fast-some CPUs
now run at sub-1-volt levels-so the problem can only get worse.

