Introducción a las FPGA



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

Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech

CAPITULO 5. DISPOSITIVOS DE LOGICA RECONFIGURABLE

FPGA (CAMPO DE MATRIZ DE PUERTAS PROGRAMABLES).

INTRODUCCIÓN AL DISEÑO FPGA-DSP. Cristian Sisterna, MSc UNSJ-C7T

FPGA: Herramientas de diseño

Laboratorio de Dispositivos Integrados Especializados / Diseño de Circuitos y Sistemas Electrónicos

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

Introducción a FPGAs. Contenido

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

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

Laboratorio de Diseño de Sistemas Digitales

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

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

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

DATOS DE IDENTIFICACIÓN DEL CURSO DEPARTAMENTO:

1.- DATOS DE LA ASIGNATURA. Diseño Digital Avanzado con FPGAs. Nombre de la asignatura: Carrera: Ingeniería Electrónica. Clave de la asignatura:

Diseño de Hardware con VHDL

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

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

INSTITUTO DE ELECTRÓNICA Y COMPUTACIÓN

Laboratorio 4: Uso de una FPGA

Encuesta sobre utilización de la microelectrónica en la Argentina

DISPOSITIVOS DE LÓGICA PROGRAMABLES EN CAMPO (FPGA)

GUÍA DOCENTE. Sistemas Integrados

SINTESIS Y DESCRIPCIÓN DE CIRCUITOS DIGITALES UTILIZANDO VHDL ANTECEDENTES

PRÁCTICA DE SÍNTESIS

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

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA COORDINACIÓN DE FORMACIÓN BÁSICA COORDINACIÓN DE FORMACIÓN PROFESIONAL Y VINCULACIÓN UNIVERSITARIA

Uso de DCMs y simulación con tiempos

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

Doctorado en Ingeniería Facultades de Cs. Agropecuarias; Cs. de la Alimentación e Ingeniería

Manual de referencia de la tarjeta BASYS 2

CREAR PROYECTO EN ISE v9.2 DE XILINX

3.1 Introducción a VHDL

4. SUMADORES EN BINARIO PURO (I)

PRÁCTICA: LENGUAJE VHDL

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

LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO

Circuito de refresco de un Display

Introducción a VHDL. Por: Carlos A. Fajardo

Curso de diseño de FPGA Xilinx Spartan-6 en VHDL

VHDL. Carlos Andrés Luna Vázquez. Lección 5. Sentencias concurrentes

Instrumentación Electrónica con MicroprocesadorII: Procesadores Avanzados

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

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

ESTUDIO SOBRE LA IMPLEMENTACIÓN DE REDES NEURONALES ARTIFICIALES USANDO XILINX SYSTEM GENERATOR

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

Arquitectura de Computadores. Práctica 1: Diseño Hardware de Procesadores. Práctica 1/1

placas de prototipado (i) Material docente en los laboratorios de la Facultad de Informática Diseño Automático de Sistemas

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

PLATAFORMA DE DISEÑO QUARTUS

HOY en día, los arreglos de compuertas

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

Tecnología de fabricación en VLSI

Sistemas Digitales Trabajo Práctico 2. Voltímetro digital con salida VGA

Metodologías de diseño de hardware

Hardware Libre: Clasificación y desarrollo de hardware reconfigurable en entornos GNU/Linux

TEMA 1 FUNDAMENTOS DEL DISEÑO DEL HARDWARE DIGITAL

Alternativas de implementación: Estilos

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

Tipos de Dispositivos Controladores

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

Planificaciones Sistemas Digitales. Docente responsable: ALVAREZ NICOLAS. 1 de 5

La Unidad Procesadora.

Introducción a VHDL. Por: Carlos A. Fajardo UIS - Sistemas Digitales

Por el rápido crecimiento de Internet la tecnología se ha tenido que adaptar para cubrir las

Lab 5: Contador decimal en System Generator

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

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

Sistemas Embebidos 1º Cuatrimestre de 2015

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. Introducción. Fabricantes. Elevada complejidad. Facilitar tareas de diseño

Metodología de diseño en FPGA usando Xilinx System Generator

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

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Umbral Científico ISSN: Universidad Manuela Beltrán Colombia

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

Tutorial de Xilinx ISE

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

Implementación en FPGA de Máquinas de Estados con VHDL

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.

Laboratorio 4. Objetivos

Proyecto de Diseño 2

Laboratorio virtual para la programación de FPGAs

INTRODUCCIÓN. Definiciones ORDENADOR (RAE 1992): En esta asignatura computador y ordenador tiene el mismo significado

Field Programmable Gate Array

Desarrollo de sistemas embebidos en FPGAs. Diseño e incorporación de periféricos

Uso del simulador Modelsim

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

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA ELECTRÓNICA

Simulación avanzada con TestBench en HDL. Ing. Andrés Miguel Airabella. Ing. Facundo Aguilera.

Introducción a Verilog y XILINX

Tutorial de Xilinx ISE Texto original de Eduardo Magdaleno Castelló y Manuel Rodríguez Valido Universidad de La Laguna

Arquitectura Básica para Controladores de Lógica Difusa a Programarse en FPGAs

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

