0% encontró este documento útil (0 votos)
99 vistas44 páginas

S01.s1 - Introduccion Diseño FPGA

Este documento proporciona una introducción a los sistemas digitales y FPGA. Explica que al final de la sesión, los estudiantes comprenderán las características principales de los dispositivos lógicos reconfigurables como las FPGA. Luego describe las estructuras básicas de una FPGA, incluidos los bloques lógicos configurables, las celdas de configuración SRAM y las tablas de búsqueda utilizadas para implementar la lógica combinacional.

Cargado por

Angelo Torpoco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
99 vistas44 páginas

S01.s1 - Introduccion Diseño FPGA

Este documento proporciona una introducción a los sistemas digitales y FPGA. Explica que al final de la sesión, los estudiantes comprenderán las características principales de los dispositivos lógicos reconfigurables como las FPGA. Luego describe las estructuras básicas de una FPGA, incluidos los bloques lógicos configurables, las celdas de configuración SRAM y las tablas de búsqueda utilizadas para implementar la lógica combinacional.

Cargado por

Angelo Torpoco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 44

TEMA: Introducción al Diseño de Sistemas

Digitales y FPGA’s.

CURSO: DISEÑO DE SISTEMAS COMPUTACIONALES PARA APLICACIÓN ESPECÍFICA

Docente: RAÚL ALBERTO ROJAS REÁTEGUI


¿Qué se puede apreciar en la imagen?
Logro de sesión

Al finalizar la sesión los estudiantes comprenden e identifican las


principales características de los dispositivos lógicos reconfigurables.

Datos/Observaciones
FPGA

Datos/Observaciones
Definición
FPGA (Field Programmable Gate Array) fueron introducidas por Xilinx en
1985. También se denominan LCA (Logic Cell Array). Circuitos Integrados
que contienen bloques configurables de lógica junto con conexiones
configurables entre esos bloques.

Datos/Observaciones
Datos/Observaciones
Estructura General

El proceso de diseño de un circuito digital utilizando una matriz lógica


programable puede descomponerse en dos etapas básicas:
 Dividir el circuito en bloques básicos, asignándolos a los bloque
configurables del dispositivo.
 Conectar los bloques de lógica mediante los conmutadores
necesarios.

Datos/Observaciones
Los elementos básicos constituyentes de una FPGA son los siguientes:
1. Bloques lógicos: Su estructura y contenido se denomina arquitectura.
Hay muchos tipos de arquitecturas, que varían principalmente en
complejidad. Suelen incluir biestables para facilitar la implementación de
circuitos secuenciales. Otros módulos de importancia son los bloques de
Entrada/Salida,
2. Recursos de interconexión: cuya estructura y contenido se denomina
arquitectura de rutado.

Datos/Observaciones
3. Memoria RAM: Se carga durante el RESET para configurar bloques y
conectarlos.

Datos/Observaciones
Principales características de
los FPGA
Los FPGAs son dispositivos orientados a satisfacer una muy amplia gama
de aplicaciones. Por ello las principales características son las siguientes:
 Gran cantidad de terminales de E/S. Desde 100 hasta unos 1400
terminales de E/S
 Buffers de E/S programables: control de sesgo, control de corriente,
configuración del estándar de E/S , pull-up y pull-down configurables

Datos/Observaciones
 Gran cantidad de Flips-Flops, los dispositivos mas grandes tienen unos
40.000 FFs
 Gran cantidad de Tablas de Búsqueda (Look-Up Tables), ~100.000
 Bloques de Memoria (BRAM) de doble puerto, puerto simple, de hasta
18Mbits, configurables como RAM, ROM, FIFO y otras configuraciones
 Bloques dedicados de Multiplicación
 Transceptores para transmisión serie de muy alta velocidad , entre 1.5 a-
10.0Gb/s

Datos/Observaciones
 Procesador en hardware embebido, tal como el Power-PC, ARM9
 Procesadores descriptos en software, HDL, tales como el 8051, ARM3
 Controladores de reloj tipo Delay Lock Loop (DLL) y Phase Lock Loop
(PLLs) de hasta 550MHz.
 De 2 a 8 controladores por dispositivo
 Control de impedancia programable por cada terminal de E/S

Datos/Observaciones
Familias FPGA

Los FPGAs que existen en la actualidad en el mercado se pueden


clasificar como pertenecientes a cuatro grandes familias, dependiendo
de la estructura que adoptan los bloques lógicos que tengan definidos.
1. Matriz simétrica, como son las de XILINX
2. Basada en canales, ACTEL
3. Mar de puertas, ORCA
4. PLD jerárquica, ALTERA o CPLDs de XILINX.

Datos/Observaciones
Datos/Observaciones
EVOLUCIÓN DE CIRCUITOS
LÓGICOS PROGRAMABLES

