Robert Murphy ( rmurphy ), membro dello staff tecnico, Advanced Micro Devices
Jason Paquette ( jason.paquette ), ingegnere di sviluppo prodotti, Advanced Micro Devices

Astratto —Per massimizzare l'uso delle risorse di progettazione e ridurre al minimo il time-to-market, i progetti system-on-chip (SoC) impiegano una notevole quantità di riutilizzo di blocchi funzionali. Questo riutilizzo fornisce la base per confronti di prestazioni e rendimento a livello di blocco, consentendo un debug mirato e ulteriori opportunità di ottimizzazione. Questo documento illustra il processo di generazione di mappe personalizzate da utilizzare con la piattaforma Graph Builder di JMP. Questa tecnica offre un approccio prezioso per esplorare segnali guidati spazialmente con uno strumento altamente interattivo. Guida il miglioramento dei processi potenziati sbloccando la potenza delle mappe personalizzate in JMP.
Termini dell'indice : mappe personalizzate, iper-heatmap, analisi delle cause profonde, SoC, sistema su chip, rendimento.
I. INTRODUZIONE
L'odierno SoC è spesso un dispositivo relativamente grande costruito su una tecnologia di processo dei semiconduttori all'avanguardia che cerca prestazioni ed efficienza energetica sempre maggiori. È costituito da una serie di blocchi replicati e unici che svolgono varie funzioni del chip, come I/O, elaborazione e grafica. Questi blocchi possono essere rappresentati in base alle loro posizioni fisiche sul die come una mappa. Utilizzando questo tipo di mappa come mappa personalizzata in JMP, un ingegnere o un analista può creare potenti visualizzazioni che consentono un debug più rapido di problemi di processo, test o resa. A sua volta, ciò supporta una rampa più rapida per resa e qualità e quindi un ritorno sull'investimento (ROI) più rapido per i nuovi progetti di prodotto. Combinando mappe di calore basate su die in Graph Builder in base alle loro posizioni fisiche su un wafer, vengono illuminati effetti precedentemente inosservati. Ciò è dovuto al fatto che molte sfide nella produzione di semiconduttori hanno forti dipendenze dalla posizione spaziale all'interno di un wafer, come effetti centrali o di bordo. Una chiara illustrazione di queste dipendenze posizionali restringe notevolmente l'elenco delle potenziali cause principali e accelera il miglioramento del processo.
II. VANTAGGI DELL'UTILIZZO DI MAPPE PERSONALIZZATE
Attualmente, un ingegnere o un analista hanno a disposizione vari strumenti tra cui scegliere per identificare le risposte anomale. Alcuni esempi di questi includono istogrammi e box plot. Sebbene preziosi e molto utilizzati, questi strumenti non hanno la capacità di illustrare il posizionamento fisico per identificare i pattern molto più rapidamente. La comprensione di questi pattern aiuta a ridurre la portata delle analisi successive e l'isolamento della causa principale, portando a tempi di risposta più rapidi per il debug e il miglioramento della resa.
Sebbene questo articolo si concentri sul settore dei semiconduttori, l'applicazione di mappe personalizzate può rivelarsi utile in molti contesti con segnali spaziali.
III. CREAZIONE DI MAPPE PERSONALIZZATE IN JMP
La generazione di forme di mappa personalizzate in JMP viene eseguita collegando i vertici di ogni forma, uno per uno. Per ottenere ciò, JMP richiede informazioni sulle coordinate dei vertici sotto forma di due file di definizione: un file '-Name' e un file '-XY'. Il file '-Name' contiene le colonne ID forma e Nome numeriche richieste e il file '-XY' contiene Shape ID, Part ID, coordinate X e Y dei vertici. La colonna ID forma è ciò che collega le coordinate nel file '-XY' ai nomi delle forme nel file '-Name'.
Se sono disponibili le coordinate del vertice, è possibile generare i file '-Name' e '-XY' in pochi passaggi.
Riassumi il file di coordinate in modo che ogni forma occupi una singola riga nella tabella dati. Crea una colonna 'Shape ID' in ordine crescente (partendo da uno) assegnando a ogni forma un ID univoco. Shape ID deve essere la prima colonna nella tabella. Salva la tabella come ' $$$ -Name.jmp' dove $$$ è un prefisso scelto. In questo file, dovrebbe esserci una colonna nome di facile utilizzo per rappresentare ogni forma. All'interno delle proprietà della colonna di questa colonna, seleziona Map Role e impostalo su 'Shape Name Definition' (vedi Figura 1). Questo è un passaggio importante poiché i valori in questa colonna saranno utilizzati per collegare i dati grezzi per le sovrapposizioni.
- Fico.1Impostazione della proprietà del ruolo della mappa della definizione del nome della forma
Con la tabella delle coordinate originale ancora aperta, unisci la colonna ID forma univoca appena creata e ordina la tabella in ordine crescente in base all'ID forma. Salva la tabella dati come ' $$$ -XY.jmp' dove $$$ deve essere lo stesso prefisso utilizzato per il file '-Name'.
Questo file '-XY' richiede quattro colonne obbligatorie, ID forma , X , Y e ID parte . Nel suo stato attuale, il file dovrebbe avere tutte queste informazioni e potrebbe aver bisogno solo di rinominare le colonne. Tuttavia, mancherà la colonna ID parte . Questa colonna essenzialmente dice a JMP se alcune forme hanno più parti separate, come lo stato delle Hawaii che è composto da più isole. Spesso è il caso in cui ogni forma ha solo una singola parte. In quei casi, la colonna Part ID può essere impostata come tutti uno. Le colonne X e Y contengono le coordinate di ogni vertice in ogni forma. Un dettaglio sottile che vale la pena evidenziare è che l'ordine di apparizione per i vertici di ogni forma nel file '-XY' è importante in quanto può portare a rappresentazioni imprecise delle forme, se configurato in modo errato. Utilizzando il file di mappatura '-XY', JMP traccia le forme passando da un vertice all'altro (partendo dalla prima riga nel file fino all'ultima). Una nuova traccia inizia con ogni nuovo Shape ID o Part ID. La figura 2 mostra un esempio di come l'ordinamento dei vertici influisca sul tracciamento di una semplice forma rettangolare.
- Fico.2. Ordinamento corretto e non corretto dei vertici per le forme
Se i dati delle coordinate grezze sono coerenti tra più tipi di mappe personalizzate, potrebbe rivelarsi utile uno script del linguaggio di scripting JMP (JSL) per creare i file di definizione delle forme '-XY' e '-Name'.
Per maggiori informazioni sulla generazione di mappe personalizzate, consulta la seguente risorsa: Guida>Contenuti della guida>Grafici essenziali>Crea mappe>Generatore di grafici>File di mappe personalizzate.
Un ultimo punto da notare è che entrambi i file di definizione della forma '-Name' e '-XY' devono essere salvati nella stessa directory con lo stesso prefisso affinché la mappatura funzioni correttamente.
IV. UTILIZZO DELLA MAPPA PERSONALIZZATA
Con i file di definizione configurati, i dati possono essere importati in JMP. È necessario un passaggio di preparazione finale per collegare i dati con i file di definizione della mappa personalizzata prima di visualizzare i dati in Graph Builder. Deve esserci una colonna nei dati che abbia valori che corrispondono in modo identico a quelli trovati nella colonna Definizione del nome della forma definita nel file '-Name', altrimenti JMP non sarà in grado di collegare la mappa personalizzata.
Per collegare la tabella dati alla mappa personalizzata, apri le proprietà della colonna all'interno della tabella dati che memorizza i nomi delle forme. All'interno della proprietà Ruolo mappa, assicurati che l'opzione 'Uso nome forma' sia selezionata e seleziona il file '-Nome' come 'Tabella dati nome mappa' con la colonna Definizione forma appropriata scelta (vedi Figura 3). Nota, in JMP11 queste opzioni non hanno una finestra di dialogo file interattiva per cercare il file '-Nome', quindi dovrà essere copiato e incollato o digitato nella casella di testo (inclusa l'estensione '.jmp').
- Fico.3. Nome forma Usa mappa Ruolo File Selezione
JMP supporta anche l'inserimento dei file '-Name' e '-XY' in una directory specifica che il software controlla automaticamente. Tuttavia, nella nostra applicazione utilizziamo nomi di forma identici con mappature diverse su diversi prodotti SoC. Quindi, per evitare conflitti di nomi, utilizziamo il metodo di selezione dei file. Fare riferimento alla Guida di JMP per trovare la posizione automatica della directory in base al sistema operativo del computer.
Una volta completato tutto il lavoro di preparazione, apri Graph Builder e trascina e rilascia la colonna di forma collegata dalla tabella dati nella zona di rilascio Map Shape nell'angolo in basso a sinistra della finestra (vedi Figura 4). JMP riempie quindi la visualizzazione con tutte le istanze di forma trovate nella tabella dati che si trovano anche nei file di definizione della forma.
- Fico.4Posizione della zona di rilascio della forma della mappa del generatore di grafici
Potrebbero esserci casi in cui alcune forme trovate nella tabella dati non vengono riconosciute dai file di definizione delle forme, questo potrebbe essere dovuto a nomi non identici, a convenzioni di denominazione diverse o semplicemente non sono elencate. Queste forme non riconosciute vengono visualizzate nella parte inferiore della finestra Graph Builder come 'Map shapes not found' (vedere Figura 5). L'incorporazione di queste forme mancanti richiede la modifica dei dati per farli corrispondere ai file di definizione delle forme o l'aggiornamento dei file di definizione delle forme stessi.
- Fico.5Visualizzazione del generatore di grafici quando le forme nei dati non vengono riconosciute
A questo punto le colonne di dati possono essere trascinate e rilasciate nella zona di rilascio Colore , che fornisce le sovrapposizioni di colore appropriate in base ai dati della colonna e ai tipi di modellazione.
Nella prossima sezione verranno presentati alcuni esempi dettagliati che delineano diversi scenari di casi d'uso e storie di successo.
V. ESEMPI
- A. Dati di rendimento
Facendo eco all'introduzione, il vantaggio di avere il riutilizzo dei blocchi nei progetti SoC consente un mezzo per confrontare le prestazioni e la resa dei singoli blocchi. È molto comune avere procedure di test come Scan (flip-flop e logica comune) e Built-In Self-Test (BIST, test di memoria e riparazione) che dispongono a livello di blocco. Nel caso dei SoC, questi blocchi sono denominati tile. La Figura 6 illustra la resa di un test specifico per ogni tile aggregando i risultati di alcune migliaia di unità. I tile colorati in rosso (e numerati in bianco) sono tile anomali a bassa resa che meritano maggiore attenzione. Nella prossima sottosezione verrà mostrato che c'è un'altra forza che sta guidando questi valori anomali che non è evidente quando rappresentata in questa vista.
- Fico.6. Mappa termica della resa delle tessere SoC con valori anomali
- B. Mappe iper-termiche
Continuando con l'esempio di rendimento precedente, c'è un set ovvio di tile anomali. Tuttavia, non è chiaro cosa potrebbe esserci di sbagliato in loro. La Figura 7 raffigura l'iper-heatmap che nidifica ogni vista tile SoC per ogni posizione di die sul wafer, utilizzando le zone di rilascio del Gruppo X e del Gruppo Y. Le posizioni di die scarsamente popolate hanno bassi tassi di guasti tile. I valori anomali numerati della Figura 6 sono stati aggiunti alla Figura 7 che rappresentano le posizioni di die che determinano rese tile inferiori. Per i tile 1 , 2 e 3 , il motivo principale è che sono tile angolari adiacenti al bordo del wafer per determinate posizioni di die X, Y. Quando sono immediatamente accanto al bordo del wafer, questi tile sono soggetti a effetti di bordo nei processi di produzione del wafer che non si verificano in altre aree del wafer. Per visualizzare più chiaramente un'iper-heatmap con molti oggetti, potrebbe essere utile filtrare i livelli di base o previsti della variabile colore. La figura 7 è stata filtrata in questo modo. La ricaduta di rendimento della tile 4 è focalizzata principalmente al centro del wafer, dove sono noti anche gli effetti di variazione dovuti al processo di fabbricazione. I processi di fabbricazione inducono una varietà di non uniformità attraverso il wafer, che sono spesso più forti al centro o nelle regioni di bordo. Questa iper-mappa termica ha consentito di comprendere rapidamente dove si trovavano le aree problematiche senza spendere risorse per cercare di determinare se le tile stesse necessitassero di ottimizzazione del design.
- Fico.7. Mappa iper-termica a livello di wafer che evidenzia le posizioni anomale dei die filtrando il tasso di resa di base
- C. Dati parametrici
La Figura 8 è un esempio di come i dati parametrici possono essere visualizzati su una iper-heatmap a livello di wafer. Ogni tile mostrato contiene una struttura di misurazione analogica il cui valore è utilizzato come metrica per correlare le prestazioni del dispositivo. La tabella dei dati contiene centinaia di wafer e questa particolare vista mostra il valore medio per la misurazione di ogni tile in ogni posizione di die sul wafer. I resti familiari del processo di fabbricazione sono chiaramente evidenti dai cerchi concentrici raffigurati dalla sovrapposizione.
- Fico.8. Mappa iper-termica a livello di wafer della struttura di caratterizzazione analogica
VI. Storie di successo
Il prodotto ad alto volume ha mostrato una piastrella anomala evidente che ha reso peggio di altre (vedere Figura 9). In questo caso, il rosso raffigura piastrelle con resa inferiore e il blu con resa maggiore.
- Fig.9. Resa iniziale a livello di SoC con osservazione di tile anomale
Ulteriori analisi con l'utilizzo di mappe di calore hanno portato alla scoperta che si trattava di una firma sistematica del bordo del wafer per la tile anomala sul bordo inferiore sinistro del wafer, dove questa tile era adiacente al bordo del wafer (vedere Figura 10). Questo segnale è stato portato all'attenzione della fonderia, che li ha portati a implementare un miglioramento del processo: regolazioni litografiche ottimizzate sul bordo estremo del wafer. La resa complessiva del wafer è migliorata in modo significativo grazie a questo miglioramento del processo.
- Fig. 10. Osservazione a livello di wafer della piastrella anomala sul bordo inferiore sinistro del wafer
Prima della visualizzazione hyper-heatmap, l'indagine iniziale di questo segnale di rendimento era focalizzata sulla tile stessa, ovvero nella direzione sbagliata in questo caso. Una volta che la correlazione di rendimento del bordo del wafer è stata chiara, il proprietario corretto è stato in grado di iniziare immediatamente uno sforzo di miglioramento continuo.
VII. SUGGERIMENTI E TRUCCHI
UN.Mostra forme mancanti
Appena sotto la casella di selezione della colonna all'interno della piattaforma Graph Builder, c'è una casella di controllo intitolata Mostra forme mancanti . Selezionandola, si popola la visualizzazione con i contorni delle forme che sono nei file di definizione ma non trovate nella tabella dati corrente (vedere Figura 11). Ciò è utile per individuare i dati mancanti o ottenere un'immagine complessiva della mappa.
- Fig. 11. Casella di controllo Mostra forme mancanti del generatore di grafici
B.Abilitazione delle sovrapposizioni delle etichette dati
Abilitare la possibilità di passare il mouse sulle forme o di visualizzare le etichette sopra ogni forma è utile per identificare rapidamente i pattern. Facendo clic con il pulsante destro del mouse sulla/e colonna/e desiderata/e e selezionando Etichetta/Annulla etichetta per la prima volta vengono visualizzati i dati della colonna mentre si passa il mouse sulle forme in Graph Builder. Per visualizzare staticamente le etichette sulle forme, selezionare le righe nella tabella dati di interesse e selezionare Etichetta/Annulla etichetta .
C.Automazione con filtri e commutatore di colonna
Quando si analizzano dati di volume, la ricerca di pattern sottili può essere un compito oneroso e ridurre al minimo la quantità di clic del mouse è sempre utile. Utilizzare le funzionalità Automazione del filtro e Commutatore di colonna (Graph Builder Red Arrow>Script) è un modo efficiente per analizzare grandi quantità di dati spaziali con condizioni diverse.
D.Paginazione dei frame con JMP12
La piattaforma Graph Builder ha alcuni notevoli miglioramenti di funzionalità con il recente aggiornamento JMP12, vale a dire, la possibilità di dividere in più frame utilizzando la zona di rilascio della pagina . Posizionando una colonna di dati in questa zona di rilascio vengono generate più istanze del frame Graph Builder in base al numero di valori univoci trovati in quella colonna. Il report può essere salvato come documento HTML interattivo da condividere.
E.Segmentazione dei frame con zone di rilascio di gruppo e di avvolgimento
Come si vede nell'esempio dell'iper-heatmap wafer, i frame possono essere segmentati usando colonne nidificate all'interno delle drop-zone Gruppo X e Gruppo Y. L'iper-heatmap wafer ha utilizzato le coordinate X e Y per la segmentazione, ma può essere usata qualsiasi colonna. Altri esempi usati di frequente sono il punto di prova di tensione, la temperatura di prova e il punto di prova di frequenza. La drop-zone Avvolgere ha una funzionalità simile con un uso più efficiente dello spazio, ma l'annidamento delle colonne non è disponibile. Facendo clic con il pulsante destro del mouse sulle Group Variables, l'utente può selezionare il numero di livelli in vista per ingrandire efficacemente le regioni di interesse (vedere Figura 12).
- Fig. 12. Selezione dei livelli nell'opzione Visualizza all'internoGruppoZone variabili
F.Modifica delle impostazioni colore del generatore di grafici
Quando si analizzano dati di sovrapposizione mappa personalizzati, spesso una semplice modifica alle impostazioni colore può enfatizzare significativamente l'aspetto di pattern anomali. Gli autori raccomandano di utilizzare uno sfondo scuro (Grafico>Colore sfondo) con un tema colore sequenziale per dati unidirezionali (resa, velocità, ecc.) e un tema colore divergente per dati bilaterali. È possibile accedere ai temi colore nelle Impostazioni sfumatura facendo clic con il pulsante destro del mouse sulla legenda. Per impostazione predefinita, Graph Builder aggiunge un bordo grigio attorno a ciascuna forma, largo un pixel, che potrebbe mettere in ombra alcune delle forme più piccole. Per rimuovere questo bordo, fare clic con il pulsante destro del mouse nella cornice e selezionare Personalizza>Forme mappa e modificare la larghezza della linea a zero.
VIII. PROBLEMI NOTI e avvertenze
- A. Le forme sovrapposte potrebbero non visualizzare il colore desiderato
Ciò si verifica quando ci sono forme definite nella mappa personalizzata che hanno regioni sovrapposte. Nella Figura 13, i blocchi ACP-1 e GNBC condividono una regione comune, ma viene utilizzato un solo colore. Questo è un aspetto da tenere presente quando si creano mappe personalizzate che contengono forme sovrapposte.
- Fig. 13. Sovrapposizione di colori non corretta di due forme sovrapposte
- B. Trascinando l'etichetta per creare il puntatore viene visualizzata la riga senza etichetta
La Figura 14 mostra come trascinando un'etichetta desiderata (bordo nero tratteggiato) è apparsa un'etichetta estranea (bordo rosso tratteggiato) per una riga senza etichetta. Questo problema è stato risolto in JMP 12.
- Fig. 14. Trascinando l'etichetta (nera) viene visualizzata una riga senza etichetta (rossa).
- C. La modifica dei livelli nella vista ripristina le personalizzazioni del frame
La figura 15 mostra la progressione della prima impostazione delle personalizzazioni del frame per la vista predefinita, la selezione di quattro livelli nella vista con una delle variabili di gruppo e, infine, quando si torna alla vista originale, le personalizzazioni applicate in origine vengono perse.
- Fig. 15. La modifica del livello nella funzione di visualizzazione causa la perdita delle personalizzazioni del frame
- D.Map Ruolo Colonna Proprietà e Tabelle Riepilogative
Se una colonna ha una proprietà Map Role applicata e la tabella dati è riepilogata (con quella colonna inclusa), Graph Builder non riconosce la proprietà della colonna. Afferma semplicemente che non è stato trovato alcun file di forma, anche se è stato definito nella proprietà Map Role. La soluzione alternativa è rimuovere la proprietà Map Role e aggiungerla di nuovo. In alternativa, se il file viene salvato, chiuso e riaperto, la proprietà Map Role funzionerà come previsto.
- E. Impossibile aggiornare la proprietà del ruolo della mappa
Quando si utilizza la proprietà della colonna Map Role, è stato osservato che una volta impostata la proprietà e applicato un file di definizione forma, la modifica per selezionare un file diverso non verrà aggiornata alle impostazioni del nuovo file. Inoltre, la colonna di definizione forma non può essere aggiornata. La soluzione alternativa è rimuovere la proprietà Map Role e aggiungerla di nuovo con le nuove impostazioni di file e colonna.
IX. OPPORTUNITÀ DI MIGLIORAMENTO
Le mappe personalizzate all'interno della piattaforma Graph Builder sono un'eccezionale soluzione per l'analisi di modelli correlati a dati spaziali con un'interfaccia interattiva eccezionale. Come evidenziato in questo documento, questa funzionalità ha consentito un'analisi delle cause principali di successo che ha portato a un impatto finanziario reale. Con un uso estensivo di questa funzionalità, il suo guadagno è evidente e l'estensione della sua utilità con alcune ottimizzazioni porterà solo a risultati migliori.
Di seguito sono riportate alcune opportunità di miglioramento che gli autori hanno raccolto in base alle loro esperienze.
UN.Altre opzioni per i livelli in vista
Graph Builder offre la possibilità di segmentare la vista con l'uso di zone di rilascio Gruppo sia sugli assi X che Y. Il menu di scelta rapida offre alcune opzioni per impostare il numero di livelli in vista, ma è piuttosto rigido (vedere Figura 16). Spesso sono desiderati più di quattro livelli in vista (ma meno di tutti), ma al momento tale opzione non esiste. Ciò potrebbe essere modificato per essere dinamico in base al numero di valori nella colonna del gruppo.
- Fig. 16. Livelli nelle opzioni di visualizzazione limitati a 1-4 o tutti
B.Supporto per la paginazione multi-colonna
Questa è una funzionalità incredibilmente utile per scorrere rapidamente più viste con un semplice scorrimento del mouse. Questa funzionalità potrebbe essere ulteriormente ottimizzata se potesse consentire a più di una colonna di dividere i frame, in modo simile alla funzionalità " By" in altre piattaforme. La soluzione alternativa al momento è creare una nuova colonna e concatenare i dati da più di una colonna insieme per ottenere diverse combinazioni, ma la paginazione a più colonne sarebbe una soluzione più pulita.
X. RICONOSCIMENTO
Gli autori desiderano ringraziare Paul Shook per il suo aiuto nell'aggiunta di uno speciale formato di output al software di planimetria di AMD che aiuta notevolmente nella conversione al formato di mappa personalizzata di JMP. Inoltre, vorremmo ringraziare i colleghi analisti di AMD per l'aiuto nella valutazione dell'uso di mappe personalizzate per la visualizzazione della resa SoC in JMP.
AMD, il logo AMD Arrow e le relative combinazioni sono marchi commerciali di Advanced Micro Devices, Inc. Altri nomi di prodotti utilizzati nella presente pubblicazione sono solo a scopo identificativo e potrebbero essere marchi commerciali delle rispettive aziende.