Está en la página 1de 27

SISTEMAS EMBEBIDOS

Tema 1 – Introducción a los FPGA y lenguaje VHDL

Freddy Leonardo Bueno Palomeque


Carrera de Ingeniería Electrónica
Carrera de Electrónica y Automatización

Marzo 2020
Contenidos de la presentación

Contenidos:

• Síntesis lógica
• Lenguajes de descripción de hardware
• VHDL
• PLD
• Arquitectura de una FPGA
• Aplicaciones y fabricantes

Ingeniería Electrónica / Electrónica y Automatización 2


Lectura Artículo

• Según el artículo adjunto, en los últimos 30 años, ¿en qué factor ha


cambiado su capacidad, velocidad, costo y consumo energético?

• ¿Qué eras (ages) de la FPGA se establecen en el artículo?

• A que se hace referencia con el término non-recurring engineering


(NRE) charge, (costo no recurrente) y ¿Por qué este factor era una
desventaja de las FPGA durante su inicio?

• ¿Cuáles son las ventajas y desventajas de un bloque LUT, a lo largo


de la evolución de las FPGA?

• ¿Cuáles son las aplicaciones que se visualizan para la era actual


(current age) mencionada en el artículo?

Ingeniería Electrónica / Electrónica y Automatización 3


Síntesis Lógica

En electrónica, es un proceso por el cuál una


descripción abstracta del comportamiento de un
circuito se transforma en un circuito en términos de
compuertas lógicas.

 ¿Descripción abstracta?: Describimos cómo se


obtienen las salidas del circuito
 En otras palabras, describimos lo que queremos
obtener del circuito y no cómo obtenerlo

Ingeniería Electrónica / Electrónica y Automatización 4


¿Dónde se utiliza la síntesis lógica?

En el diseño de circuitos lógicos complejos utilizando un


lenguaje de descripción de hardware (HDL Hardware
Description Language)

 Permite un mayor enfoque en la funcionalidad del


circuito
 Independencia del sistema de desarrollo y de las
herramientas
 Mejor mantenibilidad
 Fácil documentación
 Mejor legibilidad

Ingeniería Electrónica / Electrónica y Automatización 5


Ejemplo

Diseñar un Contador ascendente de 4 bits.

 Bloque de interfaz
 Entrada asíncrona reset (rst) activa a bajo
 Entrada de reloj (clk) activa por flanco de bajada
 Salida (count) de 4 bits
 Bloque con la funcionalidad
 rst cambia instantáneamente la salida count a 0
 Si rst no está activa, la salida count se incrementa en 1 con
cada flanco activo de clk

Ingeniería Electrónica / Electrónica y Automatización 6


Ejemplo (2)

Diseño del contador

Ingeniería Electrónica / Electrónica y Automatización 7


Ejemplo (3)

Diseño utilizando VHDL

Ingeniería Electrónica / Electrónica y Automatización 8


Contraste

Diseño esquemático tradicional Diseño con VHDL


Se combina lo que queremos y como Se describe solamente lo que
conseguirlo. queremos.
No hay una clara separación entre La entidad y arquitectura separa la
interfaz e implementación. interfaz de la implementación.

 Mayor organización y claridad en la creación


 Se facilita la comprensión (relativo al tamaño del Código)
 Facilidad de modificación (Contador 32 bits)

Ingeniería Electrónica / Electrónica y Automatización 9


Lenguajes de descripción de hardware

Lenguajes utilizados en la síntesis lógica se


denominan HDL = Hardware Description
Language.

 Existen dos HDLs extendidos: VHDL y Verilog


 VHDL = VHSIC HDL
 VHSIC = Very High Speed Integrated Circuit

Ingeniería Electrónica / Electrónica y Automatización 10


VHDL

HDL utilizado para describir un sistema digital a


cualquier nivel de abstracción.

1. Simulación
2. Implementación o síntesis

Ingeniería Electrónica / Electrónica y Automatización 11


VHDL - Simulación

Verificación de la funcionalidad del circuito,


observación de los nodos internos del circuito y
control total sobre las entradas y salidas.

 Simulación rápida
 Inserción de retardos a voluntad
 Repetibilidad de los tests
 Acceso a ficheros, memoria dinámica, estructura de
datos complejas, etc (como un lenguaje de
programación)

Ingeniería Electrónica / Electrónica y Automatización 12


VHDL - Síntesis

Se obtiene de forma automática el conjunto de


compuertas lógicas, elementos de memoria e
interconexiones del circuito.

 Se crean diseños electrónicos a partir del código


desarrollado
 Los retardos del circuito dependen de los elementos de
hardware resultantes de la síntesis y no del Código VHDL
 No hay un procesador que ejecute el código VHDL, ni
sistema operativo, ficheros, disco duro, etc.

Ingeniería Electrónica / Electrónica y Automatización 13


