dispositivos lógicos programables...

46
Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech www.emtech.com.ar

Upload: truongkhanh

Post on 21-Oct-2018

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Dispositivos Lógicos Programables (FPGAs)

Guillermo GüichalEmtech

www.emtech.com.ar

Page 2: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Introducción Circuitos Digitales FPGAs Flujo y Herramientas de Diseño Diseño para Síntesis Simulación Ejemplos

Temario

Page 3: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Introducción

Sistemas electrónicos digitales Representación de datos mediante dos niveles de señal

(tensión, corriente, carga,...) La tecnología esconde los efectos “analógicos” del circuito Permiten aplicar técnicas de análisis y diseño especiales

Page 4: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Introducción

Análisis: comprender la función que cumple un circuito. La tarea de analizar el comportamiento de un circuito y describirlo de manera formal.

Síntesis: proceso inverso al análisis. Pasar de una descripción abstracta a un circuito funcional

Diseño: diferente significado para distintas personas. La creación del modelo formal que puede usarse para sintetizar un circuito (diagramas, formas de onda, tablas, etc.).

Page 5: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Circuitos Digitales

Elementos básicos Integración media Micros Circuitos integrados

Page 6: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Circuitos digitales

Elementos básicos combinacionales Inversor y compuertas

Page 7: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Circuitos digitales

Elementos básicos secuenciales

Page 8: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Circuitos digitales

Circuitos de integración mediaInterconexión de varios elementos básicos para formar funciones mas complejas

Combinacionales: multiplexor, demux, codificadores, decos, sumadores, etc.

Secuenciales: registros de desplazamiento, contadores, etc. (incluyen elementos secuenciales y comb.)

Page 9: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Circuitos digitales

MemoriasPermiten almacenar datos digitales y leerlos después.

PROM: Se escribe una sola vez (no hay que cometer errores)

SRAM: Multiples escrituras, pero es volátil. Se pierden los datos si se quita la alimentación

Flash: Pueden reprogramarse y retienen los datos sin alimentación.

Page 10: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Circuitos digitales

Circuitos integrados: En la actualidad la mayoría son de tecnología CMOS. Transistores usados para implementar lógica Capas de metal permiten crear interconexiones

INVERSOR ESTRUCTURA FÍSICA COMPUERTA NAND

Page 11: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Circuitos digitales

Circuitos integrados standard cell Se utilizan “librerías” de componentes llamadas

primitivas para crear los circuitos. Celdas colocadas en una estructura regular. Interconexiones por capas de metal

FLIP-FLOP D NAND

Page 12: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Circuitos digitales

Microcontroladores/procesadores Lógica digital que permite ir ejecutar

instrucciones de memoria una tras otra Elementos específicos para ciertas funciones

Page 13: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Circuitos digitales

ResumenPara implementar circuitos digitales:

Lógica combinacional Elementos secuenciales Interconexiones

Para automatizar la implementación: Estructura regular Librerías de primitivas

Mayor flexibilidad y potencia: Funciones especiales Memoria

Page 14: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Reseña histórica Elementos lógicos Interconexiones Optimizaciones funcionales Elementos dedicados Microprocesadores hard y softcore

Page 15: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Evolución de lógica digital configurable PLA (Programmable Logic Array) PAL (Programmable Array Logic) GAL (Gate Array Logic) CPLD (Complex Programmable Logic Device)

Entra

da1

Entra

da2

Entra

da3

Salida1 Salida2

Conexiones programables

Entra

da1

Entra

da2

Entra

da3

Salida1 Salida2

Conexiones programables

en la logica AND

Salida3

Logica AND

FF FF FF

Page 16: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Elemento lógico combinacional básico Ejemplo: Memoria usada como tabla de

entrada-salida o Look-Up Table (LUT)

LUT

Entradas

Salida

Tablaconfigurable(memoria condatos pre-definidosen operación)

Page 17: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Elemento lógico secuencial Ejemplo: Flip flops o latch con set-reset-

enable configurable

POSIBLE ELEMENTO CONFIGURABLE FLASH SWITCH DE ACTEL PROASIC3

Page 18: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Celda lógica de Actel ProAsic3 (Versatile)

Page 19: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Celda lógica de Xilinx Spartan3 (CLB)

Cada CLB tiene 4 slices

