You are on page 1of 4

Very-large-scale integration (VLSI) is the process of creating integrated circui

ts by combining thousands of transistors into a single chip. VLSI began in the 1


970s when complex semiconductor and communication technologies were being develo
ped. The microprocessor is a VLSI device.
VLSI has been around for a long time, there is nothing new about it ... but as a
side effect of advances in the world of computers, there has been a dramatic pr
oliferation of tools that can be used to design VLSI circuits. Alongside, obeyin
g Moore's law, the capability of an IC has increased exponentially over the year
s, in terms of computation power, utilisation of available area, yield. The comb
ined effect of these two advances is that people can now put diverse functionali
ty into the IC's, opening up new frontiers. Examples are embedded systems, where
intelligent devices are put inside everyday objects, and ubiquitous computing w
here small computing devices proliferate to such an extent that even the shoes y
ou wear may actually do something useful like monitoring your heartbeats! These
two fields are kinda related, and getting into their description can easily lead
to another article.
The first semiconductor chips held two transistors each. Subsequent advances add
ed more and more transistors, and, as a consequence, more individual functions o
r systems were integrated over time. The first integrated circuits held only a f
ew devices, perhaps as many as ten diodes, transistors, resistors and capacitors
, making it possible to fabricate one or more logic gates on a single device. No
w known retrospectively as small-scale integration (SSI), improvements in techni
que led to devices with hundreds of logic gates, known as medium-scale integrati
on (MSI). Further improvements led to large-scale integration (LSI), i.e. system
s with at least a thousand logic gates. Current technology has moved far past th
is mark and today's microprocessors have many millions of gates and billions of
individual transistors.
At one time, there was an effort to name and calibrate various levels of large-s
cale integration above VLSI. Terms like ultra-large-scale integration (ULSI) wer
e used. But the huge number of gates and transistors available on common devices
has rendered such fine distinctions moot. Terms suggesting greater than VLSI le
vels of integration are no longer in widespread use.
DEALING WITH VLSI CIRCUITS
Digital VLSI circuits are predominantly CMOS based. The way normal blocks like l
atches and gates are implemented is different from what students have seen so fa
r, but the behaviour remains the same. All the miniaturisation involves new thin
gs to consider. A lot of thought has to go into actual implementations as well a
s design. Let us look at some of the factors involved ...
1. Circuit Delays. Large complicated circuits running at very high frequencies h
ave one big problem to tackle - the problem of delays in propagation of signals
through gates and wires ... even for areas a few micrometers across! The operati
on speed is so large that as the delays add up, they can actually become compara
ble to the clock speeds.
2. Power. Another effect of high operation frequencies is increased consumption
of power. This has two-fold effect - devices consume batteries faster, and heat
dissipation increases. Coupled with the fact that surface areas have decreased,
heat poses a major threat to the stability of the circuit itself.
3. Layout. Laying out the circuit components is task common to all branches of e
lectronics. Whats so special in our case is that there are many possible ways to
do this; there can be multiple layers of different materials on the same silico
n, there can be different arrangements of the smaller parts for the same compone
nt and so on.
The power dissipation and speed in a circuit present a trade-off; if we try to o

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

r. As a result, people doing embedded programming quickly become masters at usin


g serial IO channels and error message style debugging. [edit]Resources
To save costs, embedded systems frequently have the cheapest processors that can
do the job. This means your programs need to be written as efficiently as possi
ble. When dealing with large data sets, issues like memory cache misses that nev
er matter in PC programming can hurt you. Luckily, this won't happen too oftenuse reasonably efficient algorithms to start, and optimize only when necessary.
Of course, normal profilers won't work well, due to the same reason debuggers do
n't work well. So more intuition and an understanding of your software and hardw
are architecture is necessary to optimize effectively.
Memory is also an issue. For the same cost savings reasons, embedded systems usu
ally have the least memory they can get away with. That means their algorithms m
ust be memory efficient (unlike in PC programs, you will frequently sacrifice pr
ocessor time for memory, rather than the reverse). It also means you can't affor
d to leak memory. Embedded applications generally use deterministic memory techn
iques and avoid the default "new" and "malloc" functions, so that leaks can be f
ound and eliminated more easily. Other resources programmers expect may not even
exist. For example, most embedded processors do not have hardware FPUs (Floatin
g-Point Processing Unit). These resources either need to be emulated in software
, or avoided altogether. [edit]Real Time Issues

You might also like