Lect 04 PDF
Lect 04 PDF
TO EMBEDDED SYSTEMS
Dr. ASSAF M. H.
• Overview
• Soft-core Processors
• Design Metrics
2
OVERVIEW
Sophisticated functionality
Real-time operation
Low manufacturing cost
Low power
Reliable and secure
Designed to tight deadlines by small teams
http://www.digilentinc.com/
3
A SIMPLIFIED VIEW
4
EMBEDDED SYSTEMS OVERVIEW
PCs
Laptops
Mainframes
Servers
and here...
automobile
though they cost a lot
less each.
• Single-functioned
Executes a single program, repeatedly
• Tightly-constrained
Low cost, low power, small, fast, etc.
lens
10
W. Wolf, Computers as Components, Morgan Kaufman, 2005
REAL-TIME OPERATION
11
W. Wolf, Computers as Components, Morgan Kaufman, 2005
NON-FUNCTIONAL
REQUIREMENTS
• Many embedded systems are mass-market
items that must have low manufacturing costs
- Limited memory
- microprocessor power
- etc.
• Power consumption is critical in battery-
powered devices
12
W. Wolf, Computers as Components, Morgan Kaufman, 2005
DESIGN TEAMS
• Designed by a small team of designers
• Must meet tight deadlines
- 6 month market window is common
13
W. Wolf, Computers as Components, Morgan Kaufman, 2005
PROCESSOR VARIETIES
• Microcontroller includes:
- I/O devices
- on-board memory
• Digital signal processor (DSP)
- microprocessor optimized for digital signal
processing
• Typical embedded word sizes:
- 8-bit
- 16-bit
-32-bit.
14
W. Wolf, Computers as Components, Morgan Kaufman, 2005
SOFT-CORE PROCESSORS
• Specified through FPGA programming just like
programmable logic
- Shipped as hardware description files (VHDL, VERILOG,
JHDL) which can be mapped on to FPGA board (NIOS II,
MICROBLAZE)
- Are bundled with software development tools (compiler,
simulator, etc.)
• Offer flexibility as microprocessor parameters can be
tuned to the application with tight on-chip
interconnection with additional circuitry
• Designs can be marketed quickly
- You can test and validate many designs quickly without
making any specific board
. no soldering/wiring 15
CHALLENGES IN EMBEDDED
SYSTEM DESIGN
• How much hardware do we need?
- How fast is the CPU?
- How big is the Memory?
• How do we meet our deadlines?
- Do we use faster hardware?
- Do we use cleverer software?
• How do we minimize power?
- Do we turn off unnecessary logic?
- Do we reduce memory accesses?
16
W. Wolf, Computers as Components, Morgan Kaufman, 2005
Design methodologies
A procedure for designing a system
Understanding your methodology helps
you ensure you didn’t skip anything
Compilers, software engineering tools,
computer-aided design (CAD) tools, etc.,
can be used to:
help automate the design methodology
steps
keep track of the design methodology itself
Xilinx Design tools: ISE Design Suite, …
17
W. Wolf, Computers as Components, Morgan Kaufman, 2005
Design goals
Performance
Overall speed
Deadlines
Functionality and user interface
Manufacturing cost
Power consumption
Other requirements (physical size, etc.)
18
W. Wolf, Computers as Components, Morgan Kaufman, 2005
Levels of abstraction
requirements
specification
architecture
component
design
system
integration
testing
19
W. Wolf, Computers as Components, Morgan Kaufman, 2005
Top-down vs. bottom-up
Top-down design:
start from most abstract description
work to most detailed
Bottom-up design:
work from small components to big system
Real design uses both techniques
20
W. Wolf, Computers as Components, Morgan Kaufman, 2005
Typical CAD design flow:
21
W. Wolf, Computers as Components, Morgan Kaufman, 2005
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
Embedded Systems Design: A Unified 22
Hardware/Software Introduction, (c) 2002 Vahid/Givargis
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 of the system without
incurring heavy NRE cost
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, many more
Embedded Systems Design: A Unified 23
Hardware/Software Introduction, (c) 2002 Vahid/Givargis
Design metric competition --
improving one may worsen others
Power Expertise with both
software and hardware
Performance Size
is needed to optimize
design metrics
Not just a hardware or
NRE cost software expert, as is common
A designer must be
comfortable with various
technologies in order to choose
Digital camera chip
CCD
Throughput
Tasks per second, e.g. Camera A processes 4 images per second
Throughput can be more than latency seems to imply due to
concurrency, e.g. Camera B may process 8 images per second (by
capturing a new image while previous image is being stored).
total = 0 total = 0
for i =1 to … for i =1 to …
General-purpose (“software”) Application-specific Single-purpose (“hardware”)
Benefits
Fast
Low power
Small size
characteristics Custom
ALU
IR PC
Compromise between general-purpose and
single-purpose processors Data
memory
Features
Program
memory
Program memory Assembly code
Optimized datapath for:
Benefits
Some flexibility, good performance, size and
power
Embedded Systems Design: A Unified 31
Hardware/Software Introduction, (c) 2002 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
Three types of IC technologies
Full-custom/VLSI
Semi-custom ASIC (gate array and standard cell)
PLD (Programmable Logic Device)
gate
IC package IC oxide
source channel drain
Silicon substrate
10,000
1,000
10,000 150,000,000
transistors transistors
very different
Register transfers
Assembly instructions RT synthesis
Recent maturation of Assemblers, linkers
(1980's, 1990's)
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.
General- Single-
purpose ASIP purpose
General, processor processor Customized,
providing improved: providing improved:
41
W. Wolf, Computers as Components, Morgan Kaufman, 2005
Design productivity exponential
increase 100,000
(K)
10,000
1,000
Trans./Staff – Mo.
Productivity
100
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
Embedded Systems Design: A Unified 42
Hardware/Software Introduction, (c) 2002 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