|
Back
to résumé
Ghosted for
NEC. Published in Electronic Engineering Times.
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.
No secrets, just smart engineering 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.
Back
to top
Back to résumé
Back
to Word Sculptors main page
|