Università degli Studi del Sannio Facoltà di Ingegneria - Impressionante crescita in complessità degli attuali IC digitali - Progesso tecnologico più veloce di capacità umana di progettazione - Necessità di strumenti CAD e di ben definite metodologie di progetto Design Gap - Continuo aumento del team operante su di un progetto (circa 500 persone per progetto di microprocessori) - Aumento del team insostenibile all'infinito - Necessità di evolvere le tecniche di progetto per ridurre il design gap - Introduzione di nuove metodologie una volta in un decennio - Maggiori cambiamenti dagli anni '70 in poi Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Evoluzione delle strategie di progetto 1) Full-custom 2) Programmable Logic Array (PLA) 3) Celle standard 4) Macrocelle 5) Compilatori di moduli 6) Gate array 7) Hardware riconfigurabile un semplice processore digitale DATAPATH è Implementato in più modi (trade-offs tra area, velocità, potenza, riutilizzo, tempo di progetto) CONTROL è MEMORY è Giovanni Vito Persiano Implementato con PLA e Celle standard Implementato con compilatori di moduli (array) Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Trade-off tra Efficienza Energetica e Flessibilità Flessibilità (o programmabilità) = riutilizzo del hardware per più applicazioni Processo CMOS a 0.25 mm Massima efficienza energetica è Implementatazione con nessuna flessibilità (progetto full-custom o semicustoms hard-wired) Buona efficienza energetica è Implementatazione con limitata flessibilità (moduli configurabili o parametrizzabili) Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Diagramma ad Y delle viste e dei livelli di progettazione digitale Metodologie di progettazione digitale - Scelta dipendente da rapporto costo-prestazioni Costi di progetto (NRE - Non-Recurring Expense) Costo dato da 2 componenti: Costi di produzione Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria - Scelta necessaria se prestazioni obiettivo primario - Elevato costo e lungo time-to market - Definizione di tutti gli step tecnologici - Unica possibilità agli albori dell'elettronica digitale Processore INTEL 4004 (PMOS, 1971) - Struttura poco regolare (no modularità) - Riutilizzo di blocchi base (librerie di celle) - Elevati volumi di produzione (microprocessori, memorie) - Prestazioni obiettivo primario (workstation, supercomputer) Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Passaggio all'automazione ed alle strutture regolari Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria - Progetto più rapido e più automatizzato rispetto approccio full-custom - Costi e prestazioni inferiori rispetto approccio full-custom - Metodologia cell-based oppure array-based Progetto cell-based: approccio a celle standard - Unità base data da porta logica - Libreria comprende porte elementari (INV, AND/NAND, OR/NOR, ecc.) e funzioni complesse (AOI, MUX, full-adder, ecc.) - Progetto svolto da disegno già esistente o generato con HDL - Minori vincoli su canali di collegamento per più livelli di metal Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Progetto con celle standard a 3 livelli di metal - Canali di collegamento occupano un'area notevole Progetto con celle standard a 7 livelli di metal - Canali di collegamento sono virtualmente assenti Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Esempio con celle standard - NAND a 3 ingressi Processo CMOS a 0.18 mm Progetto con celle standard oggi ampiamente diffuso grazie a: a) buona qualità degli algoritmi di placement e routing b) affermazione di sofisticati strumenti di sintesi logica c) progetto eseguito a diversi livelli di astrazione (VHDL, Verilog) Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Progetto cell-based: approccio a generazione automatica delle celle - Librerie composte da centinaia a migliaia di celle - Richiesta di celle ottimizzate per una specifica applicazione - Necessità di ricompilazione ad ogni migrazione tecnologica ò Generazione automatica delle celle (compiled cell) : Inverter Geometria iniziale Giovanni Vito Persiano Definzione MOS Routing simbolico Cella compattata Layout finale Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Progetto cell-based: approccio a macrocelle - Approccio a celle standard inadeguato per MUX, memorie, DSP, ecc. - Unità base data da entità (macrocella) più complessa di porta logica - Due tipologie di macrocella: Hard Macro e Soft Macro Progetto basato su Hard Macro Hard Macro = modulo progettato per eseguire una specifica funzione - Progetto full-custom del modulo dal punto di vista strutturale - Libreria di macro tipicamente forniti dal costruttore - Non esportabilità in altre tecnologie e processi - Per macro configurabili è generatore di moduli (module compiler) emoria SRAM 256x32 (oppure a 8192 bit) Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Progetto basato su Soft Macro Soft Macro = modulo per una data funzionalità senza specifica descrizione fisica - Progetto del modulo dal punto di vista comportamentale - Implementazione strutturale definita dai vincoli di progetto - Facile esportabilità ad altre tecnologie e processi - Generatori strutturali di Soft Macro è netlist (struttura,vincoli di progetto) Moltiplicatore di Booth 8x8 Moduli di Proprietà Intellettuale Macromoduli forniti da costruttori tramite specifico accordo o licenza Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Flusso di progetto semicustom 1) Cattura del progetto è HDLs, diagrammi a blocchi, moduli IP 2) Sintesi logica è netlist tramite HDL e uso di macro generate in precedenza 3) Simulazione e verifica strutturale è rispetto delle specifiche di progetto 4) Floorplanning è concepimento del layout globale con stima dei parametri 5) Piazzamento è definizione della posizione delle celle nel layout 6) Collegamento è definizione delle connessioni tra celle e blocchi 7) Estrazione circuitale è modello elettrico del chip (dispositivi, connessioni) 8) Simulazione e verifica post layout è rispetto delle specifiche di progetto 9) Tape-out è generazione file binario per passaggio in produzione Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Fenomeno di "timing closure" : per tecnologie inferiori a 0.25 mm: Parametri delle interconnessioni rilevanti è inaccurata simulazione logica e strutturale Debolezza dei modelli di predizione è difficile convergenza per rispettare temporizzazione Aumento del numero di iterazioni è tempi di definzione del chip pari a settimane a) Progetto iniziale b) Progetto intermedio violazioni di timing (linee bianche) c) Progetto finale Giovanni Vito Persiano più stretta interazione tra progetto fisico e logico Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria - Progetto più economico (meno step tecnologici) è minori NRE - Adatto anche per piccoli volumi di produzione - Non ottimizzato in termini di potenza, velocità, area - Due soluzioni: programmabili tecnologicamente o sul campo Array prediffusi (mask-programmable) Wafer con celle/transistor prefabbricati è definizione dei collegamenti (metal) Tempi di progettazione ridotti è qualche settimana Due tipologie di celle prediffuse è gate array e sea-of-gates cella Architettura Gate-Array cella Architettura Sea-of Gates righe di celle non connesse canale di collegamento Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Esempio di cella gate array Cella non connessa Cella programmata (NOR a 4 ingressi) Esempio di cella sea-of-gate Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Esempio di progetto gate array Esempio di progetto sea-of-gate Memory Subsystem Logica Random Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria 1) Tecniche di programmazione - Fusibili o antifusibili (programmabili solo una volta) - Memorie non volatili (EEPROM, Flash) - Memorie volatili (SRAM, DRAM) Programmazione con antifusibili 2) Stili di programmazione logica - Array-based o cell-based - Look-up table 3) Stili di interconnessione logica - Array-based - Sistemi reticolari (mesh networks) Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Stili di programmazione logica Programmazione array-based Programmabilità è maggiore flessibilità, minori densità e prestazioni PLA, PROM e PAL poco utilizzate nell'era del VLSI poiché: 1) Scarse densità e prestazioni nell'implementazione di funzione logiche complesse 2) Incapacità di implementare logica sequenziale ò Soluzione 1) è Suddivisione dell'array in sezioni più piccole (macrocelle) Soluzione 2) è Inserimento di flip-flop e collegamenti per riporto uscita-ingresso Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Implementazione di PAL complesse Esempio di programmazione di macrocelle (PROM) Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Programmazione cell-based - Array-based molto efficace per logica a 2 livelli o con elevato fan in - Array-based poco efficace per logica multilivello o con elevato fan out ò Multiplexer come generatore di funzioni logiche Multiplexer a due ingressi F=A S+B S Cella logica complessa (Actel fuse-based FPGA) A=D=1 B=C=0 SA=SB=In1 S0=S1=In2 è In1 + In2 A=C=D=SB=0 B=In1 è In1 In2 In3 SA=In2 S0=S1=In3 Programmazione basata su look-up table In1 + In2 Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Stili di interconnessione logica Interconnessione array-based Riprogrammabilità è cella di memori a volatile (SRAM) o non volatile (EEPROM) (molte interconnessioni è troppa area, potenza e ritardo) Programmabile una volta è interconnessione con fuse o antifuse (più compatto) (fuse è bassa densità, lunghi tempi di programmazione) Interconnessione mesh-based Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI Università degli Studi del Sannio Facoltà di Ingegneria Implementazione circuitale di S-box e C-box - S-box e C-box programmati con pass-transistor pilotati da SRAM o EEPROM Interconnessione mesh-based di tipo gerarchico - Uso di mesh sovrapposte per consentire connessioni più lunghe - Connessione ogni 2 S-box - Ridotti fan-out e resistenza Giovanni Vito Persiano Corso di Circuiti e Sistemi VLSI