the imagination driving australia’s ict future.cs9242/06/lectures/08-hw.pdf · the imagination...

125
The imagination driving Australia’s ICT future. H ARDWARE AND P OWER M ANAGEMENT David Snowdon [email protected] About me How hardware exists Power management S EPTEMBER 15, 2006 H ARDWARE AND P OWER MANAGEMENT ... 1

Upload: lamdieu

Post on 30-Jul-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

The imagination driving Australia’s ICT future.

HARDWARE AND POWER MANAGEMENT

David Snowdon

[email protected]

➀ About me

➁ How hardware exists

➂ Power management

SEPTEMBER 15, 2006 HARDWARE AND POWER MANAGEMENT. . . 1

The imagination driving Australia’s ICT future.

ABOUT ME➜ Computer Engineering 1999–2002

➜ Honours: Hardware and Software Infrastructure for Sunswift II

➜ PhD: Operating system directed power management

➜ Solar cars: WSC (99, 01, 03, 05)

SEPTEMBER 15, 2006 ABOUT ME 2

The imagination driving Australia’s ICT future.

SEPTEMBER 15, 2006 ABOUT ME 3

The imagination driving Australia’s ICT future.

IBOX

➜ purpose: intelligent video surveillance;

➜ 624MHz Xscale (PXA270), 64MB RAM, 4MB Flash;

➜ analogue video capture, overlays, MPEG 4 encoding, audio;

➜ USB, CF, Ethernet;

➜ designed for L4/Iguana (OK inside).

SEPTEMBER 15, 2006 ABOUT ME 4

The imagination driving Australia’s ICT future.

HARDWARE

HARDWARE

aka: convincing yourself that it just might work

SEPTEMBER 15, 2006 HARDWARE 5

The imagination driving Australia’s ICT future.

OVERVIEW

Overview:

➜ why talk about hardware design in an OS course?

➜ hardware designs are difficult to change

Because:

➜ Operating systems interact closely with the hardware

➜ Hardware and system software engineers should work together

➜ OS developers are great embedded systems developers

➜ OS people think this stuff is cool

SEPTEMBER 15, 2006 HARDWARE 6

The imagination driving Australia’s ICT future.

OVERVIEW

Case Study: the iBox:

➜ requirements;

➜ general design;

➜ schematics;

➜ layout;

➜ manufacture;

➜ board bring-up.

SEPTEMBER 15, 2006 HARDWARE 7

The imagination driving Australia’s ICT future.

REQUIREMENTS

Purpose:

➜ processing platform for digital video surveillance;

➜ teaching platform for AOS.

SEPTEMBER 15, 2006 HARDWARE 8

The imagination driving Australia’s ICT future.

REQUIREMENTS

Purpose:

➜ processing platform for digital video surveillance;

➜ teaching platform for AOS.

Video surveillance:

➜ motion detection;

➜ number recognition;

➜ face recognition.

SEPTEMBER 15, 2006 HARDWARE 8-A

The imagination driving Australia’s ICT future.

REQUIREMENTS

Functional:

➜ Performance: five frames per second at 352 × 288;

➜ IO: Ethernet, audio, video, alarm, overlay;

➜ Video compression: MPEG4 at 768 × 576;

➜ System software update: by an engineer on-site;

➜ Power supply: up to 24V AC or DC;

➜ Power consumption: less than 5W.

➜ Software interfaces: video, audio, network stack, overlay

generation, MPEG compression

SEPTEMBER 15, 2006 HARDWARE 9

The imagination driving Australia’s ICT future.

REQUIREMENTS

Non-functional:

➜ Cost

➜ Modularity

➜ Size

➜ Development time

➜ Connectors: standard

➜ Un-trusted software.

SEPTEMBER 15, 2006 HARDWARE 10

The imagination driving Australia’s ICT future.

REQUIREMENTS

Non-functional:

➜ Cost

➜ Modularity

➜ Size

➜ Development time

➜ Connectors: standard

➜ Un-trusted software.

It should cost nothing, use no power, be infinitely small, and

take no time to develop. What’s the problem?

SEPTEMBER 15, 2006 HARDWARE 10-A

The imagination driving Australia’s ICT future.

REQUIREMENTS

Trade-offs:

➜ Cost vs. Performance

➜ Size vs. Performance

➜ Size vs. Utility

➜ Power vs. Performance

➜ Time vs. everything

➜ Cost vs. Quantity

➜ In-house vs. out-sourcing

SEPTEMBER 15, 2006 HARDWARE 11

The imagination driving Australia’s ICT future.

REQUIREMENTS

Summary:

➜ MPEG 4 requires serious processing grunt;

➜ Motion detection requires serious processing grunt;

SEPTEMBER 15, 2006 HARDWARE 12

The imagination driving Australia’s ICT future.

DESIGN

Strategy:

➀ come up with lots of options;

➁ pick one that best fits the requirements;

➂ lather, rinse, repeat;

➃ work out that you’ve made a mistake as early as possible.

We’ll go through a few of the design decisions we made here

SEPTEMBER 15, 2006 HARDWARE 13

The imagination driving Australia’s ICT future.

DESIGN

FPGA:

➜ Field Programmable Gate Array

➜ RAM + logic == configurable IC

➜ “programmed” using VHDL, Verilog, etc.

➜ can use soft cores

SEPTEMBER 15, 2006 HARDWARE 14

The imagination driving Australia’s ICT future.

DESIGN

FPGA:

➜ Field Programmable Gate Array

➜ RAM + logic == configurable IC

➜ “programmed” using VHDL, Verilog, etc.

➜ can use soft cores

For:

V high performance

V low power

Against:

X difficult to implement algorithms

X some expensive soft-cores

X no L4

SEPTEMBER 15, 2006 HARDWARE 14-A

The imagination driving Australia’s ICT future.

DESIGN

DSP:

➜ Digital signal processor

➜ VLIW processors optimised for signal processing

➜ e.g. TI TMS320C6416: 8 GMACs/s @ 1GHz

SEPTEMBER 15, 2006 HARDWARE 15

The imagination driving Australia’s ICT future.

DESIGN

DSP:

➜ Digital signal processor

➜ VLIW processors optimised for signal processing

➜ e.g. TI TMS320C6416: 8 GMACs/s @ 1GHz

For:

V very high signal processing performance

V various implementations with video interfaces

Against:

X no MMU

X optimisation required to achieve performance

X expensive compilers

SEPTEMBER 15, 2006 HARDWARE 15-A

The imagination driving Australia’s ICT future.

DESIGN

Digital signal processor + Generic processor:

➜ use a general-purpose processor for control

➜ use a DSP for signal processing algorithms

➜ often packaged together (e.g. TI OMAP, DaVinci)

SEPTEMBER 15, 2006 HARDWARE 16

The imagination driving Australia’s ICT future.

DESIGN

Digital signal processor + Generic processor:

➜ use a general-purpose processor for control

➜ use a DSP for signal processing algorithms

➜ often packaged together (e.g. TI OMAP, DaVinci)

For:

V solves lots of problems with a DSP alone

V easier to handle real-time issues

Against:

X higher software complexity than a single-core solution

X need more than one DSP for our application

SEPTEMBER 15, 2006 HARDWARE 16-A

The imagination driving Australia’s ICT future.

DESIGN

General-purpose processor:

➜ optimised for a wide range of tasks

SEPTEMBER 15, 2006 HARDWARE 17

The imagination driving Australia’s ICT future.

DESIGN

General-purpose processor:

➜ optimised for a wide range of tasks

For:

V good support from compilers and operating systems

V MMU

V system-on-a-chip designs make implementation easier/smaller

Against:

X very high required performance == high power, large size

X not optimised for signal processing

X not capable of MPEG 4 encode

SEPTEMBER 15, 2006 HARDWARE 17-A

The imagination driving Australia’s ICT future.

DESIGN

SMP:

➜ multiple generic cores

SEPTEMBER 15, 2006 HARDWARE 18

The imagination driving Australia’s ICT future.

DESIGN

SMP:

➜ multiple generic cores

For:

V high performance

V retains generic capabilities while providing processing power

V OS transparently handles multiprocessing

Against:

X large size

X high power

X higher parts count

SEPTEMBER 15, 2006 HARDWARE 18-A

The imagination driving Australia’s ICT future.

DESIGN

What next?:

➜ rough out the designs: identify components

➜ don’t worry about the easy bits (PSU, connectors)

➜ obtain development kits and test performance

➜ look at how well the software fits the design

Calculate:

➜ cost

➜ parts count

➜ part availability

➜ power consumption

SEPTEMBER 15, 2006 HARDWARE 19

The imagination driving Australia’s ICT future.

DESIGN

What we considered:

➀ PXA270

➁ TI DaVinci

➂ Sierra MIPS

SEPTEMBER 15, 2006 HARDWARE 20

The imagination driving Australia’s ICT future.

DESIGN

What we considered:

➀ PXA270

➁ TI DaVinci

➂ Sierra MIPS

We chose the PXA270, combined with an external MPEG 4

codec ASIC

SEPTEMBER 15, 2006 HARDWARE 20-A

The imagination driving Australia’s ICT future.

DESIGN

PXA270 based solution:

➜ 624MHz XScale (ARM) core — fast enough for video algorithms

➜ quick-capture interface for video input

➜ tricky circuit for overlay generation

➜ other useful built-in peripherals (DMA, SRAM, USB, CF, LCD)

V L4 was already ported

V good Linux support

V MMX and DSP instructions

V very low power

SEPTEMBER 15, 2006 HARDWARE 21

The imagination driving Australia’s ICT future.

DESIGN

PXA270 based solution:

➜ 624MHz XScale (ARM) core — fast enough for video algorithms

➜ quick-capture interface for video input

➜ tricky circuit for overlay generation

➜ other useful built-in peripherals (DMA, SRAM, USB, CF, LCD)

V L4 was already ported

V good Linux support

V MMX and DSP instructions

V very low power

X requires some expensive PCB technologies

SEPTEMBER 15, 2006 HARDWARE 21-A

The imagination driving Australia’s ICT future.

DESIGN

SEPTEMBER 15, 2006 HARDWARE 22

The imagination driving Australia’s ICT future.

DESIGN

SEPTEMBER 15, 2006 HARDWARE 23

The imagination driving Australia’s ICT future.

SCHEMATICS

Schematics:

➜ schematics define how components connect logically

➜ component pins are connected to form nets

➜ hierarchical schematics are possible via ports

SEPTEMBER 15, 2006 HARDWARE 24

The imagination driving Australia’s ICT future.

SCHEMATICS

Defining components:

➀ schematic component

➁ footprint

SEPTEMBER 15, 2006 HARDWARE 25

The imagination driving Australia’s ICT future.

SCHEMATICS

Things to think about:

➜ get it right first time

➜ decoupling – reduce power supply noise

➜ regulator noise

➜ pin assignment – shortest paths

➜ DMA

Hardware should be designed to make software elegant

SEPTEMBER 15, 2006 HARDWARE 26

1

1

2

2

3

3

4

4

D D

C C

B B

A A

1

National ICT AustraliaLevel 4223 ANZAC PdeKensington, Sydney, 2052AUSTRALIA17

Top level schematic for iBox

112/09/2006 11:28:57 PMZ:\projects\ibox\design\toplevel.SCHDOC

Title

Size: Number:

Date:File:

Revision:

Sheet ofTime:

A4

PWR_EN

SYS_EN

nBATT_FAULTnVDD_FAULT

nRESET_OUT

nTRSTnRESETTCK

TMSTDI

TDO

nSRST

U_CPU_B CPU_B.SCHDOC

MA[0..24]MD[0..31]

nCS

nWEnOEnRP

U_FlashFlash.SCHDOC

MA[0..24]MD[0..31]DQM[0..3]

nSDCASnSDRAS

nWE

SDCLKSDCKEnSDCS

U_SDRAMSDRAM.SCHDOC

nRESET

nCSINT

nRDnWR

nDATACSRDY

DQM[0..3]

MA[0..24]MD[0..31]

U_LAN91C111LAN91C111.SCHDOC

VDATA[0..9]PCLK

VSYNCHSYNC

AVID

nPDN

FID/GLCOnINT

nRESET

SCLSDA

BLANK_IN

BLANK

OUT_ENABLE

PCLK_DIV2

ALT_VIDEO_OUT

U_tvp5150tvp5150.SCHDOC

SDINSDOUT

LRCLKMCLKSCLK

SDASCL

RESET

U_CS4270CS4270.SCHDOC

MA

[0..2

4]M

D[0

..31]

DQ

M[0

..3]

nWE

nOE

nSDRASnSDCAS

SDCKESDCLK1

nSDCS0

nCS0

I2S_BITCLK

I2S_SDATA_INI2S_SDATA_OUT

I2S_SYNCI2S_SYSCLK

FFR

XD

FFC

TS

FFT

XD

FFR

TS

SSPSFRM

SSPTXD

SSPSCLKEN

nCS1

PWM

_OU

T0

RD

Y

INT

0

INT1

PWR

_SC

LPW

R_S

DA

SCLSDA

LD

D_[

0..1

7]

L_F

CL

K_R

D

L_L

CL

K_A

0L

_PC

LK

_WR

L_B

IAS

nCS2

PSKTSEL

nCS3

CIF_FVCIF_LVCIF_PCLK

nPWE

nPIOIR

nPIOIW

nPCE2

nPREG

nPCE1nPOE

nIOIS16

nPWAIT

VDATA[0..9]

SSPSCLK

GPIO22

GPIO13GPIO11

INT

3 INT4

INT5

RDnWR

GPIO52

GPIO94GPIO20

GPIO101

GPIO96

GPI

O32

GPI

O40

GPI

O26

USB

H_P

USB

H_N

USB

HPE

NU

SBH

PWR

DR

EQ

1

GPI

O11

2

GPI

O10

9

PWM_OUT1

GPI

O11

4

GPIO42

GPI

O92

GPI

O39

U_CPU_ACPU_A.SCHDOC

RDnWRnPSKTSEL MD[0..31]

MA[0..24]

nPWEnPREG

nCD1nCD2

nPIOWR

nPWAIT

nPIOIS16nPOEnPCE1nPCE2nPIOR

nIREQ

RESET

nINPACKnDASP

nSTSCHG

U_cfcf.SCHDOC

VINSCLKSDAT

3V3_ENABLE

VCORE_ENABLELDO_EN

INT

nBATTFLT

nRESETnVDDFLT

2V5_ENABLE

U_PowerPower.SCHDOC

VOUT

U_Power_inPower_in.SCHDOC

nRESET_OUT

R46

3k3C57

100n

GND

R4710k

GND

nRESET_OUT

nRESET_OUT

nPWE

nPWEnRESET_OUT

nRESET_OUT

nRESET_OUT

12345678

J9

CON8

VCC_IO

GND

DQM[0..3]MD[0..31]MA[0..24]

LE

D0

LE

D1

LE

D2

LE

D3

USB

_P

USB

_EN

US

B_N

USB

_OC

nRE

LA

Y

U_misc

misc.SCHDOC

HADDR[0..5]HDATA[0..15]nCS

nRDnWR

INT

CA_PCK1CA_FIELD

CA_DVALIDCA_VSYNC

CA_DIN[0..7]

MCLK

nRSTWAKEUP

VID_OUT

SDASCK

U_MPEGMPEG.SCHDOC

VDATA[0..9]VPCLK

VPCLK

VDATA[0..9]

VAVID

VVSYNCVHSYNC

VFID

VVSYNCVAVIDVFID

VPCLK

Vin 5V

MPEG_VIDEO_OUT

MPE

G_V

IDE

O_O

UT

TX

DR

TS

RX

D

L_L

CL

K_A

0

L_F

CL

K_R

D

LD

D_[

0..1

7]L

_PC

LK

_WR

L_B

IAS

CT

S

L_V

ctrl

nLC

D_R

ST

U_MISC2MISC2.SCHDOC

LD

D_[

0..1

7]SCLSDA

SDASCL

1234567891011121314151617181920

J24

CON20

nTRST

TDI

TMS

TCK

TDO

nRST

nRST

nTRSTTCKTDITMSTDO

VCC_IO

C14

100u

F, 1

0V

GND

SEPTEMBER 15, 2006 HARDWARE 26-1

1

1

2

2

3

3

4

4

D D

C C

B B

A A

2

National ICT AustraliaLevel 4223 ANZAC PdeKensington, Sydney, 2052AUSTRALIA17

CPU A

2 *12/09/2006 11:33:37 PMZ:\projects\ibox\design\CPU_A.SCHDOC

Title

Size: Number:

Date:File:

Revision:

Sheet ofTime:

A4

GPIO15A3

GPIO49A10

GPIO47A11

GPIO113 A13

GPIO28A14

GPIO37A15

GPIO24A17

GPIO16A18

GPIO92 A19

GPIO32A20

GPIO34A21

GPIO118 A22

GPIO33B6

GPIO78 B7

GPIO18B9

GPIO12B10

GPIO46B11

GPIO29B13

GPIO38B14

GPIO26B15

GPIO23B16

GPIO110 B17

GPIO112B18

GPIO35B19

GPIO44B20

GPIO80 C7GPIO79 C8

GPIO13C10

GPIO11C11

GPIO31C12 GPIO30C13

GPIO36C14

GPIO27C15

GPIO17C16

GPIO111 C17

GPIO41C18

GPIO45C19

GPIO42C21

GPIO43C22

GPIO88 C23

GPIO116 C24

GPIO22D13

GPIO40D14

GPIO25D16

GPIO109 D17

GPIO39D19

GPIO117 D20

GPIO89 D22

GPIO114 D24

GPIO115 E21

GPIO90 F22

GPIO91F23

GPIO59G22

GPIO60G23

GPIO58G24

GPIO62 H22

GPIO63 H23

GPIO61 H24

GPIO64 J22

GPIO66K22

GPIO67 K23

GPIO65 K24

GPIO68 L21

GPIO71 L22

GPIO69 L23

GPIO73 M22

GPIO70 M24

GPIO86 N22

GPIO87 N23

GPIO72 N24

GPIO76 P22GPIO75 P23

GPIO77R21

GPIO19R22

GPIO74 R23

GPIO14T24

GPIO9U22

GPIO0V22

GPIO10V23

GPIO3W21

GPIO4W23

GPIO1Y24

GPIO55AA10

GPIO84AA11

GPIO54AA14

GPIO97 AA17

GPIO95 AA18

GPIO20AB6

GPIO56AB11

GPIO81 AB12

GPIO50AB13

GPIO53AB14

GPIO106 AB15GPIO105AB16

GPIO102 AB17

GPIO99 AB18

GPIO93 AB19

GPIO57AC11

GPIO85 AC12

GPIO48AC13

GPIO52AC14

GPIO107 AC15

GPIO103 AC16

GPIO101 AC17GPIO100 AC18

GPIO96 AC19

GPIO21AD5 GPIO82 AD9

GPIO83 AD10

GPIO51AD13

GPIO108 AD14

GPIO104 AD15

GPIO98AD18

GPIO94 AD19

U4A

PXA270

MA1A6

MA18C1

MA22C2

MA24C4

MA0C6

MA17D1

MA21D2

MA23D4

MA25D6

MA13E1

MA19E3

MA20E4

MA14F2

MA16F3

MA8G1

MA11G2

MA12G3

MA15G4

MA9H2

MA10H3

MA3J1

MA6J2

MA7J3

MD15 K1

MA4K2

MA5K3

MA2K4

MD14 L1

MD31L2MD30 M2MD29 M3

MD13 M4

MD27 N1

MD28 N2

MD12 N3MD11 P2

MD26 P3

MD10P4

MD24R1

MD25 R3

MD9 R4

MD23 T1

MD8 T3MD7 U1

MD5 U4

MD21 V1

MD22 V2

MD6 V3

MD20 W1MD19 Y1

MD4 Y2MD3Y3

MD18 AA1

MD2 AA3

MD16 AA4

MD1 AB1

MD17AB3

MD0 AB4U4F

PXA270

USBC_PB22

USBC_NC20

USBH_N1D23 USBH_P1E22

UIOE23

U4G

PXA270

nCS0B3

RDnWRC9

nSDCASAA6

nWEAB5

nSDCS0AB7

nSDCS1AB8

DQM0AB9

DQM1AB10

SDCLK0AC4

nOEAC5

nSDRASAC7

DQM2AC9

DQM3AC10

SDCLK2AD3

SDCKEAD6

SDCLK1AD7

U4I

PXA270

MA[0..24]MD[0..31]

MA0MA1MA2MA3MA4MA5MA6MA7MA8MA9MA10MA11MA12MA13MA14MA15MA16MA17MA18MA19MA20MA21MA22MA23MA24

MD0MD1MD2MD3MD4MD5MD6MD7MD8MD9MD10MD11MD12MD13MD14MD15MD16MD17MD18MD19MD20MD21MD22MD23MD24MD25MD26MD27MD28MD29MD30MD31

DQM[0..3]nWEnOE

nSDRASnSDCAS

SDCKE

SDCLK1

nSDCS0

nCS0

Design guide recommends: 20 ohm eries termination is required on the SDCAS and SDCLK lines. Not required on other lines. Requires a "Balanced T" layout. See the PXA270 design guide.

I2S_BITCLKI2S_SDATA_IN

I2S_SDATA_OUTI2S_SYNC

I2S_SYSCLK

FFRXDFFCTS

FFTXD

FFRTS

SSPSCLKSSPSFRM

SSPTXD

SSPSCLKEN

nCS1PWM_OUT0

RDY

R2210k

VCC_MEM

INT0INT1

PWR_SCLPWR_SDA

SCLSDA

R2310k

VCC_IO

R2410k

R1810k

VCC_BATT

R1910k

LDD_0LDD_1LDD_2

LDD_3LDD_4LDD_5LDD_6LDD_7LDD_8LDD_9LDD_10LDD_11LDD_12LDD_13LDD_14LDD_15

LDD_[0..17]LDD_[0..17]

L_FCLK_RDL_LCLK_A0

L_PCLK_WRL_BIAS

LDD_16LDD_17

nCS2

PSKTSEL

nCS3

CIF_PCLK

VDATA0

VDATA4VDATA5

VDATA6

VDATA1

VDATA2VDATA3

VDATA7

VDATA8VDATA9

VDATA[0..9]

nPWEnPIOIR

nPIOIW

nPCE2nPREG

nPCE1

nPOE

nIOIS16nPWAIT

CIF_FVCIF_LV

GPIO22

GPIO13

GPIO11

INT3

INT4

INT5

RDnWR

GPIO52

GPIO20

GPIO101

GPIO94

GPIO96

VDATA[0..9]

MA[0..24]

DQM0DQM1

DQM2DQM3

DQ

M[0

..3]

USBHPWRUSBHPEN

GPIO32

GPIO40

GPIO26

USBH_PUSBH_N

DREQ1

GPIO112

GPIO109

MD[0..31]

GPIO114

PWM_OUT1

GPIO42

GPIO39

GPIO92

SFRM

SFRM

B17 is connected to SFRM to ease layout

R20 22R

R14 22R

SEPTEMBER 15, 2006 HARDWARE 26-2

SEPTEMBER 15, 2006 HARDWARE 26-3

1

1

2

2

3

3

4

4

D D

C C

B B

A A

4

*Level 4223 ANZAC PdeKensington, Sydney, 2052AUSTRALIA17

RAM

4 *12/09/2006 11:37:29 PMZ:\projects\ibox\design\SDRAM.SCHDOC

Title

Size: Number:

Date:File:

Revision:

Sheet ofTime:

A4

VDD 1

DQ0 2

VDDQ 3

DQ1 4

DQ2 5

VSSQ 6

DQ37

DQ4 8

VDDQ 9

DQ5 10

DQ6 11

VSSQ 12

DQ7 13

VDD 14

DQML15

WE16

CAS17

RAS18

CS19

BA020

BA121

A1022

A023

A124

A225

A326

VDD 27

VSS28

A429

A530

A631

A732

A833

A934

A1135

A1236

CKE37CLK38

DQMH39

NC40

VSS 41

DQ8 42

VDDQ 43

DQ9 44

DQ1045

VSSQ 46

DQ11 47

DQ12 48

VDDQ49

DQ13 50

DQ14 51

VSSQ 52

DQ15 53

VSS 54

U12

VDD 1

DQ0 2

VDDQ 3

DQ1 4

DQ2 5

VSSQ 6

DQ37

DQ4 8

VDDQ 9

DQ5 10

DQ6 11

VSSQ 12

DQ7 13

VDD 14

DQML15

WE16

CAS17

RAS18

CS19

BA020

BA121

A1022

A023

A124

A225

A326

VDD 27

VSS28

A429

A530

A631

A732

A833

A934

A1135

A1236

CKE37CLK38

DQMH39

NC40

VSS 41

DQ8 42

VDDQ 43

DQ9 44

DQ1045

VSSQ 46

DQ11 47

DQ12 48

VDDQ49

DQ13 50

DQ14 51

VSSQ 52

DQ15 53

VSS 54

U11

MA[0..24]MD[0..31]

MD0MA10

VCC_MEM

GND

DQM[0..3]

DQM0DQM1

DQM2DQM3

SDCLKSDCKE

nSDCS

nSDCASnSDRAS

SDCLKSDCKE

nSDCSnWEnSDCASnSDRAS

SDCLKSDCKE

nSDCSnWEnSDCASnSDRAS

VCC_MEM

GND

nWE

MA11MA12MA13MA14MA15MA16MA17MA18MA19MA20MA21MA22

MA23MA24

MA10MA11MA12MA13MA14MA15MA16MA17MA18MA19MA20MA21MA22

MA23MA24

MA[0..24]MD[0..31]

DQM[0..3]

MD1MD2MD3MD4MD5MD6MD7MD8MD9MD10MD11MD12MD13MD14MD15

MD16MD17MD18MD19MD20MD21MD22MD23MD24MD25MD26MD27MD28MD29MD30MD31

C16

610

0nC

167

100n

C16

810

0nC

169

100n

C17

010

0nC

171

100n

C17

210

0nC

173

100n

C17

410

0nC

175

100n

C17

610

0nC

177

100n

VCC_MEM

GND GND

VCC_MEM

SEPTEMBER 15, 2006 HARDWARE 26-4

1

1

2

2

3

3

4

4

D D

C C

B B

A A

5

*Level 4223 ANZAC PdeKensington, Sydney, 2052AUSTRALIA17

Flash memory

5 *12/09/2006 11:37:37 PMZ:\projects\ibox\design\Flash.SCHDOC

Title

Size: Number:

Date:File:

Revision:

Sheet ofTime:

A4

A151 A142 A133 A124 A115

A106 A97 A88

A219 A2010

WE11

RP12

VPP13

WP 14

A1915 A1816A1717

A718 A619 A520 A421

A322 A223 A124 A025

CE26

GND 27

OE28

DQ029

DQ8 30

DQ1 31

DQ9 32

DQ2 33

DQ10 34

DQ3 35

DQ11 36

VCC 37

DQ4 38

DQ12 39

DQ5 40

DQ13 41

DQ6 42

DQ1443

DQ744

DQ15 45

GND 46

VCCQ 47

A1648

U8

MA[0..24]MD[0..31]

nCSnWEnOEnRP

VCC_MEM

nCEnWEnOEnRP

GND VCC_MEM

MA[0..24]MD[0..31]

MD0MD1MD2MD3MD4MD5MD6MD7MD8MD9MD10MD11MD12MD13MD14MD15

MA1MA2MA3MA4MA5MA6MA7MA8MA9MA10MA11MA12MA13MA14MA15MA16MA17MA18MA19MA20MA21MA22

VCC_MEM

GND

C16

110

0nC

162

100n

C16

310

0n

SEPTEMBER 15, 2006 HARDWARE 26-5

1

1

2

2

3

3

4

4

D D

C C

B B

A A

4

*Level 4223 ANZAC PdeKensington, Sydney, 2052AUSTRALIA17

RAM

4 *12/09/2006 11:37:29 PMZ:\projects\ibox\design\SDRAM.SCHDOC

Title

Size: Number:

Date:File:

Revision:

Sheet ofTime:

A4

VDD 1

DQ0 2

VDDQ 3

DQ1 4

DQ2 5

VSSQ 6

DQ37

DQ4 8

VDDQ 9

DQ5 10

DQ6 11

VSSQ 12

DQ7 13

VDD 14

DQML15

WE16

CAS17

RAS18

CS19

BA020

BA121

A1022

A023

A124

A225

A326

VDD 27

VSS28

A429

A530

A631

A732

A833

A934

A1135

A1236

CKE37CLK38

DQMH39

NC40

VSS 41

DQ8 42

VDDQ 43

DQ9 44

DQ1045

VSSQ 46

DQ11 47

DQ12 48

VDDQ49

DQ13 50

DQ14 51

VSSQ 52

DQ15 53

VSS 54

U12

VDD 1

DQ0 2

VDDQ 3

DQ1 4

DQ2 5

VSSQ 6

DQ37

DQ4 8

VDDQ 9

DQ5 10

DQ6 11

VSSQ 12

DQ7 13

VDD 14

DQML15

WE16

CAS17

RAS18

CS19

BA020

BA121

A1022

A023

A124

A225

A326

VDD 27

VSS28

A429

A530

A631

A732

A833

A934

A1135

A1236

CKE37CLK38

DQMH39

NC40

VSS 41

DQ8 42

VDDQ 43

DQ9 44

DQ1045

VSSQ 46

DQ11 47

DQ12 48

VDDQ49

DQ13 50

DQ14 51

VSSQ 52

DQ15 53

VSS 54

U11

MA[0..24]MD[0..31]

MD0MA10

VCC_MEM

GND

DQM[0..3]

DQM0DQM1

DQM2DQM3

SDCLKSDCKE

nSDCS

nSDCASnSDRAS

SDCLKSDCKE

nSDCSnWEnSDCASnSDRAS

SDCLKSDCKE

nSDCSnWEnSDCASnSDRAS

VCC_MEM

GND

nWE

MA11MA12MA13MA14MA15MA16MA17MA18MA19MA20MA21MA22

MA23MA24

MA10MA11MA12MA13MA14MA15MA16MA17MA18MA19MA20MA21MA22

MA23MA24

MA[0..24]MD[0..31]

DQM[0..3]

MD1MD2MD3MD4MD5MD6MD7MD8MD9MD10MD11MD12MD13MD14MD15

MD16MD17MD18MD19MD20MD21MD22MD23MD24MD25MD26MD27MD28MD29MD30MD31

C16

610

0nC

167

100n

C16

810

0nC

169

100n

C17

010

0nC

171

100n

C17

210

0nC

173

100n

C17

410

0nC

175

100n

C17

610

0nC

177

100n

VCC_MEM

GND GND

VCC_MEM

SEPTEMBER 15, 2006 HARDWARE 26-6

1

1

2

2

3

3

4

4

D D

C C

B B

A A

6

National ICT AustraliaLevel 4223 ANZAC PdeKensington, Sydney, 2052AUSTRALIA17

Network interface

612/09/2006 11:32:03 PMZ:\projects\ibox\design\LAN91C111.SCHDOC

Title

Size: Number:

Date:File:

Revision:

Sheet ofTime:

A4

MD[0..31]

GND

GND

GND

MA2

MA[0..24]

nRESET

GND

R1110k

nCS

INT

SRDY43

A178

A279

A380

A481

A582

A683

A784

A885

A986

A1087

A1188

A1289

A1390

A1491

A1592

ADS37

ARDY38

VLBUS40

LCLK42

AEN41

RESET30

W/R36

RD31

WR32

CYCLE35 DATACS34

LDEV45

RDYRTN46

INTR029 CNTRL28

BE

094

BE

195

D0

107

D1

106

D2

105

D3

104

D4

102

D5

101

D6

100

D7

99

D8

76

D9

75

D10

74

D11

73

D12

71

D13

70

D14

69

D15

68

IOS0

3

IOS1

4

IOS2

5

EN

EE

P6

EE

SK9

EE

CS

10

EE

DO

7

EE

DI

8

CSO

UT

2

XT

AL

112

7

XT

AL

212

8

RX

D2

122

RX

D1

123

RX

D3

121

RBIAS12

X25

OU

T47

RX

D0

124

RX

_ER

126

RX

_DV

125

TPI+ 17

TPI- 18

LEDA 22

LEDB 23

TPO+14

TPO- 15

LNK 20

LBK 21

MC

LK

27

CR

S100

119

MD

I25

MD

O26

AVDD 16

AVDD 11

AGND 19

AGND 13

VDD 98

VDD 77

VDD 62

VDD 44

VDD 33

VDD1

GND 103

GND 93

GND 72

GND 67

GND57

GND 52

GND 39

GND 24

D16

66

D17

65

D18

64

D19

63

D20

61

D21

60

D22

59

D23

58

D24

56

D25

55

D26

54

D27

53

D28

51

D29

50

D30

49

D31

48

BE

296

BE

397

RX

2511

8T

XD

011

6T

XD

111

5T

XD

211

4T

XD

311

3C

OL

100

112

TX

EN

100

111

GND 117

GND 108

VDD 110VDD120

TX

2510

9

U1

LAN91C111

nRDnWR

nDATACS

GND

RDY

GND

Y125MHz

C115pF

C215pF

GND

GND

R11k

R21k

TxCT1

Tx+2

Tx-3

Rx+4

Rx-5

RxCT6

Shield7

J1

R5

25R

R6

25R

C3100n

R7 25RR8 25R

C4

100nGND

GND

R3

50R

R4

50R

R9 11k

GND

C11

100n

C10

100n

C9

100n

C8

100n

C7

100n

C6

100n

C5

100n

GND

R1210k

Q1

MA[0..24]

MD[0..31]

C12

100n

R1010k

VCC_MEM

VCC_MEM

DQM[0..3]DQM[0..3]

DQ

M0

DQ

M1

DQ

M2

DQ

M3

VCC_MEM

VCC_MEM

VCC_MEM

VCC_MEM

VCC_MEM VCC_MEM VCC_MEM VCC_MEM

VCC_MEM

MA3MA4MA5MA6MA7MA8MA9MA10MA11MA12MA13MA14MA15

R1310k

VCC_MEM

MD

0M

D1

MD

2M

D3

MD

4M

D5

MD

6M

D7

MD

8M

D9

MD

10M

D11

MD

12M

D13

MD

14M

D15

MD

16M

D17

MD

18M

D19

MD

20M

D21

MD

22M

D23

MD

24M

D25

MD

26M

D27

MD

28M

D29

MD

30M

D31

D1A D1B

Remember that RDY needs a pullup elsewhere in the system

C120

100n

SEPTEMBER 15, 2006 HARDWARE 26-7

1

1

2

2

3

3

4

4

D D

C C

B B

A A

7

National ICT AustraliaLevel 4223 ANZAC PdeKensingtonNSW, 205217

Compact Flash

712/09/2006 11:34:30 PMZ:\projects\ibox\design\cf.SCHDOC

Title

Size: Number:

Date:File:

Revision:

Sheet ofTime:

A4

GND1

D032

D043

D054

D065

D076

nCE1 7

A108

nOE 9

A0910 A0811

A0712

VCC13

A0614

A0515

A0416

A0317

A0218

A0119

A0020

D0021 D0122

D0223

nIOIS16 24

nCD2 25nCD1 26

D1127

D1228

D1329

D1430

D1531

nCE2 32

nVS1 33

nIORD 34

nIOWR35

nWE 36nIREQ 37

VCC38

nCSEL 39

nVS2 40

RESET 41

nWAIT 42

nINPACK 43nREG44

nSPKR 45

nSTSCHG46

D0847

D0948 D1049

GND50

J2

Compact Flash

1DIR1

1B02

1B13

GND4

1B25

1B36

VCC 7

1B48

1B59

GND10

1B611

1B712

2B013

2B114

GND15

2B216

2B317

VCC18

2B419

2B520

GND21

2B622

2B723

2DIR 24

2OE 25

2A7 262A6 27

GND28

2A5 292A4 30

VCC 31

2A3 322A2 33

GND34

2A1 352A0 36

1A7371A6 38

GND39

1A5 401A4 41

VCC 42

1A3 431A2 44

GND45

1A1 461A047

1OE 48

U2

74LVT162245

MD0MD1

MD2

MD3

MD4

MD5

MD6

MD7

MD8

MD9MD10

MD11

MD12

MD13

MD14

MD15

MA0MA1

MA2MA3

MA4MA5

MA6MA7

MA8MA9

MA10

GND

VCC_MEM

GND GND

OE11

O02

O1 3

GND4

O2 5

O3 6

VCC7

O4 8

O5 9

GND10

O6 11

O712

O8 13

