• Non ci sono risultati.

CAPITOLO 5 Realizzazione del chip

N/A
N/A
Protected

Academic year: 2021

Condividi "CAPITOLO 5 Realizzazione del chip"

Copied!
18
0
0

Testo completo

(1)

103

CAPITOLO 5

Realizzazione del chip

5.1 Introduzione

Una volta progettate le varie strutture di test e realizzati i layout delle parti full custom si deve procedere a disegnare lo schematico complessivo, a partire dal quale, per mezzo del tool CELL ENSEMBLE, verranno effettuati il floorplanning, il placement ed il routing del chip.

Tale strumento CAD consente quindi, a partire da uno schematico, di integrare tutte le strutture, comprese le celle standard, in un unico chip, ottenendo il layout completo. A partire da quest’ultimo si procederà alla creazione del file di descrizione delle maschere (GDSII), che, insieme al bonding diagram, servirà alla fonderia AMS per la fabbricazione del chip.

5.2 Floorplanning

Il primo passo da compiere è la creazione delle viste ABSTRACT di tutte le parti full custom. Tali viste contengono tutti i pin di ingresso e di uscita del layout da cui sono state derivate, e servono, in fase di routing, per creare le piste di connessione con i pad esterni.

(2)

Poiché non tutte le strutture sono interamente full custom, e poiché il numero di celle standard della parte semi custom è piuttosto basso, si è adottato un approccio bottom-up in fase di floorplanning, al fine di ottimizzare le operazioni del router. E’ stato dunque realizzato un macroblocco comprendente tutti gli schemi che hanno sia una parte full custom che una parte a standard cell, posizionando queste ultime in una regione comune ed eseguendo, quindi, un placement ed un routing specifici per questo macroblocco.

Una volta terminato il layout di questo, è stato necessario crearne nuovamente la vista ABSTRACT, che sarà poi utilizzata, a livello più alto, nel floorplanning complessivo del chip.

Trattandosi di un oggetto contenente strutture di test, è ovvio che saranno necessari anche molti pad esterni, perciò il chip finale risulterà di tipo pad limited. In fase di creazione dello schematico complessivo, dunque, si è mirato a cercare di ridurre il numero di celle di periferia, mettendo a comune dei segnali, dove possibile.

5.3 Creazione del macroblocco contenente celle

standard

Le strutture che fanno parte del macroblocco sono i due ring oscillator a 200 e a 700 MHz, il ring oscillator con carico programmabile ed il circuito impulsatore; tutte queste, infatti, hanno almeno una cella di libreria.

Lo schematico che ne risulta è quello di figura 5.1 . Al fine di ridurre il numero di pad esterni, tutti e quattro i segnali di uscita che fungono da frequenza di riferimento sono stati messi a comune. Per quanto riguarda i segnali di abilitazione, invece, è stato necessario mantenerli separati in modo da consentire l’accensione di una sola struttura alla volta.

Anche i contatti di substrato dei due mos di test, M1 e M2, del circuito impulsatore sono stati messi a comune: per misurare correttamente la singola corrente di substrato basterà accenderne uno alla volta.

(3)

In questo modo, abbiamo ridotto il numero totale dei pin di questo macroblocco da 20 a 16.

Figura 5.1: schematico del macroblocco.

5.3.1 Placement e routing del macroblocco

Il flusso di operazioni da seguire per ottenere il layout dello schematico precedentemente disegnato è riportato in figura 5.3. Dapprima si crea automaticamente la vista autolayout, dove il tool inserisce le viste abstract delle parti full custom, si procede poi con il piazzamento dei pin di I/O e delle alimentazioni. Questi pin vanno piazzati cercando di favorire il routing sia a

(4)

questo livello che a livello superiore, quando verrà istanziata la cella ottenuta nel layout finale. Per le alimentazioni sono state inserite due coppie di pin, una per la Vdd sulla sinistra del macroblocco e l’altra per la gnd sulla destra.

In fase di placement vengono piazzate sia le celle full custom che quelle standard, anche qui bisogna procedere tenendo presente le operazioni di routing che seguiranno dopo: i blocchi full custom sono stati disposti all’esterno del layout, mentre tutte le standard cell sono state posizionate nella regione centrale, come visibile in figura 5.2, in modo da poter essere connesse facilmente alle strutture che la circondano.

Le celle standard vengono piazzate dal tool secondo righe parallele ed il numero di queste ultime dipende dall’aspect ratio che vogliamo ottenere. Altre celle di libreria che vengono istanziate in automatico sono:

- le feed cells, che servono ad eguagliare la lunghezza delle varie righe; - le L-cap cells, che vengono inserite alle estremità di sinistra delle righe per

rispettare le regole di layout;

- le R-cap cells, che vengono inserite alle estremità di destra delle righe per rispettare le regole di layout;

- le power feed-through cells, che servono per portare l’alimentazione all’interno delle righe.

(5)

Figura 5.3: flusso di P&R del macroblocco.

Le ultime celle menzionate, nel nostro caso, non sono state inserite, in quanto non necessarie per il motivo seguente. Ogni riga ha piste di alimentazione di 2 µm di

(6)

larghezza, questo significa che al massimo possono sopportare 2 mA; qualora il numero di celle della riga fosse tale da richiedere una corrente maggiore, vengono inserite queste power feed-through cells, che consentono di portare l’alimentazione anche in punti intermedi delle righe.

Nel layout realizzato, fissato un aspect ratio di 0,8 per la regione a celle standard, si sono ottenute 7 righe, composte da un totale di 134 porte; per dare una stima della corrente media assorbita da una riga si procede come segue. Partendo dalla conoscenza delle celle impiegate, si vanno a leggere i valori della potenza assorbita per unità di frequenza sulla documentazione AMS e se ne calcola il valore medio, che vale 0,476 µW/MHz. Moltiplicando questo parametro per il numero di celle e per la frequenza di funzionamento, che si assume di 200 MHz, si ricava la potenza media assorbita da tutte le celle nel caso che le uscite di queste commutino ad ogni periodo. Per tenere poi conto della reale frequenza di commutazione delle uscite, si introduce il fattore switching-activity, che si assume pari ad 1/3. La potenza media assorbita che si stima è allora:

1

0, 476 / 134 200 4, 252

3

ass

P = µW MHz⋅ ⋅ MHz⋅ = mW (5.1)

Da cui si calcola la corrente media assorbita: 4, 252 1, 29 3, 3 ass mW I mA V = = (5.2)

Infine, dividendo per il numero di righe si stima la corrente media assorbita da una riga, ottenendo un valore ben sopportato dalle piste di alimentazione di 2 µm di larghezza.

Terminata questa fase si passa al routing: ai nostri scopi è fondamentale l’utilizzo di un channel router, invece che di un area router. Mentre il primo fa passare le piste di collegamento soltanto nei canali, particolari regioni definite dal tool all’interno delle quali non ci sono né celle standard né macroblocchi, il secondo farebbe passare le piste anche sopra le celle, andando ad oscurare le zone di emissione.

La prima operazione da compiere è, quindi, creare i canali. Si devono poi fornire anche informazioni al router riguardo alla larghezza desiderata e alle metal da usare per le piste di alimentazione. Per stabilire la larghezza basta dare una rapida

(7)

stima della corrente media totale assorbita dalle quattro strutture, pur sapendo che per i test ne verrà accesa una sola alla volta, così facendo si è fissata a 25 µm. Per il tipo di layer si è scelto la metal 1 per Vdd e la metal 3 per gnd, in modo che possano essere sovrapposte, risparmiando area. Infine, si è fissata la priorità del nodo a 115.

Il passo successivo è il global routing delle alimentazioni, che viene eseguito manualmente mediante lo strumento “interactive global routing”: si deve scegliere attraverso quali canali fare passare le piste per gnd e Vdd, andandosi a collegare ai pin di alimentazione sia delle parti full custom che delle righe a standard cell. Per facilitare il raggiungimento di tutte le strutture del macroblocco e per ottenere un effetto stabilizzante, i due tipi di metal sono stati fatti passare ad anello intorno a tutta la macrocella.

Il global routing degli altri nodi viene poi svolto in maniera automatica e viene seguito dal detailed routing, ottenendo tutte le piste di connessione.

