Sito Visitato 498375 volte | Pagina Visitata 619 volte | Sei in : Etantonio/IT/Universita/4anno/Microelettronica/ |
Metodi di progettazione CMOS 1) Descrizione progettuale di un circuito integrato : Un circuito integrato può essere descritto nel dominio comportamentale, strutturale e fisico, ciascuno di questi domini può poi essere suddiviso nei livelli : a) architetturale o funzionale b) RTL (Register Transfer Logic) c) Logico d) Circuitale
2) Strategie di progetto : Scopo del progettista è di realizzare un progetto che ottimizzi le performance, le dimensioni , il tempo necessario alla progettazione e la testabilità, a tal fine si rende necessario ricorrere alla progettazione strutturata la quale, in analogia a quanto accade per il software, tende a realizzare progetti caratterizzati dalle seguenti proprietà : a) Gerarchia Ogni modulo viene suddiviso in sottomoduli aventi complessità inferiore e così ricorsivamente sino ad ottenere dei moduli facilmente implementabili. In tal modo è inoltre possibile suddividere la progettazione tra diversi gruppi di lavoro. b) Regolarità La gerarchia può dar luogo ad un n° molto elevato di sottomoduli, la complessità si riduce di molto se questi sono pressochè uguali, in modo da poter riutilizzare lo stesso modulo piuttosto che realizzarne molti tutti tra loro diversi. c) Modularità Consiste nell´implementare una ben precisa interfaccia con l´esterno . d) località si tratta di cercare di compiere tutte le elaborazioni all´interno del modulo e cercare di ridurre al minimo i segnali che debbono essere interfacciati con gli altri moduli.
3) Opzioni progettuali CMOS : Procedendo in ordine di investimenti per la progettazione crescenti, si hanno le seguenti opzioni progettuali : a) Logica programmabile b) Sea-of-gates e Gate Array c) Standard Cell d) Full-custom 4) Logiche programmabili : Le logiche programmabili tendono a produrre dei chip molto complessi ma adeguati a diverse applicazioni in modo da poterne produrre un numero molto elevato riducendo pertanto i costi, il progettista è inoltre avvantaggiato in quanto la progettazione e realizzazione avviene in tempi molto brevi. Si hanno le seguenti tipologie a) strutture logiche programmabili Si tratta delle PAL e delle PLD che in sostanza sono caratterizzate da un piano And ed un piano OR i quali vengono messi in comunicazione mediante dei collegamenti che possono essere realizzati andando ad agire sulle caratteristiche di un elemento di commutazione con una delle seguenti tecnologie : a1) Fusibili Tutte le connessioni sono realizzate, in fase di programmazione per ottenere la funzione desiderata viene fatta passare una corrente molto elevata nelle connessioni che non interessano, in tal modo si ottiene la apertura del collegamento a2) EPROM Sono basate sul floating gate ossia un metallo posto all´interno della ossido sottostante il gate effettivo, per la programmazione il gate viene alimentato a 14V mentre il drain a 12V , in tal modo si iniettano delle cariche nel floating gate e pertanto si alza la tensione di soglia Vt al disopra della tensione di alimentazione, e pertanto il MOS in questione rimane interdetto sin quando la carica presente nel floating gate non viene espulsa mediante esposizione a raggi UV. a3) EEPROM Sono sempre basate sul floating gate tuttavia in questo caso è possibile cancellare le interconnessioni e riprogrammarle mediante effetto Tunnel, a tal fine il floating gate è realizzato in modo da essere molto vicino sia al gate che al drain. b) interconnessioni programmabili Si tratta di strutture basate sul PLICE (…Programmable Low Impedance Circuit Element) , un dispositivo il quale normalmente presenta una resistenza maggiore di 100MW ma che mediante opportune tensioni di programmazione può essere settato permanentemente ad un valore di resistenza di circa 200W . Il chip è costituito da righe di elementi logici separate da righe di interconnessioni orizzontali e verticali fisse , le interconnessioni tra queste vengono effettuate mediante gli antifuse opportunamente programmati mediante dei pass transistor. Ogni elemento logico Actel ad esempio contiene 3 Mux a 2 ingressi ed una NOR a due ingressi e può implementare tutte le funzioni a due e tre ingressi ed alcune funzioni a 4 ingressi. Alla periferia del chip sono presenti poi dei pad I/O che sempre mediante PLICE possono essere programmati come pad d´ingresso, d´uscita o bidirezionali. c) gate arrays riprogrammabili La struttura è molto simile a quella programmabile ma in questo caso le interconnessioni possono essere riprogrammate a tal fine intorno ai CLB (…Configurable Logic Block) si hanno righe orizzontali e verticali di interconnessioni, personalizzate mediante matrici di commutazione, cui il CLB si connette mediante dei PIP (…Programmable Interconnect Point). Sia i PIP che le matrici sono configurate mediante dei pass-transistor pilotati da memoria RAM.
5) Progetto di Sea-of-Gate e gate arrays : Si possono realizzare piccole produzioni mediante strutture Sea-of-Gates oppure Gate Array , delle strutture che la fonderia fornisce realizzate sino al livello del polisilicio, rimangono quindi da 2 a 5 maschere che debbono essere realizzate dal progettista in funzione della applicativo, ne consegue che i tempi di progettazione e realizzazione sono molto bassi anche in funzione delle ridotte procedure di testing richieste. La struttura di un SOG è costituita da righe nelle quali sono presenti una riga di diffusione p ed una riga di diffusione n intervallate da gate in polisilicio , in alto ed in basso ci sono i metalli destinati alle alimentazioni. Tutto intorno al chip ci sono le celle I/O che possono essere programmate mediante le metallizzazioni. Le connessioni avvengono sopra i MOS non utilizzati mentre nel gate array vi sono degli appositi canali orizzontali. E´ importante ricordare che i MOS terminali di una porta sono utilizzati per isolare dalle porte adiacenti connettendo il gate della nMOS a VSS oppure il gate del pMOS a VDD .
6) Progetto di Standard Cell : Le Standard Cell consistono in delle librerie che effettuano una standardizzazione a livello logico, sono pertanto implementate diverse strutture logiche di comune utilizzo , in genere poi ogni funzione logica viene realizzata in due diverse celle, una che ottimizza la area ed una che ottimizza la velocità in modo da rispondere a tutti i possibili requisiti. Rispetto ai gate array si debbono realizzare molte più maschere, circa 15, ma si ottiene un più razionale utilizzo delle risorse in quanto il progetto è più aderente alla applicazione specifica. 7) Progetto Full custom : È una progettazione che ottimizza la funzione ed il layout di ogni singolo MOS , è molto complessa , tanto da essere ridotta a circuiti con meno di 100 MOS e richiede progettisti molto esperti, tuttavia per alcune applicazioni in cui debbono essere ottimizzate determinate specifiche, è la soluzione migliore anche se i costi sono molto elevati come pure i tempi di progettazione e realizzazione in quanto sono necessarie tutte le maschere. La realizzazione delle maschere avviene secondo le seguenti tecniche : a) Layout simbolico su griglia grezza In sostanza la area del chip viene suddivisa mediante una griglia con celle di dimensioni pari alla minima risoluzione ottenibile, ogni cella contiene un simbolo che identifica la combinazione di strati che debbono essere presenti in una data cella. b) Layout simbolico a matrice di gate E´ caratterizzata da un layout regolare, in particolare ci sono delle righe orizzontali di diffusioni n e p e delle colonne verticali di polisilicio, ad ogni intersezione potenzialmente vi può essere un MOS. Le regole standard sono le seguenti : 1) il polisilicio scorre solo in una direzione ed è di ampiezza costante 2) le diffusioni scorrono verticalmente tra le colonne di polisilicio 3) le metallizzazioni possono scorrere sia verticalmente che orizzontalmente 4) i MOS possono esistere soltanto alle colonne di polisilicio c) Layout simbolico a griglia virtuale Si ha una griglia virtuale sulla quale sono disposti gli elementi del circuito , in tal modo vengono eliminate le design-rules e viene definito il coordinodo ossia un nodo che oltre a proprietà geometriche possiede anche le tipiche proprietà di un nodo in un circuito ossia tensione, corrente, stato.
8) Metodologie progettuali : a) Sintesi funzionale Si utilizzano dei Silicon-compiler come Cathedral i quali da una descrizione del progetto a livello funzionale arrivano sino alle maschere, in particolare vengono eseguite le seguenti operazioni : a1) viene decisa la assegnazione delle risorse sulla base delle specifiche sulla area e sulle temporizzazioni a2) vengono inseriti dei registri pipeline per rispettare le temporizzazioni a3) viene creato il codice e la logica di controllo b) Sintesi RTL Si utilizzano programmi come VERILOG e VHDL i quali partono dalla descrizione RTL e la convertono in un set di registri e logica combinatoria. Le informazioni che debbono essere fornite al programma sono : b1) flusso di controllo implementato tramite if-then-else oppure case b2) iterazioni b3) gerarchia b4) lunghezze di parole, vettori e matrici di bit b5) Specifiche sui registri ed allocazioni b6) Operazioni aritmetiche , logiche e di comparazione
9) Strumenti per la cattura del progetto : Il funzionamento e/o la struttura di un progetto può essere implementata mediante linguaggi HDL , alternativamente e più classicamente si può inserire lo schematico. Analogamente il layout può essere implementato mediante del codice oppure mediante un editor, esistono inoltre programmi che lavorano sul layout col fine di minimizzare la area e massimizzare la velocità.
10) Strumenti per la verifica del progetto : a) Simulatori Il più famoso è SPICE , basato sulla soluzione di equazioni matriciali che descrivono il circuito, è molto preciso ma lento, pertanto è adatto unicamente alla simulazione di piccoli circuiti, per grandi circuiti si ricorre al Sangiovanni-Vincentelli il quale facendo delle approssimazioni riesce ad analizzare il circuito con semplici calcoli non matriciali.. VI sono poi dei simulatori che lavorano solo a livello logico e simulatori a livello switch che trattano i MOS come interruttori aperti o chiusi, infine vi sono dei simulatori misti che eseguono una diversa simulazione a seconda del tipo di circuito che stanno analizzando. b) Controllori delle temporizzazioni Si tratta di programmi volti ad individuare i percorsi critici c) Estrattori di layout Sono programmi che hanno in ingresso le maschere che descrivono il layout e risalgono al circuito che le ha generate, aggiungendo però eventuali dispositivi parassiti, il circuito effettivo così ottenuto viene quindi nuovamente simulato e se i risultati rimangono nelle specifiche si procede alla produzione. Questo processo è detto back-annotation. |