ing. Massimo Poli – diapositiva 1 Elettronica digitale, analogica e di potenza L’elettronica nel suo complesso è suddivisibile in tre grandi settori: elettronica digitale, elettronica analogica e elettronica di potenza. L’elettronica digitale tratta segnali discreti; mentre sia l’elettronica analogica sia l’elettronica di potenza trattano segnali analogici con la principale differenza che quest’ultima opera a potenze decisamente più alte rispetto alla precedente. Lo schema di un circuito elettronico utilizzato in una buona parte delle odierne applicazioni è il seguente: elettronica analogica elettronica digitale elettronica di potenza Come si nota dalla schematizzazione (che non ha alcuna pretesa di rappresentare un circuito elettronico totalmente generale) i tre settori interagiscono e svolgono le funzioni a cui sono più adatti. Ovviamente per passare dal mondo del “continuo” (analogico) a quello del discreto (digitale) sono necessari dei convertitori chiamati convertitori Analogico-Digitale (A/D) e Digitale-Analogico (D/A) che trasformano, rispettivamente, un segnale analogico in un segnale discreto e viceversa. ing. Massimo Poli – diapositiva 2 Alcune caratteristiche importanti dei settori dell’elettronica Settore Digitale Potenza istantanea ● Analogico Potenza ●● ●●● ●● ●●● Corrente di picco ripetitiva ● ● ●●● Corrente di picco non ripetitiva ● ● ●●● ●● ● ● ● Rumore ● ●●● ● Sensibilità alle condizioni operative ● ●●● ●● ●● ●●● Tolleranze di processo ● ●●● ● Linearità ● ●●● ● ●● ●● Potenza media ● ● Frequenza ● ● ● Scala di integrazione ● ● ● Rendimento di conversione ● Limiti operativi in corrente e tensione ● ing. Massimo Poli – diapositiva 3 Convertitore analogico-digitale Il convertitore analogico-digitale (abbreviato come ADC, A/D) è un circuito elettronico il cui scopo è quello di convertire segnali analogici (tensione, corrente, carica elettrica) in segnali discreti (digitali). La conversione analogico-digitale si compone di due passi: campionamento e quantizzazione. Il campionamento è l’operazione mediante la quale si estraggono campioni del segnale ad intervalli di tempo regolari Segnale continuo Segnale campionato Detta fH la massima frequenza del segnale [s(t)] da campionare, dal segnale campionato [sc(t)] è ricostruibile il segnale originario se e solo se la frequenza di campionamento (fS=1/∆T) è maggiore di 2 fH (teorema di Nyquist-Shannon): fS > 2fH. ing. Massimo Poli – diapositiva 4 Convertitore analogico-digitale Dall’operazione di campionamento vengono restituiti campioni “continui” del segnale; tali valori non possono essere rappresentati in un dominio discreto, dunque devono essere discretizzati. La quantizzazione è l’operazione che associa ad un insieme continuo (contenente infiniti elementi) un insieme discreto (contenente un numero finito di valori) secondo una determinata funzione di quantizzazione. Segnale campionato Segnale quantizzato Nella figura precedente si sono usati 16 livelli di quantizzazione (4 bit=24 livelli) e si è usata una funzione di quantizzazione che associa ad ogni livello continuo il livello discreto più prossimo. Più è alto il numero di bit utilizzati nella quantizzazione e minore è l’errore che si commette nella quantizzazione (errore di quantizzazione), cioè si riduce la distanza media tra il valore campionato e il corrispondente valore quantizzato. ing. Massimo Poli – diapositiva 5 Caratteristiche statiche invertitore vi vo ►Caratteristica di trasferimento vo/vi ►Soglia logica ►Swing logico di ingresso ►Swing logico di uscita ►Margine di rumore ing. Massimo Poli – diapositiva 6 Caratteristica di trasferimento Vo/Vi La caratteristica di trasferimento (f.d.t.) in tensione di un invertitore è la relazione che lega la tensione di uscita vo con la tensione di ingresso vi vo = f (vi ) La f.d.t. si costruisce a tratti facendo riferimento ad una catena di invertitori uguali vo,k-2 K-2 vi,k-2 v i , k +1 = v o , k K-1 vi,k-1 vo,k vo,k-1 K vi,k v o , k = f k (v i , k − 1 ) vo,k+1 K+1 vi,k+1 v o , k + 1 = f k + 1 (v i , k + 1 ) = f k + 1 (v o , k ) = f k + 1 ( f k (v i , k − 1 )) ing. Massimo Poli – diapositiva 7 vo,k = vi,k+1 Caratteristica di trasferimento vo/vi vo ,k = f k (vi , k ) vo ,k = f k (vi ,k ) Le curve B vo ,k +1 = f k +1 (vi , k +1 ) vo ,k +1 = f k +1 (vi , k +1 ) hanno 3 punti di intersezione: A, B, C. Le coordinate di A e B vengono definite valori di ingresso nominali A = {viHnom , voLnom } B = {viLnom , voHnom } C Le coordinate del punto C, vengono definite soglia logica (SL), cioè il punto della caratteristica di un invertitore in cui Vo=Vi 45° A vi,k = vo,k-1 C = {viSL , voSL } ing. Massimo Poli – diapositiva 8 Swing logico Si individuano inoltre i punti D e E tali che dvo = −1 dvi vo voHmin D vo = f (vi ) di coordinate D = {viL max ,voH min } E = {viH min , voL max } Si definiscono swing logico di ingresso (ILS) e di uscita (OLS) le seguenti grandezze E voLmax viLmax viHmin I LS = viH min − viL max vi OLS = voH min − voL max ing. Massimo Poli – diapositiva 9 Zone operative dell’invertitore La derivata dvo/dvi può essere vista come il limite per ∆vi che tende a zero del guadagno differenziale di tensione, in altri termini dvo ∆vo = lim dvi ∆vi →0 ∆vi Da un punto di vista geometrico, quindi, dvo/dvi=-1 rappresenta quei punti in cui si ha un guadagno in tensione unitario e invertente, ovvero quei punti in cui ad una variazione positiva/negativa dell’ingresso corrisponde una uguale variazione negativa/positiva dell’uscita. Da queste considerazioni derivano le seguenti: Se vi≤viLmax oppure vi≥viHmin allora: dvo ≤1 dvi in tale zona l’invertitore sopprime i disturbi (rumore) della tensione di ingresso (proprietà rigenerativa) Se viLmax ≤ vi≤viHmin allora: dvo ≥1 dvi in tale zona l’invertitore amplifica la tensione di ingresso, l’uscita dell’invertitore è instabile e tende ad andare o verso voLnom, o verso voHnom. ing. Massimo Poli – diapositiva 10 Margini di rumore Il rumore nel dominio digitale rappresenta variazioni indesiderate del valore logico di un nodo. Si definisce margine di rumore di un invertitore il massimo livello di rumore che può essere sostenuto dall’invertitore (un livello maggiore porta ad un malfunzionamento dell’invertitore e quindi ad un valore indeterminato del nodo di uscita) quando è messo in cascata con un altro invertitore uguale. vi1 vo1= vi2 I1 vo2 vi2 = vo1 I2 voHmin viHmin2 Si definisce margine di rumore alto (NMH) la differenza NM H = voH min − viH min 2 viLmax2 analogamente si definisce margine di rumore basso (NML) la differenza NM L = viL max 2 − voL max NMH NML voLmax vo2 viLmax viHmin Dal momento che i due invertitori sono uguali si ha: viHmin2 = viHmin e viLmax2 = viLmax dunque NM H = voH min − viH min NM L = viL max − voL max vi1 ing. Massimo Poli – diapositiva 11 Significato fisico dei margini di rumore Supponiamo che vi1 sia basso (vi1≤viLmax), di conseguenza vo1= vi2 è alto (vo1≥voHmin, vi2 ≥viHmin) e vo2 è basso (vo2≤voLmax). Adesso ipotizziamo che per qualche ragione (rumore) il nodo vo1 subisca una variazione di tensione superiore a NMH+δ e che dunque si posizioni ad un livello pari a voE. Quale sarà il valore di tensione di uscita vo2? Inizialmente vo2 avrà un valore vo2E, ma tale valore, come discusso in precedenza, si trova in una zona di instabilità della caratteristica, quindi dopo un certo transitorio, vo2 tenderà o a voLnom oppure a voHnom. Il problema risiede nel fatto che a priori non è possibile stabilire a quale valore tende, dando così una indeterminazione funzionale non voluta in un circuito digitale. Da questa breve considerazione si deduce che i margini di rumore sono delle variazioni di tensione superate le quali non è più garantito il funzionamento del circuito digitale. vi1 vo1= vi2 I1 vo2 I2 vi2 = vo1 δ voHmin NMH viHmin2 voE viLmax2 NML voLmax vo2 vo2E viLmax viHmin vi1 ing. Massimo Poli – diapositiva 12 Potenza media statica Siano IoL e IoH rispettivamente le correnti (statiche) erogate dalla tensione di alimentazione VDD in corrispondenza delle tensioni nominali di uscita voLnom e voHnom. Si definisce potenza media statica la quantità PST = VDD I oL + I oH 2 VDD vo IoH voHnom INV voHnom VDD IoL INV voLnom voLnom vi ing. Massimo Poli – diapositiva 13 Fan-in e fan-out ►Si definisce fan-in il numero massimo di ingressi ad una porta logica che ne garantiscono il funzionamento ►Si definisce fan-out il numero massimo di porte logiche che una data porta può pilotare garantendo il suo funzionamento fan-in Con riferimento allo specifico caso riportato in figura, entrambe le definizioni sono associate all’invertitore INV; in tal caso il fan-in e il fan-out sono, rispettivamente, il numero massimo di invertitori che possono pilotare e essere pilotati da INV mantenendo il suo funzionamento logico corretto. Ciascun invertitore (così come tutte le porte logiche) ha una capacità di ingresso e una capacità di uscita. Le capacità di uscita degli invertitori Ii1…Iim contribuisco ad aumentare la capacità in ingresso a INV, mentre quelle di ingresso di Io1…Ion aumentano la sua capacità di uscita. Si comprende quindi come all’aumentare di m e n si possa raggiungere un carico capacitivo di ingresso/uscita non più sostenibile da INV: in altri termini trattandosi di un invertitore questo significa che INV non effettuerebbe più correttamente l’inversione dell’ingresso. fan-out Ii1 Io1 Ii2 Io2 Iim INV Ion ing. Massimo Poli – diapositiva 14 Caratteristiche dinamiche invertitore vi vo ►Tempo di salita ►Tempo di discesa ►Ritardo di salita (tempo di propagazione basso-alto) ►Ritardo di discesa (tempo di propagazione alto-basso) ►Ritardo di propagazione (tempo di propagazione) ing. Massimo Poli – diapositiva 15 Caratteristiche dinamiche invertitore Si consideri un invertitore k inserito in una catena di invertitori come riportato in figura. Siano note CI e CO, rispettivamente la capacità di ingresso e di uscita di tale invertitore, allora è possibile trovare un circuito equivalente al precedente sostituendo all’ingresso e all’uscita di k i carichi capacitivi equivalenti (CT e CL): vi k+1 k-1 vi k vo k+2 CO + C I = CT k vo C L = CO + n ⋅ C I vi vo t k+n t Ovviamente la presenza di capacità di ingresso e di uscita altera il funzionamento del circuito portando a delle distorsioni delle forme d’onda di ingresso e uscita. La capacità CT è la somma di due capacità solitamente sufficientemente piccole da non causare distorsioni in vi, mentre la capacità CL è tale da causare distorsioni nella forma d’onda di uscita (vo). Chiaramente questo è solo un esempio, a seconda dell’entità dei carichi capacitivi equivalenti si hanno più o meno distorsioni. ing. Massimo Poli – diapositiva 16 Tempi di salita e di discesa Con riferimento alla figura, si individuino i punti in cui vo è pari al 90% e al 10% della massima escursione in tensione di uscita (vOH - vOL); vo raggiunge i suddetti valori rispettivamente nei tempi tf90, tf10 per la transizione alto-basso e tr90, tr10 per quella basso-alto. vi vo vOH tir tif t vO90%=vOL+0.9(vOH-vOL) vO10%=vOL+0.1(vOH-vOL) vOL tf90 tf10 tr10 tr90 t Si definisce tempo di salita tr la differenza tr90-tr10 t r = t r 90 − t r10 Si definisce tempo di discesa tf la differenza tf10-tf90 t f = t f 10 − t f 90 ing. Massimo Poli – diapositiva 17 Esempio di calcolo del tempo di salita/discesa In un modello semplificato dell’invertitore, per il teorema di Thevenin, l’uscita dell’invertitore può essere vista come un generatore di tensione con in serie una resistenza. Quanto l’uscita dell’invertitore transita da basso (vOL ) a alto (vOH) il generatore di tensione equivalente di Thevenin è pari a vOH, quanto transita da alto (vOH) a basso (vOL ) il suo valore è nullo. Dunque si ha R k CL vEQ cL Supponendo per semplicità che vOH = VDD e vOL = 0, il tempo di salita/discesa si calcola come segue. Rr 0 VDD Rf VDD cL cL t −tif − tr 90% − tif = − ln(0.1) ⋅ Rr CL ≅ 2.3Rr CL Rr CL ⇒ ⇒ vO = VDD 1 − e tr10% − tif = − ln(0.9) ⋅ Rr CL ≅ 0.1Rr CL ⇒ vO = VDDe − t −tir R f CL ⇒ ⇒ tr ≅ 2.2Rr CL t f 90% − tir = − ln(0.9) ⋅ R f CL ≅ 0.1R f CL ⇒ t f ≅ 2.2R f CL t f 10% − tir = − ln(0.1) ⋅ R f CL ≅ 2.3R f CL Si noti che l’invertitore è stato modellato con due diverse resistenze equivalenti per la transizione basso-alto (Rr) e per quella alto-basso (Rf) dato che, in generale, non è detto che l’invertitore abbia un comportamento “simmetrico” nelle due transizioni. Nel caso in cui l’invertitore sia simmetrico e quindi Rr = Rf = R si ha t r = t f ≅ 2.2 RC L ing. Massimo Poli – diapositiva 18 Ritardi di salita e di discesa Analogamente a quanto fatto prima, si individuino i punti in cui vo è pari al 50% della massima escursione in tensione di uscita (vOH - vOL); vo raggiunge i suddetti valori rispettivamente nei tempi tof50 per la transizione alto-basso e tor50 per quella basso-alto. Si individuino inoltre i punti in cui vi è pari al 50% della massima escursione in tensione di ingresso (vIH - vIL); vi raggiunge i suddetti valori rispettivamente nei tempi tif50 per la transizione basso-alto e tir50 per quella alto-basso (vi è un’onda quadra quindi tali valori coincidono con l’inizio delle transizioni). vi Si definisce ritardo di salita τpLH o tempo di propagazione basso-alto vIH τ pLH = tor 50 − tif 50 vIL vo tir50 tif50 t vOH vO50%=vOL+0.5(vOH-vOL) Si definisce ritardo di discesa τpHL o tempo di propagazione altobasso τ pHL = tof 50 − tir 50 vOL τpLH tof50 τpHL tor50 t Si definisce inoltre ritardo di propagazione τpd o tempo di propagazione la quantità τ pd = τ pLH + τ pHL Nel caso di invertitore simmetrico si parla solo di tempo di propagazione e si ha τpLH = τpHL = τpd. 2 ing. Massimo Poli – diapositiva 19 Esempio di calcolo del tempo di propagazione Come fatto in precedenza si usa il seguente modello semplificato dell’invertitore R k CL vEQ cL e per semplicità si suppone che vOH = VDD e vOL = 0, quindi Rr 0 VDD Rf VDD cL cL t − tif 50 − Rr C L ⇒ vO = VDD 1 − e ⇒ τ pLH = − ln (0.5) ⋅ Rr CL ≅ 0.69 Rr C L ⇒ vO = VDD e − t − tir 50 R f CL ⇒ τ pHL = − ln (0.5) ⋅ R f C L ≅ 0.69 R f CL Come nel caso precedente, l’invertitore è stato modellato con due diverse resistenze equivalenti per la transizione basso-alto (Rr) e per quella alto-basso (Rf). Nel caso in cui l’invertitore sia simmetrico e quindi Rr = Rf = R si ha 1 1 τ pd = τ pLH = τ pHL ≅ 0.69 RC L ≅ t r = t f 3 3 ing. Massimo Poli – diapositiva 20 Stima della massima frequenza operativa Sia T il periodo (f = 1/T la frequenza) dell’onda quadra in ingresso all’invertitore, quale è il minimo periodo consentito (la massima frequenza consentita) affinché il funzionamento dell’invertitore sia garantito? Il funzionamento dell’invertitore è garantito quando è possibile ricostruire il segnale digitale di uscita, in altri termini quando è possibile discernere lo stato alto dell’uscita da quello basso. Dunque è sufficiente garantire che una transizione basso-alto dell’ingresso porti l’uscita al di sotto della soglia logica vSL e che una transizione alto-basso dell’ingresso porti l’uscita al di sopra della soglia logica: da questi punti in poi, trovandosi l’uscita in una zona di instabilità, tenderà a convergere verso i punti stabili (voHnom, voLnom) più vicini al valore di tensione iniziale. In realtà, come si è discusso in precedenza, la zona di instabilità non dà assoluta garanzia del funzionamento dell’invertitore, quindi il metodo precedente offre una stima per eccesso della massima frequenza operativa. vo voHnom 45° voLnom vSL vi ing. Massimo Poli – diapositiva 21 Stima della massima frequenza operativa Una stima più conservativa (per vi difetto) si può ottenere garantendo per l’uscita dell’invertitore un tempo maggiore della somma del tempo di salita e del tempo di discesa (tr + tf); in tal caso infatti ci si troverebbe nella condizione limite in cui l’uscita è molto simile ad un’onda vo triangolare. Dunque Tmin Tmin ≥ tr + t f ≅ 2.2 ⋅ C L (Rr + R f ) tf90 tf10 Garantendo un ulteriore 20% di margine la stima di Tmin risulta tr10 t tr90 Tmin = 1.2 ⋅ 2.2 ⋅ CL (Rr + R f ) = 2.64 ⋅ C L (Rr + R f ) Che nell’ipotesi di invertitore simmetrico diviene Tmin = 5.28 ⋅ RCL t ing. Massimo Poli – diapositiva 22 Dissipazione di potenza In un circuito digitale (e non solo) la dissipazione di potenza è strettamente legata la calore dissipato dal circuito e all’energia richiesta da ciascuna operazione, quindi è legata a ►Numero di dispositivi integrabili per chip ►Tipo di package ►Tipologia di sistema di raffreddamento richiesta ►Massima tensione e massima corrente richieste Mentre il “Numero di dispositivi integrabili per chip” è un problema che riguarda tutte le tipologie di circuiti digitali perché, in genere, si vuole la più alta scala di integrazione possibile, per quanto riguarda gli altri punti essi sono legati alle applicazioni specifiche. Ad esempio per un circuito digitale che viene utilizzato in un dispositivo portatile sono di primaria importanza il package (più piccolo possibile per ridurre le dimensioni), la tipologia di raffreddamento (sempre per evitare dimensioni e pesi troppo elevati) e la massima tensione e corrente richieste (per consentire una maggiore durata della batteria); mentre per un sistema non portatile è di primaria importanza la tipologia di raffreddamento (il package non è rilevante in quanto si presume si abbia tutto lo spazio che si vuole per realizzare il circuito; la massima tensione e corrente non sono rilevanti perché si suppone che l’alimentazione provenga dalla tensione di rete). In definitiva, dunque, la dissipazione di potenza coinvolge la realizzabilità, il costo e l’affidabilità di un circuito digitale. ing. Massimo Poli – diapositiva 23 Contributi alla dissipazione di potenza Dato un circuito digitale sia Va la tensione di alimentazione (costante) e ia(t) la corrente da essa erogata. Si definisce potenza istantanea P(t) il prodotto Va P(t ) = Va ⋅ ia (t ) ia(t) Circuito digitale tale potenza è la potenza erogata, istante per istante, dall’alimentazione. Si definisce potenza di picco Ppeak il massimo della potenza istantanea o in altri termini il prodotto della massima corrente (ipeak) erogata dall’alimentazione per la tensione di alimentazione stessa Va Ppeak = max (P(t )) = i peak ⋅ Va La potenza istantanea è dunque quella grandezza che determina la massima corrente richiesta dal circuito. Quasi tutti i circuiti digitali (sono rare le eccezioni) posseggono un clock che ne scandisce le operazione. Detto T il periodo (frequenza f = 1/T) di clock di un circuito digitale si definisce potenza media Pavg la potenza dissipata dal circuito in un periodo di clock Pavg 1 = T Va ∫0 Va ⋅ ia (t )dt = T T ∫ i (t )dt T 0 a Com’è facile intuire, alla potenza media sono legati la “tipologia di sistema di raffreddamento“ e la massima tensione di alimentazione richiesta e dunque la durata della batteria nei dispositivi portatili è strettamente correlata ad essa. ing. Massimo Poli – diapositiva 24 Potenza dinamica EH = ∫ VDD ⋅ ic (t )dt = VDD ∫ ic (t )dt Durante una transizione basso-alto l’energia totale EH erogata dall’alimentazione è VDD ∞ ic INV ∞ = VDD ⋅ C L ∫ 0 0 vOH vOL dV = VDD ⋅ C L ⋅ (vOH − vOL ) cL dove con vOH e vOL si è indicata, rispettivamente, la tensione di uscita massima e minima. Solo metà dell’energia totale erogata viene immagazzinata (e quindi non viene persa) in CL il resto viene dissipata (e quindi persa) dai dispositivi che compongono l’invertitore. VDD Durante la transizione alto-basso CL perde la carica immagazzinata precedentemente (e quindi l’energia ad essa associata) che viene dissipata nei dispositivi usati per scaricare il condensatore: in questa fase l’alimentazione non INV fornisce energia. Quindi durante una transizione completa basso-alto-basso cL l’energia EL→H →L dissipata è ic E L→ H → L = VDD ⋅ C L ⋅ (vOH − vOL ) Dato il clock di periodo T (f = 1/T) si definisce potenza dinamica Pd = Nel caso in cui vOH = VDD e vOL = 0 la potenza dinamica diviene EL → H → L = VDD ⋅ C L ⋅ (vOH − vOL ) ⋅ f T 2 Pd = VDD ⋅ CL ⋅ f La potenza dinamica dipende dalle capacità del circuito, dalla tensione di alimentazione e dalla frequenza operativa: cresce linearmente con la frequenza e in modo quadratico con la tensione di alimentazione. ing. Massimo Poli – diapositiva 25 Potenza di cortocircuito vi vo t vOH vOL icc icc1 t1 icc2 t2 t3 t4 t Si definisce potenza di cortocircuito la potenza necessaria per far commutare la tensione di uscita da vOL a vOH e viceversa attraverso zone delle caratteristiche dei dispositivi corrispondenti a correnti non nulle: spesso la commutazione dell’uscita passa attraverso zone di funzionamento dei dispositivi in cui si crea un percorso diretto (cortocircuito) tra l’alimentazione e massa, in tal caso l’alimentazione eroga una corrente non nulla generando una dissipazione di potenza. Dette icc1(t) e icc2(t) le correnti di cortocircuito, rispettivamente per la transizione dell’uscita altobasso e basso-alto si definisce potenza di cortocircuito Pcc la quantità Pcc = t t4 VDD t 2 ( ) i t dt + icc1 (t )dt cc 1 ∫ ∫ t3 T t1 Nell’ipotesi di comportamento simmetrico le correnti icc1(t) e icc2(t) hanno un andamento uguale e quindi Pcc = 2 VDD T ∫ t2 t1 icc1 (t )dt In generale, nei comuni circuiti digitali, la potenza di cortocircuito è molto minore della potenza dinamica Pcc << Pd ing. Massimo Poli – diapositiva 26 Circuiti ASIC Un circuito integrato per applicazioni specifiche ASIC (Application Specific Integrated Circuit) è un circuito integrato (IC) adattato alle esigenze di una particolare applicazione, piuttosto che progettato per un uso generale. Ad esempio un chip progettato solamente per essere utilizzato in un telefono cellulare è un ASIC. Un ASIC è progettato cercando di soddisfare prima di tutto le specifiche funzionali (il modo in cui dovrà operare) e in secondo luogo cercando di ottimizzare simultaneamente vari vincoli di progetto (design constraints). I seguenti sono vincoli di progetto comunemente tenuti in considerazione (ovviamente non sono i soli): ► Vendibilità: un ASIC è progettato solo se esiste un mercato di vendita. Il tipo di mercato determina la scelta della tipologia di progetto. ► Produttività: il prodotto deve essere producibile con un minimo scarto (circuiti non funzionanti) e deve essere adatto a qualsiasi condizione operativa prevista dal mercato di destinazione: consumer, militare, ecc. ► Tempo di ingresso sul mercato (time-to-market) ► Costo ► Flessibilità: la possibilità di cambiare le funzionalità del sistema senza doverlo riprogettare completamente ► Prestazioni: densità di componenti integrati per IC, potenza dissipata, velocità del sistema ing. Massimo Poli – diapositiva 27 Tempo di immissione sul mercato (time-to-market) Guadagni Previsione di guadagno È il tempo necessario per portare un sistema ad uno sviluppo tale da poter essere immesso sul mercato e quindi venduto (mediamente tale tempo è fissato ad 8 mesi). La progettazione di un ASIC è preceduta da un’analisi di mercato che fornisce la cosiddetta “finestra di mercato” (market window), vale a dire il periodo durante il quale il sistema Finestra di mercato potrebbe avere le maggiori vendite: uno slittamento dei tempi di Market window immissione sul mercato potrebbe produrre un enorme perdita economica da parte dell’industria che sta progettando il sistema. Si consideri il modello triangolare semplificato dei guadagni in figura. In tale modello Tempo in mesi si suppone che il tempo di vita del prodotto (2V) sia in eguale misura ripartito tra la fase di crescita e diminuzione delle vendite Incasso massimo senza Incasso massimo in (entrambe di durata V) e i guadagni sono rappresentati ritardo di immissione caso di ritardo IMR IM dall’aria sottesa dal triangolo. In presenza di un ritardo R di immissione dunque si avrebbe: Guadagni senza ritardo = V ·IM Guadagni con ritardo = (2V – R)·IMR /2 Fase di crescita delle vendite Nell’ulteriore ipotesi esemplificativa in cui il fattore di crescita sia unitario si ha IM = V e IMR = V – R, per cui le perdite percentuali P% risulterebbero pari a P% = [V ·IM – (2V – R)·IMR /2] / (V ·IM) ·100% = = R (3V – R) /(2V2) (es. V = 12 mesi: R = 2 mesi → P% ≈ 24%; R = 4 mesi → P% ≈ 44%) R V Immissione in tempo Immissione in ritardo Fase di diminuzione delle vendite Tempo 2V ing. Massimo Poli – diapositiva 28 Costo Il costo di mercato S di un prodotto (il prezzo di vendita) è dato da S= CTOT (1 − m)N dove CTOT è il costo totale sostenuto dall’industria per produrre quel prodotto, m è il margine di profitto desiderato e N è il numero di pezzi prodotti. Il costo totale è a sua volta legato ai cosiddetti costi non ricorrenti CNR (i costi di sviluppo e progettazione sostenuti prima dell’immissione sul mercato) e ai costi ricorrenti CR (il costo necessario alla produzione di N unità) secondo la relazione CTOT = C NR + C R = C NR + N ⋅ CU con CU si è indicato il costo per unità, vale a dire il costo affrontato per la produzione di un singolo pezzo. Come è facilmente intuibile tale costo è legato al processo tecnologico e quindi alla resa di processo, al tipo di package usato, al test e al collaudo: ogni singolo chip viene testato e collaudato, e quindi, in fase di progettazione, è necessario aggiungere dei sistemi che ne facilitano il test e collaudo come circuiti per il Built-in Self Test (BIST), contatti aggiuntivi sul die, test patterns, ecc. Contatti aggiuntivi sul die usati per il test e collaudo. Le strisce nere in figura sono le punte (molto piccole) di una macchina per il collaudo appoggiate sui contatti aggiuntivi. ing. Massimo Poli – diapositiva 29 Tecnologia Il progetto di un ASIC è ovviamente fatto con strumenti software CAD che semplificano la progettazione e la fase di test funzionale mediante strumenti di simulazione circuitale. Alla fine delle simulazioni software il circuito che si trova in una fase descrittiva a livello di gate (gate-level) deve essere mappato in un circuito integrato: il modo in cui questo avviene si chiama tecnologia. La tecnologia, in genere, differisce da industria ad industria ma si possono individuare le seguenti tipologie principali ing. Massimo Poli – diapositiva 30 Full-custom Il circuito è progettato in maniere completamente dedicata all’applicazione specifica: in tal caso i progettisti si occupano della disposizione dei singoli componenti e delle interconnessioni fra essi ottimizzando area e prestazioni dell’intero circuito integrato. Com’è facile intuire, tale approccio richiede un notevole impiego di risorse umane e strumentali e un know-how adeguato dell’azienda produttrice. Inoltre i costi e i tempi di progettazione risultano elevati e giustificati solo per produzioni relativamente grandi (più di 2000000 pezzi) o per applicazioni particolari. Oggi vengono prodotti con tale tecnica principalmente microprocessori e memorie da immettere nel mercato consumer. Vantaggi: ► Elevate prestazioni: maggiore frequenza operativa, maggior numero di componenti integrati per chip, minore potenza dissipata ► Minore costo per unità: questo è legato alla più alta scala di integrazione e quindi alla minore area occupata dal chip (a parità di componenti). ► Minore ingombro Svantaggi: ► Elevati costi non ricorrenti dato che il tempo di progettazione è solitamente molto più lungo e sono necessari un più largo numero di prototipi rispetto ad altri approcci ► Elevati tempi time-to-market: prima che si arrivi ad una versione del circuito vendibile sul mercato passano parecchi mesi ► È richiesta una elevata conoscenza specialistica delle tecniche di lavorazione del silicio ing. Massimo Poli – diapositiva 31 Semi-custom L’approccio semi-custom fa uso di un numero molto elevato di blocchi funzionali elementari le cui interconnessioni sono lasciate appositamente incomplete dal costruttore. Il progettista, avvalendosi di strumenti CAD, definisce le interconnessioni in modo da comporre il circuito integrato adatto alle specifiche esigenze. Vantaggi (rispetto all’approccio full-custom): ► Costi non ricorrenti inferiori dato che il tempo di progettazione è solitamente più breve e sono necessari un più basso numero di prototipi ► Minori tempi time-to-market: il progettista deve solo utilizzare dei blocchi funzionali già realizzati e testati riducendo così i tempi di progettazione ► È richiesta una bassa conoscenza specialistica delle tecniche di lavorazione del silicio Svantaggi (rispetto all’approccio full-custom): ► Minori prestazioni: minore frequenza operativa, minore numero di componenti integrati per chip, maggiore potenza dissipata ► Maggiore costo per unità: l’area di silicio a disposizione non è interamente occupata, infatti un blocco elementari occupa un’area di silicio sicuramente maggiore di quella effettivamente richiesta dai componenti in esso contenuti ► Maggiore ingombro ing. Massimo Poli – diapositiva 32 Semi-custom: standard cells, gate array ►Standard cell (celle standard): Con l’approccio a standard cell, un circuito integrato viene realizzato mediante il posizionamento e l’interconnessione di blocchi di base, denominati appunto celle standard. Con tale approccio la realizzazione di un circuito è effettuata usando solamente dei blocchi funzionali (flip-flop, full-adder, ecc.) che si trovano in una libreria software fornite dal costruttore. Ogni cella della libreria ha quindi delle caratteristiche che non possono essere modificate dal progettista che si occupa solamente del loro posizionamento e delle interconnessioni (nemmeno quest’ultime sono totalmente libere dovendo il progettista seguire determinate regole e percorsi). ►gate array (matrici di gate): la casa costruttrice fornisce via software dei circuiti integrati formati da matrici di transistori o gate più complessi (ma comunque tutti uguali) e il progettista stabilisce solamente le interconnessioni tra essi. ing. Massimo Poli – diapositiva 33 Programmabili Con questo approccio il progettista acquista un circuito integrato già pronto all’uso. Il compito del progettista è solo quello di stabilire, attraverso la programmazione del chip, quali interconnessioni attivare e quali disattivare. La diversa procedura di programmazione (EPROM, E2PROM, SRAM, ecc.) e la tipologia di tecnologia distingue diverse famiglie di dispositivi programmabili nelle principali tipologie: Complex Programmable Logic Device (CPLD), Field Programmable Gate-Array (FPGA), Memorie. Vantaggi (rispetto ai precedenti): ► Costi non ricorrenti bassi dato che la progettazione è molto più breve e non sono richiesti prototipi (la maggior parte di tali dispositivi si possono programmare più volte) ► Bassi tempi time-to-market: il progettista deve solo utilizzare dei blocchi funzionali già realizzati e testati riducendo così i tempi di progettazione ► Non è richiesta alcuna conoscenza specialistica delle tecniche di lavorazione del silicio Svantaggi (rispetto ai precedenti): ► Basse prestazioni: minore frequenza operativa, numero di componenti integrati per chip fissato, maggiore potenza dissipata ► Costo per unità approssimativamente1 fisso: il dispositivo programmabile ha un costo fisso a prescindere dal numero di pezzi prodotti (questo rende i dispositivi programmabili adatti a piccoli numeri di pezzi) ► Alto ingombro 1 Molte ditte fanno prezzi di vendita diversi a seconda del numero di chip acquistati. ing. Massimo Poli – diapositiva 34 Field Programmable Gate-Array (FPGA) Un Field Programmable Gate-Array (FPGA) è un chip che contiene blocchi logici e interconnessioni programmabili. I blocchi di logica programmabile (logic blocks) possono essere configurati per agire da blocchi logici di base (AND, OR, XOR, NOT, flip-flop, multiplexer) oppure da funzioni combinatorie più complesse, ad esempio decoder o funzioni matematiche elementari. I blocchi di logica programmabile conservano la programmazione in elementi di memoria come flip-flop oppure, nei modelli più complessi, in memorie statiche (SRAM): interconnessioni gerarchiche tra blocchi logici consentono al progettista di effettuare qualunque funzione logica richiesta. { matrici di interruttori interconnessioni A logic cell logic cell B interruttori controllati da SRAM { logic cell logic cell cella SRAM SRAM A B ing. Massimo Poli – diapositiva 35 Tabella sinottica ASICs Unità prodotte CNR CR TM Prestazioni Full-custom >2.000.000 Alto Basso Alto Elevate Semi-custom Standard cell Da 200.000 a 2.000.000 ↓ ↑ ↓ ↓ Semi-custom Gate array Da 20.000 a 200.000 ↓ ↑ ↓ ↓ Programmabili <20.000 ↓ ↑ ↓ ↓ Basso Alto Basso Minori