Successivamente è necessario effettuare il controllo delle regole di layout (DRC) per eliminare eventuali errori residui, che, nel caso in esame, sono quelli inerenti le wide metal: insufficiente spaziatura tra le metal con larghezza maggiore di 10 µm, tra queste e le piste con larghezza inferiore e insufficiente enclosure dei contatti.

Una volta ottenuto il layout della macrocella e corretti tutti gli errori, è stata nuovamente creata la vista abstract, che verrà utilizzata nel placement e routing del chip finale.

5.4 Creazione dello schematico complessivo

Lo schematico completo, riportato in figura 5.4, comprende la macrocella appena descritta, i singoli transistor di test, sia nMOS che pMOS, il mos di tipo n con metal a forma di gradinata e l’amplificatore operazionale.

Trattandosi di strutture di test, la dimensione finale del layout sarà fissata dal numero di pad della periferia, si è dunque cercato di ridurli anche in questa fase

(8)

mettendone alcuni a comune. I due contatti di source dei mos M1 ed M2 del circuito impulsatore sono stati portati ad un unico pad di ingresso, è ovvio che in fase di collaudo ne andrà acceso soltanto uno alla volta per poter misurare la corrente di quello osservato. Analogamente, sono stati messi a comune i contatti di source, gate e substrato degli nMOS di test con i rispettivi contatti del mos “a gradino”; un altro pad si è risparmiato collegando i substrati di M1 ed M2 con il contatto di substrato precedentemente citato. Come risultato si è ottenuto un numero totale di pad pari a 38.

5.4.1 Scelta dei pad

Per completare lo schematico, resta da effettuare la scelta dei pad di alimentazione e di quelli di ingresso ed uscita.

Per la tecnologia usata, la AMS prevede i seguenti tipi di celle di alimentazione: - pad per alimentare il core (VDD3IP, GND3IP),

- pad per alimentare i buffer di uscita (VDD3OP, GND3OP),

- pad per alimentare il core e le celle di periferia (VDD3RP, GND3RP), - pad per alimentare il core, i buffer di uscita e le celle di periferia

(VDD3ALLP, GND3ALLP).

Generalmente si usano alimentazioni diverse per il core e per la periferia, in modo da evitare che le commutazioni delle uscite producano fluttuazioni dell’alimentazione del core, generando dei malfunzionamenti.

Si è dunque scelto di alimentare l’unico buffer di uscita BU24P, quello da cui escono le frequenze di riferimento, con un’apposita coppia di pad VDD3OP e GND3OP.

Per quanto riguarda il core, si deve alimentare sia il macroblocco, contenente tutti gli oscillatori, che l’amplificatore operazionale. Allo scopo di rendere indipendente l’accensione di ogni struttura, evitando ad esempio che l’operazionale crei un segnale di disturbo su un certo oscillatore o viceversa, si è alimentato l’amplificatore con una coppia di pad per il core, ovvero VDD3IP e GND3IP. La macrocella e le altre celle di periferia, poi, sono state alimentate con un’unica coppia VDD3RP, GND3RP.

(9)

Figura 5.4: schematico dell’intero chip.

Un pad di alimentazione del core può erogare al massimo una corrente di circa 70 mA, dipende dalla larghezza delle piste di metal, per cui il numero di queste celle varia in funzione della potenza assorbita dai moduli che costituiscono il core. Nel layout realizzato, sia l’amplificatore che il macroblocco assorbono una corrente media ben inferiore al limite dei 70 mA, e, quindi, una coppia Vdd, gnd è più che sufficiente ad alimentare ciascuno dei due moduli.

(10)

I pad impiegati per gli altri ingressi sono il CMOS input buffer (ICP), utilizzato per i segnali CK, SI e per gli Enable, mentre per tutti gli ingressi analogici, quali drain, source, gate e substrato dei mos di test, si è impiegato il pad VDD3IP. L’utilizzo di quest’ultimo è stata una soluzione di compromesso tra l’avere una protezione su tutti gli ingressi ed il poter misurare le piccole correnti di bulk, minimizzando l’effetto delle correnti inverse dei diodi di protezione.

5.5 Placement

