Progettazione - Università degli studi di Trieste

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
–
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
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
Servizi e Prodotti
• Moduli CPU (SOM “System On Module”)
• Sistemi embedded completi
• Servizi di Progettazione
– Porting (Linux, uCLinux, eCos, Windows CE)
– Drivers
– Applicazioni
4
Sistema Embedded: definizioni
• 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
5
Sistema Embedded: la struttura
6
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
Cosa “intendiamo” per sistema embedded
• 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
8
Dualità tra SOM e PC104
•
•
•
•
•
•
•
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
9
Moduli Embedded: perchè
• 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
10
Moduli Embedded: la struttura
11
Moduli Embedded: CPU / tipologie
• Entry/Small Networking:
• ARM7TDMI [famiglia B2]
• Industry Standard:
• ARM920T [Zefeer]
• Portable:
• ARM920T [Parsy] + Xscale [Rocket]
• Intensive Computation:
• PowerPC [PPChameleon + Flexy]
12
B2:Entry/Small Networking [ARM7TDMI]
13
PPChameleon: Intensive Computation [PowerPC]
14
Industry Standard:ARM920T [Zefeer]
15
Portable : ARM920T [Parsy]
16
La gamma (periferiche)
Flexy*
PPChameleon
Zefeer
Parsy
Rocket*
B2
CPU
PowerPC 405 core D PowerPC 405 core D ARM920T
ARM920T
Xscale
ARM7TDMI
MHz
< 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
yes
FPU
yes
yes
yes
Multimedia Accelerator
yes
yes
yes
MMU
I+DMMU
I+DMMU
I+DMMU
I+DMMU
I+DMMU
Cache
16K/16K
16K/16K
DMA
yes
yes
SDRAM Type
DDR 266
SDR 100
SDR 133
SDR 133 SDRM 133 SDRM 133
SDRAM (Mbytes)
16-32
32-64-128
32-64-128
32-64-128
64
32-64-128
NOR Flash (Mbytes)
01/02/16
4-64
4-16
4-64
4-64
4-64
NAND Flash (Mbytes)
32-128
Ethernet MAC
2 x 10/100
2 x 10/100
1 x 10
PCI
IP
2.0
LCD
IP (2K x 2K)
XGA
SVGA
SVGA
STN
ATA/IDE
IP
2
no
USB host
IP
2-3
1
no
USB device
IP
1
1
no
SPI
IP
1
no
I2C
IP
1
1
1
Yes
I2S
IP
1
1
1
no
IP
64
GPIO
PACKAGE (mm)
Tbd
SO-DIMM 200
68 x 51
58 x 41
Tbd
80 x 56
PSU 1
5,0V
1,8V
3,3V
3,0V
Tbd
3,3V
PSU 2
3,3V
POWER (mW)
> 10.000
1500
800
600
600
750
@
133MHz
17
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
18
Processo realizzativo
•
•
•
•
Concept Product (specifiche di progetto)
Progetto (schema elettrico/meccanico, PCB Mastering)
Prototipazione e Debug
Certificazione (pre-EMC, EMC)
19
Concept Product
Specifiche di progetto:
Scelte dei componenti
•
Potenza di calcolo CPU
fondamentali:
•
Risorse di memoria volatile/non volatile
•
Periferiche integrate (Porte RS-232,USB,
ETH, CAN, LCD controller ecc.)
• Microprocessore
(Architettura, famiglia , casa)
• Memorie FLASH e SDRAM
•
Periferiche AUX on board (RTC,
EEPROM, ID dev.)
•
• External Controller (USB,
ETH)
Range di Temp. (C / I)
•
Format meccanico (min/max)
• Power Supply Unit
•
Power Supply
•
Volumi annui di produzione
20
Da schema elettrico a PCB
Schema elettrico
+
Spec. Mecc. comp
+
Indicazioni di sbroglio
Routing
Place
Signal integrity
HW Engineer
PCB Designer
21
Schema elettrico
• 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
22
Hot nets : Nets critiche
•
•
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)
•
•
•
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
•
•
Rt facoltativa
Piste di guardia
Bus differenziali: RS485, CAN; ETH, LVDS, DVI (impdenza controllata)
23
PCB Routing Rules e Indicazioni
• 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.)
24
Piani di GND/VCC e indicazioni di Routing
• 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
due masse
 (pi-greco) come disacoppiamento tra
