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



Documentos relacionados
Introducción a los Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal

Introducción a los Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal

Introducción al Diseño Digital con FPGAs.

El tamaño, estructura, número de bloques y la cantidad y conectividad de las conexiones varian en las distintas arquitecturas.

CAPITULO 5. DISPOSITIVOS DE LOGICA RECONFIGURABLE

Introducción a FPGAs. Contenido

Laboratorio de Diseño de Sistemas Digitales

Técnicas de Programación Hardware: CAD para FPGAs y CPLDs

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO

CONTROL DIGITAL PARA CONVERTIDOR MULTINIVEL ALIMENTADO CON ENERGÍA SOLAR. Anexo A: FPGA. Introducción

LÓGICA PROGRAMABLE. Introducción Simple PLDs Complex PLDs FPGAs. Dpto. Ingeniería Electrónica y Comunicaciones

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006

Técnicas de Programación Hardware: CAD para FPGAs y CPLDs. Clase 1: Lógica Configurable

Laboratorio 4: Uso de una FPGA

PLATAFORMA DE DISEÑO QUARTUS

CURSO DISEÑO DE SISTEMAS DIGITALES MEDIANTE VHDL PARA SU IMPLEMENTACIÓN CON FPGAS. 40 horas (15 horas teoría + 25 horas práctica)

1.1. Tecnologías de diseño de circuitos integrados

Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN

DISPOSITIVOS DE LÓGICA PROGRAMABLES EN CAMPO (FPGA)

SINTESIS Y DESCRIPCIÓN DE CIRCUITOS DIGITALES UTILIZANDO VHDL ANTECEDENTES

TEMA VII: DISEÑO SECUENCIAL PROGRAMABLE

FPGA (CAMPO DE MATRIZ DE PUERTAS PROGRAMABLES).

BLOQUE 2. (PARTE 3: Tema 1) CONJUNTO CONFIGURABLE DE PUERTAS FPGA (Field Programmable Gate Array) Clasificación y descripción

Nombre de la asignatura: Clave de la asignatura: SIB Carrera:

Alternativas de implementación: Estilos

PROGRAMA DE ESTUDIO. Programas académicos en los que se imparte: Ingeniería Eléctrica-Electrónica 1. DESCRIPCIÓN Y CONCEPTUALIZACIÓN DE LA ASIGNATURA:

Lógica Estándar. Compuertas lógicas, flip flop, decodificadores, disponibles en chips SSI y MSI. No son una buena solución de diseños grandes.

Sistemas Embebidos 1º Cuatrimestre de 2015

Diseño de un sistema de adquisición de datos de un micrófono utilizando una FPGA

Breve Curso de VHDL. M. C. Felipe Santiago Espinosa. Profesor Investigador UTM

Objetivos. Instituto Tecnológico de Costa Rica Escuela de Ingeniería Electrónica I SEMESTRE Contenido del Curso EL FLUJO DE DISEÑO O DIGITAL

TEMA I INTRODUCCIÓN A LA MICROELECTRÓNICA

GAL22V entradas dedicadas. 10 pines E/S. Disponible encapsulado DIP (24 pines), PLCC (28 pines) o baja tensión (GAL22LV10).

Introducción a las FPGA

CAPÍTULO 3 MÓDULO DIGITAL PARA CONVERSIÓN DE VIDEO

Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali

La Unidad Procesadora.

Metodologías de diseño de hardware

Tipos de Dispositivos Controladores

Carrera: Participantes Representante de las academias de ingeniería en Mecatrónica de los Institutos Tecnológicos.

Figura 1.4. Elementos que integran a la Tecnología de Información.

Electrónica Digital Área de Ingeniería Mecatrónica Carrera/programa de Ingeniería Electrónica e Ingeniería Electromecánica

5. Metodologías de diseño de un ASIC

Introducción TEMA 1 TECNOLOGÍA DE LOS CI. ME Tema 1 Lección 1 Aspectos generales sobre diseño microelectrónico 1

FORMATO DE CONTENIDO DE CURSO

UNIDAD 5 Arquitectura FPGA

Tema 16 ELECTRÓNICA DIGITAL LENGUAJES DE DESCRIPCIÓN DE LOS SISTEMAS DIGITALES (PARTE 1)

DISEÑO DIGITAL MODERNO

Introducción a VHDL. Sistemas digitales UTM-2006 JJVS

Diseño de Hardware con VHDL

TEMA IV: SÍNTESIS HARDWARE

Universidad de Guanajuato FIMEE. Sistemas Digitales

HOY en día, los arreglos de compuertas

Circuito de refresco de un Display

PARTE I: Diseño lógico usando Xilinx ISE

Diseño de Sistemas Embebidos en FPGA Curso de Posgrado Facultad de Ciencias Exactas y Tecnología UNT.

Capítulo 1: Diseño Estructurado:

Electrónica Digital II. M. C. Felipe Santiago Espinosa

Aplicación de la reconfigurabilidad dinámica de la FPGA Virtex de Xilinx *.

CIRCUITOS SECUENCIALES

Electrónica Digital II. Arquitecturas de las Celdas Lógicas. Octubre de 2014

ESCUELA SUPERIOR POLITECNICA DEL LITORAL PROGRAMA DE ESTUDIOS. Electrónica TEORICA Profesional 2. OBJETIVOS

Proyecto de Diseño 2

INTRODUCCIÓN AL SOFTWARE ISE (Integrated Software Environment) DE XILINX

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN

ASIGNATURA: ELECTRÓNICA DIGITAL PROGRAMA ACADÉMICO: INGENIERIA EN MECATRÓNICA TIPO EDUCATIVO: INGENIERIA MODALIDAD: MIXTA

TECNICO SUPERIOR UNIVERSITARIO EN TECNOLOGIAS DE LA INFORMACION Y COMUNICACIÓN ÁREA REDES Y TELECOMUNICACIONES.

TARJETA DE DESARROLLO CPLD

PRÁCTICA 1. Introducción al Software Xilinx ISE versión 6.

VHDL. Lenguaje de descripción hardware Introducción e historia

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. LENGUAJES DE DESCRIPCIÓN DE HARDWARE

Diseño de DSP en FPGA con System Generator y MATLab. Jesús Barba Romero (30/05/2012)

Modelo de examen tipo resuelto 1

3.1 Introducción a VHDL

UNIVERSIDAD AUTONOMA DE QUERETARO

Diseño de Sistemas Embebidos en FPGA Curso de Posgrado Facultad de Ciencias Exactas y Tecnología UNT.

INSTITUTO DE ELECTRÓNICA Y COMPUTACIÓN

CAPITULO 7.- DISEÑO DE CIRCUITOS LOGICOS

Dispositivos Lógicos Programables

CARTA DESCRIPTIVA (FORMATO MODELO EDUCATIVO UACJ VISIÓN 2020)

Uso del simulador Modelsim

Universidad de Guanajuato FIMEE. Electrónica Digital II

MEMORIAS DE SEMICONDUCTORES

PROGRAMA DE CURSO Modelo 2009

PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL

TEMA 11. CIRCUITOS ARITMÉTICOS TICOS DIGITALES

UNIDAD 1. INTRODUCCIÓN A LOS DISPOSITIVOS LÓGICOS PROGRAMABLES (PLDs)

INDICE 1. Conceptos Introductorias 2. Sistemas Numéricos y Códigos 3. Compuertas Lógicas y Álgebras Booleana 4. Circuitos Lógicos Combinatorios

Implementación de DSP en FPGAs

GRADO EN INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA INDUSTRIAL

Dispositivos Lógicos Programables

Sistemas Electrónicos Digitales. Práctica 1 Multiplicador de 8 bits secuencial con desplazamiento hacia la derecha

UNIDAD 4: El procesador: Camino de los datos y Control.

VHDL. El arte de programar sistemas digitales. David G. Maxinez Jessica Alcalá Jara

ED - Electrónica Digital

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN

Curso Completo de Electrónica Digital

CONTEXTO DE LA MEMORIA EN UN SISTEMA DE CÓMPUTO M E M O R I A S

