I benefici del pattern matching

Le tecniche basate sul riconoscimento di particolari schemi grafici (pattern) presenti all'interno dei progetti si prestano a un'ampia varietà di applicazioni nelle attività di progettazione, di verifica e di test dei circuiti integrati. Il pattern matching si è rivelato uno strumento estremamente utile all'interno del flusso di progettazione degli Ic, comportando benefici che vanno da una significativa riduzione della complessità dei cosiddetti rule decks, alla semplificazione del compito di intercettare i molteplici fattori di riduzione delle rese, fino al miglioramento di flussi quale quello di riconoscimento delle eccezioni ammesse rispetto alle design rules stabilite. I pattern di progetto non rappresentano dunque solo un modo più semplice per esprimere complesse relazioni 2-D e 3-D, bensì forniscono anche ai progettisti e agli ingegneri di produzione una modalità non ambigua e di immediata utilità per comunicare possibili problematiche progettuali e produttive.

Creazione dei pattern

Prima di poter riconoscere un pattern all'interno di un layout dobbiamo definirlo, in modo da poterlo poi usare correttamente nel processo di ricerca. È possibile sia catturare un pattern, “ritagliando” mediante un tool di visualizzazione specifiche forme da un layout esistente, oppure anche disegnare manualmente nuovi pattern. Alcuni strumenti di pattern matching consentono ai progettisti anche di catturare automaticamente dei pattern durante l'esecuzione di un “passaggio” di Drc (Design Rule Checking), sulla base di criteri specificati dall'utente. I pattern possono anche interessare più di un layer. Possono addirittura rappresentare un intero elemento funzionale oppure una cella, sotto forma di pattern multi-strato, e successivamente verificare il corretto posizionamento di quel pattern ovunque all'interno del progetto. Gli utenti possono anche inserire dei livelli marker, per aiutare a garantire la conformità di un pattern multi-layer ad una determinata specifica progettuale.
Una volta che un pattern è stato definito e aggiunto a un'apposita libreria di pattern, quel pattern risulta disponibile per l'utilizzo all'interno dei diversi flussi: di progettazione, di verifica e di test. I progettisti possono dunque utilizzare la libreria per trovare un determinato pattern - e solo quello (incluse tutte le sue varianti specificate) - ovunque esso possa essere presente all'interno del progetto.

Il Pattern Matching nel flusso di progettazione degli IC
L'utilizzo più comune del pattern matching nella progettazione degli IC è costituito dalla identificazione visiva di configurazioni topologiche problematiche nel corso di simulazioni del processo di fabbricazione, di attività di failure analysis, o di altre tecniche di verifica e di validazione. Le simulazioni e le tecniche di analisi del layout sono in grado di rilevare caratteristiche del progetto o configurazioni aventi elevata probabilità di presentare malfunzionamenti, oppure impatti negativi sulle rese in fase di produzione, a causa di una varietà di difetti. La failure analysis può utilizzare tecniche di test del silicio post-fabbricazione e di analisi delle rese per identificare e isolare difetti sistematici, che appaiono in modo ripetitivo in più die e su più progetti. Man mano che, nella fase iniziale della vita di un nuovo nodo di processo, vengono implementati progetti di crescente complessità, i team di sviluppo riescono spesso ad identificare queste configurazioni problematiche prima della produzione in grande serie su silicio, utilizzando simulazioni dei processi ottici e litografici. Laddove siano state introdotte le librerie dei pattern, il pattern matching può essere facilmente integrato nel flusso di verifica del layout dei nuovi progetti, in aggiunta alle tradizionali tecniche di Drc, consentendo ai progettisti di individuare e risolvere un maggior numero di problemi progettuali nelle fasi iniziali del flusso di sviluppo. I pattern di progetto possono essere utilizzati anche per implementare configurazioni progettuali ottimizzate, allo scopo di migliorare l'efficienza del flusso di progetto, pur continuando a garantire la producibilità. I progettisti possono implementare i pattern preferibili o già collaudati, con la certezza che non emergeranno problemi in fase di verifica.

