Embedded Product Design
Suggested Textbooks:
• Embedded System Design, by F. Vahid and Givargis,
Wiley, 2002
• Embedded System Design, by P. Marwedel, Kluwer
Academic, 2003
• Embedded System Design, by Gajski, Abdi, and et. al.,
Springer, 2008
Other sources:
• Lecture notes
• handouts
Module I- Overview of embedded products:
1. Need,
2. Design challenges,
3. Product survey,
4. Specifications of product need of hardware and software,
5. Partitioning of the design into its software and hardware
components,
6. Iteration and refinement of the partitioning.
Embedded system
Definition:
An embedded system is a computer system with a dedicated
function within a larger mechanical or electrical system, often
with real-time computing constraints. It is embedded as part of
a complete device often including hardware and mechanical
parts.
OR
An embedded system is a single-purpose computer built
into a larger system for the purposes of controlling and
monitoring the system. A general purpose computer (e.g. a
personal computer) is defined not to be an embedded system.
Examples: cell phones, DSTV decoders, MP3 players, ABS
breaking systems, and satellite guidance avionics.
What’s an Embedded System?
• Embedded systems =
– information processing systems embedded
into a larger product
• Two types of computing
– Desktop – produced millions/year
– Embedded – billions/year
• Non-Embedded Systems
– PCs, servers, and notebooks
• The future of computing!
– Automobiles, entertainment,
communication, aviation, handheld devices,
military and medical equipments.
5
Embedded Systems
• Devices other than desktop PCs, servers, and
notebooks
– Electricity running through
– Perform something intelligent
• Hardware/software which form a component of a
larger system, but are concealed from user
6 6
Specifications of product need of hardware and software
An Example Embedded System
Digital Camera Block Diagram
11
ES: Simplified Block Diagram
actuators
12
Partitioning of the design into its software and hardware components
Hardware Components
Hardware
Concept HW/SW
Specification Partitioning
Estimation -
Exploration
Software Components Software
13
Validation and Evaluation (area, power, performance, …)
Components of Embedded Systems
• Analog Components
– Sensors, Actuators, Controllers, …
• Digital Components
Hardware
– Processor, Coprocessors
– Memories
– Controllers, Buses
– Application Specific Integrated Circuits (ASIC)
• Converters – A2D, D2A etc
• Software
– Application Programs Software
– Exception Handlers
14
Hardware Components
Hardware Components of Embedded
Systems- an example
Memory Controllers Interface
Software
(Application
Programs)
Coprocessors Processor
ASIC
Converters
16
Analog Digital Analog
Processors
• What is a processor?
– Artifact that computes (runs algorithms)
– Controller and data-path
• General-purpose (GP) processors:
– Variety of computation tasks
– Functional flexibility and low cost at high volumes (maybe)
– Slow and power hungry
• Single-purpose (SP) processors (or ASIC)
– One particular computation task
– Fast and power efficient
– Functional inflexibility and high cost at low volumes (maybe)
17 17
GP/SP Processor Architecture
Status
Data
Input
Data-Path Controller
Control
Data
Output
Control
18 18
General-purpose processors-SOFTWARE
• Programmable device used in a variety of applications
– Also known as “microprocessor”
• Features
– Program memory
– General datapath with large register file and general ALU
• User benefits
– Low time-to-market and NRE costs
– High flexibility
• Examples
– Pentium, Athlon, PowerPC
19
Application-Specific ICs (ASICs)/
Single Purpose - Hardware
• Digital circuit designed to execute exactly one program
– coprocessor, hardware accelerator
• Features
– Contains only the components needed to execute a single
program
– No program memory
• Benefits
– Fast
– Low power
– Small size
20
Application-specific IS processors (ASIPs)
• Programmable processor optimized for a particular class of
applications having common characteristics
– Compromise between general-purpose and ASIC (custom
hardware)
• Features
– Program memory
– Optimized datapath
– Special functional units
• Benefits
– Some flexibility, good performance, size and power
• Examples
– DSPs, Video Signal Processors, Network Processors,..
21
Application Specific Circuits (ASIC)
• Custom-designed circuits
necessary if ultimate speed or
energy efficiency is the goal
and large numbers can be
sold.
• Approach suffers from long
design times and high costs.
22
GP vs. SP Processors
GP: ASIC:
• Programmable controller • Hardwired controller
– Control logic is stored in memory – No need for program memory and
– Fetch/decode overhead cache
– No fetch/decode overhead
• Highly general data-path
– Typical bit-width (8, 16, 32, 64) • Highly tuned data-path
– Complete set of arithmetic/logic – Custom bit-width
units – Custom arithmetic/logic units
– Large set of registers – Custom set of registers
• High NRE/sale-volume • Low NRE/sale-volume
23 23
Storage
• What is a memory?
– Artifact that stores bits
– Storage fabric and access logic
• Write-ability
– Manner and speed a memory can be written
• Storage-permanence
– ability of memory to hold stored bits after they are written
• Many different types of memories
– Flash, SRAM, DRAM, etc.
24 24
Write-ability
• Ranges of write ability
– High end
• Processor writes to memory simply and quickly
• E.g., RAM
– Middle range
• Processor writes to memory, but slower
• E.g., FLASH, EEPROM
– Lower range
• Special equipment, “programmer”, must be used to write to memory
• E.g., EPROM, OTP ROM
– Low end
• Bits stored only during fabrication
• E.g., Mask-programmed ROM
25 25
Storage-permanence
• Range of storage permanence
– High end
• Essentially never loses bits
• E.g., mask-programmed ROM
– Middle range
• Holds bits days/months/years after memory’s power source turned off
• E.g., NVRAM
– Lower range
• Holds bits as long as power supplied to memory
• E.g., SRAM
– Low end
• Begins to lose bits almost immediately after written
• E.g., DRAM
26 26