Il flusso di placement e routing del chip finale è riportato in figura 5.5, fondamentalmente è simile a quello visto per il macroblocco, ma si differenzia in alcuni punti.

Dopo aver generato la vista autolayout, dove vengono istanziate le viste abstract, si passa al piazzamento delle celle di periferia. Quest’ultimo passo, che consiste nel piazzare tutti i pad dei segnali e di alimentazione, insieme al consecutivo, ovvero il piazzamento dei vari blocchi, devono essere compiuti nell’ottica di ottimizzare il routing successivo.

Oltre ai pad vengono piazzate sugli angoli del layout anche le corner cell, che servono a collegare, sui quattro lati del chip, gli anelli esterni di alimentazione. In figura 5.6 si osserva il placement finale dei vari blocchi e di tutte le celle di periferia.

Ciascun pad è stato posizionato il più vicino possibile al pin corrispondente: come si può osservare, infatti, sul lato sinistro e su quello superiore si hanno tutti gli ingressi di controllo per i singoli mos di test, mentre in alto a destra ci sono i pad dell’operazionale.

(11)
(12)

I restanti pad nelle posizioni non menzionate sono quelli relativi alle strutture contenute nel macroblocco: le alimentazioni del buffer di uscita sono state piazzate a fianco della cella BU24P, che nel disegno è chiamata “f_ref”, mentre le alimentazioni del macroblocco (Vdd_Mac, Gnd_Mac) si trovano davanti ai corrispondenti pin.

Figura 5.6: placement globale.

5.6 Routing

Dopo avere creato i canali, si devono impostare le proprietà dei nodi delle alimentazioni: si fissa la Vdd in metal1 e la gnd in metal2 e si impone una larghezza di 30 µm, sia per l’alimentazione del macroblocco sia per quella

(13)

dell’amplificatore. Vanno poi definite le caratteristiche per i nodi relativi ai ring esterni di alimentazione, anche per questi bisogna stabilire la larghezza, il tipo di layer e la priorità.

In fase di global routing manuale si è fatta particolare attenzione a separare l’alimentazione del macroblocco da quella dell’operazionale, collegando i vari pin con i rispettivi pad. Terminato il routing, per avere una visione completa del layout, sono state sostituite le viste abstract, sia delle parti full custom che delle parti a celle standard, con le rispettive viste layout, in modo da poter eseguire il DRC sull’intero chip. Gli errori che sono stati corretti in questa fase finale sono i seguenti:

- insufficiente spaziatura tra le wide metal ed altri errori inerenti, come visto in precedenza;

- insufficiente larghezza delle piste che portano segnali analogici, si è dovuto allargarle manualmente in funzione della corrente che devono portare;

- antenna error: si generano quando, per una pista che arriva su un certo gate, il rapporto tra l’area della metal e quella del poly supera un certo valore, può esserci allora il rischio di catturare segnali di disturbo o di fare accumulare una carica eccessiva sul gate, danneggiandolo; si è risolto il problema passando per un tratto sul livello superiore di metal;

- errori di coverage: per i tre tipi di metal e per il poly deve essere rispettate una certa percentuale di copertura rispetto all’area totale, queste percentuali valgono rispettivamente 30 % e 14%; per raggiungere tali coperture, gli spazi vuoti sono stati riempiti con “panini” a quattro strati (poly, met1, met2, met3), con poly, metal2 connessi a gnd e metal1, metal3 connesse a Vdd, aumentando, quindi, ulteriormente l’effetto stabilizzante.

Ultimo passo che può risultare utile è il confronto LVS tra lo schematico completo del chip ed il layout ottenuto col tool Cell Ensemble, in modo da rivelare la presenza di eventuali errori.

Nelle tavole finali è raffigurato il layout completo del chip, mentre nella seguente tabella 5.1 sono riportati alcuni dati relativi a quanto si è ottenuto.

(14)

LARGHEZZA 1,84 mm

ALTEZZA 1,53 mm

AREA TOTALE 2,82 mm 2

ASPECT RATIO (L/A) 1,21

PAD DI ALIMENTAZIONE 6

PAD DI INGRESSO 30

PAD DI USCITA 2

PAD TOTALI 38

Tabella 5.1 : dimensioni finali del chip.

5.7 Probe pad