DISEÑO, IMPLEMENTACIÓN Y VERIFICACIÓN DE UN SISTEMA DE HARDWARE RECONFIGURABLE PARA APLICACIONES DE CONTROL.

INSTITUTO DE ELECTRÓNICA Y COMPUTACIÓN

Formato para prácticas de laboratorio

Transcripción:

Introducción a las FPGA Introducción a la Microfabricación y las FPGA Instituto Balseiro 12 de Agosto 2013

Hoy veremos... Menú del Día Qué es una FPGA. Para qué se usan. Arquitecturas. Flujo de diseño. Introducción a VHDL. El Hola Mundo! del VHDL. ISE/ISim, y la primera vez que prendemos un led!!! IMF (IB) Introducción a las FPGA 12 de Agosto 2013 2 / 33

FPGA: qué, porqué y para qué? Qué es una FPGA? Circuitos Integrados que contienen bloques configurables de lógica junto con conexiones configurables entre esos bloques. Los FPGA se programan in the field, o sea, no los programa el fabricante, sino que lo puede programar el desarrollador en el campo. IMF (IB) Introducción a las FPGA 12 de Agosto 2013 3 / 33

FPGA: qué, porqué y para qué? De dónde vienen? IMF (IB) Introducción a las FPGA 12 de Agosto 2013 4 / 33

FPGA: qué, porqué y para qué? Porqué son de interés? Para SE que requieren procesamiento de datos masivo que no puede resolverse con procesadores. ASICs o FPGAs. Hoy en día las FPGAs tienen millones de gates y se pueden utilizar para implementar funciones extremadamente complejas que antes sólo se podían lograr con ASICs. Costo de diseño menor. Mas facil de cambiar. Menor time-to-market. Permiten pequeñas empresas que testeen sus ideas/diseños con inversion inicial mucho menor. Verificación. IMF (IB) Introducción a las FPGA 12 de Agosto 2013 5 / 33

FPGA: qué, porqué y para qué? Para qué se usan? 1980 - Glue logic. 1990 - Prototipado, verificación. 2000 - Cada vez mas complejas y con menor costo empiezan a meterse en productos finales. ASIC DSP Embedded microcontrollers. Capa física de comunicación (routers). Computacion Reconfigurable. Industria de 4 billones de dólares: Hoy, el 35 % de los ingenieros de SE usan FPGAs en sus diseños (2012 Embedded Market Survey) IMF (IB) Introducción a las FPGA 12 de Agosto 2013 6 / 33

Arquitectura Básica Arquitectura Bloques Lógicos Matriz de ruteo & Señales globales Bloques I/O Recursos de Reloj Memoria embebida Bloques multiplicadores, sumadores, DSP Caractaerísticas Avanzadas: procesadores hard embebidos, etc. IMF (IB) Introducción a las FPGA 12 de Agosto 2013 7 / 33

Arquitectura Básica Bloques Lógicos IMF (IB) Introducción a las FPGA 12 de Agosto 2013 8 / 33

Arquitectura Básica Matriz de ruteo & Señales globales Canales de ruteo Horizontales/Verticales y switches programables. Carry-chain. Global low-skew routing. IMF (IB) Introducción a las FPGA 12 de Agosto 2013 9 / 33

Arquitectura Básica Bloques de I/O Dirección (I,O,bi) Data Rate (SDR, DDR, SERDES) Standard (single-ended, differential, referenced,etc). Voltaje (1.2 V to 3.3 V for single-ended standards) IMF (IB) Introducción a las FPGA 12 de Agosto 2013 10 / 33

Arquitectura Básica Clock Resources Árbol de Clock Digital Clock Manager IMF (IB) Introducción a las FPGA 12 de Agosto 2013 11 / 33

Arquitectura Básica Memoria Embebida (Block RAM) Dentro y/o alrededor de la lógica. Cada BRAM se puede usar de manera independiente o combinada para implementar bloques mas grandes. Se pueden usar para implementar single y dual-port BRAMs, FIFOs, FSMs, etc. IMF (IB) Introducción a las FPGA 12 de Agosto 2013 12 / 33

Arquitectura Básica Bloques DSP Multiplicación, Sumador, MACC. En general cerca de las BRAMs. IMF (IB) Introducción a las FPGA 12 de Agosto 2013 13 / 33

Arquitectura Básica Características Avanzadas Características particulares: controladores de memoria externa. I/O de alta velocidad con controladores para protocolos avanzados. Procesadores hard embebidos. IMF (IB) Introducción a las FPGA 12 de Agosto 2013 14 / 33

Arquitectura Básica La figura completa IMF (IB) Introducción a las FPGA 12 de Agosto 2013 15 / 33

Arquitectura Básica La Spartan-6 de la placa Nexsys3 IMF (IB) Introducción a las FPGA 12 de Agosto 2013 16 / 33

Flujos de Diseño para FPGA Basado en esquemático IMF (IB) Introducción a las FPGA 12 de Agosto 2013 17 / 33

