Alternativas de implementación: Estilos Alternativas de
Transcripción
Alternativas de implementación: Estilos Alternativas de
Alternativas de implementación: Estilos DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez Alternativas de implementación: Estilos DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 1 Alternativas de implementación: Estilos DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez µProcesador INTEL 386: 3 estilos de layout Datapath: ALU 2-D arrays: Memoria Standard Cells: Lógica En general es normal encontrar varios estilos de diseño en un ASIC DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 2 Estilos de Diseño VLSI DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez Full Custom DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 3 Estilos de Diseño VLSI DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez Estilos de Diseño VLSI DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 4 Semi-Custom: Standard Cells DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez Semi-Custom: Standard Cells DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 5 Semi-Custom: Standard Cells DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez Semi-Custom: Standard Cells DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 6 Semi-Custom: Standard Cells SCs: 2ML SCs: 3ML DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez Estilos de Diseño VLSI DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 7 Semi-Custom: Gate Arrays Channeled Sea-of-Gates Embedded/Structured DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez Semi-Custom: Gate Arrays Sea-of-Gates DMII Embedded/Structured Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 8 Semi-Custom: Gate Arrays DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez Semi-Custom: Gate Arrays DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 9 Semi-Custom: Gate Arrays (Sea of Gates) Gate-isolated DMII Oxide-isolated Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez Estilos de Diseño VLSI DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 10 Lógica Programable • • • Circuito integrado digital programable Componentes Standard off-the-shelf La funcionalidad deseada se consigue configurando bloques on-chip e interconexiones Ventajas (comparado con un ASIC –full o semi custom- ): • – Costes de desarrollo bajos – Ciclo de desarrollo corto – La reprogramación suele ser posible • Tipos de Lógica Programable: – Complex PLDs (CPLD) – Field programmable Gate Arrays (FPGA) DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez CPLD-Arquitectura PLD: Suma de productos Matriz AND programable seguida de puertas OR A B C Interruptor programable o fusible f1 = A • B • C + A • B • C f2 = A • B + A • B • C Plano AND DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 11 CPLD-Arquitectura Macrocelda: puede implementar circuitos combinacionales y secuenciales Select A B C Enable f1 Flip-flop D MUX Q Clock Plano AND DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez CPLD-Arquitectura Un CPLD es la integración en un único chip de varios bloques PLD con una interconexión programable. PLD PLD Block Block • • • • • • I/O Block Block I/O PLD PLD Block Block I/O Block Block I/O I/O Block Block I/O • • • Interconnection Interconnection Matrix Matrix I/O Block Block I/O DMII • • • PLD PLD Block Block PLD PLD Block Block Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 12 CPLD - Ejemplo - Altera MAX7000 EPM7000 Series Block Diagram DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez CPLD - Ejemplo - Altera MAX7000 EPM7000 Series Device Macrocell DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 13 FPGA - Arquitectura Componentes en una FPGA: • • • Interconnection switches I/O I/O I/O • Logic block Bloques lógicos programables Implementan lógica combinacional y secuencial Interconexión programable Líneas para conexión de las entradas y salidas de los bloques lógicos I/Os programables Bloques de entrada/salida en la periferia del sispositivo para conexiones con el exterior Otros: Distribución del reloj Bloques de memoria empotrados Bloques de proposito específico - DSP blocks: multiplicadores HW, sumadores y registros - Microprocesadores/ microcontroladores empotrados - Transceivers de alta velocidad DMII I/O Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez FPGA - Logic Element • • • LUT para implementar lógica combinacional Registro para circuitos secuenciales Lógica adicional (no se muestra): • Lógica de Carry para funciones aritmeticas • Lógica de Expansión para funciones que requieran más de 4 entradas Select Out A B C D LUT LUT D Q Clock DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 14 FPGA – Look-up tables LUT • • Una Look-up table con N entradas puede usarse para implementar cualquier función combinacional de N entradas Una LUT se programa con la tabla de la verdad A B C D Z 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 A B C D Z LUT implementation A B Z C D Truth-table DMII LUT LUT Gate implementation Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez FPGA – Look-up tables LUT X1 X2 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 F 0/1 0/1 Celdas de memoria para configuración 0/1 0/1 0/1 0/1 X3 • • • DMII Ejemplo: LUT de 3 entradas Basada en multiplexores (transistores de paso) Entradas de la LUT almacenadas en celdas de memoria para configuración Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 15 FPGA – Interconexión programable ACTEL ANTIFUSE QUICKLOGIC METAL-METAL ANTIFUSE XILINX SRAM EEPROM DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez FPGA – Interconexión programable DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 16 FPGA – Interconexión programable DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez FPGA – Interconexión programable DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 17 FPGA – Interconexión programable DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez FPGA – Interconexión programable Antes de la prog. Despues de la prog. DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 18 FPGA – Ejemplos: Altera Stratix - Floorplan DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez FPGA – Ejemplos: Altera Stratix – Logic Element DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 19 FPGA – Ejemplos: Altera Stratix - LAB • • Un LAB agrupa 10 LEs conectados con interconexion rapida. Estructura de interconexión – Link directo entre LABs y bloques adyacentes – Interconexión fila • 4, 8, y 24 bloques izquierda y derecha – Interconexión columna • 4, 8, y 16 bloques arriba y abajo DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez FPGA – Ejemplos: Altera Stratix – Memoria empotrada • Dual-Port RAM – M512 – 512 x 1 – M4K – 4096 x 1 – M-RAM – 64K x 8 DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 20 Fabricantes de FPGAs y familias de dispositivos • Xilinx – Virtex-II/Virtex-4: Featurepacked high-performance SRAM-based FPGA – Spartan 3: low-cost feature reduced version – CoolRunner: CPLDs • Altera – Stratix/Stratix-II • High-performance SRAMbased FPGAs – Cyclone/Cyclone-II • Low-cost feature reduced version for cost-critical applications – MAX3000/7000 CPLDs – MAX-II: Flash-based FPGA DMII • Actel – Anti-fuse based FPGAs • Radiation tolerant – Flash-based FPGAs • Lattice – Flash-based FPGAs – CPLDs (EEPROM) • QuickLogic – ViaLink-based FPGAs Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez Estado del arte en FPGAs • 90 nm process on 300 mm wafers – Lower cost per function (LUT + register) – Smaller and faster transistors: Higher speed • System speed up to 500 MHz – Mainly through smart interconnects, clock management, dedicated circuits, flexible I/O. – Integrated transceivers running at 10 Gigabits/sec • More Logic and Better Features: – >100,000 LUTs & flip-flops – >200 embedded RAMs, and same number 18 x 18 multipliers • 1156 pins (balls) with >800 GP I/O – 50 I/O standards, incl. LVDS with internal termination • 16 low-skew global clock lines – Multiple clock management circuits • On-chip microprocessor(s) and multi-Gbps transceivers DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 21 Ultimos dispositivos: Capacidad & características Xilinx Virtex-4 Altera Stratix-II • • • • • • • • • 90nm process Up to 960 I/Os >200000 logic cells Up to 552 18kb block RAMs (~10Mb RAM) • 192 DSP slices (18x18 multiplieraccumulator) • 20 digital clock managers (DCM) • 24 high-speed serial transceivers (622Mb/s to 11.1Gb/s) • Up to four PowerPC 405 cores 90nm process Up to 1170 I/Os 179000 logic elements 9.6Mb embedded RAM 96 DSP blocks: 380 18x18 multipliers • 12 PLLs • Serial I/O up to 1Gb/s • No hard processor cores DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez Comparación estilos de diseño DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 22 Por requisitos, las FPGAs cumplen la mayoría de expectativas del mercado Las ventajas de las FPGAs DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez DMII Estils de Disseny: FC, SC, GA, FPGA – A. Diéguez 23