introducción a los dispositivos lógicos programables · pdf filede un circuito y...
TRANSCRIPT
![Page 1: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/1.jpg)
Introducción a los Dispositivos Lógicos
Programables (FPGAs)
Guillermo Güichalwww.emtech.com.ar
![Page 2: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/2.jpg)
Introducción Circuitos Digitales FPGAs Flujo y Herramientas de Diseño Diseño para Síntesis Simulación Ejemplos
Temario
![Page 3: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/3.jpg)
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: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/4.jpg)
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: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/5.jpg)
Circuitos Digitales
Elementos básicos Integración media Micros Circuitos integrados
![Page 6: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/6.jpg)
Circuitos digitales
Elementos básicos combinacionales Inversor y compuertas
![Page 7: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/7.jpg)
Circuitos digitales
Elementos básicos secuenciales
![Page 8: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/8.jpg)
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: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/9.jpg)
Circuitos digitales
Diseño SincrónicoEl problema de diseño se simplifica mucho si se usa un reloj que “marca el ritmo” de todo el circuito.
Reloj se distribuye a todos los Flip-Flops del circuito
Frecuencia dada por retardos de propagación de la lógica
IMAGINAR UNA CADENA EN LA QUE PASAMOS ELEMENTOS SIN MARCAR EL RITMO O CON RITMO
![Page 10: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/10.jpg)
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 11: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/11.jpg)
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 12: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/12.jpg)
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 13: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/13.jpg)
Circuitos digitales
Microcontroladores/procesadores Lógica digital que permite ejecutar
instrucciones de memoria una tras otra Elementos específicos para ciertas funciones
![Page 14: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/14.jpg)
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 15: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/15.jpg)
FPGAs Reseña histórica Elementos lógicos Interconexiones Optimizaciones funcionales Elementos dedicados Microprocesadores hard y softcore
![Page 16: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/16.jpg)
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)
![Page 17: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/17.jpg)
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 18: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/18.jpg)
FPGAs
Elemento lógico secuencial Ejemplo: Flip flops o latch con set-reset-
enable configurable
POSIBLE ELEMENTO CONFIGURABLE FLASH SWITCH DE ACTEL PROASIC3
![Page 19: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/19.jpg)
FPGAs
Celda lógica de Actel ProAsic3 (Versatile)
![Page 20: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/20.jpg)
FPGAs
Celda lógica de Xilinx Spartan3 (CLB)
Cada CLB tiene 4 slices
![Page 21: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/21.jpg)
FPGAs
Distribución de celdas Actel ProAsic3
![Page 22: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/22.jpg)
FPGAs
Distribución de celdas Xilinx Spartan3
![Page 23: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/23.jpg)
FPGAs
Interconexiones Mediante llaves
pueden conectarse diferentes señales entre sí.
Las conexiones sonjerárquicas para darmas flexibilidad yvelocidad
![Page 24: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/24.jpg)
FPGAs
Interconexiones Xilinx Spartan3
![Page 25: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/25.jpg)
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 26: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/26.jpg)
FPGAs
Bloque de entrada salida
Distribución de reloj
![Page 27: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/27.jpg)
FPGAs
Control de reloj
Memorias
Bloques DSP
![Page 28: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/28.jpg)
FPGAs
Hardcore PPC
Softcore ARM
![Page 29: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/29.jpg)
Flujo y Herramientas de Diseño
Flujo de Diseño General Definición del circuito Simulación y Verificación Síntesis y Place & Route
![Page 30: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/30.jpg)
Herramientas
Flujo de diseño Descripción
del diseño Simulación
ó Síntesis
![Page 31: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/31.jpg)
Diseño
Uso de diagramas esquemáticos (Libero) Primitivas o nuevos elementos
![Page 32: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/32.jpg)
Diseño
Descripción mediante lenguajes de descripción de hardware (VHDL - Verilog)
![Page 33: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/33.jpg)
Diseño
Uso de diagramas esquemáticos (HDL Designer)
![Page 34: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/34.jpg)
Diseño
Representación de máquinas de estado
![Page 35: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/35.jpg)
Diseño
Representación de máquinas de estado(HDL Designer de Mentor Graphics)
![Page 36: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/36.jpg)
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 37: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/37.jpg)
Simulación
Se deben crear bancos de prueba para poder estimular las entradas al diseño (DUT)
Vectores de testEn el banco de prueba (testbench) se permite
usar HDL no-sintetizableEl código fuente (HDL se compila para poder
ejecutarlo sobre la plataforma de simulación)
![Page 38: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/38.jpg)
Simulación
Banco de prueba: permite simular las entradas reales al sistema, el hardware accesorio y en algunos casos monitorea las salidas
![Page 39: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/39.jpg)
Simulación
Simplifica el proceso de puesta en marcha Visualización de formas de onda para debug
![Page 40: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/40.jpg)
Simulación
![Page 41: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/41.jpg)
Implementación
![Page 42: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/42.jpg)
Síntesis
Transforma la descripción en el circuito real a implementar Esquema de
interconexión de primitivas
Estimación de retardos inicial
![Page 43: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/43.jpg)
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 44: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/44.jpg)
Place and Route
Resultado de colocar y conectar cada componente
![Page 45: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/45.jpg)
Configuración
Depende de la FPGA y la tecnología Puerto JTAG permite acceder a diferentes
dispositivos y configurarlos
![Page 46: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/46.jpg)
Muchas Gracias!
![Page 47: Introducción a los Dispositivos Lógicos Programables · PDF filede un circuito y describirlo de manera formal. Síntesis: proceso inverso al análisis. Pasar de ... Depende de la](https://reader036.vdocuments.site/reader036/viewer/2022062600/5a7e788a7f8b9a4d628e7c61/html5/thumbnails/47.jpg)
Contacto
Guillermo Güichal EmTech [email protected] www.emtech.com.ar
También: www.fpga.com.ar [email protected]