Sito Visitato 493784 volte Pagina Visitata 2717 volte Sei in : Etantonio/IT/Universita/4anno/Microelettronica/     

Circuiti CMOS e progetto logico

1) Cause di malfunzionamento di una porta CMOS :

a)       Alimentazioni insufficienti e/o rumore sulle stesse

b)       Rumore in ingresso

c)       Transistor e/o interconnessioni guasti

d)       Ripartizioni di carica non previste

e)       Temporizzazioni errate

 

2) Percorsi critici e loro ottimizzazione :

Si tratta di percorsi lenti i quali possono essere individuati per esperienza o mediante dei timing analyzers, una volta individuati, si può agire su di essi a livello architetturale, a livello logico agendo sul tipo di gate e sul fan-in e fan-out, a livello circuitale agendo sulle dimensioni dei MOS o utilizzando stili diversi dal CMOS , ed infine a livello di layout .

 

3) Considerazioni sull´ottimizzazione dei percorsi critici a livello logico :

Il fan-in di una porta logica ossia il n° di ingressi che essa può avere è bene sia limitato tra 2 e 5 inoltre le porte nand sono da preferirsi alle nor in quanto caratterizzate da un minore ritardo, nel caso in cui si decida ugualmente di utilizzarle conviene ridurne il fan-out ossia il numero porte che possono essere pilotate dall´uscita, in ogni caso poi inserendo un inverter si può pilotare un qualsiasi numero di porte.

Architetture progettuali

4) Full custom :

Consiste nella progettazione ed ottimizzazione di ogni singolo MOS presente nel circuito, questo ne riduce la complessità ad un massimo di circa 60 MOS . È un processo molto lento e costoso ma consente di ottimizzare area e prestazioni.

La progettazione si articola nelle seguenti fasi :

a)       Si realizza uno schematico del circuito

b)       Si progetta il layout

c)       Fissate le design rules imposte dalla tecnologia prescelta, si utilizza un layout editor per realizzare le maschere

d)       Un layout extractor partendo dalle maschere fornisce uno schematico comprensivo anche di eventuali dispositivi parassiti, tale schematico viene simulato con SPICE e se il funzionamento è corretto si passa alla produzione.

 

5) Standard Cell :

Vengono utilizzate delle celle standard presenti nella libreria della fonderia, sono celle ad altezza costante e larghezza variabile nelle quali sono predefinite le posizioni di ingressi, uscite, VSS , VDD .

La progettazione si articola nelle seguenti fasi :

a)       scelta della libreria e quindi della fonderia

b)       si realizza lo schematico utilizzando i componenti della fonderia che sono visti come delle scatole nere.

c)       Mediante lo Schematic- Capture vengono sostituite le black-box con la cella più adatta

d)       Simulazione digitale

e)       Dallo schematico si ottiene il layout del chip mediante un software di Placement Routing che effettua l´ottimizzazione delle posizioni delle celle.

È una progettazione più veloce in quanto si lavora a livello logico ma i costi sono ugualmente molto alti in quanto sono necessarie dalle 15 alle 20 maschere.

 

6) Gate array :

È una progettazione basata sulla realizzazione di strutture facilmente riconfigurabili le quali includono la maggior parte delle fasi realizzative, si suddividono in particolare in 2 classi :

MPGA   :               la fonderia realizza una serie di blocchi base i quali debbono essere interconnessi tra loro mediante delle metallizzazioni che vengono specificate dal progettista il quale partendo dalla funzione richiesta realizza le opportune maschere.

FPGA   :                 la fonderia produce un chip nel quale oltre alle strutture riconfigurabili sono presenti delle interconnessioni programmabili , pertanto non è più necessario realizzare delle maschere. Tali chip sono costosi ma possono essere riconfigurati mediante appositi software.

 

7) Sea-of-gates :

In pratica è una generalizzazione del layout del gate array , costituita da righe continue di diffusioni n e p . Non c´è spazio per le interconnessioni le quali vengono effettuate attraverso le righe di MOS non utilizzati. Ogni porta logica può essere isolata dalla porta adiacente connettendo il gate della ultimo MOS a VSS oppure a VDD.

 