• Capacita' di bypass dei vari chip piu' vicino possibile ai
chip/connettori (piu' piccola la capacita + deve stare vicina )
25
Flessibilita' di Routing
• 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.
26
Caratteristiche principali di un PCB
•
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 [$  ]
27
Case Study A: DZQ
1 BGA-352-1.3mm
2 BGA-64-1.0mm
Conn:70x2x0.6mm
Num comp:200
Num Pin: 1500
Layers:8
Num Vias:1000
Tracce: 6 mils
Isolamenti: 6mils
Spessore: 1.2mm
T real. = 80 h
28
DZQ: bottom layout
29
DZQ: Top layer
30
DZQ: Power Plane
31
DZQ: Ground Plane
32
DZQ: drill layout
33
Case Study B
34
Case Study B: Bottom layout
35
Case Study B: Grounds Plane
Num comp:700
Num Pin: 3050
Layers:6
Num Vias:1563
Tracce: 6 mils
Isolamenti: 6mils
Spessore: 1.8mm
T real. = 150 h
1 mils = 25,4um
36
Case Study B : Top Layer
37
Case Study B : Top layer
BLUE: Data Bus
GREEN:RGB Signal
VIOLET: FPGA program signal
38
Case Study B : Ground Plane (I2)
39
Case Study B : Inner 4
40
Case Study B : Inner3
41
Case Study B : Power Plane (I5)
42
Case Study B : Bottom layer
43
PCB Prototiping
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
44
PCB Assembling
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)
45
Debugging
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.
46
EMC
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.
47
EMC
48
EMC
49
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
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
Perché usare un FPGA?
FPGA
IBM PPC405EP
52
Struttura Hardware Flexy
opzionale
PSU
53
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
Tre soluzioni
• Tre evaluation board per Virtex-4, tutte con due
componenti di memoria DDR
–Evaluation board Avnet
terminazioni serie + terminazioni parallelo
–Evaluation board Xilinx
solo terminazioni parallelo
–Evaluation board Memec
nessuna terminazione
55
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
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
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
Soluzione realizzata
implementazione di due alternative
si sceglierà in base alle indicazioni dei test EMC
59
Sistema di alimentazione
• Reference design di
Texas Instruments per
Virtex-4 (modificato)
TPS54310
3V3@3A
TPS54310
2V5@3A
LP2996
1V25
TPS54610
1V2@6A
Voltage
Monitors
Tensione
3.3V
2.5V
1.2V
Assorbimento
1330mA
2650mA
2600mA
– 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
60
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
Bypass VCCO(2,5V) per FPGA
Impedance VS Frequency
1,00E+06
1,00E+05
Impedance
1,00E+04
1x10u (0805X7R)
2x100n (0805X7R)
5x10n (0603X7R)
10x680p (0603X7R)
10x680p (0603C0G)
Power Plane
Totale-X7R
Totale-C0G
1,00E+03
1,00E+02
1,00E+01
1,00E+00
1,00E-01
1,00E-02
1,00E-03
03
1
+
0E
,0
04
E+
00
1,
05
1
+
0E
,0
06
+
0E
,0
1
07
1
+
0E
,0
08
1
+
0E
,0
9
+0
0E
0
,
1
Frequency
62
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
Disposizione segnali su FPGA
• Raggruppamento
per standard
elettrici compatibili
• Ottimizzazione
percorsi interni ed
esterni tramite
raggruppamento
per componente
64
Ipotesi di Placement
65
Conclusioni
• Progettazione / realizzazione
nella fase di Progettazione occorre tener conto di
tutte le fasi di Produzione/Test/Debug/EMC
realizzare un Prodotto non è banale
• Progetti Hi-Tech
know-how necessario
scelte strategiche
• Produrre moduli embedded
make or buy ?
66