66
Università di Trieste 4 Maggio 2006 “ Progettazione e realizzazione di moduli a microprocessore ad alte prestazioni ” - Progettare per Produrre : dalla teoria alla pratica -

Università di Trieste 4 Maggio 2006

  • Upload
    nikita

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

Università di Trieste 4 Maggio 2006 “ Progettazione e realizzazione di moduli a microprocessore ad alte prestazioni ” - Progettare per Produrre : dalla teoria alla pratica -. Agenda. Parte I presentazione della società sistemi embedded e moduli embedded Parte II - PowerPoint PPT Presentation

Citation preview

Page 1: Università di Trieste 4 Maggio 2006

Università di Trieste

4 Maggio 2006

“ Progettazione e realizzazione di moduli a

microprocessore ad alte prestazioni ”

- Progettare per Produrre : dalla teoria alla pratica -

Page 2: Università di Trieste 4 Maggio 2006

Agenda• Parte I

– presentazione della società

– sistemi embedded e moduli embedded

• Parte II

– Concept Product (specifiche di progetto)

– Progetto (schema elettrico/meccanico, PCB Mastering)

– Prototipazione e Debug

– Certificazione (pre-EMC, EMC)

• Parte III

– Progetto del modulo FLEXY su FPGA

– Signal Integrity

– Distribuzione dei clock

– Sistema di alimentazione e reti di bypass

– Placement e disposizione dei segnali

2

Page 3: Università di Trieste 4 Maggio 2006

Chi siamo

• DAVE S.R.L.

• via Forniz 2 , 33080 Porcia• tel. +39.0434.921215• fax +39.0434.1994030• e-mail: [email protected]• web: www.dave-tech.it• fondata nel 1998

3

Page 4: Università di Trieste 4 Maggio 2006

Servizi e Prodotti

• Moduli CPU (SOM “System On Module”)

• Sistemi embedded completi• Servizi di Progettazione

– Porting (Linux, uCLinux, eCos, Windows CE)

– Drivers

– Applicazioni

4

Page 5: Università di Trieste 4 Maggio 2006

Sistema Embedded: definizioni

5

• molte definizioni in letteratura; non c'e' una definizione universalmente riconosciuta

• Sistema Embedded è un sistema specializzato, incorporato in un dispositivo fisico in modo tale che possa controllarne le funzioni tramite un apposito programma software dedicato

• un Sistema Embedded è tipicamente dotato delle risorse hardware minime indispensabili per espletare le funzioni per cui è preposto

Page 6: Università di Trieste 4 Maggio 2006

Sistema Embedded: la struttura

6

Page 7: Università di Trieste 4 Maggio 2006

Sistema Embedded: i tipi

“General Purpose” (Pentiums II/III/IV, PowerPC, SPARC, Athlon ecc.)• software general purpose (da applicazioni da ufficio a simulazioni di sistemi biologici)• s.o. “pesanti” (Unix, Linux, Windows NT ecc.)• applicazioni: Personal Computer, workstation, servers,...• Assorbimento di corrente(potenza) notevole / necessità di ventole

Processori embedded: ARM, x86 (AMD520, Geode), Hitachi SH-3/4, MIPS, PowerPC• singolo programma• s.o. estremamente ridotto, spesso real-time• supporto funzionalita' DSP• applicazioni: telefonia cellulare, elettronica di consumo, controllo industriale ecc.

Microcontrollori• il costo ridotto e' l'obiettivo fondamentale• parallelismo ridotto (tipicamente 8 bit)• volumi di produzione enormi • applicazioni: automobili, termostati, telecomandi ecc.

7

Page 8: Università di Trieste 4 Maggio 2006

Cosa “intendiamo” per sistema embedded

8

• differenze rispetto ad un sistema PC classico:

– frequenze di lavoro (potenza di calcolo) tipicamente di molto inferiori

– tagli di memoria notevolmente inferiori

– dispositivi di I/O spesso molto piu' primitivi o addirittura assenti

• molte architetture non x86 profondamente incompatibili tra loro (ARM, PowerPC, MIPS, SH-4 ecc.)