O9 14

GND15

O10 16

O11 17

VCC18

O12 19

O13 20

GND21

O1422

O15 23

OE4 24OE3 25

I1526 I1427

GND28

I1329 I1230

VCC31

I1132I1033

GND34

I935 I836 I737 I638

GND39

I540 I441

VCC42

I343 I244

GND45

I146 I047

OE2 48

U3

74LVT162244

GNDRDnWRnPSKTSEL

VCC_MEM

MD[0..31]MD[0..31]

MA[0..24] MA[0..24]

VCC_MEM

GNDnPWE

nPREG

nCD1nCD2

nPIOWR

nPWAIT

nPIOIS16

nPOE

nPCE1nPCE2

nPIOR

nIREQ

R1710k

VCC_MEM

nPSKTSEL

RESET

VCC_MEM

VCC_MEM

GND

nINPACK

nDASPnSTSCHG

C13100u

GND

VCC_MEM

R16

A10

K

R16

B10

KR

16D

10K

R16

C10

KR

1510

kR

104

10k

C12

410

0nC

125

100n

C12

610

0nC

127

100n

VCC_MEM

GND

C13

010

0nC

131

100n

C13

210

0nC

133

100n

VCC_MEM

GND

C12

810

0n

VCC_MEM

GND

SEPTEMBER 15, 2006 HARDWARE 26-8

1

1

2

2

3

3

4

4

D D

C C

B B

A A

8

*Level 4223 ANZAC PdeKensington, Sydney, 2052AUSTRALIA17

Audio Codec

8 *12/09/2006 11:37:47 PMZ:\projects\ibox\design\CS4270.SCHDOC

Title

Size: Number:

Date:File:

Revision:

Sheet ofTime:

A4

SDINSDOUT

MCLK

SDASCL

R29

47k

Selects master mode

GND

GND GND

RESET

VCC_IO

R28 3k32, 1%

R31

6k65

, 1%

C18 10u

C20

2200

p, C

OG

GND GND GND GND

C22 3.3u

R3510k

R3610k

R34 470R

R33 470R

C24

3300

p, C

OG

GND GND GND GND

C29100n

C281uF

GND GND

C31100n

C301uF

GND GND

C33100n

C3247u

GND GND

SDIN1

LRCK2

MCLK3

SCLK4

VD5

DGND6

SDOUT7

VLC8

SDA9

SCL10

AD011

AD112

AD213

RST14

AINA 15

AINB 16

VQ 17FILT+ 18

VA 19

AGND 20

MUTEA 21

MUTEB 24

AOUTA 22

AOUTB 23

U6

CS4270

C27100n

C261uF

GND GND

VCC_IO

LRCLK

SCLK

12

J3

CON2

12

J4

CON2

12

J5

CON2

12

J6

CON2

GND

GND

GND

GND

VOUT 5VIN

1V

SS2

U7XC6201

Vin

GND

C351uF

GND

C341uF

GND

3.3V XC6201

C21

2200

p, C

OG

R30 3k32, 1%

R32

6k65

, 1%

C19 10u

C23 3.3u

C25

3300

p, C

OG

12

J17

CON2

12

J18

CON2

12

J19

CON2

12

J20

CON2

GND

GND

GND

GND

Pin headers for off-board connectorsPCB Connectors

GND

SEPTEMBER 15, 2006 HARDWARE 26-9

1

1

2

2

3

3

4

4

D D

C C

B B

A A

11

National ICT AustraliaLevel 4223 ANZAC PdeKensington, Sydney, 2052AUSTRALIA17

Video decoder and overlay generation

11 *12/09/2006 11:32:41 PMZ:\projects\ibox\design\tvp5150.SCHDOC

Title

Size: Number:

Date:File:

Revision:

Sheet ofTime:

A4

AIP1A1

AIP1B2

PLL_AGND3 PLL_AVDD4

XTAL15

XTAL26

AGND7

RESETB 8

PCLK 9

IO_DVDD 10

YOUT7 11

YOUT6 12

YOUT5 13

YOUT4 14

YOUT3 15

YOUT216

YOUT1 17

YOUT0 18

DGND 19DVDD 20

SCL 21

SDA 22

FID/GCLO 23

VSYNC/PALI 24

HSYNC 25

AVID26

INT 27

PDN 28

REFP29

REFM30

CH_AGND31CH_AVDD32

U18

TVP5150A

VDATA0VDATA1VDATA2VDATA3VDATA4VDATA5VDATA6VDATA7

VDATA[0..9]

PCLKVSYNCHSYNC

AVIDnPDN

FID/GLCO

nINTnRESET

SCLSDA VCC_IO

GND

GND

GND

GND

C70 1u

C711u

C721u

GND

Y414.31818MHz

GND

C67 33p

C69 33p

GND

GND

R5110k

VCC_IO Selects I2C address of 0xBA

C75100n

C76100n

GND

VCC_IO

5

41

3

62

U15OPA358

A1V8

A1V8 C7322u, 6.3V

L5 1u

GND

VCC_IOA3V3

A3V3

R5239R

R5339R

nPDN

GND

C66 100n

GND

Low pass filter here?

R501k

R49 1k

GND

R48 75R

Many circuits have a 220uF cap in here.

C68100n

GND

C77100n

C78100n

GND

A1V8

D1S12

GND 3

VDD 4

IN6

S28

U14

ADG719BRM

BLANK_IN

A3V3

GND

BLANK

A3V3

C59100n

GND

OUT_ENABLE

PCLK

D1

CLK2

GND 3Q4VCC 5

U13

SN74AUP1G80

Divide Pixel Clock by Two

VCC_IO

GND

VCC_IO

C58100n

GND

PCLK

PCLK_DIV2

Analogue switch between blank and inputBuffering and amplification

Power supply filtering

Video decode

Overlay generation

12

J12

CON2

12

J11

CON2

GND

GND

Video In

Video Out

VDATA[0..9]

VOUT5 VIN

1V

SS2

U16XC6201

3V3

GND

C621uF

GND

C611uF

GND

1.8V Generation

D1V8

D1V8

D1V

8

VOUT5 VIN

1V

SS2

U17XC6201

3V3

GND

C651uF

GND

C641uF

GND

A1V8

ALT_VIDEO_OUT

12

J22

CON2 GND

12

J21

CON2GND

R105 47R

A1

B2

GND 3Y4VCC 5

U5

NC7SZ08

VCC_IO

GND

AVID

AVID

Gate with active video

R7610k

GND

SEPTEMBER 15, 2006 HARDWARE 26-10

1

1

2

2

3

3

4

4

D D

C C

B B

A A

9

National ICT AustraliaLevel 4223 ANZAC PdeKensingtonNSW, 205217

Power supplies

912/09/2006 11:34:39 PMZ:\projects\ibox\design\Power.SCHDOC

Title

Size: Number:

Date:File:

Revision:

Sheet ofTime:

A4

C36

1uF

R37 10R

GND

VIN

C40

10uF,10V

C39

10uF, 10V

C38

10uF, 10V

DEFDCDC31

VDCDC3 2

PGND33

L34

VINDCDC35

VINDCDC16

L1 7

PGND18

VDCDC1 9

DEFDCDC110

HOT_RESET11

DEFLDO112

DEFLDO213

VSYSIN 14

VBACKUP 15

VRTC 16

AGND217

VLDO218

VINLDO19

VLDO1 20

LOWBAT21

LDO_EN 22

DCDC3_EN 23

DCDC2_EN 24

DCDC1_EN 25

TRESPWRON26 RESPWRON27

INT28 SDAT29SCLK30

PWRFAIL31

DEFDCDC232

VDCDC2 33PGND234 L2 35

VINDCDC236

VCC37

PWRFAIL_SNS 38

LOWBAT_SNS 39

AGND140 POWERPAD0

U9

TPS65021

GND

2V5

VIN

VIN

VIN

SCLKSDAT

3V3_ENABLE

2V5_ENABLE

VCORE_ENABLE

L1 3.3uH

L2 3.3uH

L3 3.3uHVCC_CORE

2V5

3V3 VCC_MEM VCC_IO

C37 22u, 6.3V

GND

C41 22u, 6.3V

GND

C42 22u, 6.3V

GND

LDO_EN

C464.7uF

VCC_BATT

GND

3V3

C432.2uF

GND

C442.2uF

GND

GND

VCC_SRAM VCC_PLL

R4010k

VCC_BATT

INT

nRESET

C45 1nFGNDR3810k

R3910k

nBATTFLTnVDDFLT

R4210k

S1SW-PB

VCC_BATT

GND

BT1Battery

VIN

R41100k

R43100k

R44100k

GND

VIN

GND

C1002.2uF

GND

SEPTEMBER 15, 2006 HARDWARE 26-11

1

1

2

2

3

3

4

4

D D

C C

B B

A A

10

National ICT AustraliaLevel 4223 ANZAC PdeKensingtonNSW, 205217

Power input and conditioning

1012/09/2006 11:34:46 PMZ:\projects\ibox\design\Power_in.SCHDOC

Title

Size: Number:

Date:File:

Revision:

Sheet ofTime:

A4

A1 C

2

K3

C4

D3Bridge1

GND

POWER IN #1

POWER IN RETURN

C48

470u

F, 5

0V C49

470u

F, 5

0V C50

470u

F, 5

0V

GND GND GND

F1