Page 20: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Distribución de celdas Actel ProAsic3

Page 21: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Distribución de celdas Xilinx Spartan3

Page 22: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Interconexiones Mediante llaves

pueden conectarse diferentes señales entre sí.

Las conexiones sonjerárquicas para darmas flexibilidad yvelocidad

Page 23: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Interconexiones Xilinx Spartan3

Page 24: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Optimizaciones

Conexiones especiales para operaciones aritméticas (acarreo rápido)

Recursos de interconexión jerárquicos Bloques de entrada-salida especiales Red de distribución de reloj especial Opciones para bajo consumo

Page 25: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Bloque de entrada salida

Distribución de reloj

Page 26: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Control de reloj

Memorias

Bloques DSP

Page 27: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

FPGAs

Hardcore PPC

Softcore ARM

Page 28: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Flujo y Herramientas

de Diseño

Flujo de Diseño General Defincición del circuito Simulación y Verificación Síntesis y Place & Route

Page 29: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Herramientas

Flujo de diseño Descripción

del diseño Simulación

ó Síntesis

Page 30: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Diseño

Uso de diagramas esquemáticos (Libero) Primitivas o nuevos elementos

Page 31: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Diseño

Descripción mediante lenguajes de descripción de hardware (VHDL - Verilog)

Page 32: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Diseño

Uso de diagramas esquemáticos (HDL Designer)

Page 33: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Diseño

Representación de máquinas de estado

Logica de Proximo Estado

Alm

acen

amie

nto

(Reg

istro

s)

Entra

das Logica

de Salida S

alid

as

Estado Actual

EstadoSiguiente

Reloj

Alm

acen

amie

nto

(Reg

istro

s)

Representacion grafica del comportamiento del bloque EjemploFSM

InicialSalida = “٠٠١”

Estado١Salida = “٠١٠”

Estado٢Salida = “٠١١”

Estado٣Salida = “١٠٠”

Estado٤Salida = “١١١”

Entrada١’=١'Entrada٠’=٢'

Entrada١’=١'Entrada١’=٢'

Entrada٠’=١'Entrada٢=’x'

Entrada١’=١'Entrada٢=’x'

Entrada٠’=١'Entrada٢=’x'

Entrada١=’x'Entrada٠’=٢'

Entrada١=’x'Entrada١’=٢'

Entrada١=’x'Entrada٢=’x

Entrada١=’x'Entrada٢=’x

Page 34: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Diseño

Representación de máquinas de estado(HDL Designer de Mentor Graphics)

Page 35: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Herramientas

Todo (diagramas, esquemáticos, etc) se traduce a un HDL La descripción a

nivel RTL es la entrada parala síntesis y simulación

Page 36: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Simulación

Se deben crear bancos de prueba para poder estimular las entradas al diseño (DUT) Vectores de test

En el banco de prueba (testbench) se permite usar HDL no-sintetizable

El código fuente (HDL se compila para poder ejecutarlo sobre la plataforma de simulación)

Page 37: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Simulación

Banco de prueba: permite simular las entradas reales al sistema, el hardware accesorio y en algunos casos monitorea las salidas

Page 38: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Simulación

Simplifica el proceso de puesta en marcha Visualización de formas de onda para debug

Page 39: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Simulación

Page 40: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Implementación

Page 41: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Síntesis

Transforma la descripción en el circuito real a implementar Esquema de

interconexión de primitivas

Estimación de retardos inicial

Page 42: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Place and Route

Coloca cada primitiva en un lugar de la FPGA y la interconecta Esquema físico

de implementacióny conexionado

Estimación de retardos incluyendointerconexiones

Page 43: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Place and Route

Resultado de colocar y conectar cada componente

Page 44: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Configuración

Depende de la FPGA y la tecnología Puerto JTAG permite acceder a diferentes

dispositivos y configurarlos

Page 45: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Muchas Gracias!

Page 46: Dispositivos Lógicos Programables (FPGAs)laboratorios.fi.uba.ar/lse/sase/2010/slides/SASE-2010_-FPGA... · Circuitos digitales Circuitos integrados standard cell Se utilizan “librerías”

Contacto

Guillermo Güichal EmTech [email protected] www.emtech.com.ar

También: www.fpga.com.ar [email protected]