– diversa endianness

– diverso set di istruzioni

– diversa organizzazione della memoria

Page 9: Università di Trieste 4 Maggio 2006

Dualità tra SOM e PC104

9

• PC104 è standard (SOM no)

• PC104 include i connettori (SOM no)• Su PC104 le espansioni sono a standard• Con i SOM controllo i consumi• SOM è predisposto per il plug su host • Consumo !• Costi

Page 10: Università di Trieste 4 Maggio 2006

Moduli Embedded: perchè

10

• Forniscono una soluzione hardware-software completa per la parte high-tech di un sistema embedded

• Permettono di concentrarsi sulle altre problematiche realizzative del dispositivo in cui verranno integrati

Page 11: Università di Trieste 4 Maggio 2006

Moduli Embedded: la struttura

11

Page 12: Università di Trieste 4 Maggio 2006

Moduli Embedded: CPU / tipologie

12

• Entry/Small Networking: • ARM7TDMI [famiglia B2]

• Industry Standard:• ARM920T [Zefeer]

• Portable:• ARM920T [Parsy] + Xscale [Rocket]

• Intensive Computation: • PowerPC [PPChameleon + Flexy]

Page 13: Università di Trieste 4 Maggio 2006

B2:Entry/Small Networking [ARM7TDMI]

13

Page 14: Università di Trieste 4 Maggio 2006

PPChameleon: Intensive Computation [PowerPC]

14

Page 15: Università di Trieste 4 Maggio 2006

Industry Standard:ARM920T [Zefeer]

15

Page 16: Università di Trieste 4 Maggio 2006

Portable : ARM920T [Parsy]

16

Page 17: Università di Trieste 4 Maggio 2006

La gamma (periferiche)

17

Flexy* PPChameleon Zefeer Parsy Rocket* B2CPU PowerPC 405 core D PowerPC 405 core D ARM920T ARM920T Xscale ARM7TDMIMHz < 400 133-266-333 166-200 100-200 <624 66-40/85° range availability yes yes yes-25/85° range availability yes yes yes yes yesFPU yes yes yesMultimedia Accelerator yes yes yesMMU I+DMMU I+DMMU I+DMMU I+DMMU I+DMMUCache 16K/16K 16K/16KDMA yes yesSDRAM Type DDR 266 SDR 133 SDR 133 SDRM 133 SDRM 133 SDR 100SDRAM (Mbytes) 64 16-32NOR Flash (Mbytes) 4-64 4-16 4-64 4-64 4-64 01/02/16NAND Flash (Mbytes) 32-128 Ethernet MAC 2 x 10/100 2 x 10/100 1 x 10PCI IP 2.0LCD IP (2K x 2K) XGA SVGA SVGA STNATA/IDE IP 2 noUSB host IP 2-3 1 noUSB device IP 1 1 noSPI IP 1 noI2C IP 1 1 1 YesI2S IP 1 1 1 noGPIO IP 64PACKAGE (mm) Tbd SO-DIMM 200 68 x 51 58 x 41 Tbd 80 x 56PSU 1 5,0V 1,8V 3,3V 3,0V Tbd 3,3VPSU 2 3,3VPOWER (mW) > 10.000 1500 800 600 600 750@ 133MHz

32-64-128 32-64-128 32-64-128 32-64-128

Page 18: Università di Trieste 4 Maggio 2006

• Parte I– presentazione della società

– sistemi embedded e moduli embedded

• Parte II

– Concept Product (specifiche di progetto)

– Progetto (schema elettrico/meccanico, PCB Mastering)

– Prototipazione e Debug

– Certificazione (pre-EMC, EMC)

• Parte III

– Progetto del modulo FLEXY su FPGA

– Signal Integrity

– Distribuzione dei clock

– Sistema di alimentazione e reti di bypass

– Placement e disposizione dei segnali

18

Agenda

Page 19: Università di Trieste 4 Maggio 2006

Processo realizzativo

19

• Concept Product (specifiche di progetto)• Progetto (schema elettrico/meccanico, PCB Mastering)• Prototipazione e Debug• Certificazione (pre-EMC, EMC)

