Professional Documents
Culture Documents
Embedded Systems
Instructor
Dr. Ali Ahmed
Assistant Professor at Usman Institute of Technology.
FALL 2017
About Me
• Ph.D. in Electronics and Communication from Hanyang University,
South Korea.
• Masters in Electronics and Communication (MS) from Hanyang
University, South Korea.
• Masters in Information Security (MS) from NUST, SEECS, Islamabad.
• Bachelor in Electronics (B.E.) from NED University of Engg. And Tech.,
Karachi.
• Research interests: Computer Architecture, Hardware Designing,
Information Security, Digital and Analog Electronics, FPGA and IoT.
About My Class (Homework 0):
All grading predicated on receipt of Homework 0.
• Q1: What is your name and roll no.?
• Q2: What you want to achieve from CE 432?
• Q3: Do you want some fun with problem driven projects in CE 432? Want to
create something? “Or” Want to study subject theoretically only?
• Q4: What is your last semester GPA?
• Q5: How do you rank your knowledge about the subjects given below? Give
your rating out of 5 (5 means excellent, 1 means poor)
1. CE 201 (Computer Architecture and organization)
2. EL 224 (Microprocessor based systems)
3. C++ or C programming language.
HOMEWORK IS DUE TOMORROW, PLEASE SUBMIT IT THROUGH YOUR CR.
Course Book and Reading material
• Embedded System Design: A Unified Hardware/Software
Introduction
Frank Vahid and Tony Givargis
John Wiley & Sons; ISBN: 0471386782. Copyright (c) 2002.
Book site at Wiley
Course Purpose
• This course introduces students to the design and analysis of computational systems that interact with
physical processes. Applications of such systems include medical devices and systems, consumer electronics,
toys and games, assisted living, traffic control and safety, automotive systems, process control, energy
management and conservation, environmental control, aircraft control systems, communications systems,
instrumentation, critical infrastructure control (electric power, water resources, and communications systems
for example), robotics and distributed robotics (telepresence, telemedicine), defense systems,
manufacturing, and smart structures.
• A major theme of this course is on the interplay of practical design with models of systems, including both
software components and physical dynamics. A major emphasis will be on building high confidence systems
with real-time and concurrent behaviors.
• Prior to taking this course, student should know the basics of computer architecture, programming
fundamentals and microprocessor. It includes embedded software and hardware co-design that allows
student to shift tradeoff from software to hardware and vice versa.
• This course lay foundation for those students that wish to take embedded system as career in future. This
course allow student to think outside the box by creating and developing novel solutions to the existing
problems using embedded systems, once they know the key concepts of embedded systems.
Course Description
• Learn the fundamentals of how gadgets are designed, developed, and
built as embedded systems.
Students completing this course will be well positioned to:
• Discuss the major components that constitute an embedded system.
• Implement small programs to solve well-defined problems on an
embedded platform, while creating one.
• Develop familiarity with tools used to develop in an embedded
environment
High-level View of Course Content:
Embedded System’s Overview
• Computing systems are everywhere
• Most of us think of desktop and similar computers
• PC’s
• Laptops
• Mainframes
• Servers
• Tablets
• Smart Phone
• Now Industry is shifting towards cloud computing
• But there’s another type of computing system
• Far more common...
Credits: Vahid/Givargis, Embedded Systems Design: A Unified
Hardware/Software Introduction, 2000
What is Embedded System?
• Write down the list of embedded systems near you?
• What is the purpose of each embedded system?
• What are the characteristics that distinguish such systems from other
computing systems?
and here...
This Embedded Systems needs a sensor that sense the temperature and a
a device that control the temperature, the device called Microcontroller.
https://ti.tuwien.ac.at/cps/teaching/courses/esevobachelor/
unterlagen/vortragsfolien-ws10/ese_13_hardware-design-
https://ti.tuwien.ac.at/cps/teaching/courses/esevobachelor/
unterlagen/vortragsfolien-ws10/ese_13_hardware-design-
ws10.pdf
https://ti.tuwien.ac.at/cps/teaching/courses/esevobachelor/
unterlagen/vortragsfolien-ws10/ese_13_hardware-design-
ws10.pdf
https://ti.tuwien.ac.at/cps/teaching/courses/esevobachelor/
unterlagen/vortragsfolien-ws10/ese_13_hardware-design-
ws10.pdf
https://ti.tuwien.ac.at/cps/teaching/courses/esevobachelor/
unterlagen/vortragsfolien-ws10/ese_13_hardware-design-
ws10.pdf
https://ti.tuwien.ac.at/cps/teaching/courses/esevobachelor/
unterlagen/vortragsfolien-ws10/ese_13_hardware-design-
ws10.pdf
https://ti.tuwien.ac.at/cps/teaching/courses/esevobachelor/
unterlagen/vortragsfolien-ws10/ese_13_hardware-design-
ws10.pdf
https://ti.tuwien.ac.at/cps/teaching/courses/esevobachelor/
unterlagen/vortragsfolien-ws10/ese_13_hardware-design-
ws10.pdf
Arduino development board designing
A small outline transistor (SOT) is a
small footprint, discrete surface mount
transistor commonly used in consumer
electronics. Many manufacturers also
offer the nearly identical thin small
outline transistor (TSOT) package for
use in electronic circuits where height is
an important consideration.
In the table below, you can see a list of some components
in the Arduino UNO with their respective package:
https://diyhacking.com/make-arduino-board-and-bootload/
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
Design metric competition -- improving one
may worsen others
• Expertise with both software and hardware is needed to optimize design metrics
• Not just a hardware or software expert, as is common
• A designer must be comfortable with various technologies in order to choose the best for a
given application and constraints
Power
Performance Size
NRE cost
Time-to-market: a demanding design metric
• Time required to develop a product to the point it can be sold to customers
• Market window
• Period during which the product would have highest sales
• Average time-to-market constraint is about 8 months
• Delays can be costly
Revenues ($)
Time (months)
Losses due to delayed market entry
• Simplified revenue model
• Product life = 2W, peak at W
• Time of market entry defines a triangle, representing market penetration
• Triangle area equals revenue
Peak revenue
• Loss
Peak revenue from
• The difference between the on-time and delayed triangle areas delayed entry
On-time
Revenues ($)
Area = 1/2 * base * height Market rise Market fall
Revenues ($)
• Percentage revenue loss = (D(3W-D)/2W )*100% 2
Market rise Market fall
• Amortizing NRE cost over the units results in an additional $200 per unit
NRE and unit cost metrics
• Compare technologies by costs -- best depends on quantity
• Technology A: NRE=$2,000, unit=$100 • But, must also consider time-to-market
• 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
to ta l c o st (x1000)
p e r p ro d u c t c o st
$120,000 $120
$80,000 $80
$40,000 $40
$0 $0
0 800 1600 2400 0 800 1600 2400
Num b e r o f units (vo lu m e ) Nu m b e r o f un its (vo lu m e )
The performance design metric
• Widely-used measure of system, widely-abused
• Clock frequency, instructions per second – not good measures
• Digital camera example – a user cares about how fast it processes images, not clock speed or instructions
per second
• Latency (response time)
• Time between task start and end
• e.g., Camera’s A and B process images in 0.25 seconds
• 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).
• Speedup of B over A = B’s performance / A’s performance
• Throughput speedup = 8/4 = 2
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
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
total = 0 total = 0
for i =1 to … for i =1 to …
General-purpose (“software”) Application-specific Single-purpose (“hardware”)
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
hundreds of others
Single-purpose processors
• Digital circuit designed to execute Controller Datapath
• Benefits total = 0
for i =1 to …
• Some flexibility, good performance, size and
power
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 gate
(perhaps 10 or more)
• IC technologies differ with respect to
who builds each layer and when
IC technology
• Three types of IC technologies
• Full-custom/VLSI
• Semi-custom ASIC (gate array and standard cell)
• PLD (Programmable Logic Device)
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
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
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
Design Technology
• The manner in which we convert our concept of desired system
functionality into an implementation Compilation/
Synthesis
Libraries/
IP
Test/
Verification
To final implementation
The co-design ladder
• In the past:
• Hardware and software design technologies were very different
• Recent maturation of synthesis enables a unified view of hardware and software
• Hardware/software “codesign Sequential program code (e.g., C, VHDL)
Behavioral synthesis
Compilers (1990's)
(1960's,1970's)
The choice of hardware versus software for a particular function is simply Register transfers
a tradeoff among various design metrics, like performance, power, size, Assembly instructions RT synthesis
NRE cost, and especially flexibility; there is no fundamental difference (1980's, 1990's)
Assemblers, linkers
between what hardware or software can implement. (1950's, 1960's) Logic equations / FSM's
Logic synthesis
Machine instructions (1970's, 1980's)
Logic gates
Implementation
Microprocessor plus VLSI, ASIC, or PLD
program bits: “software” implementation: “hardware”
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: