La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

- Progettare per Produrre : dalla teoria alla pratica -

Presentazioni simili


Presentazione sul tema: "- Progettare per Produrre : dalla teoria alla pratica -"— Transcript della presentazione:

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

2 Agenda Parte I Parte II Parte III 2 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

3 Chi siamo DAVE S.R.L. via Forniz 2 , 33080 Porcia tel. +39.0434.921215
fax web: fondata nel 1998 3

4 Servizi e Prodotti Moduli CPU (SOM “System On Module”)
Sistemi embedded completi Servizi di Progettazione Porting (Linux, uCLinux, eCos, Windows CE) Drivers Applicazioni 4

5 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

6 Sistema Embedded: la struttura
6

7 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

8 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

9 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

10 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

11 Moduli Embedded: la struttura
11

12 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

13 B2:Entry/Small Networking [ARM7TDMI]
13

14 PPChameleon: Intensive Computation [PowerPC]
14

15 Industry Standard:ARM920T [Zefeer]
15

16 Portable : ARM920T [Parsy]
16

17 La gamma (periferiche)
17

18 Agenda Parte I Parte II Parte III 18 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

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

20 Concept Product Microprocessore (Architettura, famiglia , casa)
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 20

21 Da schema elettrico a PCB
+ Spec. Mecc. comp Indicazioni di sbroglio Routing Place Signal integrity HW Engineer PCB Designer 21

22 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

23 Hot nets : Nets critiche
Clock: alim. uP, uP-RAM, ext. Chip (ETH, USB, LCD ecc.) Alimentazione uP [10-50 Mhz] uP-RAM (SCLK) [ 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) 23

24 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

25 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  (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 ) 25

26 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

27 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 ( ) [$  ] 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

28 Case Study A: DZQ 28 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

29 DZQ: bottom layout 29

30 DZQ: Top layer 30

31 DZQ: Power Plane 31

32 DZQ: Ground Plane 32

33 DZQ: drill layout 33

34 Case Study B 34

35 Case Study B: Bottom layout
35

36 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

37 Case Study B : Top Layer 37

38 Case Study B : Top layer BLUE: Data Bus GREEN:RGB Signal VIOLET: FPGA program signal 38

39 Case Study B : Ground Plane (I2)
39

40 Case Study B : Inner 4 40

41 Case Study B : Inner3 41

42 Case Study B : Power Plane (I5)
42

43 Case Study B : Bottom layer
43

44 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) 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

45 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

46 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

47 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. 89/336 CEI EN 50022, 50024 47

48 EMC 48

49 EMC 49

50 Agenda Parte I Parte II Parte III 50 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

51 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 Il progetto nasce nell’ambito di un’attività di ricerca svolta da DAVE s.r.l. Il lavoro svolto è stato sfruttato come argomento di tesi 51

52 Perché usare un FPGA? FPGA IBM PPC405EP 52
Scalabilità: medesimo hardware, set di periferiche configurabile Sfruttando il core PowerPC integrato e la logica programmabile è possibile ottenere questo risultato IBM PPC405EP 52

53 Struttura Hardware Flexy
opzionale Memorie DDR CPLD+Flash per configurazione FPGA e immagazzinamento firmware LAN opzionali PSU: da 5V genera tutte le tensioni necessarie PSU 53

54 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à Memorie DDR: SSTL-2 è lo standard elettrico per i segnali del bus Frequenze fino a 400MHz Flexy monta 2 componenti con frequenze di lavoro previste fino a 333MHz 54

55 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 Il fatto di avere solo due componenti rende meno critica la SI in quanto avremo quasi sempre una configurazione Point-to-Point, eccetto per le linee dati quando si trasferisce verso le memorie (1 punto a 2 punti) Non esiste “LA” soluzione, ma va valutato ogni caso distintamente: qui vediamo come tre scelte differenti portino comunque ad un sistema funzionante 55

