Vous êtes sur la page 1sur 41

SISTEMAS DIGITALES II

UNIDAD 3

FUNDAMENTOS DE FPGA´S
Temas a tratar…

 INTRODUCCIÓN A LOS PLD, CPLD, FPGA

 FUNDAMENTOS TEÓRICOS DE FPGA

 APLICACIONES

2
Introduccion a los CPLDs y FPGAs

Silicon wafer containing XC4010E 10,000 gate FPGAs.


Clasificación de las tecnologías de Lógica Digital
Clasificación de CI de Lógica Programable
 Los CI de Lógica Programable pueden ser clasificados de la
siguiente manera:

 SPLD (Dispositivos Lógicos Programables Simples):


 ROM (AND – fijo, OR – programable)
 PAL (AND – programable, OR – fijo)
 PLA (AND – programable, OR – programable)

 CPLD (Dispositivos Lógicos Programables Complejos)

 FPGA (Arreglos de Puertas Programables por


Campos).
Arreglo Lógico Programable (PLA)
 Son programables las entradas a las puertas AND y a las
puertas OR.
 Ejemplo con 4 entradas y 3 salidas.
Esquema compacto
Using a PLA to implement a Sum of Products equation.
Examples of FPLDs and advanced high pin count package types.
CPLD (Complex Programmable Logic Device)
 CPLD es una colección de PLDs individuales dentro de un chip, acompañada por
una estructura programable de interconexión que permite a los PLDs estar
conectados entre si dentro del chip de la misma manera que un diseñador puede
hacer con los PLDs discretos.
 La gran cantidad de formas en que se puede elevar la complejidad de los CPLDs da
lugar a arquitecturas diferentes, orientadas a un cierto campo de aplicaciones cada
uno.
Un LAB / FB de CPLD.
Matriz de Interconexiones Programables
 La Matriz de Interconexiones Programables (Programmable
Interconect Matrix / PIM o Programmable Interconect Array /
PIA) permite unir los terminales de entrada/salida a las entradas
del bloque lógico, o las salidas de un bloque lógico a las entradas
de otro bloque lógico, o inclusive a las entradas del mismo
bloque.
 El elemento básico de la PIM / PIA es un switch programable y
borrable eléctricamente basado en el comportamiento del
transistor EEPROM.
 La mayoría de los CPLDs usan dos configuraciones de PIM / PIA:
 Interconexiones mediante arreglo
 Interconexiones mediante multiplexores.
 De su diseño depende la velocidad, área y costo de un CPLD
Switch programable y un transistor EEPROM
Bloques de Entrada/Salida (IOB)
 La función de un IOB es permitir el paso de una señal hacia
dentro o hacia el exterior del dispositivo.
 Por lo tanto IOB deben ser bidireccionales y deben poder
manejar corrientes importantes.
 Existen básicamente dos tipos de IOB:
 IOB elementales sólo permiten definir si el pin será de
entrada, salida o bidireccional, y cada IOB está asociado a
un Bloque Lógico determinado.
 IOB complejos cuentan con muchas opciones de
configuración y realizan algunas tareas de sincronización
de datos externos. Ellos no tienen una relación
predeterminada con los Bloques Lógicos. Para vincularlos
se usan los recursos de la PIM.
Una macrocelda de la familia MAX 7000

LAB Local Array

Global Clear Global Clock

from I/O Pin


Parallel Expanders (E and S versions only)

PRN
D Q to PIA and
I/O Contol Block
Product-Term
Select Matrix
ENA
CLRN
Clock

Clear Select

Shared Logic
Expanders

from PIA
IOB elemental de la familia MAX 7000.
CPLDs de ALTERA y Xilinx

 MAX 10 FPGA
 MAX V CPLD
 MAX II CPLD
 QUARTUS PRIME DEVELOPMENT SUITE
 COOLRUNNER-II

17
MAX V CPLD Development Kit
MAX V CPLD
 CPLD 5M570ZF256C5n
 570 (LEs) – Equivalente a 440 macroceldas
 8192-bits de memoria flash
 4 Global clocks
 159 entradas/salidas
 1.8 Voltios de potencia en el núcleo
CIRCUITOS DE RELOJ EN LA TARJETA
 Oscilador externo de 10 MHz
ENTRADAS/SALIDAS GENERALES DEL USUARIO
 2 Leds, 2 botoneras, 1 capacitor sensitivo