FUSE D5

33V

Tra

nsie

nt S

uppr

esso

r, S

MA

J33A

GND

Bridge Rectifier Protection Bulk Capacitance

GND1

SW 2

NC3

VIN4

NC5

BOOST6

NC7

GND8

GND9

BIAS10

VC 11

FB/SENSE 12

NC13

SYNC14 SHDN15

GND16

GND0

U10

LT1956-5

C53

2.2u

F, 5

0V

GND

GND

R454k7

C5422uF Ceramic

C55220pF

C564700pF

GND

C47100n

L4

15uH

D4MMSD914TI

D610MQ060N

GND

VOUT

GND

Buck Regulator

12

J7

CON2

1

23

J8

DCSOCKET

~3V ripple worst case, populate or not depending on requirements

C51

470u

F, 5

0V

GND

SEPTEMBER 15, 2006 HARDWARE 26-12

The imagination driving Australia’s ICT future.

LAYOUT

Layout technology and terminology:

➜ design a printed circuit board (PCB)

➜ layers of fibreglass and copper

➜ the iBox uses an 8 layer board (8 copper layers)

➜ vias are holes used to connect between layers

SEPTEMBER 15, 2006 HARDWARE 27

The imagination driving Australia’s ICT future.

LAYOUT

Component footprints:

➜ through-hole

➜ surface-mount

SEPTEMBER 15, 2006 HARDWARE 28

The imagination driving Australia’s ICT future.

LAYOUT

SEPTEMBER 15, 2006 HARDWARE 29

The imagination driving Australia’s ICT future.

LAYOUT

SEPTEMBER 15, 2006 HARDWARE 30

The imagination driving Australia’s ICT future.

LAYOUT

SEPTEMBER 15, 2006 HARDWARE 31

The imagination driving Australia’s ICT future.

LAYOUT

Trade-offs:

➜ number of layers vs. size

➜ component size vs. manufacturability

➜ component size vs. signal integrity

SEPTEMBER 15, 2006 HARDWARE 32

The imagination driving Australia’s ICT future.

LAYOUT

Routing:

➜ the physical pins are connected with traces of copper

➜ the design software only allows connections defined by the

schematic

➜ design rules are defined to ensure manufacturability

➜ the artwork is used by a manufacturer to build a PCB

SEPTEMBER 15, 2006 HARDWARE 33

The imagination driving Australia’s ICT future.

LAYOUT

Things to think about:

➜ Auto-routing vs. manual routing

➜ boxes and enclosures

➜ connector locations

➜ pin assignment

➜ size of the traces

➜ isolating noise

➜ signal integrity

➜ simulation

SEPTEMBER 15, 2006 HARDWARE 34

The imagination driving Australia’s ICT future.

LAYOUT

Signal integrity: Digital systems are still analogue!

➜ Above 100MHz, edges on digital signals tend to have

high-frequency components

➜ transmission line effects

➜ inductance and capacitance in the traces/packages

➜ noise, cross-talk, EMI problems

So:

➜ keep stub lengths short

➜ use termination

➜ think about return paths

➜ use simulation

SEPTEMBER 15, 2006 HARDWARE 35

The imagination driving Australia’s ICT future.

LAYOUT

SEPTEMBER 15, 2006 HARDWARE 36

The imagination driving Australia’s ICT future.

LAYOUT

iBox layout:

➜ 624MHz PXA270 is a uBGA — 0.5mm between balls

➜ We need very small vias — laser drilling

➜ We need buried and blind vias

SEPTEMBER 15, 2006 HARDWARE 37

The imagination driving Australia’s ICT future.

LAYOUT

SEPTEMBER 15, 2006 HARDWARE 38

The imagination driving Australia’s ICT future.

MANUFACTURE

Surface-mount:

➜ Solder stencil

➜ Pick and place

➜ Reflow

Through-hole:

➜ wave soldering

SEPTEMBER 15, 2006 HARDWARE 39

The imagination driving Australia’s ICT future.

BRING-UP

JTAG: Joint Test Action Group – a standard for board testing

➜ boundary scan

➜ debugging

➜ custom commands

JTAG can be daisy-chained – multiple chips on one port

SEPTEMBER 15, 2006 HARDWARE 40

The imagination driving Australia’s ICT future.

BRING-UP

PCB Testing:

➜ PCBs are tested using a “bed of nails”

➜ this doesn’t work with BGA and PGA packages

➜ JTAG defines boundary scan: the device pins can be controlled

➜ can be used in combination with “bed of nails”

SEPTEMBER 15, 2006 HARDWARE 41

The imagination driving Australia’s ICT future.

BRING-UP

IC LOGIC

Instruction

TCK TMSControl

TDI TDOBypass

SEPTEMBER 15, 2006 HARDWARE 42

The imagination driving Australia’s ICT future.

BRING-UP

iBox JTAG:

➜ Boundary scan lets us control all of the pins on the PXA270

➜ so we can manually control the bus

➜ so we can program the flash memory

SEPTEMBER 15, 2006 HARDWARE 43

The imagination driving Australia’s ICT future.

BRING-UP

Debug:

➜ some processors have extra, debugging JTAG instructions

➜ Xscale cores can execute instructions from a mini-instruction

cache

➜ breakpoints

➜ single step

➜ watch variables

Trace:

➜ a trace port exports which instructions are run

➜ analysis tools can step backward

SEPTEMBER 15, 2006 HARDWARE 44

The imagination driving Australia’s ICT future.

BRING-UP

Bootloader:

To load software, you need software?

➜ prepares the system for boot

➜ handles device-specific tasks

➜ loads and jumps to the operating system

➜ commonly saved in read-only memory as firmware

➜ can be very simple or complex

➜ some systems use multi-stage loaders

The iBox uses U-Boot, the NSLU2 uses Redboot

SEPTEMBER 15, 2006 HARDWARE 45

The imagination driving Australia’s ICT future.

BRING-UP

Start up on the PXA270:

➀ start executing at 0x00000000 (Flash, on iBox)

➁ configure the GPIO pins

➂ initialise the static memory and SDRAM

➃ initialise the IRQs

➄ set the core clock frequency

➅ enable the caches

➆ copy into RAM

➇ set up a stack

➈ read configuration

➉ set up devices and other services

SEPTEMBER 15, 2006 HARDWARE 46

The imagination driving Australia’s ICT future.

BRING-UP

Porting an OS to the new platform:

➜ configure for PXA270

➜ configure specific devices (network, CF, USB, etc)

SEPTEMBER 15, 2006 HARDWARE 47

The imagination driving Australia’s ICT future.

BRING-UP

Bringing up the iBox:

➜ Power supplies

➜ Soldering the PXA270

➜ Testing using JTAG

➜ Flash

➜ SDRAM

➜ Bootloader

➜ Ethernet

➜ The rest

SEPTEMBER 15, 2006 HARDWARE 48

The imagination driving Australia’s ICT future.

DEMO

DEMO

SEPTEMBER 15, 2006 DEMO 49

The imagination driving Australia’s ICT future.

POWER MANAGEMENT

POWER MANAGEMENT

aka: doing more with less

SEPTEMBER 15, 2006 POWER MANAGEMENT 50

The imagination driving Australia’s ICT future.

POWER MANAGEMENT

Overview:

➀ Why?

➁ Concepts

➂ OS directed power management

➃ Evaluation techniques

➄ Energy accounting

SEPTEMBER 15, 2006 POWER MANAGEMENT 51

The imagination driving Australia’s ICT future.

POWER MANAGEMENT

Why do we care about power?

➜ Thermal management

➜ Electricity consumption

➜ Energy limited devices

Power-conscious systems can use energy more effectively.

SEPTEMBER 15, 2006 POWER MANAGEMENT 52

The imagination driving Australia’s ICT future.

POWER MANAGEMENT

Why do we care about power?

➜ Thermal management

➀ Enclosure size and noise

➁ Performance

➜ Electricity consumption

➜ Energy limited devices

Power-conscious systems can use energy more effectively.

SEPTEMBER 15, 2006 POWER MANAGEMENT 52-A

The imagination driving Australia’s ICT future.

POWER MANAGEMENT

Why do we care about power?

➜ Thermal management

➀ Enclosure size and noise

➁ Performance

➜ Electricity consumption

➀ Environment

➁ Cost

➜ Energy limited devices

Power-conscious systems can use energy more effectively.

SEPTEMBER 15, 2006 POWER MANAGEMENT 52-B

The imagination driving Australia’s ICT future.

POWER MANAGEMENT

Why do we care about power?

➜ Thermal management

➀ Enclosure size and noise

➁ Performance

➜ Electricity consumption

➀ Environment

➁ Cost

➜ Energy limited devices

➀ Battery powered

➁ Solar powered

Power-conscious systems can use energy more effectively.

SEPTEMBER 15, 2006 POWER MANAGEMENT 52-C

The imagination driving Australia’s ICT future.

CAUSES OF ENERGY USE

Where does the energy go?:

➜ switching circuits

➜ peripherals

➜ voltage conversion

➜ batteries

SEPTEMBER 15, 2006 POWER MANAGEMENT 53

The imagination driving Australia’s ICT future.

CAUSES OF ENERGY USE

Switching circuits:

➜ short circuit power

➜ gate capacitance

➜ leakage

SEPTEMBER 15, 2006 POWER MANAGEMENT 54

The imagination driving Australia’s ICT future.

CAUSES OF ENERGY USE

SEPTEMBER 15, 2006 POWER MANAGEMENT 55

The imagination driving Australia’s ICT future.

CAUSES OF ENERGY USE

Gate capacitance:

➜ to turn on a transistor, we charge the gate beyond its threshold

voltage

➜ to turn it off, we discharge it

➜ the charge disappears and is the main source of power

consumed

➜ the charge transferred is: q = Cv

➜ the energy transferred is: E =1

2Cv2

SEPTEMBER 15, 2006 POWER MANAGEMENT 56

The imagination driving Australia’s ICT future.

CAUSES OF ENERGY USE

Hardware techniques:

➜ clock gating

SEPTEMBER 15, 2006 POWER MANAGEMENT 57

The imagination driving Australia’s ICT future.

CAUSES OF ENERGY USE

Software energy consumption:

➜ more instructions = more energy

➜ different instructions use different energy

➜ different data use different energy

“Source Code Optimisation and Profiling of Energy

Consumption in Embedded Systems”: Simunic, et al, 2000.

SEPTEMBER 15, 2006 POWER MANAGEMENT 58

The imagination driving Australia’s ICT future.

DYNAMIC VOLTAGE SCALING

Dynamic frequency scaling:

➜ reduce the system frequency to reduce the power

➜ each switch we lose E =1

2Cv2

➜ C comes from the gate and interconnect capacitance

➜ frequency is the rate at which we switch

➜ conclusion: power scales linearly with frequency

SEPTEMBER 15, 2006 POWER MANAGEMENT 59

The imagination driving Australia’s ICT future.

DYNAMIC VOLTAGE SCALING

Dynamic frequency scaling:

➜ reduce the system frequency to reduce the power

➜ each switch we lose E =1

2Cv2

➜ C comes from the gate and interconnect capacitance

➜ frequency is the rate at which we switch

➜ conclusion: power scales linearly with frequency

The energy required to complete a given amount of work is

unchanged

SEPTEMBER 15, 2006 POWER MANAGEMENT 59-A

The imagination driving Australia’s ICT future.

DYNAMIC VOLTAGE SCALING

Dynamic voltage scaling:

➜ if we reduce the frequency, the transistors don’t have to switch

as fast

➜ transistor speed is dependent on the driven voltage

➜ if we reduce the frequency, we can reduce the voltage

➜ given E =1

2Cv2, we get quadratic energy savings

SEPTEMBER 15, 2006 POWER MANAGEMENT 60

The imagination driving Australia’s ICT future.

DYNAMIC VOLTAGE SCALING

Voltage/frequency switching overheads:

➜ frequency generation is usually via a crystal and PLL

➜ clock multipliers control the PLL

➜ clock dividers generate lower frequencies

➜ the PLL has to settle following a change

➜ on the PXA255 (XScale) this is ≈ 500µs

➜ or, always run the PLL at full speed and change dividers

➜ on the PXA255 this takes 20 cycles.

SEPTEMBER 15, 2006 POWER MANAGEMENT 61

The imagination driving Australia’s ICT future.

DYNAMIC VOLTAGE SCALING

Scheduling for Reduced CPU Energy: Weiser, et al, 1994.

➜ assumption: idleness is bad

➜ eliminate idleness using DVS

• if idle time is large, decrease speed

• if idle time is small, increase speed

• adjust the speed periodically

Other algorithms:

➜ lots of ways of predicting idleness

SEPTEMBER 15, 2006 POWER MANAGEMENT 62

The imagination driving Australia’s ICT future.

DYNAMIC VOLTAGE SCALING

Balancing Batteries, Power and Performance:

System Issues in CPU Speed-Setting for Mobile

Computing: Thomas Martin, 2001

Peukert:

Q =k

➜ battery capacity is related to rate of discharge

➜ steady discharge may increase the battery life

➜ can DVS be used to attain this?

SEPTEMBER 15, 2006 POWER MANAGEMENT 63

The imagination driving Australia’s ICT future.

DYNAMIC VOLTAGE SCALING

QoS issues:

➜ reducing frequency reduces performance

➜ missed deadlines

➜ reduced QoS

➜ real-time techniques may be employed

SEPTEMBER 15, 2006 POWER MANAGEMENT 64

The imagination driving Australia’s ICT future.

DYNAMIC VOLTAGE SCALING

QoS issues:

➜ reducing frequency reduces performance

➜ missed deadlines

➜ reduced QoS

➜ real-time techniques may be employed

every man and his dog has an RT DVS technique

SEPTEMBER 15, 2006 POWER MANAGEMENT 64-A

The imagination driving Australia’s ICT future.

DYNAMIC VOLTAGE SCALING

Trouble in wonderland:

➜ ignoring leakage, transistors only use power when they switch

➜ not every part of the circuit switches on every clock cycle

➜ different sections run at different frequencies

➜ off-chip devices aren’t aren’t affected

SEPTEMBER 15, 2006 POWER MANAGEMENT 65

The imagination driving Australia’s ICT future.

DYNAMIC VOLTAGE SCALING

Trouble in wonderland:

➜ ignoring leakage, transistors only use power when they switch

➜ not every part of the circuit switches on every clock cycle

➜ different sections run at different frequencies

➜ off-chip devices aren’t aren’t affected

Also:

➜ We can’t ignore leakage!

The simple models only work in special cases

SEPTEMBER 15, 2006 POWER MANAGEMENT 65-A

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

“Power Management and Dynamic Voltage Scaling:

Myths and Facts”: Snowdon, et al, 2005.

➜ most academic research uses simulation for evaluation

➜ the naive models lead to incorrect results.

SEPTEMBER 15, 2006 POWER MANAGEMENT 66

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

“Power Management and Dynamic Voltage Scaling:

Myths and Facts”: Snowdon, et al, 2005.

➜ most academic research uses simulation for evaluation

➜ the naive models lead to incorrect results.

So:

➜ we take real measurements of a real system

➜ we run an appropriate benchmark suite (MiBench)

SEPTEMBER 15, 2006 POWER MANAGEMENT 66-A

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

“Power Management and Dynamic Voltage Scaling:

Myths and Facts”: Snowdon, et al, 2005.

➜ most academic research uses simulation for evaluation

➜ the naive models lead to incorrect results.

So:

➜ we take real measurements of a real system

➜ we run an appropriate benchmark suite (MiBench)

Results:

➜ real measurements differ dramatically from models

➜ optimum processor setting is dependent on workload

SEPTEMBER 15, 2006 POWER MANAGEMENT 66-B

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

The naive model:

➜ P ∝ fv2

Limitations:

➜ ignores “static” power (core-frequency independent)

➜ ignores external components

• affects computation time

• energy consumption scales differently to the CPU

SEPTEMBER 15, 2006 POWER MANAGEMENT 67

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

Experimental setup:

➜ single board computer – PLEB 2

➜ instrumented power supplies

Valid configurations:

Vcore (V) fcpu (MHz) finternalbus (MHz) fmem (MHz)

1.0 100 50 100

1.0 200 100 100

1.1 300 100 100

1.3 400 100 100

1.3 400 200 100

SEPTEMBER 15, 2006 POWER MANAGEMENT 68

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

Execution time for CPU bound:

4

6

8

10

12

14

16

18

20

22

24

50 100 150 200 250 300 350 400 450 500

Tot

al E

xecu

tion

Tim

e (s

)

Turbo Frequency (MHz)

Execution time vs. Frequency for cpubound

"cpubound.dat" index 0:7 using 1:2"cpubound.dat" index 8 using 1:2

SEPTEMBER 15, 2006 POWER MANAGEMENT 69

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

Execution time for Memory bound:

120

140

160

180

200

220

240

260

280

300

50 100 150 200 250 300 350 400 450 500

Tot

al E

xecu

tion

Tim

e (s

)

Turbo Frequency (MHz)

Execution time vs. Frequency for membound

"membound.dat" index 0:7 using 1:2"membound.dat" index 8 using 1:2

SEPTEMBER 15, 2006 POWER MANAGEMENT 70

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

Number of cycles for CPU bound:

0.8

1

1.2

1.4

1.6

1.8

2

2.2

2.4

2.6

2.8

50 100 150 200 250 300 350 400 450 500

Nor

mal

ised

cyc

les

Turbo Frequency (MHz)

Normalised cycles vs. Turbo Frequency for cpubound

"cpubound.dat" index 0:7 using 1:2"cpubound.dat" index 8 using 1:2

SEPTEMBER 15, 2006 POWER MANAGEMENT 71

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

Number of cycles for Memory bound:

0.8

1

1.2

1.4

1.6

1.8

2

2.2

2.4

2.6

2.8

50 100 150 200 250 300 350 400 450 500

Nor

mal

ised

cyc

les

Turbo Frequency (MHz)

Normalised cycles vs. Turbo Frequency for membound

"membound.dat" index 0:7 using 1:2"membound.dat" index 8 using 1:2

SEPTEMBER 15, 2006 POWER MANAGEMENT 72

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

CPU energy:

0.8

0.9

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

CP

U E

ne

rgy

Configurations

Vcorefcpufint bus

1.010050

1.0200100

1.1300100

1.3400100

1.3400200

Model predicted energyCpu-intensive

Memory-intensive

SEPTEMBER 15, 2006 POWER MANAGEMENT 73

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

Memory energy:

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Me

mo

ry E

ne

rgy

Configurations

Vcorefcpufint bus

1.010050

1.0200100

1.1300100

1.3400100

1.3400200

Cpu-intensiveMemory-intensive

SEPTEMBER 15, 2006 POWER MANAGEMENT 74

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

Total energy:

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

No

rma

lize

d T

ota

l E

ne

rgy

Configurations

Vcorefcpufint bus

1.010050

1.0200100

1.1300100

1.3400100

1.3400200

Model predicted energyCpu-intensive

Memory-intensive

SEPTEMBER 15, 2006 POWER MANAGEMENT 75

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

Padded with low-power mode power:

0.6

0.65

0.7

0.75

0.8

0.85

0.9

0.95

1

To

tal

En

erg

y

Configurations

Vcorefcpufint bus

1.010050

1.0200100

1.1300100

1.3400100

1.3400200

Cpu-intensiveMemory-intensive

SEPTEMBER 15, 2006 POWER MANAGEMENT 76

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

Conclusions:

➜ the memory/cpu frequency ratio affects the number of cycles

➜ the most effective DVS policy depends on usage

➜ the lowest-energy setting depends on the workload

➜ increasing frequency doesn’t improve membound performance

➜ idling in a low-power mode may be better than running at a low

frequency

SEPTEMBER 15, 2006 POWER MANAGEMENT 77

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

“Process cruise control: event-driven clock

scaling for dynamic power management”: Weissel and

Bellosa, 2002.

➀ maintain per-thread CPU performance counters

➁ use cache miss and instruction counters

➂ use a lookup table to select a frequency

➃ construct the table for ¡ 10% performance hit

Demonstrated energy savings of up to 37% with a 10%

slowdown for gzip

SEPTEMBER 15, 2006 POWER MANAGEMENT 78

The imagination driving Australia’s ICT future.

DVS: MYTHS AND FACTS

“Process cruise control: event-driven clock

scaling for dynamic power management”: Weissel and

Bellosa, 2002.

➀ maintain per-thread CPU performance counters

➁ use cache miss and instruction counters

➂ use a lookup table to select a frequency

➃ construct the table for ¡ 10% performance hit

Demonstrated energy savings of up to 37% with a 10%

slowdown for gzip

How would this affect a µK based system?

SEPTEMBER 15, 2006 POWER MANAGEMENT 78-A

The imagination driving Australia’s ICT future.

SLEEP MODES

Sleep modes:

➜ processors and devices have low-power modes

➜ these modes switch off parts of the processor

➜ some state or functionality will be lost

➜ lower-power modes tend to lose more functionality

➜ lower-power modes take longer to enter and exit

SEPTEMBER 15, 2006 POWER MANAGEMENT 79

The imagination driving Australia’s ICT future.

SLEEP MODES

Sleep modes:

➜ processors and devices have low-power modes

➜ these modes switch off parts of the processor

➜ some state or functionality will be lost

➜ lower-power modes tend to lose more functionality

➜ lower-power modes take longer to enter and exit

How do we choose when to sleep?

➜ processor(s)

➜ devices

SEPTEMBER 15, 2006 POWER MANAGEMENT 79-A

The imagination driving Australia’s ICT future.

SLEEP MODES

Case study: PXA255

Power

200MHz Run/Turbo 178mW

200MHz Idle 63mW

33MHz Idle 45mW

Sleep 0.175mW

SEPTEMBER 15, 2006 POWER MANAGEMENT 80

The imagination driving Australia’s ICT future.

SLEEP MODES

Case study: Hard disk

Sleep delay Wake delay Power

Idle 0 0 657mW

Standby 0.85s 1.03s 235mW

SEPTEMBER 15, 2006 POWER MANAGEMENT 81

The imagination driving Australia’s ICT future.

SLEEP MODES

Transition management:

➜ some energy is saved while “asleep”

➜ some energy is wasted while transitioning

➜ introduced delay reduces quality-of-service

We need to predict the future

SEPTEMBER 15, 2006 POWER MANAGEMENT 82

The imagination driving Australia’s ICT future.

SLEEP MODES

“Idleness is not sloth”: Golding, et al, 1995.

➜ an “idleness detector” should predict the start time and duration

of an idle period

Idle start:

➜ timeout based: (static, variable, adaptive)

➜ rate-based: (static, adaptive thresholds)

➜ periodic: (maintain a DPLL)

SEPTEMBER 15, 2006 POWER MANAGEMENT 83

The imagination driving Australia’s ICT future.

SLEEP MODES

“Idleness is not sloth”: Golding, et al, 1995.

➜ an “idleness detector” should predict the start time and duration

of an idle period

Idle start:

➜ timeout based: (static, variable, adaptive)

➜ rate-based: (static, adaptive thresholds)

➜ periodic: (maintain a DPLL)

Idle duration:

➜ static (infinite, none, fixed)

➜ moving average (filtered, unfiltered)

➜ backoff (geometric increase, arithmetic decrease)

➜ periodic

SEPTEMBER 15, 2006 POWER MANAGEMENT 83-A

The imagination driving Australia’s ICT future.

SLEEP MODES

OS support:

➜ Cooperative IO (Weissel, et al)

➜ Ghosts in the machine (Anand, et al)

➜ Power-aware page allocation (Lebeck, et al)

➜ Timer ticks (IBM Watch project)

Other possible power down areas:

➜ LCD backlight (user context sensing, selective lighting)

➜ wireless network

➜ sound card

SEPTEMBER 15, 2006 POWER MANAGEMENT 84

The imagination driving Australia’s ICT future.

SLEEP MODES

Conclusions:

➜ keep it simple - DTT with break-even time does OK.

➜ adaptive techniques can save power

➜ operating system co-operation improves

➜ Douglis et al present potential reductions of 60% beyond a 5s

timeout

SEPTEMBER 15, 2006 POWER MANAGEMENT 85

The imagination driving Australia’s ICT future.

ADAPTATION

Adaptation:

➜ applications can sometimes adjust their computation best

• MPEG/JPEG

• audio bitrate

• game FPS

• distributed process migration

• map viewer detail (Flinn)

➜ applications can scale their QoS to meet a goal

• a given battery lifetime

• a given CPU temperature

➜ requires operating system feedback

SEPTEMBER 15, 2006 POWER MANAGEMENT 86

The imagination driving Australia’s ICT future.

EVALUATION TECHNIQUES

Evaluation techniques:

➜ Simulation

➜ State-based accounting

➜ Indirect measurement

➜ Real measurement

SEPTEMBER 15, 2006 POWER MANAGEMENT 87

The imagination driving Australia’s ICT future.

EVALUATION TECHNIQUES

➜ Simulation

X necessary information may not be available

X non-trivial to build

X usually limited to CPU/memory.

X computing power vs. detail

X difficult to interface

➜ State-based accounting

X assumes a constant power in each state

➜ Indirect measurements

X only really applies to the CPU and memory (at the moment)

X Insufficient performance counters for energy-related events

➜ Real power measurements

X may measure background activity incorrectly

X overhead vs. resolution

X cumbersome difficult to obtain setup

SEPTEMBER 15, 2006 POWER MANAGEMENT 88

The imagination driving Australia’s ICT future.

EVALUATION TECHNIQUES

Powerscope (Energy profiling):

➜ Flinn, 99

➜ designed to be similar to performance profile

➜ A host computer monitors a computer being profiled

➜ a computer-controlled multimeter samples the actual energy

used

➜ the profiled computer records PIDs and PC for each sample

➜ post-processing attributes energy to procedures/processes

SEPTEMBER 15, 2006 POWER MANAGEMENT 89

The imagination driving Australia’s ICT future.

EVALUATION TECHNIQUES

SEPTEMBER 15, 2006 POWER MANAGEMENT 90

The imagination driving Australia’s ICT future.

ENERGY ACCOUNTING

Energy accounting:

➜ ECOSystem (Zeng, et al, 2001)

• currentcy is used as a primitive for energy allocation

• currentcy is only valid for a certain time

• resource containers are used for resource charging

• model-based techniques are used to charge RCs.

• internal policy is used to select resource containers

➜ LEA

• charges using real power measurements

SEPTEMBER 15, 2006 POWER MANAGEMENT 91

The imagination driving Australia’s ICT future.

ENERGY ACCOUNTING

Energy accounting:

➜ ECOSystem (Zeng, et al, 2001)

• currentcy is used as a primitive for energy allocation

• currentcy is only valid for a certain time

• resource containers are used for resource charging

• model-based techniques are used to charge RCs.

• internal policy is used to select resource containers

➜ LEA

• charges using real power measurements

Energy Budgeting:

➜ a budget is allocated to each resource container

➜ resource containers in debt are not scheduled

➜ the budget is periodically refreshed

SEPTEMBER 15, 2006 POWER MANAGEMENT 91-A

The imagination driving Australia’s ICT future.

ENERGY ACCOUNTING

‘‘Event-Driven Energy Accounting for Dynamic

Thermal Management’’: Bellosa, et al, 2003

➜ use CPU performance counters to estimate CPU temp

➜ account the energy contribution of each RC

➜ schedule ”hot” processes interspersed with ”cold” processes

➜ can maintain a given temperature limit

SEPTEMBER 15, 2006 POWER MANAGEMENT 92