Per poter compiere su queste strutture delle misure anche con l’EBT, e successivamente confrontarle con le misure del tester ad elettroluminescenza, sono stati introdotti dei probe pad. Questi consistono in piazzole di metal di livello superiore connesse alle piste di cui si vuole misurarne la tensione e, al di sopra di esse, viene aperto un buco nell’ossido, per consentire al fascio di elettroni di giungervi direttamente.

La dimensione dei buchi, riferiti col nome di layer pad, è fissata dalle regole di layout a 15 µm x 15 µm e devono avere un enclosure sulla metal3 sottostante di 5 µm, per cui le piazzole sono state realizzate da 25 µm x 25 µm. Effettuando il DRC finale, è stato necessario disabilitare il controllo delle regole di layout relative ai pad, perché quelli disegnati venivano interpretati come pad di periferia e non come probe pad, di conseguenza uscivano fuori molti errori. I pad esterni, infatti, si realizzano con un “panino” a tre livelli di metal, in modo da conferire rigidezza meccanica per il bonding, ed è necessario rispettare molte regole di spacing con le piste vicine.

(15)

Questi probe pad sono stati connessi ai nodi interni di cui non si può misurare la tensione direttamente e sono stati posizionati in parte negli spazi vuoti e in parte, dove il layout lo consentiva, sopra le piste di alimentazione delle varie strutture. Le strutture caratterizzate dai probe pad sono l’amplificatore operazionale, che ne ha uno collegato all’uscita dello stadio differenziale, e tutte le quattro parti full custom contenute nel macroblocco.

In riferimento alle tavole di layout finali, per ogni struttura menzionata vengono riportati i segnali connessi ai probe pad, partendo dalla prima piazzola in alto a sinistra e ruotando in senso orario.

• Ring oscillator 200 MHz, tavola 4:

OutInv11, OutInv9, OutInv6, OutInv3, OutNand, OutInv15, OutInv18, OutInv21, InNand, OutInv29, OutInv23, OutInv22, OutInv24, OutInv30, OutInv45, OutInv42, OutInv39, OutInv36, OutInv34, OutInv33, OutInv32, OutInv12.

• Ring oscillator 700 MHz, tavola 5:

OutNand, OutInv3, OutInv6, OutInv11, OutInv8, OutInv7, OutInv10, OutInv12. • Ring oscillator con carico programmabile, tavola 6:

OutInv3, OutInv6, OutInv9, OutInv18, OutInv15, OutInv12, OutInv27, OutInv30, OutInv29, OutInv42, OutInv34, OutInv35, OutInv38, OutInv39, OutInv28, OutInv23, OutInv22, OutInv21, InNand, OutNand.

• Circuito impulsatore, tavola 7:

GateMn, GateMp, OutRing, OutInv4, OutNand (centrale), Ref, DrainM2, GateM1.

5.8 Packaging

Ottenuto il layout finale del chip, è possibile passare alla scelta del package. Il numero totale di pad è 38, per cui potrebbe essere utilizzato un DIL40S, dove 40 indica la quantità di pin esterni, 10 per lato, ed S significa che la cavità interna è piccola, circa 7.8 mm x 7.8 mm, ben maggiore dell’area del nostro prototipo.

(16)

In fase di bonding ci si rende conto, però, che una delle undici regole da rispettare viene violata, in particolare si tratta della regola dell’angolo formato tra il filo di bonding ed il bordo del chip che deve essere maggiore od uguale a 45 gradi. La soluzione è stata quella di sostituire tale package con un DIL48S, che possiede una cavità interna delle stesse dimensioni della precedente, ma ha 8 pin in più. In fase di bonding, le piste di connessione sono state realizzate con il layer y0 e con una larghezza di 30 µm, ovviamente non tutti i pin sono stati collegati, come si vede dalla figura 5.7. Nella tabella 5.2 di pagina seguente è riportata la piedinatura del chip, con una breve descrizione della funzione di ogni segnale. A partire dal layout completo, si è provveduto alla creazione del file di descrizione delle maschere (GDSII) per mezzo dell’apposito tool di CADENCE, infine si è inviato il progetto alla fonderia.

(17)

