Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic Design Methodologies December 10, 2002
Digital Circuit Implementation Approaches Custom Semicustom Cell-based Array-based Standard Cells Compiled Cells Macro Cells Pre-diffused (Gate Arrays) Pre-wired (FPGA's)
Progettazione dedicata a tutti i livelli del sistema, dalla topologia del circuito fino al livello fisico. Elevati costi di progetto Elevati tempi (Time to market) La progettazione custom si realizza ormai solo per la progettazione di celle di libreria
Intel 4004 Courtesy Intel
L idea di base è il riutilizzo di celle di libreria precedentemente progettate e ottimizzate Il costo della fase di progetto delle librerie viene ammortizzato grazie al riutilizzo Permette di sfruttare flussi automatici di progetto Gli approcci a celle si dividono in diverse classi a seconda della granularità delle celle
Le librerie di celle standard mettono a disposizione una vasta gamma di porte logiche (AND, NAND, OR, NOR, XOR, XNOR, flip-flop) Moduli più complessi: MUX, Full Adder, Coder, ecc. Il layout del circuito viene generato automaticamente da una descrizione del circuito a più alto livello.
Feedthrough cell Logic cell Rows of cells Functional module (RAM, multiplier, ) Routing channel Routing channel requirements are reduced by presence of more interconnect layers
Le celle vanno riprogettate quando si migra verso una nuova tecnologia Spesso il layout e la caratterizzazione di una data libreria andrebbero modificati quando si effettuano ottimizzazioni nel processo all interno della stessa tecnologia Esigenza di approcci automatici per la generazione automatica del layout a partire dalla rete di transistor
Sono celle più complesse Moltiplicatori Memorie Microprocessori Sono ottimizzate
! Intel 4004 ( 71)( Intel 8080 Intel 8085 Intel 8286 Intel 8486 Courtesy Intel
"#$ [Brodersen92]
%&'( Cell-structure hidden under interconnect layers
)' Design Capture Behavioral Design Iteration Pre-Layout Simulation Post-Layout Simulation HDL HDL Logic Logic Synthesis Floorplanning Placement Structural Physical Circuit Circuit Extraction Routing Tape-out
Le progettazioni Custom e Semi Custom (cell based) richiedono un processo di fabbricazione dedicato completo. Un intero ciclo di processo dedicato è molto costoso a causa dell elevato costo delle maschere litografiche Esistono degli approcci diversi che non richiedono un ciclo completo del processo o che evitano del tutto un processo dedicato
* Array-based Pre-diffused (Gate Arrays) Pre-wired (FPGA's)
Gate array o sea-of-gates Lotti di wafer che contengono matrici di celle primitive o di transistor vengono fabbricati Tutti i passi di fabbricazione necessari per realizzare i transistor sono standardizzati e indipendenti dall applicazione finale Le interconnessioni stabilite dal progettista finale determinano la funzionalità del chip, essa viene ottenuta con la deposizione dei metalli
(+",, polysilicon V D D rows of uncommitted cells GND metal possible contact Uncommited Cell In1 In2 In3 In4 routing channel Committed Cell (4-input NOR) Out
Chip che hanno subito l intero processo di fabbricazione e non richiedono passi di processo dedicati alla particolare applicazione Programmabili in campo, senza ripassare dalla fonderia Fabbricazione e Implementazione sono due fasi completamente separate
+ x 0 x 1 Product terms AND plane x 2 OR plane f 0 f 1 x 0 x 1 x 2
I 5 I 4 I 3 I 2 I 1 I 0 Programmable OR array Programmable AND array Indicates programmable connection O O O O 3 2 1 0 Indicates fixed connection
# PLA combinatori PLA sequenziali (aggiunta di flip-flop) Aggiunta di linee di retroazione (feedback) dall uscita verso l array di porte AND di ingresso
+ + I 5 I 4 I 3 I 2 I 1 I 0 Fixed OR array Programmable AND array O 3 O 2 O 1 O 0
$ programmable AND array (2 i 3 jk) k macrocells 1 product terms j -wide OR array j D Q OUT j CLK macrocell A B C i i inputs i inputs, j minterms/macrocell, k macrocells From Smith97
!- I 3 I 2 I 1 I 0 Programmable OR array Fixed AND array O 3 O 2 O 1 O 0
$ $ Concetto di macrocella Interconnessione programmabile di macrocelle programmabili
'+ Classification of prewired arrays (or fieldprogrammable devices): Based on Programming Technique Fuse-based (program-once) Non-volatile EPROM based RAM based Programmable Logic Style Mux Look-up Table Programmable Interconnect Style Channel-routing Mesh networks
)*)( antifuse polysilicon ONO dielectric n + antifuse diffusion 2 l Open by default, closed by applying current pulse From Smith97
,, Antifuse Ridotta area occupata dai fusibili Non ammette modifiche Tolleranza all esposizione a radiazioni ionizzanti (applicazioni spaziali e militari)
,, Memoria non volatile (EEPROM) La configurazione permane anche in assenza di alimentazione Riprogrammabilità Tensioni elevate per la programmazione e per la cancellazione Speciali processi di fabbricazione per introdurre questo tipo di memorie dentro il chip
,, Memoria volatile (SRAM) La configurazione si perde in assenza di alimentazione Riprogrammabilità Incidenza del tempo di configurazione Con i processi CMOS standard si possono facilmente includere le SRAM nel chip Riconfigurazione parziale dinamica Facile aggiornamento della configurazione
. $ / Configuration A B S F= A 0 B 1 S F 0 0 0 0 0 X 1 X 0 Y 1 Y 0 Y X XY X 0 Y XY Y 0 X XY Y 1 X X + Y 1 0 X X 1 0 Y Y 1 1 1 1
M e m o r y /* In Out Out 00 0 01 1 10 1 11 0 ln1 ln2
0* C 1...C 4 4 xx xxxx xxxx xxxx D 4 D 3 D 2 Logic function of xxx xx xx xx xx Bits control x xx x xxxx xx D 1 F 4 F 3 F 2 Logic function of xxx Logic function x of xxx x xx xx xx xx x Bits control xx x xx xx x xxxx x xx F 1 x xxxxx Xilinx 4000 Series H P x xx xx Multiplexer Controlled by Configuration Program x Courtesy Xilinx
+*1 M Interconnect Point Programmed interconnection Input/output pin Cell Horizontal tracks Vertical tracks
&'/ Switch Box Connect Box Interconnect Point Courtesy Dehon and Wawrzyniek
2 &'/ Use overlayed mesh to support longer connections Reduced fanout and reduced resistance Courtesy Dehon and Wawrzyniek
3 From Smith97
3 column channel row channel t PIA LAB1 LAB2 LAB PIA t PIA LAB6 Array-based (MAX 3000-7000) Mesh-based (MAX 9000) Courtesy Altera
! )( Xilinx XC4000ex Courtesy Xilinx
)(
)(,
' '
' '
'$