Actividad 1.1

• Según el artículo adjunto, en los últimos 30 años, ¿en qué factor ha


cambiado su capacidad, velocidad, costo y consumo energético?

• ¿Qué eras (ages) de la FPGA se establecen en el artículo?

• A que se hace referencia con el término non-recurring engineering


(NRE) charge, (costo no recurrente) y ¿Por qué este factor era una
desventaja de las FPGA durante su inicio?

• ¿Cuáles son las ventajas y desventajas de un bloque LUT, a lo largo


de la evolución de las FPGA?

• ¿Cuáles son las aplicaciones que se visualizan para la era actual


(current age) mencionada en el artículo?

Ingeniería Electrónica / Electrónica y Automatización 14


Dispositivos Lógicos Programables (PLDs)

 PLD
 SPLD (simplex programmable logic device)
 PLA (Programmable Logic Array)
 PAL (Programmable Array Logic)
 GAL (Generic Array Logic)
 CPLD (Complex Programmable Logic Device)
 FPGA (Field Programmable Gate Array)

 ASIC (Application-Specific Integrated circuit )


 MPGA (Mask-programmed gate array)

Ingeniería Electrónica / Electrónica y Automatización 15


PLDs Beneficios

 Se reduce el time-to-market y el riesgo


económico producto de un error en el diseño
 Se puede diseñar sin tener el dispositivo real
 Se puede reprogramar o reconfigurar in-the-
field

Ingeniería Electrónica / Electrónica y Automatización 16


Arquitectura de un FPGA

Architectura general de una FPGA Cyclone IV [1]


Ingeniería Electrónica / Electrónica y Automatización 17
Arquitectura de un FPGA (2)

Arquitectura parcial en bloque detallando los diferentes bloques de interconexión y lógica (


Logic Array Block, LAB= agrupación de LEs)[2]
Ingeniería Electrónica / Electrónica y Automatización 18
Arquitectura de un FPGA (3)

Elemento lógico (logic element


LE)de un dispositivo FPGA
Cyclone III [2]

Ingeniería Electrónica / Electrónica y Automatización 19


Arquitectura de un FPGA (3)

Modelo de LUT [3]


Ingeniería Electrónica / Electrónica y Automatización 20
Descripción FPGA

Incluyen más que compuertas lógicas y biestables (PLDs).

 Bloques de memoria
 Procesadores de propósito general
 Bloques especializados para DSP
 Multiplicadores especializados
 Unidades de gestión de reloj
 Tranceivers de alta

Ingeniería Electrónica / Electrónica y Automatización 21


Memoria de una FPGA

Al finalizar la síntesis se genera un bitstream para


personalizar la FPGA.

 Dispositivos basados en ROM ( la mayoría de las PLDs)


 ROM interna
 Dispositivos basados en RAM (la mayoría de las FPGA)
 La FPGA requiere una ROM externa con la información del
programa
 Al inicializar la FPGA descarga la configuración de la ROM
externa en su memoria RAM interna
 Hasta no terminar la inicialización, la FPGA no es funcional.

Ingeniería Electrónica / Electrónica y Automatización 22


Aplicación de una FPGA

 Sistemas embebidos
 Sistemas de procesamiento digital de señales
 Comunicaciones de alta velocidad
 Prototipado rápido para sistemas finales en ASIC
 Sistemas digitales de prueba
 Reducción de la lisa de materiales
 Sistemas más compactos
 Sistemas reconfigurables
 Cientos o miles de elementos trabajando en paralelo

Ingeniería Electrónica / Electrónica y Automatización 23


Fabricantes de FPGAs

Principales marcas en este mercado


 Xilinx: Spartan, Artix, Kintex, Virtex
 Altera, ahora parte de Intel
 Cyclocle (I a VII), Arria, Stratix
 Otros fabricantes
 Atmel ahora parte de Microchip (AT40K10)
 Actel ahora Micromemi parte de Microchip
 Lattice (iCE40)

Ingeniería Electrónica / Electrónica y Automatización 24


Algunos ejemplos de aplicación de FPGAs

Ingeniería Electrónica / Electrónica y Automatización 25


Algunos ejemplos de aplicación de FPGAs

Ingeniería Electrónica / Electrónica y Automatización 26


Bibliografía

1. Datasheet Cyclone IV. Disponible en:


https://www.element14.com/community/docs/DOC-46665/l/altera-cyclone-iv-
fpga-architecture-overview
2. Datasheet Cyclone III Altera. Disponible
en:https://www.altera.com/en_US/pdfs/literature/hb/cyc3/cyclone3_handbook.
pdf

3. Bezerra, Eduardo Augusto, and Djones Vinicius Lettnin. Synthesizable VHDL


design for FPGAs. Switzerland: Springer International Publishing, 2014.

Ingeniería Electrónica / Electrónica y Automatización 27

También podría gustarte