Circuiti integrati semi-custom: Gate array

Introduzione

 

Se i full-custom sono gli elementi più complessi ed impegnativi tra i dispositivi realizzati tramite mascheratura, quelli più semplici sono i gate-array che rientrano nella categoria dei semi-custom .

"Core" e "periferica"

 

L'elemento di partenza per la realizzazione di gate-array è un wafer sul quale sono "prediffusi" un certo numero di die . La prediffusione viene utilizzata per fabbricare i due elementi principali di un gate array: il " core " e la " periferia ".

Struttura di un gate array

 

Nel "core" viene svolta, dal circuito integrato finito, tutta l'attività di elaborazione dei segnali e la prediffusione la definisce in pratica a livello del singolo transistor.L'intera struttura è scomposta in due sezioni fondamentali:celle elementari e celle di I/O .

Celle elementari

I transistor sono raggruppati in celle base disposte in modo regolare secondo un array . Ogni cella base contiene un numero fisso di transistor (MOS o bipolari a seconda della tecnologia di realizzazione e a seconda delle prestazioni volute) disposti anch'essi in modo regolare.Le celle sono isolate tra loro tramite uno strato di ossido o una coppia di transistor di isolamento.

Layout di Celle

Ogni transistor presenta delle piazzole di metallizzazione necessarie per la successiva definizione dei collegamenti. All'interno di un core sono presenti centinaia di migliaia di piazzole per le interconnessioni. Nella maggior parte dei casi ogni elemento del transistor ha piazzole di metallizzazione sdoppiati per aumentare la versatilità dei collegamenti interni.

Schema di una possibile cella:

Esempi di realizzazione di porte logiche mediante celle base

Inverter CMOS

Doppio Inverter CMOS

Celle base di un Gate Array

Negli esempi riportati, con ogni cella base possono essere realizzate 2 porte logiche a 2 ingressi o una porta logica a 1 ingresso. In un gate array contenente soltanto 20 colonne per 80 righe, si avrebbero 3200 gate equivalenti.

Vantaggi dell' uso dei Gate Array

Avendo il costruttore già realizzato la struttura circuitale di base, per giungere al dispositivo finale è allora solamente necessario definire le ultime maschere, quelle relative alla metallizzazione.
Le semplici interconnessioni tra i transistor (non fatte dal costruttore) consentono la realizzazione di porte logiche. Le connessioni tra queste ultime permettono l'implementazione di circuiti combinatori e sequenziali anche complessi. I tempi di progettazione sono molto ristretti consentendo la consegna dei primi campioni in una decina di giorni.

Routing

Il componente pre-processato dalla casa costruttrice è stato già sottoposto a fasi di lavorazione implicanti da 4 a 6 mascherature.Per effettuare i collegamenti ( routing ) possono essere necessari ancora da 1 a 6 livelli di metallizzazione. Mediamente un gate array è in grado di sostituire oltre 100 circuiti integrati MSI.
Un gate array può essere visto come una struttura costituita da un'alternanza di canali "attivi" e "passivi". Un canale attivo contiene i transistor e viene utilizzato per realizzare le funzioni logiche. Un canale passivo è invece destinato solamente per le connessioni intercella ( routing ).
Il routing tra celle può coprire tutto lo spazio disponibile nei canali. Essendo tali canali definiti sia nella posizione che nella dimensione, non è possibile, nella maggioranza dei casi, sfruttare tutta l'area di silicio disponibile.Risulta possibile in genere riuscire a utilizzare il 60-80 % dei componenti a disposizione.

Strutture di gate array

Accanto alle strutture che presentano canali di tipo "passivo", al fine di incrementare la possibilità di utilizzo dei componenti, esistono dispositivi integrati in cui il numero di canaliè ridotto o addirittura annullato ( channel-less ). Tali strutture vengono denominate " sea-of-gate " o " continuous-gate " in cui è presente una distribuzione uniforme dei transistor. In esse, alcuni transistor vengono configurati proprio come elementi di isolamento tra porte vicine.

Isolamento con transistor

Con l'isolamento mediante transistor, oltre a una maggiore densità di componenti, si ha una più elevata velocità di funzionamento per la diminuzione di capacità parassite di accoppiamento.

Celle d' uscita

L'altro elemento caratteristico di un gate array,che viene realizzato durante la fase di prediffusione, è la circiuteria presente sulla periferia adibita alla definizione di celle di I/O e di "pad" di alimentazione. In particolare, nelle celle di I/O sono inseriti quegli elementi necessari per la protezione contro scariche elettrostatiche (ESD).

Per ottenere la massima flessibilità, in una struttura che di fatto è definita a priori, si realizzano normalmente delle celle di I/O assolutamente identiche. Ognuna di esse può essere definita come stadio di ingresso, di uscita o bidirezionale. E' possibile realizzare uscite con diversa capacità di pilotaggio ( fan-out ); limitarne la corrente di corto-circuito; utilizzarle come elementi tristate o a drain aperto.

Strumenti software per la progettazione di circuiti basati su gate array

Introduzione

La progettazione di un dispositivo semicustom deve essere sviluppata al computer. E' necessario quindi avere la certezza che gli strumenti utilizzati per lo sviluppo forniscano risultati attendibili così da concentrare la propria attenzione solo sullo sviluppo in atto.
L'analisi, a conclusione della simulazione, deve quindi essere rivolta alla sola verifica progettuale. Esistono strumenti che consentono di lavorare con PC o su complesse stazioni di lavoro. Il flusso delle operazioni compiute è comunque riconducibile a uno schema comune.

Descrizione

La descrizione dei sistemi elettronici da implementare in un gate array è fatta tramite schemi elettrici o per mezzo di linguaggi di "programmazione hardware".

Test funzionale e nel tempo

Oltre ai programmi utili alla ottimizzazione delle interconnessioni e di sviluppo descrittivo dei circuiti, esistono tool per la simulazione sia funzionale che temporale del sistema che si intende realizzare.Questi programmi consentono di eseguire test accurati del sistema prima della sua effettiva fabbricazione finale sui wafer.

Realizzazione di un gate array

Una volta che il circuito ha passato tutti i test utili alla sua completa verifica e si ha l'approvazione della silicon foundry, si può passare al disegno delle maschere utili alla realizzazione dei collegamenti.In questa fase è assolutamente necessaria l'interazione stretta con l'industria produttrice di circuiti integrati tanto da richiedersi spesso l'intervento di agenzie apposite.

Vantaggi

Poiché la fase finale richiede un processo di lavorazione non molto oneroso, i costi di IC basati su gate array sono di gran lunga inferiori a quelli dei circuiti full custom.

Esempio di flusso di progettazione di un circuito integrato basato su gate array

La progettazione di un circuito basato su gate array segue le linee essenziali di un qualunque progetto passando dalle specifiche, alla definizione funzionale fino a quella di tipo elettrico.

1. Descrizione del sistema

Il primo passo consiste nella definizione delle specifiche di tipo funzionale e delle temporizzazioni. La descrizione a questo livello è tipicamente affrontata adottando linguaggi descrittivi di tipo hardware (HDL, Hardware Design Language )

2. Simulazione del comportamento

Nel secondo passo viene simulato il comportamento del circuito e quindi verificato che esso risponda alle specifiche imposte.

3. Preparazione dello schema

Successivamente si prepara lo schema dettagliato della rete elettrica

4. Rispondenza

per poi verificare la rispondenza con regole fissate dalla particolare tecnologia adottata.

5. Ottimizzazione ritardi

Il layout del circuito è ottimizzato per rendere minimi i tempi di ritardo.

6. Verifica funzionale e temporizzazioni

Il circuito ormai descritto viene quindi simulato nel funzionamento per verificare il funzionamento a livello di porte logiche e delle temporizzazioni.

7. Confronto uscite

Le funzioni logiche e i diagrammi temporali delle uscite così ottenuti vengono confrontate con quanto ricavato inizialmente e relativo al comportamento voluto.

8. Preparazione vettore di test

Vengono quindi preparati i vettori di test utili alla verifica del circuito integrato finale.

9. Design

Seguirà il posizionamento dei componenti per il particolare gate array utilizzato e sono definite le connessioni tra gli stessi.

10. Definizione di layout

Utente e costruttore definiscono il layout del dispositivo

11. Fase di approvazione

Tale layout dovrà rispondere alle specifiche desiderate e definite all'inizio del progetto.

12. Realizzazione del prototipo

La fase finale è quindi quella relativa alla realizzazione del prototipo.

Circuiti integrati semi-custom: Component array

Introduzione




Oltre che nel settore digitale, attualmente, gli ASIC trovano larghissima applicazione anche in campo analogico. Sebbene la distinzione delle "due elettroniche" sia fatta ancora oggi da molti tra applicazione digitale e analogica, la tendenza è quella di integrare su singolo chip circuiti di tipo sia digitale che analogico.