Transcripción:

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

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

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

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.).

Circuitos Digitales Elementos básicos Integración media Micros Circuitos integrados

Circuitos digitales Elementos básicos combinacionales Inversor y compuertas

Circuitos digitales Elementos básicos secuenciales

Circuitos digitales Circuitos de integración media Interconexió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.)

Circuitos digitales Memorias Permiten 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.

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

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

Circuitos digitales Microcontroladores/procesadores Lógica digital que permite ir ejecutar instrucciones de memoria una tras otra Elementos específicos para ciertas funciones

Circuitos digitales Resumen Para 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

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

FPGAs Evolución de lógica digital configurable Entrada3 Conexiones programables Entrada2 PLA (Programmable Logic Array) PAL (Programmable Array Logic) GAL (Gate Array Logic) CPLD (Complex Programmable Logic Device) Entrada1 Entrada3 Entrada2 Entrada1 Conexiones programables en la logica AND Logica AND FF Salida1 Salida2 Salida1 FF Salida 2 FF Salida3

FPGAs Elemento lógico combinacional básico Ejemplo: Memoria usada como tabla de entrada-salida o Look-Up Table (LUT) LUT Tabla configurable (memoria con datos pre-definidos en operación) Entradas Salida

FPGAs Elemento lógico secuencial Ejemplo: Flip flops o latch con set-resetenable configurable POSIBLE ELEMENTO CONFIGURABLE FLASH SWITCH DE ACTEL PROASIC3

FPGAs Celda lógica de Actel ProAsic3 (Versatile)

FPGAs Celda lógica de Xilinx Spartan3 (CLB) Cada CLB tiene 4 slices

FPGAs Distribución de celdas Actel ProAsic3

FPGAs Distribución de celdas Xilinx Spartan3

FPGAs Interconexiones Mediante llaves pueden conectarse diferentes señales entre sí. Las conexiones son jerárquicas para dar mas flexibilidad y velocidad

FPGAs Interconexiones Xilinx Spartan3

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

FPGAs Bloque de entrada salida Distribución de reloj

FPGAs Control de reloj Memorias Bloques DSP

FPGAs Hardcore PPC Softcore ARM

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

Herramientas Flujo de diseño Descripción del diseño Simulación ó Síntesis

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

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

Diseño Uso de diagramas esquemáticos (HDL Designer)

Diseño Representación de máquinas de estado Representacion grafica del comportamiento del bloque EjemploFSM Entrada١= ٠' Entrada٢= x' Inicial Salida = ٠٠١ Reloj Estado Actual Entrada١= x' Entrada٢= x Salidas Estado Siguiente Logica de Salida Almacenamiento (Registros) Logica de Proximo Estado Almacenamiento (Registros) En tra das Entrada١= ١' Entrada٢= x' Estado٤ Estado١ Entrada١= ٠' Entrada٢= x' Salida = ٠١٠ Salida = ١١١ Entrada١= x' Entrada٢= ٠' Entrada١= ١' Entrada٢= ١' Entrada١= x' Entrada٢= ١' Estado٣ Salida = ١٠٠ Estado٢ Entrada١= x' Entrada٢= x Salida = ٠١١ Entrada١= ١' Entrada٢= ٠'

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

Herramientas Todo (diagramas, esquemáticos, etc) se traduce a un HDL La descripción a nivel RTL es la entrada para la síntesis y simulación

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)

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

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

Simulación

Implementación

Síntesis Transforma la descripción en el circuito real a implementar Esquema de interconexión de primitivas Estimación de retardos inicial

Place and Route Coloca cada primitiva en un lugar de la FPGA y la interconecta Esquema físico de implementación y conexionado Estimación de retardos incluyendo interconexiones

Place and Route Resultado de colocar y conectar cada componente

Configuración Depende de la FPGA y la tecnología Puerto JTAG permite acceder a diferentes dispositivos y configurarlos

Muchas Gracias!

Contacto Guillermo Güichal EmTech info@emtech.com.ar www.emtech.com.ar También: www.fpga.com.ar info@fpga.com.ar