8) Strutture logiche CMOS :

a) Logica CMOS complementare


Il principale vantaggio è che la dissipazione statica è dovuta esclusivamente alle correnti di saturazione inversa, inoltre può operare a tensioni molto basse, tra i principali svantaggi invece c´è che per qualsiasi funzione vengono sempre utilizzati un ugual numero di pMOS e di nMOS il che talvolta è ridondante. Le principali funzioni logiche sono :

Inverter                                                                                Nand                                                                     Nor

b) Logica BiCMOS

 

 

 

 

 

 

 

 

È una struttura utilizzata per gli stadi di uscita in quanto essendo presenti dei BJT consente di pilotare carichi elevati e di aumentare la velocità rispetto ai CMOS, un esempio di funzione logica eseguita con questa struttura è il seguente :

 

 

 

 

 

 

 

 

 

c) Logica Pseudo nMOS e Multidrain

Il pull-up è costituito da un solo pMOS, ciò implica che il n° di MOS utilizzati per realizzare una generica funzione è inferiore a quanti ne sarebbero necessari per realizzarla coi CMOS tuttavia ciò implica anche che la dissipazione statica è più alta in quanto vi sono delle condizioni logiche per le quali c´è un percorso diretto tra VDD e VSS .


Si distingue poi la logica CMOS Moltidrain nella quale le porte sono connesse nella configurazione open-drain in maniera analoga a quanto accade per i BJT nella logica IIL .

d) Logica CMOS dinamica

È una struttura logica nMOS la cui uscita è precaricata a VDD da un pMOS e condizionatamente connessa a VSS da un nMOS, in questo modo il principale vantaggio rispetto al CMOS è che si utilizza un numero nettamente inferiore di porte Ne deriva che il tempo di pull-up diminuisce mentre aumenta il tempo di pull-down. Un difetto è che gli ingressi possono variare soltanto durante la precarica mentre debbono essere stabili durante la valutazione altrimenti si hanno effetti di charge-sharing. Evidentemente non si può connettere in serie un´altra porta CMOS dinamica a singola fase in quanto quando il clock passa alla fase di valutazione l´uscita che va in ingresso alla prossima struttura può trovarsi ancora alta per via del tempo di discesa che è piccolo ma non infinitesimo, in definitiva si ha la perdita del dato.

 

 

 

 

 

 

 

 

 

 

 

e) Logica clocked CMOS :

E´ stata sviluppata essenzialmente per realizzare CMOS a bassa dissipazione ma attualmente trova applicazione principalmente in quelle situazioni in cui è pressante il problema degli elettroni “caldi” .

In sostanza vengono inseriti due MOS per il clock o al centro o in prossimità delle alimentazioni.


 

 

 

 

 

 

 

 

 

f) Logica Domino

Si tratta di una logica dinamica sulla cui uscita è posto un inverter CMOS il quale consente di porre in cascata diverse porte anche disponendo di un clock ad una fase.

Si può ottenere una logica statica mediante un pMOS debole (…a basso guadagno ) disposto come da figura il quale consente operazioni a bassa frequenza o statiche in quanto durante la fase di valutazione l´uscita anche se è alta col passare del tempo finisce per scaricarsi, il pMOS debole glielo impedisce, il suo impatto è nullo in alta frequenza in quanto non è abbastanza veloce. Alternativamente si può connettere il gate del pMOS debole all´uscita della inverter creando in tal modo un latch

 

g) Logica Domino NP

Il buffer presente nella domino può essere eliminato a patto di utilizzare delle strutture dinamiche con logica pMOS alternate a strutture dinamiche con logica nMOS, il perché vengono poste in cascata è chiaro se si pensa che ogni struttura del genere realizza una porta logica e l´uscita di ogni porta è in genere connessa ad un´altra porta.

 

 

 

 

 

 

 

 

 

 

 

 

h) Logica Cascade Voltage Switch

