EC 6020 : Embedded
Systems Design
Embedded Systems Design: A Unified 1
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Outline
Embedded systems overview
– What are they?
Design challenge – optimizing design metrics
• Technologies
– Processor technologies
– IC technologies
– Design technologies
Embedded Systems Design: A Unified 2
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Three key embedded system technologies
• Technology
– A manner of accomplishing a task, especially using technical
processes, methods, or knowledge
• Three key technologies for embedded systems
– Processor technology
– IC technology
– Design technology
Embedded Systems Design: A Unified 3
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Comparison
Embedded Systems General Purpose Computing
• Few applications that are • Broad class of applications.
known at design-time. • Programmable by end user.
• Not programmable by end • Faster is better.
user.
• Fixed run-time requirements Criteria:
(additional computing power • cost
not useful). • average speed
Criteria:
• cost
• power consumption
• predictability
• meeting time bounds
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Processor technology
• 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
Controller Datapath Controller Datapath Controller Datapath
Control index
Control Register Control logic Registers
logic
logic and file and State total
State register register State
Custom +
ALU register
General
IR PC ALU IR PC
Data Data
memory memory
Program Data Program memory
memory memory
Assembly code Assembly code
for: for:
total = 0 total = 0
for i =1 to … for i =1 to …
General-purpose (“software”) Application-specific Single-purpose (“hardware”)
Embedded Systems Design: A Unified 5
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded Systems Design: A Unified 6
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
General-purpose Application-specific Single-purpose
processor processor processor
Embedded Systems Design: A Unified 7
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
General-purpose processors
• Programmable device used in a variety of
applications Controller Datapath
– Also known as “microprocessor” Control Register
logic and file
• Features State register
– Program memory General
– General datapath with large register file and IR PC ALU
general ALU
• User benefits Program Data
memory
– Low time-to-market and NRE costs memory
– High flexibility Assembly code
for:
– Only need to write software, but no digital
total = 0
design for i =1 to …
• “Pentium” the most well-known, but
there are hundreds of others
Embedded Systems Design: A Unified 8
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
Embedded Systems Design: A Unified 9
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Application-specific processors (ASIP)
• Programmable processor optimized for a particular
Controller Datapath
class of applications having common
Control Registers
characteristics logic and
State register
– Compromise between general-purpose and single-
Custom
purpose processors ALU
• Features IR PC
Data
– Program memory Program memory
– Optimized datapath memory
– Special functional units Assembly code
for:
• Benefits total = 0
– Some flexibility, good performance, size and power for i =1 to …
Applications: Digital Signal Processors, Telecommunication
Embedded Systems Design: A Unified 10
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
IC package IC oxide
source channel drain
Silicon substrate
Embedded Systems Design: A Unified 11
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
IC technology
• Three types of IC technologies
– Full-custom/VLSI
– Semi-custom ASIC (gate array and standard cell)
– PLD (Programmable Logic Device)
Embedded Systems Design: A Unified 12
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
Embedded Systems Design: A Unified 13
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Semi-custom - ASIC
• 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
Embedded Systems Design: A Unified 14
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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, helps rapid
prototyping
• Drawbacks
– Bigger, expensive, power hungry, slower
Embedded Systems Design: A Unified 15
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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:
Flexibility Power efficiency
Maintainability Performance
NRE cost Size
Time- to-prototype Cost (high volume)
Time-to-market
Cost (low volume)
PLD Semi-custom Full-custom
Embedded Systems Design: A Unified 16
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
Logic transistors 100
per chip 10
(in millions) 1
0.1
Note:
0.01
logarithmic scale
0.001
Embedded Systems Design: A Unified 17
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Graphical illustration of Moore’s law
1981 1984 1987 1990 1993 1996 1999 2002
10,000 150,000,000
transistors transistors
Leading edge Leading edge
chip in 1981 chip in 2002
• Something that doubles frequently grows more quickly
than most people realize!
– A 2002 chip can hold about 15,000 of 1981 chips inside
itself
Embedded Systems Design: A Unified 18
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Design productivity exponential increase
100,000
10,000
(K) Trans./Staff – Mo.
1,000
Productivity
100
10
0.1
0.01
2005
2003
2001
1987
1983
1993
1985
1991
1989
1999
1997
1995
2007
2009
• Exponential increase over the past few decades
Embedded Systems Design: A Unified 19
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
Logic transistors 100 1000
per chip 10 Gap 100 Productivity
IC capacity (K) Trans./Staff-Mo.
(in millions) 1 10
0.1 1
productivity
0.01 0.1
0.001 0.01
Embedded Systems Design: A Unified 20
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Design Technology
• The manner in which we convert our concept of
desired system functionality into an implementation
Compilation/ Libraries/ Test/
Synthesis IP Verification
System System Hw/Sw/ Model simulat./
Compilation/Synthesis: Automates
specification synthesis OS checkers
exploration and insertion of
implementation details for lower
level.
Behavioral Behavior Cores Hw-Sw
specification synthesis cosimulators
Libraries/IP: Incorporates pre-
designed implementation from
lower abstraction level into higher
level. RT RT RT HDL simulators
specification synthesis components
Test/Verification: Ensures correct
functionality at each level, thus
Logic Logic Gates/ Gate
reducing costly iterations between
specification synthesis Cells simulators
levels.
To final implementation
A top-down approach
Embedded Systems Design: A Unified 22
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
The co-design ladder
• In the past: Sequential program code (e.g., C, VHDL)
– Hardware and software Compilers
Behavioral synthesis
(1990's)
(1960's,1970's)
design technologies were
Register transfers
very different Assembly instructions RT synthesis
– Recent maturation of Assemblers, linkers
(1980's, 1990's)
synthesis enables a unified (1950's, 1960's) Logic equations / FSM's
Logic synthesis
view of hardware and (1970's, 1980's)
Machine instructions
software Logic gates
• Hardware/software
“codesign”
Implementation
Microprocessor plus VLSI, ASIC, or PLD
program bits: “software” 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.
Embedded Systems Design: A Unified 23
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Summary
• Embedded systems are everywhere
• Key challenge: optimization of design metrics
– Design metrics compete with one another
• A unified view of hardware and software is necessary to
improve productivity
• Three key technologies
– Processor: general-purpose, application-specific, single-purpose
– IC: Full-custom, semi-custom, PLD
– Design: Compilation/synthesis, libraries/IP, test/verification
Embedded Systems Design: A Unified 24
Hardware/Software Introduction, (c) 2000 Vahid/Givargis