Tecnologie Implementative su gentile concessione di Andrea Neviani
Come è fatto un sistema digitale? Scheda Circuito integrato VLSI
Come si realizza un sistema digitale? Componenti a catalogo mC, mP, DSP, ... PROM, PAL, PLA Componenti programmabili FPGA, CPLD Gate Arrays ASIC (Application Specific Integrated Circuit) Celle Standard Full-custom
Programmable Logic Array (PLA)
Programmed PLA
Programmable Array Logic (PAL)
Come si realizza un sistema digitale? Componenti a catalogo mC, mP, DSP, ... PROM, PAL, PLA Componenti programmabili FPGA, CPLD Gate Arrays ASIC (Application Specific Integrated Circuit) Celle Standard Full-custom
Tecnologie per realizzare un ASIC
Approccio Full-Custom - 1/2 Sintesi logica manuale da specifiche funzionali a rete di porte logiche mappe di Karnaugh, metodo Quine-McKluskey, modelli di Mealy e Moore per macchine a stati Sintesi circuitale manuale da rete di porte logiche a rete di transistor regole per la costruzione di circuiti statici (FCMOS, pass-transistor …) e dinamici (np-CMOS, NORA, TSPC) Realizzazione del layout manuale da rete di transitor a mappa delle maschere
Approccio Full-Custom - 2/2 Vantaggi prestazioni ottimizzate (velocità, consumi) uso di area minimizzato Svantaggi tempi di progetto lunghi impraticabile per circuiti molto complessi possibilità di riuso ridotte Limitato ai blocchi critici di un sistema digitale
Tecnologie per realizzare un ASIC
Approccio Semi-Custom, Cell-Based Celle standard e macrocelle libreria di celle elementari pre-progettate e caratterizzate (celle standard) o celle complesse (macrocelle) circuito realizzato interconnettendo celle prese dalla libreria sintesi logica e layout realizzati con strumenti semi-automatici
Esempio di cella standard Layout con altezza, VDD e GND uguale per tutte le celle modello delle prestazioni dinamiche: tp=tpo+K·CL
Esempio di cell-based ASIC 1/2 1) standard-cell block 2) high-performance, full-custom block 3) Intellectual Property (IP) block 4) SRAM core 5) mP core
Esempio di cell-based ASIC 2/2
Approccio Semi-Custom, Gate-Array cella vergine riga di celle canale per interconn. cella programmata
Varianti di Gate-Arrays Sea-of-gates (SOG) Embedded SOG
Confronto Celle Standard - Gate Array prestazioni ottimizzate a livello di cella sfruttamento completo delle risorse strumenti automatici per la progettazione fase di sviluppo veloce sviluppo della libreria costoso processo di fabbricazione completo (come full-custom) Gate Array matrice di celle uguale per tutti costo suddiviso tra tutti i clienti processo di fabbricazione ridotto (solo METAL) strumenti automatici per la progettazione fase di sviluppo veloce utilizzo incompleto delle celle prestazioni sub-ottime
Come si realizza un sistema digitale? Componenti a catalogo mC, mP, DSP, ... PROM, PAL, PLA Componenti programmabili FPGA, CPLD Gate Arrays ASIC (Application Specific Integrated Circuit) Celle Standard Full-custom
Circuiti logici programmabili (PLD e FPGA) Concetto base: insieme di celle e interconnessioni riconfigurabili via software funzione logica svolta da ciascuna cella e collegamenti tra i terminali delle celle determinati commutando interruttori programmabili Interruttori programmabili (Programming Technology): a fusibili (programmabili una volta sola) MOSFET con memorie non volatili (EPROM, EEPROM, FLASH) MOSFET con memorie SRAM
Esempio di FPGA - 1/2
Esempio di FPGA - 2/2 funzioni arbitrarie fino a 4 variabili
Pro e contro di PLD/FPGA si compra il componente finito e lo si programma sul campo, senza ulteriori passi di fabbricazione progettazione assistita da strumenti semi-automatici come per celle standard e gate array terminato il progetto, la programmazione del componente richiede pochi secondi il componente può essere riprogrammato (tranne nel caso di interruttori a fusibili) utilizzo incompleto di celle e interconnessioni prestazioni ridotte rispetto ai potenziali della tecnologia costi non competitivi per grandi numeri (20,000 ÷ 50,000 pezzi)
Quale tecnologia scegliere? prestazioni robustezza rapidità di sviluppo riconfigurabilità Cell-Based Gate Arrays FPGA/CPLD costi: dipendono dal volume di produzione richiesto bassi volumi: FPGA/CPLD alti volumi: Cell-Based
Confronto dei costi