0% found this document useful (0 votes)
14 views

Lecture#2 1 Introduction To ESs

Uploaded by

qusai11223333
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Lecture#2 1 Introduction To ESs

Uploaded by

qusai11223333
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 62

All slides are adapted from the original

textbook slides which are available on line (


http://esd.cs.ucr.edu/) with some
modifications.

Embedded Systems Design: A Unified 1


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded Systems Design: A Unified
Hardware/Software Introduction

Chapter 1: Introduction

Mahmoud Masadeh 2
Fundamental rules

• YU regulations fully apply specially Lecture


attendance
• Special problems – notify the instructors in advance
• OPEN BOOK(S) First Exam ???
• Check the e-learning page periodically
• Always ask when you do not understand
• Feedback is welcome

Embedded Systems Design: A Unified 3


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Course objectives

• View to the inside of Embedded Systems (ES)


• Integrate logic design and computer architecture knowledge
• Understand how to approach ES design
– How complex this problem is
– What are the main difficulties a designer may encounter
– Design challenge and design metrics
• Information management and interpretation
– The text book is just a skeleton
– Hardware-software co-design takes place in a multidimensional space
thus one may need to read many other books
– Info is not always in books – technical papers, reports (IEEE Explore)

Embedded Systems Design: A Unified 4


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
TextBook

F. Vahid and T. Givargis, Embedded Systems Design:


A Unified Hardware/Software Introduction, John
Wiley & Sons, 2001.

W. Wolf, Computer as Components: Principles of


Embedded Computing System Design, Morgan
Kaufman, 2000.

Embedded Systems Design: A Unified 5


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 6


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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 Design: A Unified 7


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded systems overview

• Embedded computing systems


– Computing systems embedded within Computers are in here...
electronic devices and here...

– Hard to define. Nearly any computing and even here...


system other than a desktop computer
– Billions of units produced yearly, versus
millions of desktop units
– Perhaps 50 per household and per
automobile (place: USA, time:1999) Lots more of these,
though they cost a lot
less each.

Embedded Systems Design: A Unified 8


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded systems overview

• Embedded computing systems


– Computing systems embedded within electronic devices
– Repeatedly carrying out a particular function
– Embedded systems are explained by examples, such as:
• Consumer electronics: Cell phones, cameras
• Home appliances: Microwave, answering machine
• Office Automation: Fax, printers
• Business equipments: Bank ATM, Alarm system
• Automobile: Antilock brakes, Fuel injection

Embedded Systems Design: A Unified 9


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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

And the list goes on and on


Embedded Systems Design: A Unified 10
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Some common characteristics of embedded
systems
ESs have common characteristics that distinguish it from
other computing systems, such as:
• Single-functioned
– Executes a single program, repeatedly
– Microwave is doing the same task all the time
– Laptop (Not an ES) can do several tasks

Embedded Systems Design: A Unified 11


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Some common characteristics of embedded
systems (cont..)
• Tightly-constrained
– Design metrics is a measure of implementation features such
as cost, size, power, performance.
– Small size to fit in a single Chip
– Low power to use battery for long time, and avoid cooling
system.
– Fast to response in real time
• Reactive and real-time
– Continually reacts to changes in the system’s environment
– Must compute certain results in real-time without delay

Embedded Systems Design: A Unified 12


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Some common characteristics of embedded
systems (cont..)
• Complex Algorithms
– The processor inside the ES should perform operations that
are complex in nature. For example, Camera should take
colored picture, white and black, motion pictures, etc.
• Multi Rate
– ES need to control and drive certain operations at one rate
and other operations at different rate.
• User Interface
– NOKIA has a simple and excellent mobile interface.
– ATM machine has a comfortable interface.

Embedded Systems Design: A Unified 13


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
An embedded system example -- a digital
camera
Digital camera chip
CCD

CCD preprocessor Pixel coprocessor D2A


A2D

lens

JPEG codec Microcontroller Multiplier/Accum

DMA controller Display ctrl

Memory controller ISA bus interface UART LCD ctrl

• Single-functioned -- always a digital camera


• Tightly-constrained -- Low cost, low power, small, fast
• Reactive and real-time -- only to a small extent
Embedded Systems Design: A Unified 14
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
An embedded system example -- a digital
camera
• Microcontroller: Control the activities of all other circuits.
• Charge-coupled device CCD: contain an array of light sensitive photocells
that capture an image.
• A2D : Analog to Digital
• D2A: Digital to Analog
• CCD pre processor: provide commands to CCD to read the image
• JPEG Codec: compress/ decompress the image using JPEG format
• Pixel Coprocessor: Aids in rapidly displaying the image
• Memory Controller: Control access to memory
• DMA Controller: Enable direct memory access by other devices while the
microcontroller is busy
• UART: Enables communication with PC’s serial port

Embedded Systems Design: A Unified 15


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Design challenge–optimizing design metrics1

• 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 16


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Design challenge–optimizing design metrics2

• 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

Embedded Systems Design: A Unified 17


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Design challenge–optimizing design metrics3

• 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, many more

Embedded Systems Design: A Unified 18


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Design metric competition -- improving one
may worsen others
Power • Expertise with both software
and hardware is needed to
Performance Size
optimize design metrics
– Not just a hardware or
software expert, as is common
NRE cost – A designer must be
comfortable with various
Digital camera chip technologies in order to
CCD
A2D
CCD preprocessor Pixel coprocessor D2A choose the best for a given
lens application and constraints
JPEG codec Microcontroller Multiplier/Accum

DMA controller Display ctrl Hardware

Memory controller ISA bus interface UART LCD ctrl


Software

Embedded Systems Design: A Unified 19


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
Revenues ($)

• Average time-to-market constraint is about 8 months


• Delays can be costly

Time (months)

Embedded Systems Design: A Unified 20


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Losses due to delayed market entry

• Simplified revenue model


Peak revenue
– Product life = 2W, peak at W
Peak revenue from – Time of market entry defines a
Revenues ($)

delayed entry
On-time triangle, representing market
Market rise Market fall penetration
Delayed – Triangle area equals revenue
• Loss
D W 2W
– The difference between the on-
On-time Delayed Time time and delayed triangle areas
entry entry

Embedded Systems Design: A Unified 21


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Losses due to delayed market entry (cont.)
• Area = 1/2 * base * height
– On-time = 1/2 * 2W * W
Peak revenue – Delayed = 1/2 * (W-D+W)*(W-D)
Peak revenue from – Try: The market rise angle is not
Revenues ($)

delayed entry
On-time
45 degrees (height is not W)
Market rise Market fall • Percentage revenue loss =
Delayed (D(3W-D)/2W2)*100%
• Try some examples
D W 2W – Lifetime 2W=52 wks, delay D=4 wks
On-time Delayed Time – (4*(3*26 –4)/2*26^2) = 22%
entry entry – Lifetime 2W=52 wks, delay D=10 wks
– (10*(3*26 –10)/2*26^2) = 50%
– Delays are costly!

Embedded Systems Design: A Unified 22


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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

Embedded Systems Design: A Unified 23


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
total cost (x1000)

per product cost


$120,000 $120

$80,000 $80

$40,000 $40

$0 $0
0 800 1600 2400 0 800 1600 2400
Number of units (volume) Number of units (volume)

• But, must also consider time-to-market


Embedded Systems Design: A Unified 24
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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

Embedded Systems Design: A Unified 25


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
1. Processor technology
2. IC technology
3. Design technology

Embedded Systems Design: A Unified 26


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
Custom State +
ALU register
General
IR PC ALU IR PC
Data Data
memory memory
Program memory Data Program 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 27


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 28


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
General-purpose processors - Software
• Programmable device used in a variety of
Controller Datapath
applications
– Also known as “microprocessor” Control Register
logic and file
• Features State
register
– Program memory to be suitable for any General
program that run on the processor IR PC ALU
– General datapath (to handle variety of
computations) with large register file and Program Data
general ALU memory memory
• User benefits  Assembly code
– Low time-to-market and NRE costs for:

– High flexibility total = 0


for i =1 to …

Embedded Systems Design: A Unified 29


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
General-purpose processors
• But 
– Size and power may be large due to unnecessary hardware
– Performance may be slow for certain applications
• “Pentium” the most well-known, but there are hundreds of
others
• To implement a specific function using GPP:
– The functionality is stored in a program memory.
– The controller fetches the current instruction, as indicated by the
program counter (PC), into the instruction register (IR).
– It then configures the datapath for this instruction and executes the
instruction.
– Finally, it determines the appropriate next instruction address, sets the
PC to this address, and fetches again.

Embedded Systems Design: A Unified 30


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Single-purpose processors - Hardware

• Digital circuit designed to execute exactly Datapath


Controller
one program Control index
– Other common terms: coprocessor, accelerator logic
total
or peripheral State
+
• Features register

– Contains only the components needed to


Data
execute a single program memory
– The desired program is hardwired into the
control logic
– No program memory

Embedded Systems Design: A Unified 31


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Single-purpose processors - Hardware

• Benefits  Controller Datapath


– Fast performance Control index
– Low power logic
total
– Small size State
register +
– Low unit cost for large quantities

Data
• Drawbacks  memory

– Design time and NRE may be high


– Low flexibility
– High unit cost for small quantities

Embedded Systems Design: A Unified 32


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Application-specific processors

• Programmable processor optimized for a Controller Datapath

particular class of applications having Control Registers


logic and
common characteristics State
register
– Compromise between general-purpose and Custom
ALU
single-purpose processors IR PC
• Features Data
– Program memory Program memory
memory
– Optimized datapath
Assembly code
– Special functional units for:

• Benefits  total = 0
for i =1 to …
– Some flexibility, good performance, size and
power

Embedded Systems Design: A Unified 33


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Application-specific processors

• Drawbacks 
– Large NRE cost to build the processor and compiler
• Application-specific instruction-set processor (ASIP) have two
well-known types:
– Microcontroller: Typically, monitor and set numerous single-bit control
signals but do not do large amount of data computation. Has simple
datapath
– Digital signal processors (DSPs): Do math intensive operations and
manipulate large array of data (digital signals)using one instruction
A=A+B[i]*C. It has a special purpose data-path

Embedded Systems Design: A Unified 34


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
• IC’s layers are :
gate
– Transistors: Bottom layers IC package IC oxide
source channel drain
– Logic Components: Middle layers Silicon substrate
– Connectors: Top layers

Embedded Systems Design: A Unified 35


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
IC technology

• Layout: The set of masks used to create an IC.


• Feature size (λ): smallest shape you fabricate on a chip
(roughly, half the length of the smallest transistor for 0.5μm
process, λ = 0.25 μm )

• Three types of IC technologies


– Full-custom/VLSI (Very Large Scale Integration)
– Semi-custom ASIC (gate array and standard cell)
– PLD (Programmable Logic Device)

Embedded Systems Design: A Unified 36


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Feature sizes

Human Hair
~75 m

. 0.18 m
180 nm
.
feature

~40,000 (65-nm node) transistors could fit on cross-section


Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
[C. Keast]
IC technology

• IC technology is independent from Processor


technology.

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 38


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
• Used in high volume / performance-critical applications
Embedded Systems Design: A Unified 39
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Semi-custom
• Lower layers are fully or partially built
– Designers are left with routing of wires and maybe placing
some blocks
• Two types :
– Gate-array ASIC
– Standard Cell ASIC . what is the main differences between them?
• 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 40
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, PLA
and PAL.
• Benefits 
– Low NRE costs, almost instant IC availability
• Drawbacks 
– Bigger, expensive (perhaps $30 per unit), power hungry, slower

Embedded Systems Design: A Unified 41


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
1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

2001

2003

2005

2007

2009
Embedded Systems Design: A Unified 42
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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!)