N° Pad Nome Tipo Descrizione 1 Drain4_p IN Drain pMOS con W=0,5 µm

2 Drain5_p IN Drain pMOS con W=0,6 µm

3 Source_p IN Source dei pMOS di test

4 Vdd_Mac PW Vdd di alimentazione del macroblocco

5 Enable2 IN Abilitazione per il ring a 700 MHz

9 Enable1 IN Abilitazione per il ring a 200 MHz

10 Pulsed IN Abilitazione per il circuito impulsatore

11 SI IN Ingresso seriale del registro a scorrimento

12 Gnd_perif PW Gnd di alimentazione della periferia

13 f_ref OUT Segnale di riferimento

14 Vdd_perif PW Vdd di alimentazione della periferia

15 CK IN Clock per registro a scorrimento

16 Enable3 IN Abilitazione per il ring con carico

20 In1 IN Ingresso della passgate1

21 Gnd_Mac PW Gnd di alimentazione del macroblocco

22 Gate2 IN Gate del MOS M2 dell’impulsatore

23 In2 IN Ingresso della passgate2

24 Source_I IN Source dei MOS M1, M2 dell’impulsatore

25 Drain1 IN Drain del MOS M1 dell’impulsatore

26 Vout OUT Uscita dell’operazionale

27 Vdd_AO PW Vdd di alimentazione dell’operazionale

28 In+ IN Ingresso non invertente dell’operazionale

29 In- IN Ingresso invertente dell’operazionale

30 Gnd_AO PW Gnd di alimentazione dell’operazionale

33 Drain_g IN Drain del mos « a gradino »

34 Gate_n IN Gate degli nMOS di test

35 Sub_n IN Substrato degli nMOS di test

36 Drain1_n IN Drain nMOS con W=0,3 µm

37 Drain2_n IN Drain nMOS con W=0,35 µm

38 Drain3_n IN Drain nMOS con W=0,4 µm

39 Drain4_n IN Drain nMOS con W=0,5 µm

40 Drain5_n IN Drain nMOS con W=0,6 µm

43 Source_n IN Source degli nMOS di test

44 Gate_p IN Gate dei pMOS di test

45 Sub_p IN Substrato dei pMOS di test

46 Drain1_p IN Drain pMOS con W=0,3 µm

47 Drain2_p IN Drain pMOS con W=0,35 µm

48 Drain3_p IN Drain pMOS con W=0,4 µm

(18)

120

Conclusioni

In questa tesi è stato presentato il progetto di alcune strutture di test su cui verranno effettuate misure sia per mezzo del tester ad elettroluminescenza, realizzato presso la Facoltà di Ingegneria dell’Università di Milano, sia per mezzo dell’EBT, a disposizione nel Dipartimento dell’Ingegneria dell’Informazione dell’Università di Pisa.

Il lavoro svolto può essere suddiviso in due parti. In una prima parte si è chiarito il funzionamento di questa nuova tecnica di misura, i principi fisici su cui si basa, le modalità di acquisizione delle informazioni ed i sistemi realizzati fino ad oggi. Particolare attenzione è stata dedicata alla strumentazione del Politecnico di Milano.

Nella seconda fase si è passati, poi, a progettare diversi tipi di strutture, in modo da compiere successivamente tutti i vari tipi di misure possibili, sia quantitative dell’emissione che di timing. Le prestazioni di tali strutture sono state adattate al meglio alle caratteristiche del tester di Milano, a questo scopo, durante le varie fasi di progettazione, si è tenuta una stretta collaborazione tra le due Università. Questo lavoro getta, quindi, le basi per una futura attività di ricerca svolta in collaborazione tra le due Università, che mira a mettere in risalto pregi e difetti di questa nuova tecnica di misurazione su circuiti integrati.

Il chip, attualmente in fase di fabbricazione, è stato realizzato in tecnologia CMOS a 0.35 µm dell’Austria Mikro Systeme.

Figura

Figura 5.1: schematico del macroblocco.  5.3.1   Placement e routing del macroblocco
Figura 5.2: placement del macroblocco.
Figura 5.3: flusso di P&R del macroblocco.
Figura 5.4: schematico dell’intero chip.
+5

Riferimenti

Documenti correlati