Il collaudo di System-on-a-Chip
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Il collaudo di System-on-a-Chip Fulvio Corno Maurizio Rebaudengo Matteo Sonza Reorda Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Introduzione Architettura della logica di accesso al collaudo Standardizzazione (IEEE 1500) Piano di collaudo Conclusioni. 2
Introduzione Il collaudo deve tener conto dei mutamenti nell’ambito di: flusso di progetto package processi tecnologici I rapidi e continui miglioramenti della tecnologia elettronica hanno modificato le tipologie di componenti integrabili su un singolo chip. 3 Mutamenti in corso Tecnologia ULSI (Ultra-Large Scale Integration): > 100 milioni di transistor per chip frequenza > 1 Ghz Product lifetime: ridotto a decina di mesi TTM (Time-to-Market): ridotto a pochi mesi 4
Mutamenti in corso (segue) System-on-a-chip (SOC) : Uso di embedded-core per ridurre i tempi di progetto 5 System-on-a-chip Integrazione di un sistema completo su un singolo circuito integrato. PCI SRAM DSP ROM MPEG C P U ADC ADC 6
Caratteristiche di un SOC Altissimo numero di transistor su un singolo circuito integrato Tecnologia mista sullo stesso chip (digitale, analogica, memorie, FPGA) Clock a frequenze diverse Progetto di tipo gerarchico basato su embedded-core. 7 Embedded-core Blocchi funzionali pre-progettati e pre- verificati (re-usable design) Sostituiscono componenti sviluppati su circuiti integrati Altamente ottimizzati (per velocità, area, consumo di potenza) Indipendenti dal Vendor Efficienza nel progetto ottenuta grazie alla facilità di plug-and-play. 8
Embedded-core (segue) Esempi: Processori: ARM, MIPS, PowerPC DSP: TI, Pine, Oak Periferiche: DMA Controller, MMU, BIU Multimedia: compressori e decompressori JPEG, MPEG, ecc. Rete: Controllori Ethernet, ATM SAR, MAC. 9 Intellectual Property Un core è considerato proprietà intellettuale del core vendor, che fornisce solo limitati dettagli del progetto all’utente. 10
Tipi di core Soft core: forniti nella forma di una descrizione sintetizzabile ad alto livello (RTL) Firm core: forniti a livello gate (netlist) Hard (o legacy o IP) core: forniti come layout non modificabile. Coprono il 90% del mercato 11 Collaudo dei core In generale il core vendor fornisce le informazioni per il collaudo del core L’utilizzatore del core (progettista di SOC) deve fornire la logica di accesso al core per permetterne il collaudo. 12
Logica di collaudo Il problema del test dei core può essere risolto inserendo una logica di collaudo (chiamata test wrapper o test collar) che circonda il core. 13 Test wrapper Permette i seguenti modi operativi: Normale: il funzionamento del core è pilotato dal chip host Collaudo esterno: utilizzato per il collaudo delle interconnessioni Collaudo interno: utilizzato per il collaudo della logica interna del core. 14
System-on-Board vs. System-on-Chip Esiste un’analogia tra le problematiche relative al collaudo di una piastra ed al collaudo di un SOC. 15 System-on-Board Nel collaudo di una piastra il produttore dei componenti si occupa del progetto, della verifica, della produzione e del collaudo dei componenti. Il progettista di sistema è responsabile del progetto, dell’assemblaggio e del collaudo della scheda. 16
System-on-Board Progetto, verifica e sviluppo del test Component provider Produzione Collaudo System Integrator Progetto e sviluppo del test Produzione Collaudo 17 System-on-Board Nell’ipotesi che i componenti siano privi di guasti, il test si limita al collaudo delle interconnessioni tra i chip. 18
System-on-chip Un core è unicamente una descrizione di un modulo hardware e non viene prodotto. Dunque il core vendor non deve collaudare il core per ricercare i difetti di produzione. I componenti sono prodotti e collaudati solo nel sistema finale: compito del progettista del chip è quello di effettuare l’integrazione dei core ed il collaudo dei diversi moduli. 19 System-on-chip Progetto, verifica e sviluppo del test Component provider System Integrator Progetto e sviluppo del test Produzione Collaudo 20
Collaudo del core Il progettista del SOC ha una conoscenza limitata della struttura del core utilizzato e normalmente lo tratta come una scatola nera. Nel caso di hard core, il core vendor sviluppa i vettori di collaudo del core (tenendo conto di eventuali strutture DfT) e li fornisce all’utilizzatore. 21 Collaudo del core (segue) Il produttore del core ha una limitata (o nulla) conoscenza relativamente all’ambiente in cui è utilizzato il core, i processi di fabbricazione ed i requisiti del collaudo specifici dell’utilizzatore In particolare non sono noti: il metodo di test utilizzato (BIST, scan, Iddq, funzionale) il modello di guasto considerato (statico, dinamico, parametrico) il livello di copertura desiderato. 22
Core-level test A causa della carenza di informazione il collaudo sviluppato dal core vendor può essere inadeguato: se la copertura troppo bassa, il livello di qualità è a rischio se la copertura è troppo alta, il costo del collaudo può essere eccessivo. 23 Esigenza di uno standard Il test della logica interna al core sviluppato dai core vendor deve essere adeguatamente descritto in modo che il progettista del chip possa utilizzarlo per realizzare il collaudo a livello di chip. Per minimizzare lo sforzo del progettista del chip è necessaria la definizione di un formato standard. 24
Test Access Non è disponibile l’accesso fisico e diretto ai core Il progetto del chip deve fornire un’infrastruttura di accesso per il collaudo che permetta di accedere ai terminali del core a partire dai pin del chip. Tale infrastruttura deve inoltre permettere di: collaudare le interconnessioni tra i core isolare un core dal suo vicinato. 25 Scheduling Il collaudo di un chip è composto da una molteplicità di task: collaudo di ciascun core collaudo della logica definita dall’utente collaudo delle interconnessioni. Il collaudo del chip richiede uno scheduling ottimizzato in funzione di: tempo di collaudo complessivo dissipazione di potenza overhead di area. 26
Sommario Introduzione Architettura della logica di accesso al collaudo Standardizzazione (IEEE 1500) Piano di collaudo Conclusioni. 27 Architettura generica Test Pattern Source Test Pattern Sink Core SOURCE TAM TAM SINK Test Access Wrapper Test Access Mechanism Mechanism 28
Architettura generica Test Pattern source: genera gli stimoli per il collaudo Test Pattern sink: confronta le risposte del test Test Access Mechanism (TAM): trasporta i vettori di collaudo e le risposte del core Wrapper: interfaccia il core con il resto del chip; collega i terminali del core con il resto del chip e con il Test Access Mechanism. 29 Test Pattern Source/Sink Possono essere indifferentemente: Off-chip (utilizzando un ATE esterno) On-chip (utilizzando una logica BIST). 30
System-on-chip PCI SRAM DSP Core MPEG C P U ADC ADC 31 Off-chip Test Pattern Source/Sink PCI SRAM DSP SOURCE TAM SINK TAM Core Wrapper MPEG C P U ADC ADC 32
On-chip Test Pattern Source/Sink PCI SRAM DSP Source TAM Sink TAM Core Wrapper MPEG C P U ADC ADC 33 Off-chip vs. On-chip Test Pattern Source/Sink Off-chip: Maggiore area occupata da TAM Richiede ATE ad alto costo Numero di pin determina la banda di trasmissione On-chip: Minor area occupata da TAM Area occupata da BIST Richiede ATE meno costosi. 34
Test Access Mechanism Usato per il trasporto di: Stimoli di test dal Test Pattern Source al Core Risposte di test dal Core al Test Pattern Sink Realizzato on-chip. 35 Parametri di TAM Parallelismo: numero di linee Lunghezza: distanza fisica delle linee. 36
Parallelismo di TAM Compromesso tra: Test application time Area overhead. 37 Lunghezza di TAM Può essere ridotta tramite: On-chip Source/Sink Condivisione di TAM con hardware funzionale Condivisione di TAM tra più core. 38
Implementazione di TAM Implementando la struttura TAM di un core sono possibili diverse scelte: riutilizzare funzionalità esistenti passare attraverso altri moduli condividere TAM tra più core includere in TAM segnali di controllo per il collaudo. 39 Implementazione di TAM (segue) Esistono diverse proposte formulate in letteratura tra cui: Multiplexer Daisy chain Architettura distribuita. 40
Multiplexer Tutti i core sono connessi a tutti i pin di ingresso e di uscita di TAM Si aggiunge un multiplexer per selezionare quale core è connesso con le uscite di TAM. 41 Multiplexer (segue) Control Core A TAM TAM M Core B U X Core C 42
Multiplexer (segue) I core devono essere collaudati sequenzialmente Il metodo non è scalabile: crescendo il numero di core aumenta il costo hardware per la gestione del multiplexer. 43 Daisy chain Si realizza una catena che collega tutti i core dai terminali di input a quelli di output di TAM Attraverso la struttura TAM viene indirizzato un core; tutti gli altri sono messi in by-pass attraverso un multiplexer a 2 ingressi. 44
Daisy chain (segue) Control Core A Core B Core C TAM 45 Architettura distribuita Ciascun core dispone di una propria struttura TAM 46
Architettura distribuita (segue) Control Core A TAM TAM Core B TAM TAM Core C TAM TAM 47 Core Test Wrapper Realizza l’interfaccia tra il core ed il resto del chip Permette di cambiare il modo di funzionamento tra: Normal Test del core Test delle interconnessioni 48
Core Test Wrapper Celle Wrapper Control Register (≈ Boundary Scan) Core Under-Test wrapper 49 Core Test Wrapper (segue) Adattamento del parallelismo Conversione seriale/parallelo agli ingressi del core Conversione parallelo/seriale alle uscite del core Lo standard IEEE 1500 definisce l’architettura hardware per la realizzazione di un wrapper. 50
Core Test Wrapper (segue) Modi operativi: Wrapper Normal Test Bypass Core Wrapper standard sono vitali per permettere Scan chain plug-and-play. TAM TAM 51 SOC gerarchici I SOC possono contenere dei core (mega- core) che sono a loro volta dei SOC SOC A TAM Source TAM B TAM Sink TAM C 52
SOC gerarchici: esempio SOC Top-level Core C Mega-core Core E Core A D G Lower-level F Mega-core H Level-1 Core B Level-3 TAM TAM Top-level core Level-2 TAM Test control blocks 53 Sommario Introduzione Architettura della logica di accesso al collaudo Standardizzazione (IEEE 1500) Piano di collaudo Conclusioni. 54
Sforzo di standardizzazione Nel progetto e collaudo di circuiti basati su core sono coinvolti 2 soggetti: il fornitore di core l’utilizzatore di core. Sono in corso le seguenti iniziative che mirano a facilitarne l’integrazione: VSI Alliance IEEE 1500. 55 VSI Alliance Virtual Socket Interface (VSI) corrisponde ad una alleanza commerciale tra più di 200 società http://www.vsi.org (partecipazione ed informazioni solo per membri) Obiettivo: identificare interfacce standard per il riuso di virtual component 56
IEEE 1500 Standard per il collaudo di embedded core http://grouper.ieee.org/groups/1500/ 57 Obiettivi di IEEE 1500 Principali obiettivi: Definizione di un linguaggio standard per descrivere tutte le informazioni da scambiare tra il fornitore e l’utilizzatore del core Definizione di un’architettura del wrapper per facilitare l’integrazione del core nel progetto del SOC. Non definisce uno standard per i metodi di collaudo all’interno del core. 58
Core Merging Prima dell’integrazione Dopo l’integrazione Mergeable Core (logica Merged Core (collaudati a livello RT/gate) come parte dell’ambiente di integrazione) Non-Mergeable Core Non-Merged Core (core (hard core) inteso come entità stand- alone) 59 1500: stato Fase di sviluppo per non-merged core (logica e memoria): Bozza interna (1500/D0.7) Terminazione della bozza entro fine 2003 Estensioni future: da mergeable a merged core core di tipo analogico/mixed signal. 60
Componenti di IEEE 1500 Linguaggio per il Core Test (CTL) Architettura del wrapper. 61 Core Test Language (CTL) Linguaggio per descrivere le informazioni per il collaudo di core Utilizza una sintassi compatibile con lo standard IEEE 1450 STIL (Standard Test Interface Language) definito per la descrizione dei vettori di collaudo e delle forme d’onda per circuiti integrati. 62
CTL Con il linguaggio CTL è possibile definire l’informazione necessaria per permettere di: Instanziare un wrapper Definire la corrispondenza tra i terminali del core e quelli del wrapper Riutilizzare i dati di collaudo del core Collaudare la logica definita dall’utente e le interconnessioni esterne al core. 63 Wrapper Lo standard IEEE 1500 definisce le specifiche della logica di contorno del core (wrapper). Le funzioni del wrapper sono: garantire un modo funzionale trasparente permettere di attivare i possibili modi di collaudo. 64
Interfacce del core Interfaccia interna Core Interfaccia Interfaccia esterna esterna Wrapper 65 Interfaccia interna Ingressi ed uscite funzionali Ingressi ed uscite di collaudo (ad es. catene di scan) Ingressi di controllo dinamico del collaudo (ad es. segnali di abilitazione per lo scan) Ingressi di controllo statico del collaudo (ad es. segnali di abilitazione del BIST) Segnali speciali (ad es. segnali analogici e segnali asincroni). 66
Interfaccia esterna Ingressi ed uscite funzionali Segnali di controllo del Wrapper (Wrapper Interface Port, WIP) Interfaccia seriale di collaudo (WSI e WSO) Zero o più TAM parallele Ingressi di controllo dinamico del collaudo Segnali speciali (trasparenti al wrapper). 67 TAM Il wrapper permette di collegare i terminali di input ed output del core attraverso: una TAM di tipo seriale di 1-bit (obbligatoria) zero o più TAM di tipo parallelo (facoltative). 68
Contenuto del Wrapper Wrapper Instruction Register (WIR) Wrapper Bypass Register (WBY) Wrapper Boundary Register (WBR) Wrapper Interface Port (WIP) Core Data Register (CDR) TAM. 69 Wrapper Wrapper Boundary Cell TAM-In TAM-Out Ingressi Uscite funzionali Core funzionali WBR CDR WBY WSI WIR WSO WIP 70
Comportamento dei registri Il registro WIR ed i registri di dato permettono le seguenti operazioni: Scalamento (shift) seriale da WSI a WSO Caricamento (capture) parallelo Aggiornamento (update) parallelo Capture WIR o registri di dato Shift WSI WSO Update WIP 71 Update Aggiorna i dati mantenuti stabili durante le operazioni di scalamento da WSI a WSO Necessario per il WIR per impedire che vengano attivati modi inesatti durante lo scalamento del WIR. 72
Capture Necessario per il WBR per permettere di collaudare le interconnessioni e la logica definita dall’utente Opzionale per il WIR per collaudare la circuiteria del WIR ed il cammino tra WSI e WSO. 73 Wrapper Instruction Register L’aggiornamento delle uscite del registro WIR determinano: quale registro (WBR, CDR o WBY) è collegato tra WSI e WSO il modo del Wrapper e il modo (opzionale) del Core se è stata definita dall’utente una TAM. 74
Wrapper Bypass Register Permette di inserire una catena di dimensione 1-bit tra WSI e WSO. 75 Wrapper Interface Port Gruppo di terminali utilizzati per controllare il wrapper IEEE 1500 e la TAM: WSI WSO WRCK SelectWIR UpdateWR CaptureWR ShiftWR WRSTN. 76
WSI e WSO Permettono di: effettuare lo scalamento delle istruzioni in WIR implementare la TAM seriale. 77 WRCK Clock utilizzato per sincronizzare i registri WIR e Bypass. Può essere utilizzato (opzionalmente) per sincronizzare altri registri del wrapper o la TAM. 78
SelectWIR Permette di selezionare il registro da caricare tra WSI e WSO: WIR un registro di dato (WDR). 79 SelectWIR (segue) WBR WDR CDR CDR WSO CDR WBY WSI WIR SelectWIR 80 WIP
UpdateWR, ShiftWR, CaptureWR Permettono di abilitare le corrispondenti operazioni di Update, Shift e Capture sui registri del wrapper. Devono essere utilizzati insieme con i segnali WRCK e SelectWIR. 81 WRSTN Segnale di reset asincrono. Permette di resettare il registro WIR e può essere utilizzato per resettare anche altri registri del wrapper. 82
Wrapper Boundary Register È composto da: celle su tutti i terminali funzionali del core (obbligatorie) celle sui terminali di collaudo del core (opzionali). 83 Wrapper Boundary Cells Core Input (CI): terminale di ingresso del core Core Output (CO): terminale di uscita del core Wrapper Functional Input (WFI): ingresso funzionale della cella Wrapper Functional Output (WFO): uscita funzionale della cella Cell Test Input (CTI): ingresso di collaudo della cella Cell Test Output (CTO): uscita di collaudo della cella 84
Modello di una cella CTO Cella del Wrapper CFI CFO CTI 85 Celle di ingresso ed uscita Cella di uscita CTO CTO WFI CI CO WFO Core CTI CTI Cella di ingresso Wrapper 86
Modi Normal: la cella non causa nessun effetto sul funzionamento del core Inward Facing (IF): collaudo diretto verso il core; i CI sono controllati da WBR ed i CO sono osservati da WBR Outward Facing (OF): collaudo esterno del core; i WFO sono controllati da WBR ed i WFI sono osservati da WBR Safe: i CI ed i WFO sono controllati con valori sicuri (che non danneggiano il core od il sistema) da WBR. 87 Eventi Shift: (obbligatorio) scalamento di un dato memorizzato in una cella WBR da CTI verso CTO Update: (opzionale) permette di aggiornare un valore fuori dalla catena di scan Capture: (obbligatorio) il valore presente su CFI è memorizzato all’interno della cella 88
Eventi (segue) Transfer (opzionale): se è presente l’evento update, un dato fuori dalla catena viene caricato nell’elemento di memoria più vicino a CTI se non è presente l’evento update ed in presenza di più elementi di memoria nella catena, il valore più vicino a CTO è caricato nell’elemento di memoria più vicino a CTI 89 Eventi (segue) Apply: i valori per il collaudo diventano attivi; i dati di collaudo (memorizzati nell’elemento di memoria più vicino a CTO) sono applicati a: CI in modo IF (per le celle di ingresso) WFO in modo OF (per le celle di uscita). L’evento è applicato a tutto il registro WBR e non ad una singola cella. 90
Cella base Tipi: Shift CTO Capture Apply S/C CFI CFO Safe CTI 91 Possibile implementazione Lo standard descrive il comportamento delle celle, ma non fornisce dettagli implementativi. Shift/Capture Normal/Test CFI CFO CTI CTO FF WRCK 92
Cella con tutti gli eventi CTO CFI U/C CFO Safe S S/T CTI 93 Istruzioni Il modo operativo del wrapper è determinato dalle istruzioni caricate serialmente nel registro WIR. 94
Insieme di istruzioni WPRELOAD (Wrapper Preload) WEXTEST (Wrapper External Test) WBYPASS (Wrapper Bypass) WCLAMP (Wrapper Clamp): opzionale WSCORETEST (Wrapper Serial Core Test) SCORETEST (Serial Core Test) 95 Istruzioni (segue) WPRELOAD: carica un pattern in WBR e aggiorna i dati attraverso un’operazione di update WCLAMP: memorizza il valore dei terminali di output di WBR e seleziona il registro Bypass tra WSI e WSO WBYPASS: mette in by-pass il WBR, ponendo il registro di Bypass tra WSI e WSO; forza il core nel suo funzionamento normale 96
Istruzioni (segue) WEXTEST: permette il collaudo della logica esterna al core e delle interconnessioni tra core. Prima di eseguire la WEXTEST si presume che i dati siano stati correttamente caricati in WBR attraverso un’istruzione WPRELOAD. 97 Istruzioni (segue) WSCORETEST: istruzione che permette il collaudo del core. Gli stimoli di collaudo sono scalati attraverso il WBR ed applicati ai terminali funzionali del core. I risultati sono catturati dal WBR ed esaminati attraverso il successivo scalamento. I dati sono normalmente caricati nei segnali CTO delle celle di ingresso attraverso un’istruzione di WPRELOAD. 98
Istruzioni (segue) SCORETEST: istruzione che permette il collaudo del core. Simile alla WSCORETEST, permette di concatenare la catena di scan interna al WBR. 99 Esempio di uso di Wrapper 1500 TAM definita dall’utente Source Sink TAM-In TAM-Out TAM-In TAM-Out 1500 Wrapper 1500 Wrapper Ingressi funzionali Core 1 ... Core N Uscite funzionali WSI1 WSO WSIN WSIN 1 Segnali di controllo 1500 WIP 100
Sommario Introduzione Architettura della logica di accesso al collaudo Standardizzazione (IEEE 1500) Piano di collaudo Conclusioni. 101 Requisiti per il collaudo di un SOC La soluzione del collaudo di un SOC richiede di: definire un meccanismo di collaudo di un core definire una struttura TAM per il trasporto dei vettori di collaudo e delle risposte permettere diversi tipi di collaudo (memoria, processore, logica, analogica) realizzare l’integrazione e la schedulazione del collaudo a livello di sistema 102
Requisiti (segue) permettere la diagnosi a livello di sistema permettere il riutilizzo del collaudo garantire il minimo tempo di collaudo attraverso un collaudo parallelo di più core introdurre il minimo overhead di area del collaudo rispettare lo standard. 103 Piano di collaudo di un SOC Determinare la strategia di collaudo del core: Piano di collaudo per ogni singolo core (ATPG, scan, BIST) Progetto del wrapper 104
Piano di collaudo di un SOC Determinare la strategia di collaudo del SOC: Fornire la TAM per ogni core Schedulare il collaudo in funzione di: Area Potenza Tempo Integrare il test a livello di sistema. 105 Esempio SoC Microcontrollore DSP Partial Scan Full Scan Logica Memorie definita ROM dall’utente RAM BIST Full Scan ROM BIST Boundary Scan 106
Strumenti commerciali Strumenti di progetto integrano strumenti di progetto DfT nei loro ambienti di simulazione e sintesi: Mentor Graphics: MEMBISTArchitect: inserisce BIST per il collaudo di memorie embedded 107 Strumenti commerciali (segue) Strumenti specifici che valutano la collaudabilità e forniscono la soluzione DfT e i vettori di collaudo: Genesys Testware: Memory BistCore: BIST per memorie embedded Logic BistCore: Logic BIST per embedded core LogicVision Core Test: orientato al collaudo degli hard core Embedded Logic Test: ambiente di sviluppo per il collaudo gerarchico di SOC 108
Strumenti commerciali (segue) Syntest: TurboBIST-Logic permette di inserire logic BIST per il collaudo di blocchi di logica embedded. 109 Sommario Introduzione Architettura della logica di accesso al collaudo Standardizzazione (IEEE 1500) Piano di collaudo Conclusioni. 110
Conclusioni Il collaudo di un SOC è un problema di estrema attualità Lo standard 1500 permette di definire un’interfaccia standard per il collaudo dei core: Sono in corso di sviluppo strumenti che permetteranno di automatizzare il progetto del wrapper secondo lo standard 111 Conclusioni (segue) Molte scelte sono lasciate all’utente: Piano di collaudo dei core (metodologia di collaudo, scheduling) Architettura di TAM. 112
Puoi anche leggere