Integrazione dei Design Rule Decks

La tecnologia del pattern matching può rivelarsi estremamente utile in fase di porting dei rule decks verso il successivo nodo di processo. La modifica dei rule decks esistenti può infatti essere molto complessa, per svariate ragioni: innanzitutto, i responsabili del deck originale saranno con tutta probabilità focalizzati sul nodo di processo più recente, inoltre lo scopo di alcuni controlli potrebbe non essere stato pienamente documentato, ed infine tutti i nuovi controlli necessari sono, naturalmente, inesistenti. In questo caso, per catturare i nuovi controlli da eseguire può essere utilizzato il pattern matching, consentendo di lasciare inalterato il vecchio rule deck, ma garantendo al contempo la conformità del progetto a tutti i requisiti di producibilità.

Eccezioni pattern-based

La gestione automatica delle eccezioni (o waivers) consiste nel riconoscimento automatizzato e nella conseguente rimozione di tutte quelle violazioni delle design rules ritenute comunque accettabili. Il pattern matching può essere utilizzato all'interno di un flusso tradizionale di deroga automatica per il riconoscimento, all'interno di un layout, di quei pattern che combaciano con pattern già ammessi e censiti all'interno di una apposita libreria. Tutte le segnalazioni di errore a fronte di tali istanze di pattern possono in questo caso essere automaticamente ignorate, se soddisfano i criteri di deroga definiti. Tipicamente, tra le situazioni candidate a costituire una eccezione vi sono quelle configurazioni in cui esiste la necessità di forzare i limiti progettuali convenzionali (come ad esempio nelle celle di memoria), oppure le geometrie che il progettista ritiene siano state segnalate impropriamente, o ancora la presenza di vincoli di Dfm non tassativi. L'uso congiunto di pattern matching automatizzato ed eccezioni può generare importanti benefici, sia in termini di precisione che di riduzioni dei tempi, ogniqualvolta il progettista conosca il pattern di forma dell'errore da ignorare, ma non sappia quali siano tutte le celle in cui quel pattern è effettivamente presente. Ad esempio, la Intellectual Property delle memorie è spesso di tipo “soft”, vale a dire che il fornitore della IP non consegna una realizzazione fisica della memoria, bensì del software che consente a qualcun altro di costruire una memoria fisica, configurabile dal cliente stesso. Siccome il fornitore dell'IP non può sapere che aspetto avrà la configurazione finale dell'utente, non è neanche in grado di fornire una lista di eccezioni valide, poiché l'esatta struttura gerarchica del circuito non è ancora definita. Tuttavia, le memorie sono sempre costituite da pattern ripetuti. Consegnando al cliente tali pattern, congiuntamente alle relative posizioni conosciute di errori “ignorabili”, il fornitore della IP può quindi consentirgli di utilizzare tali pattern in un processo automatizzato di gestione delle eccezioni.

Pattern e Dfm

Un secondo modello d'uso è relativo ai controlli in base alle regole raccomandate di Dfm (Design For Manufacturing) che le fonderie forniscono ai propri clienti, con lo scopo di aiutare i progettisti a migliorare le rese ritoccando le dimensioni dei progetti, ove possibile. Il miglioramento della resa è senza dubbio un beneficio importante, ma è certamente secondario rispetto alla garanzia che il progetto sia “pulito” in termini di Drc. Per via della enorme quantità dei risultati ai test sulle recommended rules, e della successiva necessità di controllarli uno ad uno per valutare se comportino o meno una modifica, gli aggiustamenti per il Dfm portano tuttavia spesso ad uno sforamento delle tempistiche programmate per il tapeout. Usando il pattern matching insieme alle eccezioni automatiche, i progettisti sono invece in grado di controllare rapidamente i risultati del Drc e di categorizzare le configurazioni (pattern) che non possono o non vogliono modificare. Nelle esecuzioni successive, tutti i risultati di recommended rules associate a tali pattern possono quindi essere automaticamente trattati come eccezioni e ignorati, lasciando solo le configurazioni effettivamente da modificare. La libreria dei pattern associati ad ogni eccezione può essere archiviata e riutilizzata, consentendo di focalizzarsi solo sui risultati che forniscono i benefici più significativi. Questa possibilità di scremare rapidamente i risultati delle recommended rules permette ai progettisti di realizzare preziosi miglioramenti dei progetti, pur continuando a rispettare le proprie scadenze per il tapeout. L'utilizzo del pattern matching per la gestione delle eccezioni consente inoltre al progettista di trovare il pattern di errore indipendentemente dal contesto della cella, dato che il pattern matching non cerca altro che le geometrie specificate. Questa capacità produce benefici significativi per i team di sviluppo, poiché quando la fonderia procederà alla effettiva realizzazione di un layer o di un chip, non avrà alcuna importanza dove siano posizionati i confini di una cella, ma solo le geometrie che verranno stampate.

Individuazione dei fattori di riduzione delle rese

Uno dei campi di applicazione più utili del pattern matching è quello relativo alla rimozione degli yield detractors identificati dalle fonderie. Uno yield detractor consiste in una forma (o in un gruppo di forme), presente nel layout del progetto, che è stata identificata quale una fonte sistematica (vale a dire con frequenza non casuale) di malfunzionamenti del chip. I pattern degli yield detractors sono il risultato di una numerosa serie di problematiche costruttive, come il processo litografico, le caratteristiche di etching, e molte altre. Per i processi alle dimensioni di 28 nm e inferiori, molte tra le fonderie principali forniscono ai propri clienti appositi deck per gli yield detractors, sotto forma di pattern proibiti. Come per il Drc, una verifica dell'assoluta assenza di questi pattern nel layout costituisce uno step obbligatorio per ottenere l'approvazione del tape out. Parallelamente al crescente utilizzo delle librerie di pattern degli yield detractors da parte delle fonderie, anche le aziende stanno introducendo il pattern matching per l'identificazione di yield detractors specifici dei propri progetti. Capitalizzando l'esperienza ottenuta nei progetti precedenti, i produttori possono infatti utilizzare il pattern matching per creare librerie proprietarie di pattern relativi ai propri yield detractors. Indipendentemente dal fatto che tali iniziative siano guidate da processi di qualità operati congiuntamente con la fonderia di riferimento, oppure da metodologie progettuali proprie dell'azienda, queste librerie di pattern degli yield detractors vengono utilizzate per identificare e rimuovere pattern deboli (o “sospetti”) dai progetti in corso di sviluppo. La creazione e la manutenzione di una crescente libreria proprietaria di pattern, costituisce per le aziende un'occasione per il rafforzamento di una reale differenziazione nei confronti della concorrenza. La rende potenzialmente in grado di evitare dei re-spin di progetto, di velocizzare la fase di crescita verso la produzione su larga scala, nonché di ridurre la variabilità progettuale nei propri prodotti, legati ad uno specifico stile di sviluppo.

Ottimizzazione dell'analisi dei malfunzionamenti
Con la Failure Analysis (FA) di tipo tradizionale, la restituzione di informazioni utili al team di sviluppo da parte dell'ingegnere responsabile per la FA nel caso in cui egli rilevi un errore sistematico, mediante un microscopio Sem (Scanning Electron Microscope) o Tem (Tunneling Electron Microscope), può richiedere tempi molto lunghi: settimane o addirittura mesi. L'ingegnere della FA deve infatti catturare le immagini Sem/Tem, disegnare degli esempi delle geometrie incriminate, e infine tentare di scrivere la specifica più corretta di una nuova design rule in grado di impedire l'utilizzo del pattern di quello specifico yield detractor all'interno dei progetti. Tradizionalmente, tale specifica deve essere interpretata e scritta sotto forma di un nuovo check Drc, utilizzando un apposito linguaggio testuale di scripting PV. La vera sfida consiste in questo caso nella descrizione accurata del pattern problematico (e di tutte le sue possibili varianti), e nella successiva associazione ad esso di una design rule. I parametri della design rule dipendono da numerosi fattori, ivi inclusa la frequenza prevista di quel pattern nei futuri progetti. Ma la tempistica necessaria per questo procedimento manuale è assolutamente inadeguata, rispetto ai ritmi imposti dai mercati consumer odierni. Per contro, utilizzando il pattern matching automatizzato, un ingegnere della FA può semplicemente “ritagliare” il pattern di uno yield detractor da un progetto che mostra il malfunzionamento, ed includerlo direttamente in una libreria di pattern sospetti. Questa libreria può essere poi utilizzata per verificare sia il progetto con l'errore (per validare una forte correlazione tra il pattern in questione e i malfunzionamenti), sia tutti i progetti successivi. L'utilizzo della metodologia basata sul pattern matching automatizzato aumenta la precisione nell'identificazione dei pattern erronei, garantendo al contempo tempi di feedback più rapidi ai team di sviluppo.

Filtraggio degli Hotspot

Data l'enorme quantità di poligoni da analizzare presenti nei progetti odierni, è diventato sconsigliabile effettuare certi tipi di modellizzazioni o di analisi, particolarmente onerose da punto di vista computazionale, a livello dell'intero chip (ad esempio la simulazione della litografia) senza un filtraggio preventivo dei dati in ingresso. La maggior parte delle fonderie più importanti richiedono oggi una simulazione completa della litografia solo a livello di cella e di blocco, ed una combinazione di pattern matching e di simulazione della litografia a livello di intero chip per i progetti di livello più avanzato. Il pattern matching può essere utilizzato come filtro per identificare potenziali hotspot, ovvero punti critici, nella litografia. Su tali aree può quindi essere effettuata una simulazione mirata, per determinare se il potenziale hotspot rimane tale anche nel contesto specifico, fornendo una soluzione al problema entro tempi accettabili pur senza rinunciare, nel contempo, ad un elevato livello di affidabilità dei risultati.

Tutela della metodologia progettuale

Un'area che attira crescente interesse è quella relativa all'utilizzo del pattern matching per consentire ad un'azienda di imporre una propria specifica metodologia di progetto. Ad esempio, un'azienda può utilizzare il pattern matching per verificare che certe celle o apparecchiature siano progettate in un certo modo, e solo in quello. È molto difficile effettuare questo tipo di verifica della metodologia progettuale utilizzando esclusivamente approcci di tipo Drc. Per contro, è invece piuttosto semplice catturare pattern progettuali ritenuti “best practice” dagli schemi creati dai propri migliori ingegneri, e includere tali pattern all'interno dei deck globali di Drc dell'azienda, che tutti i progettisti sono tenuti ad eseguire su ogni progetto. Ad esempio, un progettista potrebbe voler catturare, sotto forma di pattern, un circuito di protezione da Esd (ElectroStatic Discharge), garantendo al contempo che nessun poligono o layer di routing metallico attraversi quel circuito tra la base e M2. Aggiungendo al pattern una opportuna specifica per imporre il vincolo che lo spazio nel layer soprastante il circuito sia sgombro, il progettista si mette in condizione di poter scremare velocemente tutti i circuiti Esd già progettati correttamente, focalizzando la propria attenzione solo sulla correzione dei rimanenti circuiti Esd. Il pattern matching può anche tutelare la metodologia progettuale consentendo ai progettisti di trovare tutte le configurazioni non conformi al pattern specificato. Ad esempio, un'azienda potrebbe voler imporre che ogni cella di un bit sia correttamente allineata con quelle adiacenti. Il pattern matching può soddisfare in modo rapido e preciso un tale requisito di progetto. In aggiunta agli specifici stili di progetto richiesti dalle aziende di progettazione, la maggior parte delle fonderie possiede anche un crescente elenco di propri pattern di test, celle di riempimento per la fine delle piste, e altri pattern, tassativi o solo raccomandati, che ai clienti viene chiesto di applicare con regolarità
.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome