Professional Documents
Culture Documents
ptimise on one, the other is affected. The choice between the two is determined
by the way we chose the layout the circuit components. Layout can also affect th
e fabrication of VLSI chips, making it either easy or difficult to implement the
components on the silicon.
MOST OF TODAY S VLSI DESIGNS ARE CLASSIFIED INTO THREE CATEGORIES:
1. Analog:
Small transistor count precision circuits such as Amplifiers, Data converters, f
ilters, Phase Locked Loops, Sensors etc.
2. ASICS or Application Specific Integrated Circuits:
Progress in the fabrication of IC's has enabled us to create fast and powerful c
ircuits in smaller and smaller devices. This also means that we can pack a lot m
ore of functionality into the same area. The biggest application of this ability
is found in the design of ASIC's. These are IC's that are created for specific
purposes - each device is created to do a particular job, and do it well. The mo
st common application area for this is DSP - signal filters, image compression,
etc. To go to extremes, consider the fact that the digital wristwatch normally c
onsists of a single IC doing all the time-keeping jobs as well as extra features
like games, calendar, etc.
3. SoC or Systems on a chip:
These are highly complex mixed signal circuits (digital and analog all on the sa
me chip). A network processor chip or a wireless radio chip is an example of an
SoC.
EMBEDDED SYSTEMS An embedded system is a computer system designed for specific c
ontrol functions within a larger system often with real-time computingconstraint
s. It is embedded as part of a complete device often including hardware and mech
anical parts. By contrast, a general-purpose computer, such as a personal comput
er (PC), is designed to be flexible and to meet a wide range of end-user needs.
Embedded systems control many devices in common use todayEmbedded systems contai
n processing cores that are typically either microcontrollers or digital signal
processors (DSP) The key characteristic, however, is being dedicated to handle a
particular task. They may require very powerful processors and extensive commun
ication, for example air traffic control systems may usefully be viewed as embed
ded, even though they involve mainframe computersand dedicated regional and nati
onal networks between airports and radar sites (each radar probably includes one
or more embedded systems of its own).
Embedded systems programming is not like normal PC programming. In many ways, pr
ogramming for an embedded system is like programming a PC 15 years ago. The hard
ware for the system is usually chosen to make the device as cheap as possible. S
pending an extra dollar a unit in order to make things easier to program can cos
t millions. Hiring a programmer for an extra month is cheap in comparison. This
means the programmer must make do with slow processors and low memory, while at
the same time battling a need for efficiency not seen in most PC applications.
Since the embedded system is dedicated to specific tasks, design engineers can o
ptimize it to reduce the size and cost of the product and increase the reliabili
ty and performance. Some embedded systems are mass-produced, benefiting from eco
nomies of scale. Physically, embedded systems range from portable devices such a
s digital watches and MP3 players, to large stationary installations like traffi
c lights, factory controllers, or the systems controlling nuclear power plants.
Complexity varies from low, with a single microcontroller chip, to very high wit
h multiple units, peripherals and networks mounted inside a large chassis or enc
losure.
In general, "embedded system" is not a strictly definable term, as most systems
have some element of extensibility or programmability. For example, handheld com
puters share some elements with embedded systems such as the operating systems a
nd microprocessors that power them, but they allow different applications to be
loaded and peripherals to be connected. Moreover, even systems that do not expos
e programmability as a primary feature generally need to support software update
s. On a continuum from "general purpose" to "embedded", large application system
s will have subcomponents at most points even if the system as a whole is "desig
ned to perform one or a few dedicated functions", and is thus appropriate to cal
l "embedded".
Processors in embedded systems
Secondly, Embedded processors can be broken into two broad categories: ordinary
microprocessors (?P) and microcontrollers (?C), which have many more peripherals
on chip, reducing cost and size. Contrasting to the personal computer and serve
r markets, a fairly large number of basic CPU architectures are used; there are
Von Neumann as well as various degrees of Harvard architectures, RISC as well as
non-RISC and VLIW; word lengths vary from 4-bit to 64-bits and beyond (mainly i
n DSP processors) although the most typical remain 8/16-bit. Most architectures
come in a large number of different variants and shapes, many of which are also
manufactured by several different companies.
A long but still not exhaustive list of common architectures are: 65816, 65C02,
68HC08, 68HC11, 68k, 78K0R/78K0, 8051, ARM, AVR, AVR32, Blackfin,C167, Coldfire,
COP8, Cortus APS3, eZ8, eZ80, FR-V, H8, HT48, M16C, M32C, MIPS, MSP430, PIC, Po
werPC, R8C, RL78, SHARC, SPARC, ST6, SuperH,TLCS-47, TLCS-870, TLCS-900, TriCore
, V850, x86, XE8000, Z80, AsAP etc.
Reliability
Embedded systems often reside in machines that are expected to run continuously
for years without errors, and in some cases recover by themselves if an error oc
curs. Therefore the software is usually developed and tested more carefully than
that for personal computers, and unreliable mechanical moving parts such as dis
k drives, switches or buttons are avoided.
Specific reliability issues may include:
1. The system cannot safely be shut down for repair, or it is too inaccessible t
o repair. Examples include space systems, undersea cables, navigational beacons,
bore-hole systems, and automobiles.
2. The system must be kept running for safety reasons. "Limp modes" are less tol
erable. Often backups are selected by an operator. Examples include aircraft nav
igation, reactor control systems, safety-critical chemical factory controls, tra
in signals.
3. The system will lose large amounts of money when shut down: Telephone switche
s, factory controls, bridge and elevator controls, funds transfer and market mak
ing, automated sales and service.
ISSUES
Embedded development makes up a small fraction of total programming. There's als
o a large number of embedded architectures, unlike the PC world where 1 instruct
ion set rules, and the Unix world where there's only 3 or 4 major ones. This mea
ns that the tools are more expensive. It also means that they're lower featured,
and less developed. On a major embedded project, at some point you will almost
always find a compiler bug of some sort.
Debugging tools are another issue. Since you can't always run general programs o
n your embedded processor, you can't always run a debugger on it. This makes fix
ing your program difficult. Special hardware such as JTAG ports can overcome thi
s issue in part. However, if you stop on a breakpoint when your system is contro
lling real world hardware (such as a motor), permanent equipment damage can occu