|
| Home Rates and Policies About Bernie About Toni |
Smart engineering slashes costs on emulator design |
Most
companies that manufacture microcontrollers also produce emulators
for their products. The cost of these emulators ranges from $1000
to $10,000. To accommodate small companies that can’t afford to
spend that much money for an emulator, many MCU manufacturers,
including NEC Electronics Inc., also offer low-cost development
boards as an alternative. Prices
range from as little as $99 up to about $250. However,
development boards don’t do real-time emulation, or do so only
in a very limited way – that’s why they are cheap. They
are a “make-do” solution at best. Although
it’s true that some development boards can be enabled to provide
real-time emulation, in order to achieve it additional hardware
is required. But with the additional hardware the cost approaches
that of a true emulator, and any benefit of buying a low-cost development
board is lost. Without real-time emulation, development costs
are high Because
development boards do not have real-time emulation; you can’t do
real-time trace, break points, or tracking of registers – all critical
functions in guaranteeing that you start production with a flawless
part. To
get around this problem, the customer can get an OTP (one-time programmable)
or FLASH version of their micro, program it, plug it into the target
system, and try it out. If
they encounter a problem, they must remove the device, plug the development
board into their target system, and try to figure out what’s going
on. Several iterations of this highly inefficient process may
be necessary to solve the problem. But
without real-time emulation speed, issues are difficult to resolve. Both
these situations add to the development time, thereby increasing
costs. Worse, the risk
is high when moving into production before a problem is discovered,
and the cost of correcting it can be disastrous for a small company. Other
factors can add to the cost of a development board. For example, many boards don’t come with a programmer to program
an EPROM or a FLASH device. Most
microcontrollers have memory on board, so once the system development
is complete, the user will want to evaluate the part in their actual
system. To do this, you need to program the users code into an OTP
or Flash based version of the part. This means you have to buy a
programmer costing anywhere between $200 to $2000. Cost is not the only problem In
general, a low-cost development board is specific to a particular
part, not the whole family of parts. So a customer will need a
different board for each member of a product family. This creates problems for the MCU manufacturer as well as
for the customer. Every
time the manufacturer introduces a new subseries, a new development
board must be designed for it. This is a time-consuming and expensive
process. Thus it is often cost- and time-prohibitive to make new boards,
and a customer may not be able to get a board for the new micro
they are using. NEC
offers development boards for several of its lines of microcontrollers.
In addition to the problems of development costs and availability,
our technical support people have to spend a lot of time working
with our customers to solve the technical problems that result
from using a development board rather than an emulator. Many of
these problems are inherent in the nature of the board itself,
and can’t be designed out. So
it became apparent to us that to serve our small company customers
effectively, we needed to design a true emulator that could be
sold at a fraction of the cost of our high-end models. The
result of our efforts for the LCE (low-cost emulator) for our K0S
family of MCUs has exceeded our most optimistic goals. Not
only were we able to realize many cost-saving innovations that
allow us to sell it for $500, (about one-tenth the price of our
cheapest high-end emulator), we did it with no significant sacrifice
of functionality. We
didn’t invent anything new. Everything
we accomplished was done by taking advantage of recent cutting-edge
technology, some unique advantages we enjoy because of our relationship
with design partners, and by plain old smart engineering. Here’s
how we did it. We began
by cutting excess fat One
of the principle challenges we faced was to design a low-cost emulator
without sacrificing any significant functionality. A
couple of the economies were easily accomplished by eliminating
features that are not used by our customers. ‘Coverage’,
for example, provides a graphic that tells the engineer what parts
of memory a program uses, and which part it does not use. Our
customer support team for development tools told us that less than
one percent of our customers uses this feature. So we were able
to cut cost by eliminating a feature that won’t be missed by our
customers. In
our high-end emulators we provide six ‘qualified’ breakpoints.
The LCE supports up to 64K simple breakpoints (that is, they break
on address only). A qualified breakpoint is one that implements
a condition more complex than an address break only, such that
the breakpoint will cause the emulator to stop only when all the
conditions of the breakpoint are met. Qualified
breakpoints are powerful tools but expensive to implement. Again,
we found out that our customers rarely use all six breakpoints,
so we achieved another substantial economy by putting only three
qualified breakpoints in the LCE. Those three breakpoints will
be adequate for more than 99% of all designs. Another
simple economy was to eliminate the box (which is not really necessary)
around the LCE, and to substitute a plastic shield to protect the
top of the emulator. Our
most basic design decision was to use two boards – a motherboard
with an Evachip (evaluation chip), and a daughterboard for the
micro being emulated. The Evachip is the CPU core that will work
with any micro in the family. A
single IC (which we call the Realchip) on the daughterboard is
the actual production micro that includes the CPU, and all the
peripherals for that particular subseries. In the LCE, the Evachip
disables the Realchip’s CPU and puts the Realchip in a special
emulation mode where the Realchip emulates the micro’s peripherals,
but not the CPU. The
peripherals are the primary difference in our micros when you go
from one subseries to another subseries in a product family. The
CPU and the instruction set are the same; it’s only the peripherals that change. Because
the daughterboard has only one IC and a couple of connectors, we
can design a new board very quickly and at a low cost – a major
difference between the LCE and development boards. This means it
is fast and inexpensive for the customer to
move to a new subseries. Once
our customer buys the motherboard and a daughterboard for one subseries
in a family, they can go to a different subseries simply by buying
another daughterboard for about $100. If
a customer is using a high-end emulator, there’s
no easy way to go to a different family of parts without buying
a new emulator board at a cost of at least $1300. A
second major design economy was accomplished by taking advantage of the latest PLD technology to drastically reduce the number of logic chips
on the emulator board. By using just three PLDs with very high integration, we were
able to make the board much smaller than a high-end emulator board. The
LCE and the daughterboard together have a combined area of less
than 50 square inches. Without
the PLDs,
the emulator board alone could have been up to 225 square inches. Taking
this direction achieved a double economy: the smaller board costs
less to make, and the PLDs are much cheaper
than the logic circuitry they replace. Another
cost saving for the customer is that we provided two ways to connect
the emulator to the target system. One
is a ribbon cable connection and the other is our high-end emulator
probe. The choice is a tradeoff between cost and convenience. The
ribbon cable costs about $2, and the probe can cost up to $600. To
use the ribbon cable, one or two 50-pin headers must be wired into
the target board. If the headers need to be removed for the final
design, the PCB needs to be relayed out for the production design.
For people who want to use our high-end emulator probe, we have
put a 120-pin connector on the daughterboard. If they choose to
use the probe, they buy a special socket and solder it onto their
target system. They plug one end of the probe into the 120-pin
connector, and the other end into the socket. The advantage of
the probe is that the socket has the same footprint as the MCU,
thereby saving the customer a new PCB layout. On
most development boards, a Monitor ROM (roughly the equivalent
of the BIOS in a PC) resides on the board to control the emulator hardware. In the LCE, we replaced the
Monitor ROM with low-cost RAM, and included the BIOS program
in our debugger software. When the LCE is turned on, the BIOS program
is downloaded into the RAM on the LCE. This
is a multiple economy because it also makes it easy for us to update
our LCEs later – we need only to send our customers a replacement
CD with the software upgrade. In
some instances we were able to enhance performance without adding
cost. For example,
low-cost development boards typically use a serial interface to
connect the board to the PC. As a result, it takes a long time
for the user to download their program to the development board’s
RAM. Some high-end emulators require an interface board such as
a PCMCIA that you plug into the PC. For
the LCE, we chose to use the PC’s parallel interface, which loads
the program into the emulator eight times faster than an RS232,
and costs less than putting a board into the computer. Doing
it this way increased the performance of the LCE/PC interface (at
no increase in cost compared with using a serial interface), yet
without the higher cost of a PCMCIA board. And
throw in a little bit of luck Some
of the economies we were able to make were simply by taking advantage
of connections within the company or with partner companies. For
example, we make our own Evachips. We are able to get them at a low
cost, which in turn lowers the cost of manufacturing the board. A
typical IC has between 10 to 100 pins. The Evachip is a sophisticated,
expensive device with 250 pins, so it was a considerable advantage
to be able to get these at a low cost. Another
advantage was that we were able to interact directly with NEC’s IC
engineers who design the Evachips. They told us they already had
an interface bus designed into the Evachips and the Realchip. So
we were able to avoid the engineering costs connected with creating
an interface between the two boards. The
idea of including a FLASH programmer on the board didn’t
come up until we were in the final stages of the design. The engineers
at Microsystem Synthesis Inc. were implementing the PLDs for us. They
told us that when they finished all the logic design, they had a
few extra gates and some PCB real estate left. They thought they could provide for a FLASH programmer
for just a few cents more. We just needed to be sure the power supply
had enough current to operate the LCE and the flash programmer. We
didn’t have to think twice before we
said, “Hell, yes!” What’s
ahead? The K0S LCE is ready now. We are presently designing the LCE for the K0 family, and expect to start production Q1 2001. We are also starting a design for the V850 family but due to the high-speed RISC architecture it will be priced at about $1000 – but that’s still much cheaper than the high-end emulator for this product family ($5000 to $10,000). The V850 LCE will be available mid-year 2001. To return to the page you came from, just close this window. |