Datos/Observaciones
PAL (PROGRAMMABLE ARRAY
LOGIC)

 Creada en 1973 por M. Memories.


 El Circuito Integrado (CI), tenía varios
bloques idénticos formados por una
matriz AND programable seguida por
una OR.

Datos/Observaciones
 Utiliza la filosofía AND-OR con AND
programable se impuso sobre la del
esquema de AND-OR con OR
programable dado que estadísticamente
se comprobó que podía generar todos los
mintérminos necesarios, subutilizando
toda la capacidad de ese tipo de circuito.

Datos/Observaciones
EPLD (Erasable Programmable
Logic Device)
 Esta filosofía se basa en el empleo de bloques (denominados
MACROCELDAS) que generan funciones de lógica combinatoria empleando la
tecnología PAL (AND-OR con AND programable) pero con cambios
sustanciales.
 Cada macrocelda tiene capacidad para generar una función lógica de 4 ó 5

variables. Generalmente tiene asociada un FF tipo D.


 Posee una matriz de interconexión única lo que limita el grado de conectividad
entre macroceldas y entre éstas y los bloques de entrada-salida.
Datos/Observaciones
Datos/Observaciones
ASIC (Application Specific Integrated
Circuit)

 Utiliza celdas lógicas prediseñadas tales como compuestas AND, compuertas

OR, multiplexores y flip-flop's, se les conoce como celdas estándar.


 Algunos de los diferentes tipos de ASIC basados en arreglo de compuertas
existentes son:
 Arreglo de compuertas acanalados.
 Arreglo de compuertas sin acanalado.
 Arreglo de compuertas estructurado.

Datos/Observaciones
CELDA DE CONFIGURACION
FPGA

Datos/Observaciones
Celda básica FPGA

Existen en la actualidad cuatro tipos de celdas de configuración de un FPGA:


 Celda SRAM

 Celda anti-fuse (anti-fusible)


 Celda Flash

 Celdas Flash y SRAM

Datos/Observaciones
Celda SRAM

 La celda es una pequeña celda SRAM que se usa para mantener la


configuración de cada parte configurable del FPGA.
 Utilizan un proceso de fabricación estándar. Procedimiento de fabricación muy

conocido, que es el usado en la fabricación de memorias SRAM.


 Las celdas de memoria tipo SRAM pueden ser reprogramadas muchas
veces.

Datos/Observaciones
 Esta reprogramación en PCB se
denomina Programable En Circuito (In-
Circuit Programmable, ISP). Esta
tecnología SRAM es muy útil también
para llevar a cabo una actualización
rápida del sistema digital dentro del
FPGA.

Datos/Observaciones
Celda Anti-Fuse

 Esta celda consiste en una estructura microscópica normalmente abierta. Está


compuesta de tres capas, las conductoras arriba y abajo, y la aisladora en el
medio (Metal-Insulator-Metal, MIM).
 Para configurar el dispositivo se hace circular una corriente de ~5mA, lo que
causa una gran potencia de disipación en un área muy pequeña, provocando
el derretimiento del aislante dieléctrico (tipo Ooxide-Nitride-Oxide, ONO) entre
los dos electrodos conductores (SiO2, Dióxido de Silicio) formando una unión
permanente muy fina de unos 20nm.

Datos/Observaciones
Datos/Observaciones
Celda Flash

 Son celdas reprogramables y no son volátiles.

 Son costosas.

Datos/Observaciones
Celda Flash y SRAM

 Poseen celdas Flash y SRAM en el mismo dispositivo.

 Las celdas Flash se utilizan para guardar los datos de configuración del
FPGA.
 Las celdas SRAM para la configuración de la lógica del FPGA

Datos/Observaciones
BLOQUE LOGICO
CONFIGURABLE

Datos/Observaciones
Definición
Conocidos comúnmente como Bloque Lógico Configurable, (Configurable Logic
Block, CLB), estos bloques son la parte lógica mayoritaria dentro de un FPGA.

Está constituido por 4 rebanadas (Slices), SLICEM S0, SLICEM S1, SLICEL S2 y
SLICEL S3, rutas de conexión para el acarreo matemático, Cin y Cout (carry in,
carry out), conexiones a la matriz de conexiones (Switch Matrix) que proveen
acceso a las rutas de conexiones generales y conexiones locales entre las
rebanadas del mismo CLB y CLBs vecinos.

Datos/Observaciones
Datos/Observaciones
Rebanadas (SLICE) de un CLB

Hay dos tipos de rebanadas (SLICEs) dentro de un CLB:


 SLICEM: además de las funciones lógicas que se pueden implementar en

el SLICE, ofrece opciones para implementar pequeñas memorias.


 SLICEL: solo puede implementar funciones lógicas.