Flujos de Diseño para FPGA HDL Visualizar, capturar, debuggear, entender y mantener un diseño a nivel de compuertas lógicas se torna imposible pasado cierta complejidad Fines de 1980. Lenguajes de Descripción de Hardware: primeros orientados a gate level, luego simulación. Clave: herramientas cada vez mas poderosas de síntesis lógica, mapeo, etc. IMF (IB) Introducción a las FPGA 12 de Agosto 2013 18 / 33

Flujos de Diseño para FPGA Niveles de abstracción IMF (IB) Introducción a las FPGA 12 de Agosto 2013 19 / 33

Flujos de Diseño para FPGA Implementación: HDL Capture Basado en HDL [need changes for correct behaviour] General: Synthesis Constraints affect Logic Synthesis HDL code + Testbench Behavioral Simulation [no changes needed] Gate Level Architecture Analysis & Timing simulation [ need changes in gate-level design/ timing ] [no changes needed] Physical Implementation Translate [need changes for timing closure] I/O, Timing and Area Constraints affect Map [constraints NOT met] Post PAR Timing Simulation and Analysis Place & Route Generate Bitsream /Program Device [no changes needed] IMF (IB) Introducción a las FPGA 12 de Agosto 2013 20 / 33

Hola Mundo! Igualdad de 1 bit Igualdad de 1 bit input output i0 i1 eq 0 0 1 0 1 0 1 0 0 1 1 1 Expresado utilizando sólo compuertas lógicas básicas (and, not, or, xor). Usamos suma de productos: eq = i0.i1 + i0.i1 IMF (IB) Introducción a las FPGA 12 de Agosto 2013 21 / 33

Hola Mundo! Igualdad de 1 bit Primer código VHDL es case insensitive. indica comentarios. IMF (IB) Introducción a las FPGA 12 de Agosto 2013 22 / 33

Hola Mundo! Igualdad de 1 bit Library y package Nos permiten agregar tipos, operadores, funciones, etc. VHDL es fuertemente tipado. Tiene muchos tipos, pero los sintetizables no son tantos! IMF (IB) Introducción a las FPGA 12 de Agosto 2013 23 / 33

Hola Mundo! Igualdad de 1 bit Entity Declaración de las señales I/O del circuito: in, out, inout. std logic. Sintetizables 0, 1, Z, Simulación U, X. std logic vector. Operaciones lógicas. IMF (IB) Introducción a las FPGA 12 de Agosto 2013 24 / 33

Hola Mundo! Igualdad de 1 bit Arquitectura Define la operación del circuito. Puedo tener más de una arquitectura por entidad. Sección de declaración (signal, constant, etc) Descripción principal: tres sentencias concurrentes IMF (IB) Introducción a las FPGA 12 de Agosto 2013 25 / 33

Hola Mundo! Igualdad de 1 bit Representación gráfica IMF (IB) Introducción a las FPGA 12 de Agosto 2013 26 / 33

Hola Mundo! Igualdad de 2 bits Igualdad de 2 bits input output a0 a1 b0 b1 eqab 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 IMF (IB) Introducción a las FPGA 12 de Agosto 2013 27 / 33

Hola Mundo! Igualdad de 2 bits Descripción estructural: Instanciación IMF (IB) Introducción a las FPGA 12 de Agosto 2013 28 / 33

Hola Mundo! Igualdad de 2 bits Descripción gráfica IMF (IB) Introducción a las FPGA 12 de Agosto 2013 29 / 33

Hola Mundo! Igualdad de 2 bits Descripción estructural VHDL 87 IMF (IB) Introducción a las FPGA 12 de Agosto 2013 30 / 33

Hola Mundo! Igualdad de 2 bits Testbench IMF (IB) Introducción a las FPGA 12 de Agosto 2013 31 / 33

A programar! Manos a la obra...eso... IMF (IB) Introducción a las FPGA 12 de Agosto 2013 32 / 33

Hoy vimos Hoy vimos Introducción a FPGA: qué son, para qué se usan, arquitecturas, cómo se programan. Introducción a VHDL. VHDL para síntesis: nuestro primer programa a nivel de Gates. VHDL para simulación: nuestro primer testbench. Herramientas: ISE: Crear proyecto, fuente, ucf (user constraint file) y todo el proceso de síntesis hasta generar el archivo de programa (bitstream). Reportes. ISim: Usando el ISE, crear un testbench y simularlo con el ISE Simulator (ISim). Impact: Configurar la FPGA. IMF (IB) Introducción a las FPGA 12 de Agosto 2013 33 / 33

Bibliografía Bibliografía Diseño Pong. P. Chu FPGA Prototyping by VHDL examples a.k.a El libro del chino Diseño: Wayne Wolf FPGA-Based Design Diseño: Cofer y Harding Rapid System Prototyping with FPGAs Desarrollo histórico, overview de lo que anda dando vueltas ( muy bueno!): Clive Maxfield The Design Warrior s Guide to FPGAs Manual de Referencia VHDL: Ashenden The Dessigner s Guide to VHDL Survey: EETimes y Embedded.com: 2012 Embedded Market Survey Manuales de Referencia de la placa de desarrollo (Digilent) y de la FPGA (Xilinx). IMF (IB) Introducción a las FPGA 12 de Agosto 2013 34 / 33