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.
Alcune caratteristiche importanti dei settori dell’elettronica Settore Digitale Analogico Potenza Potenza istantanea ● ● ● ● ● ● Potenza media Corrente di picco ripetitiva Corrente di picco non ripetitiva Frequenza Scala di integrazione Rumore Sensibilità alle condizioni operative Rendimento di conversione Tolleranze di processo Linearità Limiti operativi in corrente e tensione
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/DT) è maggiore di 2 fH (teorema di Nyquist-Shannon): fS > 2fH.
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.
Caratteristiche statiche invertitore vi vo Caratteristica di trasferimento vo/vi Soglia logica Swing logico di ingresso Swing logico di uscita Margine di rumore
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 La f.d.t. si costruisce a tratti facendo riferimento ad una catena di invertitori uguali K+1 vo,k-2 vo,k vo,k+1 vo,k-1 K-2 K-1 K vi,k-2 vi,k-1 vi,k+1 vi,k
Caratteristica di trasferimento vo/vi Le curve B vo,k = vi,k+1 hanno 3 punti di intersezione: A, B, C. Le coordinate di A e B vengono definite valori di ingresso nominali C Le coordinate del punto C, vengono definite soglia logica (SL), cioè il punto della caratteristica di un invertitore in cui Vo=Vi A 45° vi,k = vo,k-1
Swing logico vo D voHmin E voLmax viLmax viHmin vi Si individuano inoltre i punti D e E tali che vo D voHmin di coordinate Si definiscono swing logico di ingresso (ILS) e di uscita (OLS) le seguenti grandezze E voLmax viLmax viHmin vi
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 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: in tale zona l’invertitore sopprime i disturbi (rumore) della tensione di ingresso (proprietà rigenerativa) Se viLmax ≤ vi≤viHmin allora: 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.
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 vi2 = vo1 viHmin viLmax voHmin voLmax viHmin2 viLmax2 NMH vo2 NML I1 I2 vo1= vi2 Si definisce margine di rumore alto (NMH) la differenza analogamente si definisce margine di rumore basso (NML) la differenza Dal momento che i due invertitori sono uguali si ha: viHmin2 = viHmin e viLmax2 = viLmax dunque
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+d 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. I1 I2 vo1= vi2 vo2 vi1 vi2 = vo1 d voHmin NMH viHmin2 voE viLmax2 NML voLmax vo2 vo2E viLmax viHmin vi1
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à INV VDD IoL voLnom IoH voHnom vo voHnom voLnom vi
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 INV Io1 Io2 Ion Ii1 Ii2 Iim fan-in fan-out 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.
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)
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): k k k+1 k+2 k+n k-1 vi vo vi vi vo t vo 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.
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 t tf90 tf10 tr10 tr90 vOH vOL vO90%=vOL+0. 9(vOH-vOL) vO10%=vOL+0. 1(vOH-vOL) tir tif Si definisce tempo di salita tr la differenza tr90-tr10 Si definisce tempo di discesa tf la differenza tf10-tf90
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 k Supponendo per semplicità che vOH = VDD e vOL = 0, il tempo di salita/discesa si calcola come segue. 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
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 tpLH o tempo di propagazione basso-alto vIH vIL Si definisce ritardo di discesa tpHL o tempo di propagazione alto-basso vo tir50 tif50 t vOH vO50%=vOL+0. 5(vOH-vOL) vOL tof50 tor50 t tpLH tpHL Si definisce inoltre ritardo di propagazione tpd o tempo di propagazione la quantità Nel caso di invertitore simmetrico si parla solo di tempo di propagazione e si ha tpLH = tpHL = tpd.
Esempio di calcolo del tempo di propagazione Come fatto in precedenza si usa il seguente modello semplificato dell’invertitore k e per semplicità si suppone che vOH = VDD e vOL = 0, quindi 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
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. vi vo voHnom voLnom 45° vSL
Stima della massima frequenza operativa vi vo t Tmin tf90 tr10 tr90 tf10 Una stima più conservativa (per 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 triangolare. Dunque Garantendo un ulteriore 20% di margine la stima di Tmin risulta Che nell’ipotesi di invertitore simmetrico diviene
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.
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 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 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 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.
Potenza dinamica Durante una transizione basso-alto l’energia totale EH erogata dall’alimentazione è INV VDD ic 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. INV VDD ic 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 fornisce energia. Quindi durante una transizione completa basso-alto-basso l’energia EL→H →L dissipata è Dato il clock di periodo T (f = 1/T) si definisce potenza dinamica Nel caso in cui vOH = VDD e vOL = 0 la potenza dinamica diviene 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.
Potenza di cortocircuito vi vo t icc vOH vOL icc1 icc2 t1 t3 t4 t2 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 alto-basso e basso-alto si definisce potenza di cortocircuito Pcc la quantità Nell’ipotesi di comportamento simmetrico le correnti icc1(t) e icc2(t) hanno un andamento uguale e quindi In generale, nei comuni circuiti digitali, la potenza di cortocircuito è molto minore della potenza dinamica
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
Tempo di immissione sul mercato (time-to-market) È 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 potrebbe avere le maggiori vendite: uno slittamento dei tempi di 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 si suppone che il tempo di vita del prodotto (2V) sia in eguale misura Previsione di guadagno Tempo in mesi Finestra di mercato Market window ripartito tra la fase di crescita e diminuzione delle vendite (entrambe di durata V) e i guadagni sono rappresentati dall’aria sottesa dal triangolo. In presenza di un ritardo R di immissione dunque si avrebbe: Incasso massimo senza ritardo di immissione IM Incasso massimo in caso di ritardo IMR Guadagni Fase di crescita delle vendite Fase di diminuzione delle vendite Guadagni senza ritardo = V ·IM Guadagni con ritardo = (2V – R)·IMR /2 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 Tempo P% = [V ·IM – (2V – R)·IMR /2] / (V ·IM) ·100% = = R (3V – R) /(2V2) R V 2V Immissione in tempo Immissione in ritardo (es. V = 12 mesi: R = 2 mesi → P% ≈ 24%; R = 4 mesi → P% ≈ 44%)
Costo Il costo di mercato S di un prodotto (il prezzo di vendita) è dato da 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 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.
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
Full-custom Vantaggi: Svantaggi: 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
Semi-custom Vantaggi (rispetto all’approccio full-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
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 intercon-nessioni tra essi.
Programmabili Vantaggi (rispetto ai precedenti): 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.
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. { interconnessioni matrici di interruttori interruttori controllati da SRAM
Tabella sinottica ASICs Unità prodotte CNR CR TM Prestazioni Full-custom >2.000.000 Alto Basso Elevate Semi-custom Standard cell Da 200.000 a 2.000.000 ↓ ↑ Gate array Da 20.000 a 200.000 Programmabili <20.000 Minori