+ All Categories
Home > Documents > Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept....

Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept....

Date post: 15-Dec-2015
Category:
Upload: sydnie-mcallister
View: 226 times
Download: 0 times
Share this document with a friend
Popular Tags:
67
Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen University Presenter: Chung-Fu Kao
Transcript
Page 1: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

Chapter 4:The Embedded Computing

Platform

Computer as Components

Embedded Systems Laboratory

Dept. of Computer Science & Engineering

National Sun Yat-Sen University

Presenter: Chung-Fu Kao

Page 2: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao2

Chapter view

CPU bus, I/O devices, and interfacing

The CPU system as a framework for understanding design methodology

Development environments and debugging

An alarm clock design

Page 3: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao3

Typical PC hardware platform

CPU

CPU bus

memory

DMAcontroller

timers

businterface

bu

sin

terf

ace

high-speed bus

low-speed bus

device

device

intrctrl

Page 4: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao4

Introduction

Computer platform Microprocessors I/O devices Memory

How to interconnect microprocessors and devices using the CPU bus

CPU

device

device

device

keyboard

display

memory?

Page 5: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao5

The CPU bus

Wire vs. bus Wire: a 1-bit line between two devices

Bus: a collection of wires with a protocol

wiren

bus

Page 6: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao6

Action

Bus protocol

The simplest bus protocol is the four-cycle handshake

time

enq

ack

data

1

2

3

4

Page 7: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao7

Typical bus signals

Clock provides synchronization to the bus

components R/W’

true when bus is reading Address

a n1-bit bundle Data

a n2-bit bundle Data ready’

Page 8: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao8

A typical microprocessor bus

the CPU can read/write devices or memory, bus devices of memory cannot initiate a transfer

CPU

Device 1 Device 1

memory

clockR/W’

data rdy’addressdata

Page 9: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao9

Timing diagrams

time

A

B

C

zero

one

rising falling

stablechanging

10 ns

Timingconstraint

Page 10: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao10

A simple transfer example

Page 11: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao11

Transfer with ‘wait’ states

Page 12: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao12

State diagrams for the bus read transaction

Getdata

Done

Address(start here)

See ack

Wait

CPU

Senddata

Releaseack

Address(start here)

ack

Wait

Device

Page 13: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao13

Bus read state diagram

Getdata Done

Address(start here)

Wait

See ack

one data send/receiveper transfer cycle

How to speedupthe transfer ?

Page 14: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao14

Burst transfer

Page 15: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao15

Bus architectures: Tri-state design

1-bit tri-state design

System tri-state bus

enable

data_out

data_in

tri_out

… … …

Page 16: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao16

Bus architectures: Multiplexing design

Data (W)MUX

ControlMUX

AddressMUX

select

ASBArbiter

AREQx1

AREQx3

AREQx2

BLOK

BWAIT

BnRES/BCLK

AGNTx1

AGNTx3

AGNTx2

BnRES/BCLK

ASBDecoder

BTRAN[1:0]

