43
1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

Embed Size (px)

Citation preview

Page 1: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

1ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Embedded Systems

Page 2: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

2ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

ECE 354 Lecture 1 The Big Picture

What are embedded systems? Challenges in embedded

computing system design. Design methodologies.

Sophisticated functionality. Real-time operation. Low manufacturing cost. Low power. Designed to tight deadlines by

small teams.

Page 3: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

3ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Definition

Embedded system: any device that includes a programmable computer but is not itself a general-purpose computer.

Take advantage of application characteristics to optimize the design:• don’t need all the general-purpose bells and whistles.

Page 4: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

4ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Embedding a computer: a very simplified view…

CPU

mem

input

output analog

analog

embeddedcomputer

Page 5: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

5ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Examples

Personal digital assistant (PDA). Printer. Cell phone. Automobile: engine, brakes, dash, etc. Television. Household appliances.

Page 6: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

6ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

More examples

Cell phones, Ipod and MP 3 players, Webcams, Navigation Systems

Routers, Blade servers, Wireless PC cards Automobiles, Car Alarms, Keyless Entry Systems Building Security, card swiping systems Embedded Medical Devices - Pacemakers

Page 7: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

7ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Characteristics of embedded systems

Sophisticated functionality. Real-time operation. Low manufacturing cost. Low power. Reliable and secure Designed to tight deadlines by small teams.

Page 8: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

8ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Functional complexity

Often have to run sophisticated algorithms or multiple algorithms.• Cell phone, laser printer.

Often provide sophisticated user interfaces.

Page 9: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

9ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Real-time operation

Must finish operations by deadlines.• Hard real time: missing deadline causes failure.• Soft real time: missing deadline results in degraded performance.

Many systems are multi-rate: must handle operations at widely varying rates.

Page 10: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

10ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; 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.• Excessive power consumption increases system cost even in wall-

powered devices.

Page 11: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

11ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Design teams

Often designed by a small team of designers. Often must meet tight deadlines.

• 6 month market window is common.

Page 12: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

12ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Microprocessors in Embedded Systems

Page 13: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

13ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Microprocessor alternatives for embedded systems

Ordinary microprocessor: CPU plus on-chip cache units. Microcontroller: includes I/O devices, on-board memory. Digital signal processor (DSP): microprocessor optimized for

digital signal processing. Hard core vs. soft core. Typical embedded word sizes: 8-bit, 16-bit, 32-bit.

Page 14: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

14ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Embedded microprocessors

ARM, MIPS, Power PC, Freescale, 8051, X86 Various purposes

• Networks – MIPS• Mobile phone – ARM dominated• Industrial – Freescale Coldfire• Security – 8051 based, Infineon, BlueRISC• High performance – X86, Intel Epic, other VLIW and superscalars,

multi-core ARM, Tilera tiled processor

Page 15: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

15ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Von Neumann CPU Architecture

Memory holds data and instructions. Central processing unit (CPU) fetches instructions from

memory.• Separation between CPU and memory distinguishes programmable

computer. CPU registers:

• program counter (PC)• general-purpose registers

Page 16: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

16ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

CPU + memory

memoryCPU

PC

address

data

IRADD r5,r1,r3200

200

ADD r5,r1,r3

Page 17: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

17ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Harvard architecture

CPUPC

data memory

program memory

address

data

address

instructions IR

Page 18: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

18ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

RISC vs. CISC Complex instruction set computer (CISC):

• many addressing modes• most operations can access memory• variable length instructions

Reduced instruction set computer (RISC):• only load/store can access memory• fixed-length instructions

Instruction set architectures – characteristics:• Fixed vs. variable length.• Addressing modes.• Number of operands.• Types of operands.

Page 19: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

19ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Multiple implementations of an ISA

Instruction set architectures may have several implementations:• varying clock speeds;• different bus widths;• different cache sizes;• etc.

Page 20: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

20ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Pipelining

Execute several instructions simultaneously but at different stages.

Pipeline hazards Simple three-stage pipe:

fetc

h

deco

de

exec

ute

mem

ory

Page 21: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

21ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Soft Core Processors

Are soft, i.e. specified through field programming just like programmable logic • Shipped as hardware description files, which can be mapped onto

FPGA. e.g: Nios 2.• 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 and no wiring!

Page 22: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

22ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

What is Nios 2?