Si hanno 2 switch nMOS complementari connessi ad una coppia di pMOS incrociati che fungono da pull-up. È più lenta rispetto al CMOS in quanto i pMOS del pull-up debbono lottare contro gli nMOS del pull-down. Il vantaggio è che si può realizzare ogni funzione logica ma a spese di una maggiore area occupata e complessità. Le prestazioni possono essere migliorate mediante l´utilizzo di un latching sense-amplifier.

Clocking Strategies

9) Conseguenze della scelta della tipologia di clock :

La scelta della strategia di clock influenza il n° di MOS da utilizzare per ogni elemento di memoria ed il n° di segnali di clock da distribuire sul chip, pertanto indirettamente determina le dimensioni del chip e la dissipazione.

 

10) Tempi caratteristici di un registro :

TS = Tempo di Setup    :                      indica quanto tempo prima del fronte di clock si debbono avere i dati stabili in ingresso.

TH = Tempo di Hold     :                      indica per quanto tempo dopo il fronte di clock i dati di ingresso debbono ancora rimanere stabili.

Tq = Clock to Q Delay  :                      indica quanto tempo dopo il fronte di clock si ottiene un´uscita valida.

 

11) Level sensitive latch :

È un elemento di memoria nel quale il dato in ingresso viene valutato quando il clock assume un determinato livello, in particolare per il latch in figura si ha che quando clk = 0 il dato in ingresso viene passato in uscita mentre quando clk = 1  , si ha in uscita il dato precedentemente memorizzato.

 

 

 

 

 

 

12) Registro edge-triggered :

È un elemento di memoria nel quale il dato in ingresso viene valutato sul fronte di salita del clock . Ciò si ottiene ponendo in cascata un negative latch ed un positive latch , infatti si ha che quando clk = 0 il dato in ingresso viene memorizzato nel master ma non è letto dallo slave, soltanto quando clk = 1 il dato giunge all´uscita dello slave, pertanto è necessaria una transizione 0®1 e quindi si tratta di un registro positive edge-triggered.

13) Registro SR :


È un registro che può essere realizzato sia mediante porte nand che mediante porte nor secondo gli schemi seguenti :

Quando S =1 l´uscita passa a 1 e vi rimane sin quando non si ha R = 1  , per S = 0  e  R = 0 l´uscita precedente viene memorizzata mentre per   S = 1   e   R = 1  si ha la condizione indeterminata.

 

14) Registro JK :

È un registro analogo al SR ma che ne elimina la condizione indeterminata infatti per J = 1    e         K = 1    si ha l´uscita negata rispetto all´uscita che si aveva precedentemente.

 

15) Registro T :

È un registro JK con gli ingressi cortocircuitati, si ha che per  J = K = 0   l´uscita attuale è uguale alla precedente mentre per  J = K = 1  l´uscita attuale è la negata rispetto alla precedente.

 

 

 

 

 

 

 

 

16) Strutture di memoria ad una fase statiche e dinamiche :

È la struttura tipica utilizzata per standard celle e gate arrays , caratterizzata dal negato del clock generato localmente in modo da ridurre il clock skew e dalle uscite bufferizzate eventualmente anche con un transmission-gate posto sull´uscita –q in modo da equalizzare i ritardi.

In realtà si può anche eliminare il transmission-gate posto in retroazione inserendo al suo posto un inverter debole ossia con un L maggiore rispetto alle dimensioni minime , esso deve infatti essere prevaricato dal transmission-gate quando il clock è alto e quindi il dato in ingresso deve essere caricato mentre deve memorizzare il dato quando il clock è basso.


Si possono anche realizzare dei latch e dei registri dinamici nei quali il dato viene memorizzato tra la capacità d´uscita del transmission-gate e la capacità d´ingresso della inverter seguente così come si ha nei seguenti schemi :


17) Metastabilità :

Un latch è caratterizzato da due stati stabili, tuttavia se non sono rispettati i tempi di setup e di hold può accadere che lo stesso presenti un 3° stato detto metastabile in quanto un qualsiasi rumore può farlo ricadere in uno dei due stati stabili. Ad esempio si può cadere nello stato metastabile quando i dati in ingresso giungano dopo il tempo di setup per cui alla commutazione del clock, l´ingresso può trovarsi ad una tensione prossima a quella di commutazione.

 