Embedded Systems Design: A Unified 43


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Moore’s law - Graphical illustration

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 1981 chips inside itself

Embedded Systems Design: A Unified 44


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Moore’s law
Moore's law is the observation
that, the number of transistors
on integrated circuits doubles
approximately every two years.
 The law is named after Intel
co-founder Gordon E. Moore,
who described the trend in his
1965 paper.
The figure shows the relation
between relative manufacturing
cost vs number of components per
IC

Embedded Systems Design: A Unified 11/28/202


Hardware/Software Introduction, (c) 2000 Vahid/Givargis 4
Moore’s law
Moore's law is the observation
that, the number of transistors
on integrated circuits doubles
approximately every two years.
 The law is named after Intel
co-founder Gordon E. Moore,
who described the trend in his
1965 paper.
The figure shows the relation
between relative manufacturing
cost vs number of components per
IC

Embedded Systems Design: A Unified 11/28/202


Hardware/Software Introduction, (c) 2000 Vahid/Givargis 4
Moore’s law

Embedded Systems Design: A Unified 11/28/202


Hardware/Software Introduction, (c) 2000 Vahid/Givargis 4
Moore’s law - Intel Microprocessor

Embedded Systems Design: A Unified 11/28/202


Hardware/Software Introduction, (c) 2000 Vahid/Givargis 4
Moore’s law - The SIA Roadmap