Page 20: Università di Trieste 4 Maggio 2006

Concept Product

20

Specifiche di progetto:

• Potenza di calcolo CPU

• Risorse di memoria volatile/non volatile

• Periferiche integrate (Porte RS-232,USB, ETH, CAN, LCD controller ecc.)

• Periferiche AUX on board (RTC, EEPROM, ID dev.)

• Range di Temp. (C / I)

• Format meccanico (min/max)

• Power Supply

• Volumi annui di produzione

Scelte dei componenti

fondamentali:

• Microprocessore (Architettura, famiglia , casa)

• Memorie FLASH e SDRAM

• External Controller (USB, ETH)

• Power Supply Unit

Page 21: Università di Trieste 4 Maggio 2006

Da schema elettrico a PCB

21

Schema elettrico+

Spec. Mecc. comp

+Indicazioni di sbroglio

Place Routing

Signal integrity

HW Engineer PCB Designer

Page 22: Università di Trieste 4 Maggio 2006

Schema elettrico

22

• Electric CAD • Componenti di libreria proprietaria omologati• Inserimento componenti ausiliari a scopo debug primo

prototipo, misure generiche, test• Predisposizione soluzioni per EMC • Indicazioni per PCB Routing: Piste critiche, piani GND/VCC

e isole GND/VCC

Page 23: Università di Trieste 4 Maggio 2006

Hot nets : Nets critiche

23

• Clock: alim. uP, uP-RAM, ext. Chip (ETH, USB, LCD ecc.) • Alimentazione uP [10-50 Mhz]• uP-RAM (SCLK) [50-200 Mhz] • Ext chip (ETH CON , USB CON, LCD, ecc) [10-40Mhz]• Res di term. Serie (Rts) 22-68ohm con alternativa 0 ohm obbligatoria (EMC)

• Segnali di controllo memorie e chip (Unidirezionali)• Rt facoltativa

• BUS Unidirezionali : • ADDRESS BUS (20-30 traces)• RGB BUS (10-24 traces)

• BUS Bidirezionali: DATA BUS (32 traces) • No Rt per BUS se BUS < 100 Mhz , necessarie e di vario tipo se > 400Mhz (DDR)

• Eventuali piste analogiche • Piste di guardia

• Bus differenziali: RS485, CAN; ETH, LVDS, DVI (impdenza controllata)

Page 24: Università di Trieste 4 Maggio 2006

PCB Routing Rules e Indicazioni

24

• Clock, segnali di controllo del bus• Piste piu' corte possibili

• Percorsi lineari

• Unico layers (NO VIAS)

• Resistenze di terminazione [Rt] vicine alla sorgente (22-68ohm)

• BUS Unidirezionali : Equalizzazione lunghezza piste• BUS Bidirezionali: Equalizzazione lunghezza piste [No Rt] • Nets analogiche : piste di guardia , layers dedicato ecc. • Bus differenziali: impedenza controllata,

• Lunghezza minima, percorsi lineari, no incroci, no vias

• Indicazioni di portata di corrente max delle piste (VCC ecc.)

Page 25: Università di Trieste 4 Maggio 2006

Piani di GND/VCC e indicazioni di Routing

25

• Isole di massa diverse da GND ma aventi uguale riferimento unite in un solo punto (es AGND unita in un solo punto con GND)

• Isole di massa devono stare solamente vicine ai segnali/componenti di propria competenza (AGND limitata alla parte analogica del chip / evitare correnti di ritorno in altre isole di massa)

• Inserimento di filtri (pi-greco) come disacoppiamento tra due masse