56 solo terminazioni parallelo
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 Abbiamo realizzato una soluzione che garantisse un buon controllo sulla SI senza appensantire troppo il routing ed il numero di componenti necessari La simulazione di SI eseguita nell’ambito della realizzazione del master fornirà indicazioni su eventuali correzioni da apportare allo schema elettrico 56

57 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

58 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 Il clock in ingresso al FPGA viene internamente modificato attraverso dei PLL in base alle necessità Alcune specifiche implementazioni nel FPGA richiedono un clock in ingresso di almeno 100MHz, diversamente si uò abbassare la frequanza del clock esterno In base a queste specifiche si è cercata una soluzione che permetta di minimizzare i problemi di emissioni EM 58

59 implementazione di due alternative
Soluzione realizzata implementazione di due alternative si sceglierà in base alle indicazioni dei test EMC Il generatore di clock esterno può essere montato in diversi modelli da 25, 50 o 100MHz (tutti pin-to-pin compatibili) Il FPGA prende il clock così com’è, mentre per i due PHY ci sono due alternative: Clock diviso opportunamente da CPLD già presente (riutilizzo risorse) Quarzi da 25MHz e non montare 0R per evitare propagazione sinusoide 59

60 Sistema di alimentazione
TPS54310 TPS54610 LP2996 1V25 Voltage Monitors 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 Gli stadi di alimentazione sono sovradimensionati rispetto alle stime di assorbimento poichè esse dipendono in gran parte dalla logica implementata caso per caso nel FPGA Inoltre in questo modo si ottiene una PSU che non lavora al limite delle sue capacità -> più “fredda” Sempre consigliabile l’utilizzo di voltage monitors per rendere più “robusto” il sistema 2600mA 1.2V 2650mA 2.5V 1330mA 3.3V Assorbimento Tensione 60

61 caratteristiche condensatori reali
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 I condensatori reali presentano una frequenza di risonanza, alla quale è associata la loro impedenza minima Inoltre con il diminuire del valore di capacità abbiamo un aumento della frequenza di risonanza assieme ad un aumento dell’impedenza minima Esempio: C0G meglio di X7R ma solo valori molto piccoli (alte frequenze) 61

62 Bypass VCCO(2,5V) per FPGA
Il sistema di condensatori prevede quantità sempre maggiori col diminuire del loro valore unitario (-> frequenza di lavoro) Complessivamente si cerca di tenere limpedenza al di sotto di una certa soglia nella banda di frequenze di interesse 62

63 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 Si cerca una disposizione dei componenti che riduca al massimo la sovrapposizione delle piste e dei gruppi di segnali relativi a diverse interfacce 63

64 Disposizione segnali su FPGA
Raggruppamento per standard elettrici compatibili Ottimizzazione percorsi interni ed esterni tramite raggruppamento per componente Il dispositivo FPGA è diviso in banchi Tutti i pin di un banco devono avere standard elettrici compatibili tra loro: ad esempio stesso livello di tensione Ottimizzazione routing interno -> prestazioni migliori (frequenze massime maggiori); in alcuni casi sono indispensabili per il corretto funzionamento di determinate interfacce (vedi DDR) 64

65 Ipotesi di Placement VTT island sono le zone riservate alle terminazioni del bus DDR Si è cercato di evitare la sovrapposizione dei segnali Le LAN sono opzionali -> segnali anche sul connettore Zona riservata LAN: solo segnali destinati ai PHY per poter modificare il PCB (modello senza LAN) senza rifare tutto il routing ma solo eliminando le piste non necessarie Grazie all’adozione di una teconologia produttiva a fori ciechi è possibile sovrapporre componenti BGA ai connettori montati sull’altro lato del PCB 65

66 Conclusioni Progettazione / realizzazione Progetti Hi-Tech
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


Scaricare ppt "- Progettare per Produrre : dalla teoria alla pratica -"

Presentazioni simili


Annunci Google