Semiconductor Industry
Association
Embedded (SIA)
Systems Design: A Unified 11/28/202
Hardware/Software Introduction, (c) 2000 Vahid/Givargis 4
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: specification synthesis OS checkers
Automates 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 reducing costly Logic Logic Gates/ Gate
iterations between levels. specification synthesis Cells simulators

To final implementation

Embedded Systems Design: A Unified 50


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Compilation/synthesis

• Compilation/synthesis: The designer specify the desired


functionality in an abstract manner, and automatically
generating lower-level implementation details.
• System synthesis tools: Convert system specifications into a set of
sequential programs.
• Behavior synthesis tools: Converts a sequential program into FSM and
RT.
• RT synthesis tools: Convert FSM and RTL into a data path and
controller.
• Logic synthesis tools: Convert Boolean expression into a connection of
logic gates.

Embedded Systems Design: A Unified 51


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Libraries/IP

• Libraries involve the use of preexisting implementation.


• This reuse may improve productivity. When and when not?
o Logic level library: Layout of gates and cells
o RTL library: Regs, MUXs, Decoders, and functional units.
o Behavioral level library: Display controller, bus interface, and GPP.
o System level library: May involve a complete system with processors
and OS.
• Cores:
• Intellectual Properties:

Embedded Systems Design: A Unified 52


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Test/Verification