Datos/Observaciones
La Figura muestra una vista simplificada de un
SLICEL, en la que se destaca lo siguiente:
 Dos tablas de búsquedas (Look-Up Tables)
 Dos flip-flops
 Cuatro salidas, dos combinacionales y dos con

registros
 Tiene entradas de control para los flip-flops
 Entradas para las LUTs Entrada y salida para

la cadena de acarreo (Carry Chain)

Datos/Observaciones
Tablas de Búsqueda - Look-up
Tables (LUTs)

En un FPGA toda la lógica combinacional se implementa utilizando tablas de


búsqueda, LUT.

En cierta literatura a las LUTs también se les llama “Generadores de Funciones”


(Function Generators).

Datos/Observaciones
La Figura detalla la similitud entre una tabla de
verdad y una LUT. La columna de valores Z, valores
de la función combinacional, son los valores que
realmente se almacenan en la LUT de 16x1.

Vale recordar que, a menos que por alguna razón se


quiera hacerlo manualmente, el almacenamiento de
los valores en las LUTs lo realiza el Software del
fabricante del FPGA, siendo el proceso totalmente
transparente al diseñador del sistema digital.

Datos/Observaciones
Elementos de Almacenamiento.
Flip-Flops
Cada SLICE posee dos elementos de almacenamiento
programables que pueden funcionar como flip-flop D, o cerrojo
(latch) transparente.

El elemento de almacenamiento ubicado en la parte superior del


SLICE se denomina FFY, mientras que el de la parte inferior se
denomina FFX. Ambos elementos de almacenamiento tienen un
multiplexor de selección para la entrada D.

Datos/Observaciones
Lógica de Acarreo (Carry)
El CLB tiene lógica dedicada exclusivamente para el acarreo de
la suma aritmética con el objeto de mejorar el rendimiento de
sumadores, contadores, comparadores y funciones lógicas
relacionadas.

La lógica de acarreo disponible en los CLB está constituida por


los siguientes elementos:
 Compuertas lógicas dedicadas sólo para el acarreo
 Multiplexores dedicados
 Ruteo y conexiones dedicadas
Datos/Observaciones
Bloque de Entrada/Salida
(Input/Output Block, IOB)

Para poder recibir y transmitir señales digitales, los FPGAs disponen de un


bloque de E/S bastante elaborado que posibilita usarlos con muy diversos rangos
de tvoltajes, frecuencias de trabajo, estándares de señales digitales, etc.

Existe un bloque E/S por cada terminal del FPGA. Cada terminal puede ser
configurado como entrada, como salida o bidireccional.

Datos/Observaciones
En cada bloque E/S existe un buffer que tiene diversas funciones configurables
por el diseñador que permiten adaptar el FPGA en un sistema complejo
trabajando con diferentes tensiones y corrientes, en un circuito impreso con
muchos problemas de integridad de señal.

Datos/Observaciones
Se puede observar que hay tres caminos posibles para una señal:
1. Camino de entrada: que conecta el IO Pad (terminal del circuito

integrado) a la lógica interna del FPGA. Esta conexión puede ser:


 Directa, a través de un elemento de retardo (opcional).

 Con registro usando el flip-flop IFF1


 Con registro usando el flip-flop IFF2

Datos/Observaciones
2. Camino de salida: Comunica la lógica interna con el IO Pad del FPGA. Entra al
IOB por medio de O1 u O2, pasa a través de un multiplexor y del buffer de
salida llegando al IO Pad.

El par de flip-flops OFF1 y OFF2 se usan para transmitir datos en ambos


flancos del reloj (DDR). También estos flip-flops se usan para poner registros en
las señales de salida del FPGA, de modo de reducir al mínimo el tiempo de
retardo de flip-flop (Clock to Output, Tco).

Datos/Observaciones
3. Camino de alta impedancia: Comunica la señal de control de alta
impedancia con el buffer de salida.

Esta ruta también dispone de un par de flip-flops para interfaces tipo DDR o
para registrar en este bloque la señal de control de alta impedancia. Se
observa también una realimentación de la señal que controla la alta
impedancia del buffer de salida.

Datos/Observaciones
CIERRE
Conclusiones

• Los FPGA (Field Programmable Gate Array) o LCA (Logic Cell Array), son Circuitos
Integrados que contienen bloques configurables de lógica con conexiones configurables entre
esos bloques.
• Los elementos básicos constituyentes de una FPGA son los siguientes: Bloques lógicos,
Recursos de interconexión, Memoria RAM.
• Existen en la actualidad cuatro tipos de celdas de configuración de un FPGA: Celda SRAM,
Celda anti-fuse (anti-fusible), Celda Flash, Celdas Flash y SRAM

Introducción a los FPGA


Gracias
Docente: RAÚL ALBERTO ROJAS REÁTEGUI
Facultad de Ingeniería
Departamento Académico de Electrónica

También podría gustarte