BA[31:0

BWRITE

BSIZE[1:0]

BPROT[1:0]

DSEL 1

DSEL n

DSEL 2

BERROR

BWAIT

BLAST

Data (R)MUX

ResponseMUX

Select-1

Master(s)

DecoderAddress bus

Data bus

Control (write, transfer type, size)

Slave(s)

Response (wait, last, error)

Select-2

[31:28]

End of Chapter 4.2.1

Page 17: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao17

I/O techniques

Programmed I/O data are exchanged between CPU and I/O CPU must wait until the I/O operation is

complete

Interrupt-driven I/O CPU can continues to execute other

instructions before I/O operation has completed

Direct Memory Access (DMA) CPU does not involve the I/O transfer

Page 18: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao18

DMA: Direct Memory Access

The DMA controller includes 3 registers a starting address register a length register a status register

Cycle stealing

Data count

Data register

Address register

Control Logic

DMA REQ

INTR

DMA ACK

ReadWrite

Page 19: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao19

Possible DMA configuration

(a) Single-Bus, Detached DMA

CPU MEMI/OI/ODMAmodule

. . .

(b) Single-Bus, Integrated DMA-I/O

I/O

DMAmodule

I/O I/O

CPU MEMDMAmodule

CPU MEM

System bus

DMAmodule

I/O bus

I/O I/OI/O

(c) I/O bus

Page 20: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao20

Slave BIU

Timer

Bus example: ARM bus

ARM supports an on-chip bus: AMBA Advanced Microcontroller Bus Architecture

Master BIU

CPU

Master BIU

Master N

AHB/ASB BUS

Decoder

Slave BIU

On-chipRAM

Slave BIU

OtherAPB slaves

Arbiter

……

InterruptController

BIU: Bus Interface Unit

APB BUSAPBBridge

Slave BIU

LED

Page 21: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao21

AMBA features

Pipelining only AHB or ASB

Burst transfers 1, 4, 8, 16-beat transfer

Split transactions release the current transfer

Multiple bus masters

Page 22: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao22

Bus components devices

Slave BIU

Timer

Master BIU

CPU

Master BIU

Master N

AHB/ASB BUS

Decoder

Slave BIU

On-chipRAM

Slave BIU

OtherAPB slaves

Arbiter

……

InterruptController

BIU: Bus Interface Unit

APB BUSAPBBridge

Slave BIU

LED

Page 23: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao23

Memory device organization

The most basic way to characterize a memory is by its capacity

A 4-Mbit memory aspect ratio : as a 1M x 4-bit array, MAX of 220 different

addresses as a 4M x 1-bit array, MAX of 222 different

addresses

Page 24: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao24

Random-Access Memories (RAMs)

There are two major categories of RAM: static RAM (SRAM) dynamic RAM (DRAM)

The differences between SRAM and DRAM SRAM is faster than DRAM SRAM consumes more power than DRAM more DRAM can be put on a single chip DRAM values must be periodically

refreshed

Page 25: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao25

SRAM

SRAM doesn’t need CLOCK signal Block diagram

Timing diagram

SRAM

32K x 8

address

chip select

output enable

write enable

Data_in

Data_out

15

8

8

CS’

R/W’

Adrs

Data From SRAM From CPU

Page 26: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao26

DRAM

Single transistor and capacitor per bit

CPU address bus is split into a row and a column address

NO clock Refreshed

CAS-before-RAS refresh

DRAM

address

chip selectoutput enable

write enableData_in

Data_out

15

8

8

Page 27: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao27

Other DRAMs

FPM DRAM fast page mode switch (burst)

EDO DRAM extended data out

SDRAM synchronous DRAM

Page 28: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao28

Read-Only Memories (ROMs)

Read only, cannot write any data to ROMs ROMs can store data without any power ROM size

height: n input line, consists 2n addressable entries

width: the number of bits in each addressable entry

A ROM can encode a collection of logic functions directly from the truth table

Page 29: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao29

ROMs

Mask ROM Programmable ROM (PROM)

write once Erasable Programmable ROM (EPROM)

can be erased using UV light and then reprogrammed

Electrically Erasable Programmable ROM using high voltages for erasure and

reprogramming Flash ROM

Page 30: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao30

I/O devices

Timers / counters A/D and D/A converters Keyboards LEDs Displays Touchscreens

Page 31: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao31

Timers and counters

Very similar: a timer is incremented by a periodic signal a counter is incremented by an

asynchronous, occasional signal

Rollover causes interrupt

Page 32: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao32

Watchdog timer

Watchdog timer is periodically reset by system timer

If watchdog is not reset, it generates an interrupt to reset the host (CPU)

CPU

reset

WatchdogTimer

time-out

Page 33: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao33

A/D and D/A converters

Analog/digital (A/D) or digital/analog (D/A) converters (ADC/DAC)

To interface non-digital devices to embedded systems

A typical A/D interface has two major digital inputs a data port a clock input

Page 34: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao34

DAC

Page 35: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao35

ADC

Page 36: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao36

Keyboards

Switch de-bouncing

Encoded keyboard An array of switches is read by an encoder

row

Page 37: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao37

LEDs

Light-emitting diodes (LEDs)

+5 V

+

Anode (+)

Cathode (-)

Page 38: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao38

Displays

Common use: 7-segment LCD display

Other high-resolution displays cathode ray tube (CRT) liquid crystal display (LCD)

• passive matrix• active matrix

Page 39: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao39

Touchscreens

Includes input and output device

Input device is a two-dimensional voltmeter

X

Page 40: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao40

Touchscreen position sensing

ADC

voltage

Push↓

spacer ball

conductive sheets

end of chapter 4.5

Page 41: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao41

Design with microprocessors

System architecture

Hardware design

The PC as a platform

Debugging

Manufacturing testing

Page 42: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao42

System architecture – Hardware

Hardware elements CPU bus memory I/O devices: networking, sensors, etc.

Page 43: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao43

System architecture – Software

Functional description must be broken into pieces: conceptual organization performance testability maintenance

Consider the H/W-S/W trade-off using DMA to move data rather than a

programmed loop

Page 44: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao44

Hardware design

targetsystem

host systemserial line

Hardware: evaluation board Software:

cross compiler:• compiles code on host for target system.

cross debugger:• displays target state, allows target system to be

controlled.

Page 45: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao45

Evaluation board

Page 46: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao46

The PC as a platform

Advantages: cheap and easy to get rich and familiar software environment

Disadvantages: requires a lot of hardware resources not well-adapted to real-time high power consumption

Page 47: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao47

Typical PC hardware platform

CPU

CPU bus

memory

DMAcontroller

timers

businterface

bu

sin

terf

ace

high-speed bus

low-speed bus

device

device

intrctrl

Page 48: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao48

Typical busses

ISA (Industry Standard Architecture) original IBM PC bus, low-speed by today’s sta

ndard. PCI (Peripheral Component Interconnect)

standard for high-speed interfacing 33 or 66 MHz.

USB (Universal Serial Bus), IEEE 1394 (Firewire)

relatively low-cost serial interface with high speed.

Page 49: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao49

Software elements

IBM PC uses BIOS (Basic I/O System) to implement low-level functions: boot-up minimal device drivers

BIOS has become a generic term for the lowest-level system software

Page 50: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao50

Debugging embedded systems

Challenges: target system may be hard to observe target may be hard to control may be hard to generate realistic inputs setup sequence may be complex

Page 51: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao51

Software debuggers

A monitor program residing on the target provides basic debugger functions

Debugger should have a minimal footprint in memory

User program must be careful not to destroy debugger program, but , should be able to recover from some damage caused by user code

Page 52: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao52

Breakpoints

A breakpoint allows the user to stop execution, examine system state, and change state

Replace the breakpointed instruction with a subroutine call to the monitor program

Page 53: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao53

ARM breakpoints

0x400 MUL r4,r6,r60x404 ADD r2,r2,r40x408 ADD r0,r0,#10x40c B loop

uninstrumented code

0x400 MUL r4,r6,r60x404 ADD r2,r2,r40x408 ADD r0,r0,#10x40c BL bkpoint

code with breakpoint

Page 54: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao54

Breakpoint handler actions

Save registers Allow user to examine machine Before returning, restore system state

safest way to execute the instruction is to replace it and execute in place

put another breakpoint after the replaced breakpoint to allow restoring the original breakpoint (pp. 222-223)

Page 55: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao55

In-circuit emulators

A microprocessor in-circuit emulator is a specially-instrumented microprocessor

Allows you to stop execution, examine CPU state, modify registers

Page 56: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao56

Logic analyzers

A logic analyzer is an array of low-grade oscilloscopes:

Page 57: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao57

Manufacturing testing

Goal: ensure that manufacturing produces defect-free copies of the design

Can test by comparing unit being tested to the expected behavior but running tests is expensive

Maximize confidence while minimizing testing cost

Page 58: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao58

Testing concepts

Yield: proportion of manufactured systems that work proper manufacturing maximizes yield proper testing accurately estimates yield

Field return: defective unit that leaves the factory.

Page 59: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao59

Faults

Manufacturing problems can be caused by many thing

Fault model: model that predicts effects of a particular type of fault

Fault coverage: proportion of possible faults found by a set of test having a fault model allows us to determine

fault coverage

Page 60: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao60

Software vs. hardware testing

When testing code, we have no fault model we verify the implementation, not the

manufacturing simple tests work well to verify software

manufacturing

Hardware requires manufacturing tests in addition to implementation verification

Page 61: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao61

Hardware fault models

Stuck-at 0/1 fault model: output of gate is always 0/1

0 01 0

Page 62: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao62

Combinational testing

Every gate can be stuck-at-0, stuck-at-1 Usually test for single stuck-at-faults

one fault at a time multiple faults can mask each other

We can generate a test for a gate by: controlling the gate’s input observing the gate’s output through other

gates

Page 63: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao63

Sequential testing

A state machine is combinational logic + registers

Sequential testing is considerably harder a single stuck-at fault affects the machine

on every cycle fault behavior on one cycle can be masked

by same fault on other cycles

Page 64: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao64

Scan chains

A scannable register operates in two modes: normal scan

• forms an element in a shift register

Page 65: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao65

Scan chain cell

SEL

MUX

SEL

MUX

BSR PDR

Input pin

scan

Scan input

Shiftclock

Updateclock

Scanoutput

EXTESTINTEST

Input signalto logic

Page 66: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao66

Boundary scan

IEEE Std. 1149.1 JTAG boundary scan

Serial data in

Serial data out

System interconnectSerial test interconnect

Page 67: Chapter 4: The Embedded Computing Platform Computer as Components Embedded Systems Laboratory Dept. of Computer Science & Engineering National Sun Yat-Sen.

4/9/2002 The Embedded Computing System© C.-F. Kao67

Embedded ICE

ICE

TAPController

InstructionRegister

DecodeLogic

BDU

Microprocessor Core

BreakpointScan Register

Bypass Register

TCK

TMS

TDI

Select Unit

address dataInterface

breakpoint

mode clock

MUX

externaldebug

TDO


Recommended