• Simulation is used for testing correct functionality


• Also, there is many other techniques for formal verification.
• Simulation is used at all levels of abstraction (logic, RT,
behavioral, and system).

Embedded Systems Design: A Unified 53


Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Verification vs. Testing

1. (Design) Verification
o Verifies correctness of design (target design errors)
o Performed by simulation, hardware emulation, or formal methods.
o Performed once prior to manufacturing
o Responsible for quality of design

2. (Manufacturing) Testing
o Verifies correctness of manufactured IC (target manufacturing defects)
o Two-part process:
• Test generation: software process executed once during design
• Test application: electrical tests applied to hardware
o Test application performed on every manufactured device
o Responsible for quality of devices

Embedded Systems Design: A Unified


Hardware/Software Introduction, (c) 2000 Vahid/Givargis 54
Verification vs. Testing

• Design synthesis: Given an I/O function, develop a procedure to


manufacture a device using known materials and processes.
• Verification: Predictive analysis to ensure that the synthesized
design, when manufactured, will perform the given I/O function
[after development]
• Test: A manufacturing step that ensures that the physical device,
manufactured from the synthesized design, has no manufacturing
defect [after manufacturing].

Embedded Systems Design: A Unified


Hardware/Software Introduction, (c) 2000 Vahid/Givargis 55
Design productivity exponential increase
100,000

10,000

(K) Trans./Staff – Mo.


1,000

Productivity
100

10

0.1

0.01

2005
1993

2001

2003
1983

1987
1985

1991
1989
1981

1999
1997
1995

2007

2009
• Productivity measured as the number of transistors produced by
one designer in one month.
• Exponential increase over the past few decades
Embedded Systems Design: A Unified 56
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)
design technologies were (1960's,1970's)
Register transfers
very different Assembly instructions RT synthesis
– Recent maturation of (1980's, 1990's)
Assemblers, linkers
synthesis enables a unified (1950's, 1960's) Logic equations / FSM's

view of hardware and Logic synthesis


(1970's, 1980's)
Machine instructions
software Logic gates
• Hardware/software
“codesign” Microprocessor plus
program bits: “software”
Implementation
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.

Embedded Systems Design: A Unified 57


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 58


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
1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

2001

2003

2005

2007

2009
Embedded Systems Design: A Unified 59
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

2001

2003

2005

2007

2009
Embedded Systems Design: A Unified 60
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
50000 19 18
designer=5000 trans/month
• 40000 23
Each additional designer 24
reduces for 100 trans/month 30000
Months until completion
• 20000 43
So 2 designers produce 4900 Individual
10000
trans/month each
0 10 20 30 40
Number of designers

Embedded Systems Design: A Unified 61


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 62


Hardware/Software Introduction, (c) 2000 Vahid/Givargis

You might also like