18) Strutture logiche a singola fase :

Si utilizza la logica N_P CMOS costituita da sezioni N-P domino aventi come stadio d´uscita un latch C2MOS , in tal modo si ottimizza velocità ed area. Nel fare ciò occorre comunque rispettare le seguenti regole :

a)       ogni porta C2MOS deve essere separata dalla precedente mediante un numero pari di inversioni

b)       ci deve essere almeno uno stadio dinamico separato dalla precedente porta C2MOS da un numero pari di inversioni.


 

 

 

 

 

 

19) Clock a 2 fasi :

L´adozione di un clock a due fasi non sovrapposte consente di eliminare i problemi di clock skew anche se si può ugualmente presentare nel caso le due fasi incontrino ritardi diversi tali da far sovrapporre i clock e quindi rendere trasparente la struttura.

Il clock a due fasi può essere generato o esternamente o localmente tuttavia lo schema da implementare è sempre il seguente :

Le strutture di memoria sono uguali alle strutture di memoria ad una fase con l´unica differenza che al posto di clk e –clk si ha phi1 e phi2 , analogamente per le strutture logiche.

 

 

 

 

20) Clock a 4 fasi :


Un clock a 4 fasi consente di implementare logiche dinamiche che oltre ad avere una fase di precarica ed una di valutazione, hanno anche una fase di hold, ciò elimina il charge-sharing durante la fase di valutazione.

Per evitare problemi di charge-sharing si possono alterare le forme d´onda del clock formando un unico segnale di clock dalla somma di 2 segnali di clock. Un tale utilizzo del clock porta a 4 diverse strutture logiche realizzabili delle quali non tutte le connessioni sono permesse bensì soltanto quelle illustrate dalla seguente figura :

 

 

 

 

 

 

 

 

 

 

 

21) Criteri di scelta del clock e sua distribuzione:

Viene praticamente utilizzato soltanto il clock ad una fase in quanto più semplice da gestire soprattutto al crescere della velocità richiesta, il clock a due fasi trova applicazione soltanto in RAMs , ROMs , PLAs .

Per quanto riguarda la distribuzione del clock si può scegliere tra l´implementazione di un unico buffer e la realizzazione invece di una struttura ad albero particolarmente adatta nel caso il progetto realizzato sia caratterizzato da una elevata modularità.


I/O Structures

22) Strutture I/O :

Sono le strutture che richiedono una maggiore esperienza del progettista pertanto spesso si preferisce adottare dei moduli già presenti nelle librerie. In sostanza vi sono dei pad di connessione ai piedini le cui dimensioni sono fissate dalla risoluzione della macchina che esegue le saldature e dalle dimensioni minime necessarie per saldare un filo. Adiacenti ai pad vi sono i circuiti di I/O che possono appartenere alle seguenti categorie :

a)       Output pad

Sono i più soggetti al latchup pertanto si fa un appropriato utilizzo dei guard-rings e di collettori fittizi.

b)       Input pad

Deve possedere una protezione per i gate dei MOS presenti in ingresso, essa in genere è costituita da 2 diodi clamper che limitano la massima escursione della tensione d´ingresso e da una resistenza serie che limita le correnti di picco che possono scorrere nei diodi, il suo valore è compreso tra 200W e 3KW.

 

c)       Pad tristate e bidirezionali

Un pad tristate ha il seguente schema

 

 

 

 

 

 

 

mentre un pad bidirezionale si ottiene dall´unione di un pad tristate e di un pad d´ingresso

 

 

 

 

 

 

 

 

23) Progetto in bassa potenza :

Il progetto in bassa potenza è basato sull´utilizzo dei CMOS a tensioni ridotte globalmente o anche solo localmente dove non siano richieste velocità elevate, inoltre si opera a frequenze basse (…semmai ricorrendo alla parallelizzazione) ed occorre rendere quanto più breve possibile la linea di clock in quanto rimane attiva anche durante il power-down.