ES Overview
ES Overview
By
M. Mahesh Babu
Outline
• Embedded Systems Overview
– Computer Essentials
• Some Examples of Embedded Systems
• Definition of Embedded System
• How an Embedded System Works
• A “short list” of embedded systems-Applications
• History of Embedded Systems
• Future Trends in Embedded Systems
• Block diagram of Embedded Systems
– Microprocessors and Microcontrollers, DSP, ASIC, SOC
Embedded systems overview
• Our day to day life is becoming more and more dependent on
“embedded systems” and digital techniques.
• Embedded technologies are bonding into our daily activities even
without our knowledge.
• people experience the power of embedded systems and enjoy the
features and comfort provided them.
• The computing revolution began with the general purpose computing
requirements. Later it was realised that the general purpose
computing requirements are not sufficient for embedded computing
requirements.
• The embedded computing requirements demand ‘something special’
in terms of response to stimuli, meeting the computational deadlines,
power efficiency, limited memory availability, etc.
Embedded systems overview
• Computing systems are everywhere
• Most of us think of “desktop” computers
– PC’s
– Laptops
– Mainframes
– Servers
• But there’s another type of computing system
– Far more common...
Embedded systems overview
• Embedded computing systems
– Computing systems embedded within electronic
devices
– Hard to define. Nearly any computing system
other than a desktop computer
– Billions of units produced yearly, versus millions of
desktop units
– Perhaps 50 per household and per automobile
Some Examples of embedded system
Medical
Automotive
Communications
Military
Comsumer Industrial
Some Examples of embedded system
Some Examples of embedded system
Some Examples of embedded system
What is Embedded System?
• An embedded system is a special-
purpose system in which the
computer is completely encapsulated
by the device it controls.
• An embedded system performs pre-
defined tasks, usually with very
specific requirements.
• Mobile phones, MP3 Players, Digital
Cameras are very common
embedded systems in our life.
What is Embedded System?
• Since the system is dedicated to a specific task,
design engineers can optimize it and reduce
the size and cost of the product.
• Power Constrain, Performance requirements.
• Embedded systems are often mass-produced,
so the cost savings may be multiplied by
millions of items.
Embedded System Definitions:
• Embedded system: is a system whose principal function is not
computational, but which is controlled by a computer embedded within it.
• It is an Electronic/Electro-mechanical system designed to perform a specific
function and is a combination of both hardware & software.
OR
• A combination of hardware and software which together form a component
of a larger machine.
• An embedded system is designed to run on its own without human
intervention, and may be required to respond to events in real time.
• An example of an embedded system is a microprocessor that controls an
automobile engine.
• In simple words, Embedded System = (Hardware + Software) dedicated for a
particular task with its own memory.
What makes embedded systems different?
• Real-time operation
• size
• cost
• time
• reliability
• safety
• energy
• security
Block diagram of Embedded System
How an Embedded System Works
• Embedded systems are managed by microcontrollers or
digital signal processors (DSP), application-specific integrated
circuits (ASIC), field-programmable gate arrays (FPGA), GPU
technology, and gate arrays. These processing systems are
integrated with components dedicated to handling electric
and/or mechanical interfacing.
• Embedded systems programming instructions, referred to as
firmware, are stored in read-only memory or flash memory
chips, running with limited computer hardware resources.
• Embedded systems connect with the outside world through
peripherals, linking input and output devices.
Selection of processor for an embedded
system
• The selection of a processor is not an easy task for an
embedded system.
• It is not possible to simply select a processor from
your favourite list.
• Several factors are to be considered while selecting a
processor for an embedded system.
• Because embedded systems are designed to operate
in different climatic conditions, critical environments,
etc.
• Depending on the type of applications, the necessary
performance, power constraints, special processing,
modern technology, etc, the processor is selected.
• There are different types of embedded
processors available in the market.
• The selection of embedded processor should
enhance the user experience by reducing the chance
of poor speed, system overheating, insufficient
memory, etc.
1. Computer: A computer is a combination of hardware and software resources that
integrate together and provides various functionalities to the user.
2. Embedded Device : An embedded device is a part of an integrated system that is
formed as a combination of computer hardware and software for a specific function
and which can operate without human interaction.
Criteria General Purpose Embedded System
Computing System
Content
Operating System
Change
Key Factor
Power Consumption
Response time
Examples
Comparison
EMBEDDED SYSTEMS (VS) GENERAL COMPUTING SYSTEMS
Applications of Embedded Systems (1)
Following are an important application of Embedded system:
• Consumer Electronics
– Camcorders, Cameras, etc…
• Household Appliances
– Television, DVD Player, Washing machine, fridge, microwave oven, etc.
• Home automation and security system
– Air conditioners, Sprinkler, intruder detection alarms, fire alarms, closed
circuit television cameras, etc
• Automotive industry
– Anti-lock breaking system (ABS), engine control, ignition control,
automatic navigation system, etc..
• Telecommunication
– Cellular telephones, telephone switches, Router, etc…
Applications of Embedded Systems (2)
• Computer peripherals
– Printers, scanners, fax machines, etc…
• Healthcare
– CT scanner, ECG, EEG, EMG, MRI, Glucose monitor, blood pressure monitor, medical
diagnostic device,etc.
• Card Readers
– Barcode, smart card readers, hand held devices, etc…
A “short list” of embedded systems
Anti-lock brakes Modems
Auto-focus cameras MPEG decoders
Automatic teller machines Network cards
Automatic toll systems Network switches/routers
Automatic transmission On-board navigation
Avionic systems Pagers
Battery chargers Photocopiers
Camcorders Point-of-sale systems
Cell phones Portable video games
Cell-phone base stations Printers
Cordless phones Satellite phones
Cruise control Scanners
Curbside check-in systems Smart ovens/dishwashers
Digital cameras Speech recognizers
Disk drives Stereo systems
Electronic card readers Teleconferencing systems
Electronic instruments Televisions
Electronic toys/games Temperature controllers
Factory control Theft tracking systems
Fax machines TV set-top boxes
Fingerprint identifiers VCR’s, DVD players
Home security systems Video game consoles
Life-support systems Video phones
Medical testing systems Washers and dryers
• On generation
– 1. First generation(1G):
❖Built around an 8bit microprocessor & microcontroller.
❖Simple in hardware circuit & firmware developed.
❖Examples: Digital telephone keypads.
– 2. Second generation(2G):
❖Built around 16-bit μp & 8-bit μc.
❖They are more complex & powerful than 1G μp &μc.
❖Examples: SCADA systems
CLASSIFICATION OF EMBEDDED SYSTEM
• On generation
– 3. Third generation(3G):
❖Built around 32-bit μp & 16-bit μc.
❖Concepts like Digital Signal Processors (DSPs), Application Specific
Integrated Circuits(ASICs) evolved.
❖Examples: Robotics, Media, etc.
– 4. Fourth generation:
❖Built around 64-bit μp & 32-bit μc.
❖The concept of System on Chips (SoC), Multicore Processors
evolved.
❖Highly complex & very powerful.
❖Examples: Smart Phones.
CLASSIFICATION OF EMBEDDED SYSTEM
• On complexity & performance
– 1. Small-scale:
➢Simple applications need Performance not time-critical.
➢Built around low performance & low cost 8 or 16 bit
μp/μc.
➢Example: an electronic toy
– 2. Medium-scale:
➢ Slightly complex in hardware & firmware requirement.
➢ Built around medium performance & low cost 16 or 32
bit μp/μc.
➢ Usually contain operating systems.
➢Examples: Industrial machines.
CLASSIFICATION OF EMBEDDED SYSTEM
66
Challenges in Embedded Computing System
Design
• The following external constraints are one important source of
difficulty in embedded system Design.
– Hardware
– How much hardware do we need?
– meet deadlines
– How do we meet deadlines?
– power consumption
– How do we minimize power consumption?
– design for upgradability
– How do we design for upgradability?
– Reliability
– Does it really work?
• The sources that make the design so difficult are:
– Complex testing
– Limited observability and controllability
– Restricted development environments
• Let’s consider some important problems that must be taken into
account in embedded system design.
• How much hardware do we need?
• We have a great deal of control over the amount of computing
power we apply to our problem. We cannot only select the type of
microprocessor used, but also select the amount of memory, the
peripheral devices, and more. Since we often must meet both
performance deadlines and manufacturing cost constraints, the
choice of hardware is important—too little hardware and the system
fails to meet its deadlines, too much hardware and it becomes too
expensive.
• How do we meet deadlines?
• The brute force way of meeting a deadline is to speed up the
hardware so that the program runs faster. Of course, that makes the
system more expensive. It is also entirely possible that increasing the
CPU clock rate may not make enough difference to execution time,
since the program’s speed may be limited by the memory system.
• How do we minimize power consumption?
• In battery-powered applications, power consumption is extremely important. Even
in non battery applications, excessive power consumption can increase heat
dissipation. One way to make a digital system consume less power is to make it run
more slowly, slowing down the system can obviously lead to missed deadlines.
Careful design is required to slow down the noncritical parts of the machine for
power consumption while still meeting necessary performance goals.
• How do we design for upgradability?
• The hardware platform may be used over several product generations or for several
different versions of a product in the same generation, with few or no changes.
However, we want to be able to add features by changing software.
• Does it really work?
• Reliability is always important when selling products—customers rightly expect that
products they buy will work. Reliability is especially important in some applications.
If we wait until we have a running system and try to eliminate the bugs, we will be
too late—we won’t find enough bugs, it will be too expensive to fix them, and it will
take more time.
• Let’s consider some ways in which the nature of embedded computing machines
makes their design more difficult.
• Complex testing: Exercising an embedded system is generally more difficult than
typing in some data. We may have to run a real machine in order to generate the
proper data. The timing of data is often important, meaning that we cannot
separate the testing of an embedded computer from the machine in which it is
embedded.
• Limited observability and controllability: Embedded computing systems usually do
not come with keyboards and screens. This makes it more difficult to see what is
going on and to affect the system’s operation. We may be forced to watch the
values of electrical signals on the microprocessor bus, for example, to know what is
going on inside the system. Moreover, in real-time applications we may not be able
to easily stop the system to see what is going on inside.
• Restricted development environments: The development environments for
embedded systems (the tools used to develop software and hardware) are often
much more limited than those available for PCs and workstations. We generally
compile code on one type of machine, such as a PC, and download it onto the
embedded system. To debug the code, we must usually rely on programs that run
on the PC or workstation and then look inside the embedded system.
Application Areas Of Embedded Systems
• Consumer Electronics
– Camcorders, Cameras, etc…
• Household Appliances
– Television, DVD Player, Washing machine, fridge, microwave oven, etc.
• Home automation and security system
– Air conditioners, Sprinkler, intruder detection alarms, fire alarms, closed circuit
television cameras, etc
• Automotive industry
– Anti-lock breaking system (ABS), engine control, ignition control, automatic
navigation system, etc..
• Telecommunication
– Cellular telephones, telephone switches, Router, etc…
• Computer peripherals
– Printers, scanners, fax machines, etc…
Application Areas Of Embedded Systems
• Computer Networking systems
– Network routers, switches, hubs, firewalls, etc…
• Healthcare
– CT scanner, ECG, EEG, EMG, MRI, Glucose monitor, blood pressure monitor,
medical diagnostic device, etc.
• Measurement & Instrumentation
– Digital multimeters, digital CROs, logic analyzers, PLC systems, etc…
• Banking & Retail
– Automatic Teller Machine(ATM) and Currency counters, smart vendor
machine, cash register, Share market, etc..
• Card Readers
– Barcode, smart card readers, hand held devices, etc…
Design Challenges
• Does it really work?
– Is the specification correct?
– Does the implementation meet the spec?
– How do we test for real-time characteristics?
– How do we test on real data?
• How do we work on the system?
– Observability, controllability?
– What is our development platform?
• More importantly – optimizing design
metrics!!
73
Design challenge –
optimizing design metrics
• Obvious design goal:
– Construct an implementation with desired functionality
• Key design challenge:
– Simultaneously optimize numerous design metrics
• Design metric
– A measurable feature of a system’s implementation
– Optimizing design metrics is a key challenge
74
Design challenge – optimizing design
metrics
• Common metrics
– Unit cost: the monetary cost of manufacturing
each copy of the system, excluding NRE cost
–NRE cost (Non-Recurring Engineering cost):
The one-time monetary cost of designing the
system
– Size: the physical space required by the system
– Performance: the execution time or throughput of the system
– Power: the amount of power consumed by the
system
– Flexibility: the ability to change the functionality
75
of the system without incurring heavy NRE cost
Design challenge – optimizing design
metrics
• Common metrics (continued)
– Time-to-prototype: the time needed to build a working version
of the system
– Time-to-market: the time required to develop a system to the
point that it can be released and sold to customers
– Maintainability: the ability to modify the system after its initial
release
– Correctness,
– Safety,
– Testability,
– Manufacturability,
– many more
76
Design metric competition -- improving one may worsen others
• Average time-to-market
constraint is about 8 months
Time (months) • Delays can be costly
78
Losses due to delayed market entry
On-time
79
Losses due to delayed market entry
(cont.)
• Area = 1/2 * base * height
Peak revenue – On-time = 1/2 * 2W * W
– Delayed = 1/2 * (W-D+W)*(W-D)
Peak revenue from
delayed entry
• Percentage revenue loss =
Revenues ($)
On-time
80
NRE and unit cost metrics
• Costs:
– Unit cost: the monetary cost of manufacturing each copy of the system, excluding NRE
cost
– NRE cost (Non-Recurring Engineering cost): The one-time monetary cost of designing
the system
– total cost = NRE cost + unit cost * # of units
– per-product cost = total cost / # of units
= (NRE cost / # of units) + unit cost
• Example
– NRE=$2000, unit=$100
– For 10 units
– total cost = $2000 + 10*$100 = $3000
– per-product cost = $2000/10 + $100 = $300
Amortizing NRE cost over the units results in an
additional $200 per unit
81
NRE and unit cost metrics
• Compare technologies by costs -- best depends on quantity
– Technology A: NRE=$2,000, unit=$100
– Technology B: NRE=$30,000, unit=$30
– Technology C: NRE=$100,000, unit=$2
$200,000 $200
A A
B B
$160,000 $160
C C
tota l c ost (x1000)
p er p rod uc t c ost
$120,000 $120
$80,000 $80
$40,000 $40
$0 $0
0 800 1600 2400 0 800 1600 2400
Numb er of units (volume) Numb er of units (volume)
82
Future Trends in Embedded Systems
• The industry for embedded systems is expected to continue growing
rapidly, driven by the continued development of Artificial Intelligence
(AI), Virtual Reality (VR) and Augmented Reality (AR), machine
learning , deep learning, and the Internet of Things (IoT).
• The cognitive embedded system will be at the heart of such trends as:
reduced energy consumption, improved security for embedded
devices, cloud connectivity and mesh networking, deep learning
applications, and visualization tools with real time data.
87
Program for Embedded Systems
• Development Process
• Process for creating
instructions that are
built on host but
meant for the target
• Tools are compatible
with each other
Software Development Process
C File C File Asm.
File
• Compilers
– Cross compiler
• Runs on one
Compiler Assemble
r processor, but
generates code
Binary Binary Binary
File File File for another
• Assemblers
Library
Linker/
Locator Debugger • Linkers
Exec.
• Debuggers
Profiler
•
File
Profilers
Implementation Phase Verification Phase
90
Embedded System Design Tools and
Platforms
• here are many tools and platforms available
for embedded system design.
• These tools include:
– software development kits (SDKs),
– integrated development environments (IDEs),
– hardware development platforms.
Embedded System Design Tools and
Platforms
• Some popular embedded system design tools
and platforms include:
• Arduino: A popular hardware development platform
for hobbyists and professionals.
• Raspberry Pi: A low-cost, credit-card-sized computer
that can be used for a variety of applications,
including embedded system design.
• Microchip: A company that provides a wide range of
microcontrollers and other electronic components
for embedded system design.
System Hardware/Software Co-Design
• The importance of codesign in designing
hardware/software systems:
– Improves design quality, design cycle time, and cost
• Reduces integration and test time
– Supports growing complexity of embedded systems
– Takes advantage of advances in tools and
technologies
• Processor cores
• High-level hardware synthesis capabilities
• ASIC development
Motivations for Codesign
• Factors driving codesign (hardware/software
systems):
– Instruction Set Processors (ISPs) available as cores in many
design kits (386s, DSPs, microcontrollers, etc.)
– Systems on Silicon - many transistors available in typical
processes (> 10 million transistors available in IBM ASIC
process, etc.)
– Increasing capacity of field programmable devices - some
devices even able to be reprogrammed on-the-fly (FPGAs,
CPLDs, etc.)
– Efficient C compilers for embedded processors
– Hardware synthesis capabilities
Typical Codesign Process
Conventional Codesign Methodology
Fundamental Issues in Hardware/Software
Co-Design
• The hardware and software co-design is
problem statement and when we try to solve
this problem statement in real world, we may
come across multiple issues in the design.
• Fundamental issues are as follows:
– Selecting the model
– Selecting the architecture
– Selecting the language
– Partitioning System Requirements into hardware
and software
Issues in Hardware Software co-design
• Selecting the model
– Models are used for capturing and describing the system
characteristics.
• Selecting the architecture
– The architecture specifies the how a system is going to
implement in terms of number and types of different
components and interconnect among them.
• Selecting the language
– A programming language captures a computational model and
maps it into architecture.
– A model can be captured using multiple programming languages
like C,C++, java etc for software implementations and languages
like VHDL, Verilog, System C, etc. for hardware implementations.
• Partitioning system requirements into Hardware and
Software
THE EMBEDDED SYSTEM DESIGN PROCESS
THE EMBEDDED SYSTEM DESIGN PROCESS
Embedded system design process aimed at two objectives:
1. It will give us an introduction to the various steps in embedded
system design before we delve into them in more detail.
2. It will allow us to consider the design methodology itself.
EX:
GPS Moving Map
Hardware
Software
Designing Hardware and Software
Components
• Processor Trends
• Operating System Trends
• Development Language Trends
• Open Standards, Frameworks and Alliances
Three key embedded system
technologies
• What is “Technology”?
– A manner of accomplishing a task, especially using
technical processes, methods, or knowledge
133
Processor technology
• Processor is the architecture of the computation engine used to
implement a system’s desired functionality
• Processor does not have to be programmable
– “Processor” not equal to general-purpose processor
total = 0 total = 0
for i =1 to … for i =1 to …
General-purpose (“software”) Application-specific Single-purpose (“hardware”)
134
Processor technology
• Processors vary in their customization for the problem at hand
total = 0
for i = 1 to N loop
total += M[i]
end loop
Desired
functionality
135
General-purpose processors
• Programmable device used in a variety of
Controller Datapath
applications
– Also known as “microprocessor” Control
logic and
Register
file
• Features State register
136
Single-purpose processors
• Digital circuit designed to execute exactly Controller Datapath
one program Control index
– a.k.a. coprocessor, accelerator or peripheral logic
total
• Features State
register +
– Contains only the components needed to
execute a single program Data
– No program memory memory
• Benefits
– Fast
– Low power
– Small size
137
Application-specific processors
• Programmable processor optimized for a Controller Datapath
particular class of applications having Control Registers
common characteristics logic and
State register
– Compromise between general-purpose and Custom
single-purpose processors ALU
IR PC
• Features
Data
– Program memory Program memory
– Optimized datapath memory
– Special functional units Assembly code
• Benefits for:
total = 0
– Some flexibility, good performance, size and for i =1 to …
power
138
IC technology
• The manner in which a digital (gate-level)
implementation is mapped onto an IC
– IC: Integrated circuit, or “chip”
– IC technologies differ in their customization to a design
– IC’s consist of numerous layers (perhaps 10 or more)
• IC technologies differ with respect to who builds each layer
and when
gate
oxide
IC package IC
source channel drain
140
Full-custom/VLSI
• All layers are optimized for an embedded
system’s particular digital implementation
– Placing transistors
– Sizing transistors
– Routing wires
• Benefits
– Excellent performance, small size, low power
• Drawbacks
– High NRE cost (e.g., $300k), long time-to-market
141
Semi-custom
• Lower layers are fully or partially built
– Designers are left with routing of wires and maybe
placing some blocks
• Benefits
– Good performance, good size, less NRE cost than a
full-custom implementation (perhaps $10k to
$100k)
• Drawbacks
– Still require weeks to months to develop
142
PLD (Programmable Logic Device)
• All layers already exist
– Designers can purchase an IC
– Connections on the IC are either created or destroyed
to implement desired functionality
– Field-Programmable Gate Array (FPGA) very popular
• Benefits
– Low NRE costs, almost instant IC availability
• Drawbacks
– Bigger, expensive (perhaps $30 per unit), power
hungry, slower
143
Moore’s law
Moore’s law
Moore’s law
• The most important trend in embedded systems
– Predicted in 1965 by Intel co-founder Gordon Moore
IC transistor capacity has doubled roughly every 18 months for the past several decades
10,000
1,000
0.1
Note:
0.01
logarithmic scale
0.001
145
Moore’s law
• Wow
– This growth rate is hard to imagine, most people
underestimate
– How many ancestors do you have from 20 generations
ago
• i.e., roughly how many people alive in the 1500’s did it take to
make you?
• 220 = more than 1 million people
– (This underestimation is the key to pyramid schemes!)
146
Graphical illustration of Moore’s law
10,000 150,000,000
transistors transistors
147
Design Technology
• The manner in which we convert our concept of
desired system functionality into an implementation
Compilation/ Libraries/ Test/
Synthesis IP Verification
To final implementation
148
Design productivity exponential
increase
100,000
10,000
100
Productivity
10
0.1
0.01
2005
1993
2001
2003
1983
1987
1985
1991
1989
1999
1997
1995
2007
2009
• Exponential increase over the past few decades
149
The co-design ladder
• In the past: Sequential program code (e.g., C, VHDL)
• Hardware/software
Implementation
“codesign” Microprocessor plus
program bits: “software”
VLSI, ASIC, or PLD
implementation: “hardware”
The choice of hardware versus software for a particular function is simply a tradeoff among various
design metrics, like performance, power, size, NRE cost, and especially flexibility; there is no
fundamental difference between what hardware or software can implement.
150
Independence of processor and IC
technologies
• Basic tradeoff
– General vs. custom
– With respect to processor technology or IC technology
– The two technologies are independent
General- Single-
purpose ASIP purpose
General, processor processor Customized,
providing improved: providing improved:
151
Design productivity gap
• While designer productivity has grown at an impressive rate
over the past decades, the rate of improvement has not kept
pace with chip capacity
10,000 100,000
1,000 10,000
152
Design productivity gap
• 1981 leading edge chip required 100 designer months
– 10,000 transistors / 100 transistors/month
• 2002 leading edge chip requires 30,000 designer months
– 150,000,000 / 5000 transistors/month
• Designer cost increase from $1M to $300M
10,000 100,000
1,000 10,000
Logic transistors 100 1000
10 Gap 100 Productivity
per chip IC capacity
(in millions) 1 10 (K) Trans./Staff-Mo.
0.1 1
productivity
0.01 0.1
0.001 0.01
153
The mythical man-month
• The situation is even worse than the productivity gap indicates
• In theory, adding designers to team reduces project completion time
• In reality, productivity per designer decreases due to complexities of team management
and communication
• In the software community, known as “the mythical man-month” (Brooks 1975)
• At some point, can actually lengthen project completion time! (“Too many cooks”)
Team
60000 15
• 1M transistors, 1 16 16
18
50000 19
designer=5000
40000 24 23
trans/month
30000
Months until completion
• Each additional designer 20000 43
reduces for 100 10000 Individual
trans/month
0 10 20 30 40
• So 2 designers produce Number of designers
4900 trans/month each
154
Microelectronic Circuits
• General-purpose processors:
– High-volume sales.
– High performance.
• Application-Specific Integrated Circuits
(ASICs):
– Varying volumes and performances.
– Large market share.
• Prototypes.
• Special applications (e.g. space).
Microelectronics Design Styles
• Adapt circuit design style to market requirements
• Parameters:
– Cost.
– Performance.
– Volume.
• Full custom
– Maximal freedom
– High performance blocks
– Slow
• Semi-custom
– Standard Cells
– Gate Arrays
– Mask Programmable (MPGAs)
– Field Programmable (FPGAs)) • Silicon Compilers & Parametrizable Modules
(adder, multiplier,
– memories)
• Standard Cells
– Cell library:
• Cells are designed once.
• Cells are highly optimized.
– Layout style:
• Cells are placed in rows.
• Channels are used for wiring.
• Over the cell routing.
– Compatible with macro-cells (e.g. RAMs).
• Macro-cells
– Module generators:
• Synthesized layout.
• Variable area and aspect-ratio.
– Examples:
• RAMs, ROMs, PLAs, general logic blocks.
– Features:
• Layout can be highly optimized.
• Structured-custom design.
Array-based design
• Pre-diffused arrays:
– Personalization by metalization/contacts.
– Mask-Programmable Gate-Arrays.
• Pre-wired arrays:
– Personalization on the field.
– Field-Programmable Gate-Arrays.
• MPGAs & FPGAs
• MPGAs:
– Array of sites:
– Each site is a set of transistors. • Batches of wafers can be pre-fabricated.
– Few masks to personalize chip.
– Lower cost than cell-based design.
• FPGAs:
– Array of cells:
– Each cell performs a logic function. • Personalization:
– Soft: memory cell (e.g. Xilinx).
– Hard: Anti-fuse (e.g. Actel). • Immediate turn-around (for low volumes).
– Inferior performances and density.
– Good for prototyping.
Semi-custom style trade-off
Example: DEC AXP Chip designed using Macro Cells
Example: Field Programmable Gate Array from Actel
History of Embedded Systems
• The first modern, real-time embedded computing
system was the Apollo Guidance Computer,
developed in the 1960s by Dr. Charles Stark
Draper at the Massachusetts Institute of
Technology for the Apollo Program.
• The Apollo Guidance Computer was designed to
collect data automatically and provide mission-
critical calculations for the Apollo Command
Module and Lunar Module.
Indian space mission- Chandrayaan
• Chandrayaan - Indian lunar space probe series
• Chandrayaan-1 (chandrayaan is Hindi for “moon
craft”) was the first lunar space probe of
the Indian Space Research Organisation (ISRO)
and found water on the Moon.
– It mapped the Moon in infrared, visible, and X-
ray light from lunar orbit and used reflected radiation
to prospect for various elements, minerals, and ice. It
operated in 2008–09.
• Chandrayaan-2, which launched in 2019, was
designed to be ISRO’s first lunar lander.
• The cognitive embedded system will be at the heart of such trends as:
reduced energy consumption, improved security for embedded
devices, cloud connectivity and mesh networking, deep learning
applications, and visualization tools with real time data.