La corretta distinzione ha ancora invece senso soltanto se operata tra quella che viene denominata elettronica di potenza e la parte di elettronica che invece lavora sul condizionamento, l' elaborazione e il trattamento dei segnali.








Component array



I component array sono dispositivi orientati prevalentamente ad applicazioni analogiche.
Costituiscono in pratica l' equivalente analogico dei gate arry.
La tecnologia utilizzata per la loro realizzazione è fondamentalmente quella dipolare.
Anche una applicazione puramente analogica può infatti pensarsi di essere realizzata a livello di gate array.
Anche in questi circuiti integrati esiste una matrice regolare di celle di base.
I dispositivi sono prediffusi fino alle fasi che precedono le interconnessioni che invece vengono lasciate al progettista.







Celle



Come nei gate array, nei component array il nucleo (core) del chip è costituito da un insieme di celle. Ogni cella è ottimizzata per funzioni di tipo analogico e contiene transistor NON e PNP, diodi Schottky e resistori.

Le interconnessioni che possono essere definite permettono la realizzazione di un qualunque circuito analogico utile all' amplificazione, al condizionamento o al filtraggio di segnali.







Tecnologia

Accanto alla tecnologia bipolare sono stati sviluppati component array a tecnologia mista:
In questo modo vengono sfruttati i pregi di ciascuna tecnologia impiegata e non si perde il vantaggio dell' integrazione su singolo chip.

Elemento base

Il primo problema della ottimizzazione di un array completamente analogico è quello relativo alla definizione del più generico elemento di base.

Il transistor come elemento base

Naturalmente è il transistor ad essere scelto quale componente di base. Tale definizione tuttavia non prescinde dal causare notevoli problemi per ciò che concerne la geometria dei singoli elementi attivi di base. Dev'essere infatti prevista la presenza di elementi passivi, resistori in silicio policristallino e condensatori che vanno interposti tra gli elementi attivi. La loro disposizione è piuttosto casuale e generalmente porta a un cattivo sfruttamento dell'area del chip.E' per tale motivo che nello sviluppo dei component array di tipo analogico si è giunti a nuove architetture denominate Tile Array .

Tile Array

Nei Tile Array l’elemento di base è costituito da una mattonella (tile) che contiene un determinato numero di transistor e di elementi passivi. Il singolo elemento di base viene replicato un numero di volte dipendente dal taglio scelto, per formare una sorta di mosaico. La definizione della funzionalità avviene nell'ambito del singolo elemento base ottenendo così uno sfruttamento del silicio migliore e un incremento delle prestazioni in relazione alla vicinanza degli elementi interconnessi.

Con tale approccio si ha inoltre il vantaggio di poter estrarre da librerie realizzate dal costruttore, celle riconducibili a funzioni di tipo standard.Nel caso di array analogici non esistono problemi legati alla simulazione che può essere sviluppata completamente su simulatori di tipo commerciale quale ad esempio SPICE.

Metodologie di progettazione

Mentre il progetto di un gate array digitale deve comportare una buona conoscenza teorica confortata da una certa pratica, nel progetto di un array analogico è più importante il metodo empirico, fondato cioè sull’esperienza, che non su uno studio esaustivo del sistema. Le variabili che intervengono nella definizione di una parte analogica sono spesso molto elevate e generalmente sono mutuamente interagenti rendendo molto difficile la definizione del loro valore ottimale.

Test

La fase finale di test non comporta problemi particolari sulle apparecchiature da impiegare in quanto vengono utilizzate macchine ATE (Automatic Test Equipmet) adibite al normale test di componenti integrati di tipo analogico.

Circuiti integrati semi-custom: Standard Cell

Introduzione

Come già detto, nei dispositivi full-custom si ha un'ottimizzazione molto spinta sia delle prestazioni del circuito sia dello sfruttamento dell'area di silicio. E' vero però che occorrono produzioni veramente elevate per giustificare la spesa da affrontare nella realizzazione di un circuito integrato di tale tipo.

A causa del non ottimo sfruttamento dell'area di silicio, i gate array sono idonei per produzioni medio-piccole. Volendo invece realizzare produzioni che si posizionano tra questi due limiti, è allora conveniente prevedere l'utilizzo di standard cell.

Con l'impiego di standard cell si ha una buona ottimizzazione dell'area di silicio utilizzata e i tempi e costi di sviluppo sono decisamente più contenuti. In definitiva, con esse si raggiunge l'ottimo compromesso tra i vantaggi che le due metodologie full- e semi-custom offrono.

Le 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.