MAX V. Características
• Bajo Costo, Baja potencia, arquitectura no volátil.
• Tiempo de configuración (0.5 ms o menos)
• Oscilador interno
• 4 Clock generales
• 8 Kbits de almacenamiento no volatil en la memoria flash
hasta 1000 ciclos de lectura/escritura
• Fuente externa de 1.8 Voltios para el núcleo del dispositivo
• Niveles de voltaje de la interfaz de entrada o salida: 3.3-
V,2.5-V,1.8-V,1.5-V, y 1.2-V
• Schmitt Triggers (Programables por pin)
MAX V CPLD Development kit
Información de empaquetado de la familia MAX V
FPGA
(Field-Programmable Gate Array)
Single XC4010E FPGA die showing 20 by 20 array of logic elements and interconnect.
Field-Programmable Gate Array
 Un FPGA es un dispositivo lógico configurable que puede
implementar los circuitos lógicos relativamente grandes.
 En el mercado existen muchos FPGAs que pueden utilizar
diferentes tipos de CLB (Xilinx) / LAB (Altera).

 Más comúnmente se utilizan los que están basados en LUT


(lookup table) o tabla de búsqueda que contiene celdas de
almacenamiento.
Una LUT de dos entradas

X1 X0
0 0
0 1
1 0
1 1
A RAM Contents
4 Input
B Address Data
LUT F
C A B C D F
(16 x 1 RAM)
D 0 0 0 0 0
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
A 0 1 1 1 0
1 0 0 0 0
B 1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
F 1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
C 1 1 1 1 1
D

Using a lookup table (LUT) to model a gate network.


LUT (lookup table)
 Es fácil entender que es una LUT si imaginamos una tabla de
verdad almacenada en una memoria.
 Usualmente las LUT tienen cuatro o cinco entradas, por lo tanto
16 o 32 celdas de almacenamiento.
 Las celdas de almacenamiento son celdas tipo SRAM.
 Cada celda puede almacenar un 0 o un 1 lógico.
 En las salidas de los LUT se conecta la circuitería adicional
LUT (lookup table)

 Como las celdas de almacenamiento son de tipo


SRAM, la información se pierde cuando se apaga la
fuente de alimentación.
 A menudo una pequeña memoria PROM que
mantiene los datos se incluye en la misma tarjeta
donde esta el FPGA.
 Cuando se enciende la fuente de poder los datos se
cargan automáticamente desde la PROM a las
celdas de almacenamiento de las LUT.
Bloque de Entrada / Salida

 Los FPGAs solo utilizan los IOB / IOE (Elementos de


I/O) tipo complejos.
 Para vincularlas se usan los recursos de
interconexión.
 Se delegan a los bloques de I/O ciertas tareas de
sincronización de datos externos.
 Se cuenta con muchas opciones de configuración,
como control de slew rate, de pullups o pulldowns,
agregado de retardos, etcétera.
Interconexiones Programables
 Las FPGAs no utilizan tecnología EEPROM para implementar los
switches programables.
 En su lugar utilizan también celdas SRAM para configurar los
alambres de interconexión.
Switches de transistores de paso en una FPGA
Arquitectura de un Elemento Lógico (LE) de un FLEX 10K
Un LAB de FLEX 10K.
Arquitectura de un FPGA FLEX 10K
Caracteristicas Cyclon IV

 Memoria Embebida M9K (9 kbits)

 PLLs

 Multiplicadores Embebidos
Cyclone V SoC FPGA

36
SoC FPGA

37
FPGA de Altera y Xilinx
 Stratix: FPGA-SoC: Our fastest, most powerful FPGAs
 Arria: FPGA-SoC: Balance of cost, power perfomance
 Cyclone: FPGA-SoC: Low system cost plus perfomance
 Max: FPGA: Non-Volatile single-chip, dual-
configuration
 Spartan: 45nm, 28nm
 Virtex: 28nm, 20nm, 16nm
 Artix: 28nm
 Kintex:28nm, 20nm, 16nm

38
Aplicaciones FPGAs
 Embedded Vision Solutions
 Accelerate Mobile-Influenced
 System Desings at the Edge
 Virtual Reality
 Datacenter Systems-Servers
 Automotive
Aplicaciones …
Principales fabricantes de CPLDs y
FPGAs

Vous aimerez peut-être aussi