• No se han encontrado resultados

Arquitectura de FPGAs

N/A
N/A
Protected

Academic year: 2021

Share "Arquitectura de FPGAs"

Copied!
39
0
0

Texto completo

(1)

Arquitectura de FPGAs

Diseño Lógico 2 - 2019

Instituto de Ingeniería Eléctrica Facultad de Ingeniería

Universidad de la República

(2)

PLD / FPGA

- Mid 80's: 8 a 16 funciones lógicas - En el lab: 15000 funciones lógicas + memoria + multiplicadores

(3)

Lo básico

Lógica combinatoria

Memoria

(4)

Funciones combinatorias

a b c f(a, b, c)

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 0

(5)

Lógica | Suma de productos

ROM

PLA (Programmable Logic Array):

• AND programable - OR programable.

PAL (Programmable Array Logic):

• AND programable - OR fijo

(6)

Lógica | ROM

Rom con:

m bits de direcciones y n bits de ancho de palabra

=

n funciones de m bits

(7)

Lógica | Suma de productos (PLA)

(8)

Lógica | Plano OR fijo (PAL)

(9)

Lógica | LUT

a b c

H0(a) b0

b1 b2 b3 b4 b5 b6 b7

H1(a)

H2(a)

H3(a)

G0(a, b)

G1(a, b)

G(a, b, c)

(10)

¿CPLD o FPGA?

PLD: Programmable Logic Device

CPLD: Complex PLD

FPGA: Field Programmable Gate Array

Es una cuestión de nombres. En general se utiliza FPGA para dispositivos de configuración volátil con celdas de arquitectura Look-up Table y PLD (o CPLD = Complex PLD) para

dispositivos de configuración no volátil y celdas del tipo de suma de productos.

(11)

Memoria

(12)

Elemento Lógico

(13)

Logic Element – Intel Cyclone III

(14)

Programmabe Logic Block – Lattice iCE40

(15)

½ SLICEX – Xilinx Spartan 6

(16)

Interconexiones

I

(17)

Jerarquía de conexiones

Conexiones configurables

Dentro de cada celda para determinar la función lógica

Entre celdas vecinas

Jerarquía en varios niveles de grupos de celdas y bloques

Conexiones disponibles

Abundantes entre celdas vecinas

Escasas entre celdas lejanas

(18)

LAB - Cyclone III

(19)

Manejo de señales de reloj

Entradas y bloques dedicados para

minimizar “jitter”, “skew”, y distorsión del ciclo de trabajo.

PLLs y Digital Clock Managers

Multiplicar o dividir frecuencia

Fase y retardo programables para ajustarse a la temporización de señales de entrada

Conmutar entre diferentes fuentes de reloj

(20)

Más Bloques

Multiplicadores y DSP

Bloques de memoria

Procesadores

Interfaces comunicación serie de alta velocidad (serializadores/deserializadores, 8B/10B)

Bloques de I/O (adaptación impedancias, niveles de tensión, registros, control de slew-rate, etc.)

Facilidades para TEST (BIST)

(21)

Estructura interna Intel

Fuente: http://www.altera.com/products/devices/stratix2/st2-index.jsp

(22)

Xilinx

(23)

Ejemplo

Chip Cyclone III de Altera en placa DE0.

EP3C16F484

(24)

Packaging EP3C16F484

(25)

Cyclone III

Arquitectura Lookup Table y configuración volátil

Jerarquía de bloques lógicos y conexiones

Logic Elements (LE)

Logic Cells (LC) o Macrocell en otras familias

Varios LEs forman un Logic Array Block (LAB)

Configurable Logic Block (CLB) en Xilinx

• en Cyclone III

1 LAB = 16 LE

(26)

Otros bloques – Cyclone III

Memory Blocks (M9K)

Bloques de 8 Kbits + paridad

Organización configurable

Ancho de palabra (1 a 36)

ROM o RAM

Fifo

Uno o dos puertos

Multiplicadores

Punto fijo con o sin signo.

Un mult. 18 x 18 o dos 9 x 9

Conexión en cascada

(27)

Recapitulando

Bloques Lógicos

Función combinatoria (Suma de productos o LUT)

FF

Multiplexores

Jerarquía de Buses

de interconexión de bloques

de distribución de señales de control (clk, clr, enable)

Memorias

Bloques de E/S (buffers, voltaje de salida)

Manejo de relojes, multiplicadores, ...

(28)

Ventajas

Reducción en la cantidad de componentes

Menor área de circuito impreso

Menor costo de montaje

Mayor confiabilidad

Reprogramabilidad

Cambios de diseño sin modificar impreso

Diseño temprano para estándares no maduros

Stock más reducido

(29)

Dominios de aplicación

“Glue Logic”

Circuitos digitales rápidos

Aceleradores de Cálculo

Procesamiento de señales

Prototipado de otros ASICs

System on a Chip (SoC) ***

(30)

ASICs

Full Custom

Standard Cells

Gate Arrays

Circuitos Programables (PLD, FPGA)

Orden decreciente de costos fijos (NRE) y tiempo de desarrollo

(31)

ASIC vs FPGA

Oferta de prototipado en FPGAs y fabricación en chips

"más duros" (menor costo, menor consumo)

Fuente: http://www.xilinx.com/

(32)

Xilinx EasyPath

Flexibility to make

ECO changes Support for

Dual Bitstreams

(33)

Algunos productos que utilizan FPGAs

Adquisidores NI

Procesadores Mark Levinson

RedBox Relyum Interfaces EXTRON

(34)
(35)

Fuente: “Hacking the Xbox. An Introduction to Reverse Engineering” Andrew "bunnie" Huang

400MB/s LVDS sin gastar USD 25K

(36)

Fuente: “Hacking the Xbox. An Introduction to Reverse Engineering” Andrew "bunnie" Huang

(37)

100MB/s

(38)

Lectura adicional

Maxfield, Clive; “FPGAs”, Ed. Newnes, 2008, Chapter 2: “FPGA Architectures”.

Huang, A. “Hacking the Xbox. An

Introduction to Reverse Engineering”

http://bunniefoo.com/nostarch/HackingTh eXbox_Free.pdf

(39)

Precauciones usando la placa

Precauciones habituales:

Mesa limpia, estática, etc.

EP3C16:

Conexiones con entradas ya soldadas: Hay que evitar que el chip las maneje como salidas.

Aunque no se utilicen, definirlas como entradas o verificar que por defecto las asigne tri-state con weak pull-up

Referencias

Documento similar

neuroléptico maligno que puede representar un riesgo muy importante para la salud. Si interrumpe el tratamiento o reduce la dosis de Pramipexol Sandoz también puede sufrir

Debido a su papel fundamental en aplicaciones DSP, muchos dispositivos FPGA de alto rendimiento han incorporado celdas especiales para procesamiento digital de la señal destinadas

asistenciales son prestados por el Estado en concurrencia con la actividad de los oai- ticulares, para suplirla; "las reglamentaciones administrativas que se dictan sobre

(no existirá) Una vez esto realizado, acceder a AbsysNet desde la sesión de administrador y al entrar en la aplicación pedirá instalar el complemento de impresión abwxprint, aceptar

Adquirir los conocimientos necesarios para la generación solvente e independiente de código en lenguaje Kotlin y JavaScript con un plan formativo eminentemente práctico para

mos a encontrar en la iglesia compostelana de San Mar- tin Pinario como resultado casual de la erección del mag- nífico retablo diseñado por Fernando de Casas y rea-

Crear un punto de entrada y una cola en el portal de administración del Contact Center de Webex..

En este Documento de Actividades del Doctorando (DAD), el propio doctorando registrará todas las actividades de interés para su desarrollo en el contexto del Programa de