27
Embedded System Design Prof. Stephen A. Edwards [email protected] Spring 2007 Embedded System Design – p. 1/2

Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Embed Size (px)

Citation preview

Page 1: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Embedded System Design

Prof. Stephen A. Edwards

[email protected]

Spring 2007

Embedded System Design – p. 1/26

Page 2: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Spot the Computer

Embedded System Design – p. 2/26

Page 3: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Hidden Computers

Casio Nokia 7110 SonyCamera Browser Playstation 2Watch Phone

Philips PhilipsDVD Player TiVo Recorder

Embedded System Design – p. 3/26

Page 4: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Technical Challenges

Real-time Complexity

Concurrency Legacy LanguagesEmbedded System Design – p. 4/26

Page 5: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Software complexity growing

Size of Typical Embedded System1985 13 kLOC1989 21 kLOC ↓ 44 % per year1998 1 MLOC2000 2 MLOC

2008 16 MLOC ≈ Windows NT 4.02010 32 MLOC ≈ Windows 2000

Source: “ESP: A 10-Year Retrospective,” Embedded Systems Programming,November 1998

Embedded System Design – p. 5/26

Page 6: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Digital Camera Block Diagram

Embedded System Design – p. 6/26

Page 7: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

The Design Challenge

Design optimal device that meets constraints on

Price Functionality

Performance Size

Power Time-to-market

Maintainability SafetyEmbedded System Design – p. 7/26

Page 8: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

The Time-to-Market Challenge

Time

Possible

Revenue

MarketWindow

Typicaltime-to-marketconstraint:8 months

Embedded System Design – p. 8/26

Page 9: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Simplified Revenue Model

Time

Sales

W 2WD

Market ramp On-time curve

Delayed curve

Loss due to delay

Assuming a constant market ramp, on-time revenue is 1

2bh = 1

2· 2W · W = W 2

and delayed revenue is 1

2(2W − D)(W − D) so fractional revenue loss is

D(3W − D)

2W 2= O(D2)

Example: when W = 26 and D = 10, fraction lost is about 50%.

Embedded System Design – p. 9/26

Page 10: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

NRE

Nonrecurring engineering cost:The cost of producing the first one.

log Volume

logU

nitCost

NRE cost dominates

Production cost dominates

Low NRE, high production costs

High NRE, low production costs

Embedded System Design – p. 10/26

Page 11: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Embedded System Technologies

Integrated Circuits

Processing elements

Design tools

Embedded System Design – p. 11/26

Page 12: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

IC Technology

1947: First transistor (Shockley, Bell Labs)

1958: First integrated circuit (Kilby, TI)

1971: First microprocessor (4004: Intel)

Today: six wire layers, 45 nm features

Embedded System Design – p. 12/26

Page 13: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Moore’s Law

Gordon Moore, 1965: Exponential growth in thenumber of transistors per ICSource: Intel

Embedded System Design – p. 13/26

Page 14: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

$1000 buys you this many CPS

1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000

10−4

10−2

1

102

104

106

108

��

���� �

��

��

��

��

��

��

��

��

��

��

��

��

��� �

��

Electromechanical Relay Tube Transistor Integrated Circuit

Source: Ray Kurzweil, The Age of Spiritual Machines

Embedded System Design – p. 14/26

Page 15: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

1918 Sears Roebuck Catalog

About $100 in today’s dollars.From Donald Norman, The Invisible Computer, 1998.

Embedded System Design – p. 15/26

Page 16: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Spectrum of IC choices

Full Custom

ASIC

Gate Array

FPGA

PLD

GP Processor

SP Processor

MultifunctionFixed-function

You choosepolygons (Intel)

circuit (Sony)

wires

logic network

logic function

program (e.g., Pentium)

program (e.g., DSP)

settings (e.g., Ethernet)part number (e.g., 74LS00)

Flexibility

Embedded System Design – p. 16/26

Page 17: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Hardware and Software

HardwareParallelSynchronousLogic GatesWire-based

communicationFixed topologyLow powerMore detailedHigh NREFaster

SoftwareSequentialAsynchronousStored programsMemory-based

communicationHighly programmableHigh powerLess detailedNo NRESlower

Embedded System Design – p. 17/26

Page 18: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Design Tools

Hardware

Logic Synthesis

Place-and-route

DRC/ERC/LVS

Simulators

Software

Compilers

Assemblers

Linkers

Debuggers

Embedded System Design – p. 18/26

Page 19: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Cost of Designs is Rising

1981: 100 designer-months for leading-edge chip10k transistors, 100 transistors/month

2002: 30 000 designer-months150M transistors, 5000 transistors/month

Design cost increased from $1M to $300M

1980 1985 1990 1995 2000 2005 2010

Transistors per chip

Transistors/designer-month

100

10k

1M

100M

10G

Embedded System Design – p. 19/26

Page 20: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Your Nemesis: The Altera DE2

Embedded System Design – p. 20/26

Page 21: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

DE2 Peripherals

Embedded System Design – p. 21/26

Page 22: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Class Structure

Three Introductory Labs: 1.5 weeks each

1. Access, modify, and display memory in VHDL

2. An Ethernet chat client (software only)

3. Either(a) an FM audio synthesizer;(b) a video bouncing ball; or(c) image convolution with a 3 × 3 kernel

The project: Design-your-own

Embedded System Design – p. 22/26

Page 23: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Custom Project Ideas

Broadly: C + VHDL + peripheral(s)

Video game (e.g., Pac-Man)

Video effects processor

Digital picture frame

Serial terminal

Serial port monitor

Very fancy digital clock (w/ video)

Embedded System Design – p. 23/26

Page 24: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

More Ideas

Digital tone control

Digital sound effects processor

Real-time audio spectrum analyzer

Speech synthesizer

Internet radio

Embedded System Design – p. 24/26

Page 25: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Projects from 2004

MIDI synthesizer

Line-following robot with video vision

SAE student vehicle telemetry system

Stereo video vision system

Pac-man-like video game

Internet video camera

Embedded System Design – p. 25/26

Page 26: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Projects from 2005

Scrabble Timer

Scorched Earth Video Game

SAE Auto Shifter

Internet Radio Broadcaster

3D Maze Game

Voice-over-IP Telephone

JPEG decoder

Sokoban video game

Rally-X video game

Embedded System Design – p. 26/26

Page 27: Embedded System Design - Columbia Universitysedwards/classes/2007/4840/embedded-systems.pdf · Embedded System Design ... Software complexity growing ... number of transistors per

Projects from 2006

Video-guided Lego Robot

360◦ camera de-warper

Videogame with accelerated line-drawing

Voice recorder

Internet radio

JPEG decoder

Voice over IP tranceiver

Embedded System Design – p. 27/26