A 32-bit soft core processor from Altera Comes in three flavors: Fast, Standard, Light The three cores trade FPGA area and power consumption for

speed of execution. Is a RISC, Harvard Architecture: Simple instructions, separate

data and instruction memories. Has 32 levels of interrupts. Uses the Avalon Bus interface Programs compiled using GNU C/C++ toolchain.

Page 23: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

23ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Nios 2 Architecture:

Page 24: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

24ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Three forms of Nios 2:

Nios II/f—The Nios II/f “fast” core is designed for fast performance. As a result, this core presents the most configuration options allowing you to fine-tune the processor for performance.

Nios II/s—The Nios II/s “standard” core is designed for small size while maintaining performance.

Nios II/e—The Nios II/e “economy” core is designed to achieve the smallest possible core size. As a result, this core has a limited feature set, and many settings are not available when the Nios II/e core is selected.

All three are available to you !

Page 25: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

25ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Selection in SOPC (System On a Programmable Chip):

Page 26: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

26ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Why use microprocessors?

Alternatives: random logic on a field-programmable gate arrays (FPGAs), custom logic, etc.

Microprocessors are often very efficient: can use same logic to perform many different functions.

Microprocessors simplify the design of families of products.

Page 27: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

27ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

The performance paradox

Microprocessors use much more logic to implement a function than does custom logic.

But microprocessors are often at least as fast:• heavily pipelined;• sophisticated design - large design teams;• aggressive VLSI technology.

Page 28: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

28ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Power

Custom logic is a clear winner for low power devices. Modern microprocessors offer features to help control

power consumption. Software design techniques can help reduce power

consumption.

Page 29: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

29ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Design Aspects In Embedded Systems

Page 30: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

30ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Challenges in embedded system design

How much hardware do we need?• How big is the CPU? Memory?

How do we meet our deadlines?• Faster hardware or cleverer software?

How do we minimize power?• Turn off unnecessary logic? Reduce memory accesses?

Page 31: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

31ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; 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 methodology steps;• keep track of the methodology itself.

Altera CAD tools: Quartus 2 , SOPC, Nios 2 IDE (Integrated Development Environment).

Page 32: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

32ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; 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.)

Page 33: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

33ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Levels of abstraction

requirements

specification

architecture

componentdesign

systemintegration

Page 34: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

34ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; 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.

Page 35: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

35ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Typical CAD design flow:

Page 36: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

36ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Designing hardware and software components Must spend time architecting the system before you start

coding. Some components are ready-made, some can be modified

from existing designs, others must be designed from scratch. Example: SOPC for Hardware design and Nios 2 IDE for

Software Design.

Page 37: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

37ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

JTAG - TESTING

JTAG - Joint Test Action Group: IEEE 1149.1 standard entitled: Standard Test Access Port and Boundary-Scan Architecture for test access ports used for testing printed circuit boards (and chips) using boundary scan.

Currently used also for programming embedded devices.• Most FPGAs and PLDs are programmed via a JTAG port.

JTAG ports commonly available in ICs• Boundary scan, scan chains, mbist, logic bist connected• Chips chained together with Jtag signals and connected to main JTAG

interface on PCB

Page 38: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

38ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

SOPC

System On a Programmable Chip – a hardware development tool. Used for integrating various hardware components together like:

• Microprocessors, such as the Nios II processor• Timers• Serial communication interfaces: UART, SPI• General purpose I/O• Digital signal processing (DSP) functions• Communications peripherals• Interfaces to off-chip devices

• Memory controllers• Buses and bridges• Application-specific standard products (ASSP)• Application-specific integrated circuits (ASIC)• Processors

Generates files in Verilog or VHDL which can be added to the Quartus 2 project.

Page 39: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

39ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Example SOPC system:

Page 40: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

40ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

SOPC system having NIOS:

Page 41: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

41ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Page 42: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

42ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

Summary

Embedded computers are all around us.• Many systems have complex embedded hardware and software.

Embedded systems pose many design challenges: design time, deadlines, power, etc.

Design methodologies help us manage the design process. CAD tools like SOPC can reduce design time.

Page 43: 1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

43ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

What’s Next in Lecture 2?

We will peek inside CPU, addressing, assembly languages etc. You will learn about I/Os and Caches. You will learn about some cool features of SOPC and Nios 2

IDE !