METODOLOGIE PROGETTUALI CMOS Un sistema elettronico/circuito integrato può essere descritto in tre diversi domini, comportamentale (behavior), strutturale e fisico. All interno di ciascun dominio la descrizione può essere fatta a diversi livelli, sostanzialmente Architetturale Logico/RTL Fisico Diagramma a Y Un buon progetto richiede descrizioni consistenti nei tre domini e ai vari livelli 92
Parametri di valutazione di un progetto Prestazioni (velocità, dissipazione, funzionalità, flessibilità) Dimensioni Tempo di progettazione Testabilità Trade off tra prestazioni, costi di progettazione, tempi, ecc. Gli aiuti alla progettazione sono programmi di simulazione e sintesi, dopo processi di astrazione e semplificazione. Le scelte finali sono legate esclusivamente all aspetto economico. Strategie di progettazione strutturata Gerarchia Divisione di un modulo in submoduli Possibilità di ripartire il lavoro tra più progettisti Vale nei tre domini Modularità Uso di moduli correttamente formati (I/O, alimentazione) Es. : Standard cell Regolarità Uso di strutture regolari data path, iterazione Località Riduzione delle variabili esterne ai moduli rispetto alle interne 93
ESEMPIO Motore di differenze parte di un sistema grafico, p.e. generazione di vettori. S1=0 S2=0 C=C±A S1=1 S2=0 C=C±B S1=X S2=1 C=INIT Gerarchia: scomposizione di DIFFENG in moduli 1^ ipot.: MUX, REG,.. 2^ ipot.: Bit slices Regolarità: blocchi di base simili MUX e REG con inverter uguali Modularità: interfacce ben definite Località: Clock locale percorsi critici interni al modulo Pochi segnali intermoduli 94
OPZIONI PROGETTUALI CMOS In ordine di complessità e di costi progettuali crescenti Logiche programmabili Sea of gate and Gate Array Standard cell Full custom Le logiche programmabili si possono distinguere in Strutture programmabili Interconnessioni programmabili Gate array riprogrammabili Le strutture programmabili sono i PAL, Programmable Array Logic, e i PLD, Programmable Logic Devices. In genere sono implementati con piani AND-OR. La figura seguente illustra un tipico PAL. 95
PAL 22V10 Tempi tipici per tecnologia veloce CMOS sono T q =8 ns e T d =13 ns a frequenze dell ordine di 40 MHz. I collegamenti dei piani AND-OR sono realizzati secondo i casi con fusibili, EPROM e EEPROM 96
Interconnessioni programmabili Actel PLICE., Programmable Low-Impedance Circuit Element, che è un Antifuse celle con tre MUX a due ingressi e un NOR a due ingressi Gate array riprogrammabili :ALTERA E XILINX L architettura di XILINX è riprtata in figura matrice di CLB (Configurable Logic Block), porte di I/O e canali orizzontali e verticali per il routing. Interconnessioni con pass transistor il cui stato è definito da una SRAM. Look-up table in serie più recenti 97
L FPGA Altera ha un architettura simile, basata su celle tipiche (LUT, registro D, I/O che consente di collegare più celle) e inoltre Fast interconnect Collegamenti locali Struttura elementi logici EAB: fino a 4 Kbit RAM (Embedded Array Block) 98
Sea of gates e gate array Linee continue di diffusioni N e P Connessioni metalliche sopra i transistor non usati Linee interrotte polarizzando PMOS a Vdd e NMOS a Vss 2-5 maschere per la personalizzazione fino a tre livelli di metallo, via, contatti 99
Standard cell Logica SSI (NAND, NOR; INV, ) Logica MSI (codificatori,decodificatori, contatori, sommatori, ) Datapath (ALU, register Files, ) Memorie Sottosistemi (moltiplicatori, microcontrollori, ecc.) Esempi: Standard cell di LSI Logic Full Custom Utilizzato solo per problemi particolari e che non necessitino di molti transistor Gestione del layout complessa e affidata a CAD 100
METODOLOGIE PROGETTUALI Normalmente Comportamentale RTL livello logico layout Possibile il passaggio diretto da comportamentale a sintesi (Gate Array, Standard cell, Sea of gates, FPGA ). Sintesi comportamentale Il sintetizzatore Parte da una descrizione indipendente dalla tecnologia possibile assegnando dei vincoli architetturali Synopsis Riconosce le funzioni corrispondenti al comportamento Assegna le risorse sulla base della velocità richiesta e dell area Inserisce se necessario registri di pipeline Sintesi RTL Cattura del progetto e trasformazione in registri più logica combinatoria Uso di HDL per individuare e catturare o Flusso di progetto (if-then-else) o Gerarchia e iterazione o Operazioni sequenziali e parallele o Operazioni aritmetiche e logiche o Localizzazione dei registri o Lunghezza di parola e dei vettori 101
(segue sintesi RTL) Ottimizzazione del risultato secondo algoritmi di Minimizzazione a due livelli Decomposizione algebrica Riorganizzazione della rete Dalla struttura al layout Tool di piazzamento e routing Strumenti per la cattura del progetto Attualmente si usano soprattutto i linguaggi descrittivi specifici la sintesi dei circuiti integrati, VHDL e Verilog, o generali (C con le sue varianti). Utilizzo nelle varie fasi per la simulazione a livello Circuitale Switch Timing Mixed mode Logico Tool per Layout extraction Generazione delle maschere Back annotation Confronto della net list Verifica regole di progetto 102