• Capacita' di bypass dei vari chip piu' vicino possibile ai chip/connettori (piu' piccola la capacita + deve stare vicina )

Page 26: Università di Trieste 4 Maggio 2006

Flessibilita' di Routing

26

• Connettori con pinout non fissato (Swap)

• GPIO signals (Swap)

• Logiche CPLD, FPGA: swap di pin (si ha un routing piu’ lineare, tempi minori di sbroglio)

• Priorita’ di sbroglio piu’ bassa per i segnali non veloci.

Page 27: Università di Trieste 4 Maggio 2006

Caratteristiche principali di un PCB

27

• Dimensioni (AREA mm2) [$ ]• Spessore [0.8mm-2.0mm]

• Numero di layers (2-24) [Ns. Moduli : 4-10 ] [ $ , x2]

• Fori(via ) passanti o fori ciechi ($[passante] < $[ciechi] )

• Num di Via ( 500-1500) [$ ]• Dimensioni Vias (300um, 200um, 125um) [se < 100um [ $ ], ES; BGA passo 0.8mm

• Larghezza piste (6 mils) [$ ] • Isolamenti Piste (6 mils ) [$ ]• Impedenza controllata [$ ]• Dielettrico ( FR4 )

• Finitura, dalla meno pregiata in ordine crescente: SnPb (PCB doppiafaccia), HAL, Sn Chimico (BGA), Oro chimico (BGA), Flash gold ecc. [$ ]

• Contatti in Oro [$ ]

Page 28: Università di Trieste 4 Maggio 2006

Case Study A: DZQ

28

Num comp:200Num Pin: 1500 Layers:8Num Vias:1000Tracce: 6 milsIsolamenti: 6milsSpessore: 1.2mmT real. = 80 h

1 BGA-352-1.3mm2 BGA-64-1.0mmConn:70x2x0.6mm

Page 29: Università di Trieste 4 Maggio 2006

DZQ: bottom layout

29

Page 30: Università di Trieste 4 Maggio 2006

DZQ: Top layer

30

Page 31: Università di Trieste 4 Maggio 2006

DZQ: Power Plane

31

Page 32: Università di Trieste 4 Maggio 2006

DZQ: Ground Plane

32

Page 33: Università di Trieste 4 Maggio 2006

DZQ: drill layout

33

Page 34: Università di Trieste 4 Maggio 2006

Case Study B

34

Page 35: Università di Trieste 4 Maggio 2006

Case Study B: Bottom layout

35

Page 36: Università di Trieste 4 Maggio 2006

Case Study B: Grounds Plane

36

Num comp:700Num Pin: 3050 Layers:6Num Vias:1563Tracce: 6 milsIsolamenti: 6milsSpessore: 1.8mmT real. = 150 h

1 mils = 25,4um

Page 37: Università di Trieste 4 Maggio 2006

Case Study B : Top Layer

37

Page 38: Università di Trieste 4 Maggio 2006

Case Study B : Top layer

38

BLUE: Data Bus GREEN:RGB Signal VIOLET: FPGA program signal

Page 39: Università di Trieste 4 Maggio 2006

Case Study B : Ground Plane (I2)

39

Page 40: Università di Trieste 4 Maggio 2006

Case Study B : Inner 4

40

Page 41: Università di Trieste 4 Maggio 2006

Case Study B : Inner3

41

Page 42: Università di Trieste 4 Maggio 2006

Case Study B : Power Plane (I5)

42

Page 43: Università di Trieste 4 Maggio 2006

Case Study B : Bottom layer

43

Page 44: Università di Trieste 4 Maggio 2006

PCB Prototiping

44

Aziende manufatturiere di CS specializzate nella prototipazione

• Numero di pezzi minimo: 3-5

• Tempi di fornitura :

• 3 gg (2 layers)

• 5-6 gg (4 < layers < 10)

• Costi:

• Attrezzatura digitale: dai 350 euro (4 strati no BGA) - 700 euro (8 layers BGA)

• Materiali + lavoro: dipendono fortemente dalle caratteristiche del CS

(indicativamente da 350 euro ( 8pz, 2 layers) a 700 euro (8pz, 8 layers)

Es: DZQ: 8 layers, diel FR4, spessore 1.2mm, dim (50x68mm), 8pz a 69euro/cad -> tot= 552 euro

Page 45: Università di Trieste 4 Maggio 2006

PCB Assembling

45

Assemblaggio SMT/Wave Soldering (max 5pz)

• Manuale : solo per schede semplici (anche 6 layers -no BGA,no FINE-PITCH)

• Vantaggi: basso costo, velocita (no attrezzatura, no fornitori),

• Svantaggi: difficolta’ di saldatura (perdite di tempo durante il debug), bassa qualita’ di saldatura (cortocircuiti, etc)

• Macchina: presso un terzista, realizzazione attrezzatura (obbligatorio per i componenti BGA)

• Vantaggi: qualita’ di saldatura, primo assaggio del processo produttivo della scheda

• Svantaggi: costo elevato, attrezzatura da buttare, tempi lunghi (2-3 weeks)

• Note: E’ difficile trovare terzisti attrezzati per prototipazioni complesse (BGA) e allo stesso tempo veloci (5-10g)

Page 46: Università di Trieste 4 Maggio 2006

Debugging

46

Predisposizioni su PCB che aiutano la fase di debugging:

• Test point segnali critici, clock e segnali di controllo

• Test point sulle varie VCC e GND

• Fori di fissaggio

• Bus Dati su connettore ausiliario (collegamento e ETH controller etc) interfacciamneto generico a francobollo di debug

• Resistenze zero-ohm tra stadi di alimentazione e carichi (Setting tensioni 3V3, 1V8, 2V5, etc, misure di assorbimento)

• Connettori dedicati per analizzatore di stati logici

• Eventuali logiche programmabili per riservarsi la possibilita’ di modificare al volo il routing dei segnali senza risbrogliare o aggiungere filetti.

Page 47: Università di Trieste 4 Maggio 2006

EMC

47

I nostri moduli non sono dei prodotti finiti, ma sono componenti di un sistema piu’ ampio: non abbiamo l’obbligo di apporre la marcatura CE.

Tuttavia i prodotti vengono certificati CE per garantire al cliente di non avere problemi derivanti dal modulo durante le prove EMC.

Le prove della direttiva 89/336 :

• Emissioni e Immunita’ irradiata (CEI EN55022)

• Emissioni e disturbi condotti su porte di alimentaz. e di comunicaz. (CEI EN55024)

Sorgenti di disturbo tipiche: Clock uP-SRAM, Ethernet, Clock BUS RGB

Le strategie adottate come soluzioni a problemi EMC(oltre a Rt):

• Resistenze di terminazione serie (valore opportuno)

• Ferriti di filtro con caratteristiche tipiche 600ohm/100Mhz, 300mA sulle alimentazioni

• Ferriti sui flat – cable che vanno ai display LCD.

Page 48: Università di Trieste 4 Maggio 2006

48

EMC

Page 49: Università di Trieste 4 Maggio 2006

49

EMC

Page 50: Università di Trieste 4 Maggio 2006

Agenda• Parte I

– presentazione della società

– sistemi embedded e moduli embedded

• Parte II

– Concept Product (specifiche di progetto)

– Progetto (schema elettrico/meccanico, PCB Mastering)

– Prototipazione e Debug

– Certificazione (pre-EMC, EMC)

• Parte III

– Progetto del modulo FLEXY su FPGA

– Signal Integrity

– Distribuzione dei clock

– Sistema di alimentazione e reti di bypass

– Placement e disposizione dei segnali

50

Page 51: Università di Trieste 4 Maggio 2006

Introduzione al progetto

• Idea base:realizzare un nuovo prodotto caratterizzato da un’elevata configurabilità nella dotazione di periferiche

• Scelta operata:utilizzare un FPGA in sostituzione del tradizionale microprocessore

51

Page 52: Università di Trieste 4 Maggio 2006

Perché usare un FPGA?

FPGA

IBM PPC405EP

52

Page 53: Università di Trieste 4 Maggio 2006

Struttura Hardware Flexy

PSU

opzionale

53

Page 54: Università di Trieste 4 Maggio 2006

Signal Integrity: bus DDR

• Specifiche SSTL-2 per terminazione segnali bus

• In realtà in fase di progetto si cerca un compromesso tra affidabilità e semplicità

54

Page 55: Università di Trieste 4 Maggio 2006

Tre soluzioni

• Tre evaluation board per Virtex-4, tutte con due componenti di memoria DDR

–Evaluation board Avnetterminazioni serie + terminazioni parallelo

–Evaluation board Xilinxsolo terminazioni parallelo

–Evaluation board Memecnessuna terminazione

55

Page 56: Università di Trieste 4 Maggio 2006

Soluzione realizzata

solo terminazioni parallelo

• L’integrità dei segnali non è critica per schemi con soli due componenti di memoria

• L’adattamento di impedenza sul fronte controller (FPGA) può essere realizzato tramite DCI (Digital Controlled Impedance)

• La conferma della bontà della soluzione verrà con le simulazioni di Signal Integrity

56

Page 57: Università di Trieste 4 Maggio 2006

Distribuzione Clock

• I segnali di clock rappresentano una delle principali sorgenti di emissioni elettromagnetiche a causa del loro spettro molto esteso

• E’ necessario porre attenzione a:–Lunghezza percorsi linee di clock–Frequenze in gioco

• Si cerca di avere una sola sorgente a frequenza il più possibile bassa

57

Page 58: Università di Trieste 4 Maggio 2006

Clock necessari su Flexy

• FPGA:clock generato esternamente con frequenza tra i 25MHz e i 100MHz, variabile in funzione della specifica implementazione

• Ethernet PHY:Si hanno due opzioni

–quarzo a 25MHz pilotato da circuiteria interna–clock digitale a 25MHz generato esternamente

58

Page 59: Università di Trieste 4 Maggio 2006

Soluzione realizzata

implementazione di due alternative

si sceglierà in base alle indicazioni dei test EMC

59

Page 60: Università di Trieste 4 Maggio 2006

Sistema di alimentazione

• Reference design di Texas Instruments per Virtex-4 (modificato)

– 3 regolatori switching per le tre tensioni principali

– 1 regolatore lineare per la tensione 1.25V

• Il gruppo “Voltage Monitors” genera un reset in caso di cali di tensione

TPS54310

3V3@3A

TPS54310

2V5@3A

TPS54610

1V2@6A

LP2996

1V25

Voltage

Monitors

2600mA1.2V

2650mA2.5V

1330mA3.3V

AssorbimentoTensione

60

Page 61: Università di Trieste 4 Maggio 2006

Rete di bypass

• Lo scopo è fornire un percorso a bassa impedenza verso massa per le alimentazioni, riducendo il disturbo causato dai picchi di assorbimento dei componenti

caratteristiche condensatori reali

61

Page 62: Università di Trieste 4 Maggio 2006

Bypass VCCO(2,5V) per FPGA

1,00

E+03

1,00

E+04

1,00

E+05

1,00

E+06

1,00

E+07

1,00

E+08

1,00

E+09

1,00E-03

1,00E-02

1,00E-01

1,00E+00

1,00E+01

1,00E+02

1,00E+03

1,00E+04

1,00E+05

1,00E+06

Impedance VS Frequency

1x10u (0805X7R)

2x100n (0805X7R)

5x10n (0603X7R)

10x680p (0603X7R)10x680p (0603C0G)

Power Plane

Totale-X7R

Totale-C0G

Frequency

Imp

ed

an

ce

62

Page 63: Università di Trieste 4 Maggio 2006

Placement componenti

• La disposizione dei componenti sul PCB è fondamentale per ottenere buoni risultati

– semplificazione del routing– minimizzazione percorsi dei segnali– riduzione del numero di strati

• In Flexy c’è un grado di libertà in più: la dsposizione dei segnali sugli I/O del FPGA

63

Page 64: Università di Trieste 4 Maggio 2006

Disposizione segnali su FPGA

• Raggruppamento per standard elettrici compatibili

• Ottimizzazione percorsi interni ed esterni tramite raggruppamento per componente

64

Page 65: Università di Trieste 4 Maggio 2006

Ipotesi di Placement

65

Page 66: Università di Trieste 4 Maggio 2006

Conclusioni

• Progettazione / realizzazionenella fase di Progettazione occorre tener conto di

tutte le fasi di Produzione/Test/Debug/EMCrealizzare un Prodotto non è banale

• Progetti Hi-Tech know-how necessarioscelte strategiche

• Produrre moduli embeddedmake or buy ?

66