FPGA: Herramientas de diseño

Documentos relacionados
1. Módulo de desarrollo Spartan 3 STARTER KIT con un FPGA xc3s200 ft Software de diseño XILINX ISE versión 10.1

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

Código concurrente en VHDL [5]

CONTADORES. Definición. Diseño y analisis de un contador binario hacia arriba de 3 bits con flip-flops JK. Otros contadores típicos.

Electrónica Digital Departamento de Electrónica VHDL. Bioingeniería Facultad de Ingeniería - UNER

INGENIERÍA DE COMPUTADORES 3. Solución al Trabajo Práctico - Junio de 2013

Manual de referencia de la tarjeta BASYS 2

ALU (Unidad Aritmética Lógica). Objetivo General. Objetivo Específicos. Material y equipo. Tarea previa. Introducción teórica

UNIVERSIDAD DE SEVILLA Dpto. de Ingeniería Electrónica. Introducción a los lenguajes HDL y conceptos. Octubre de 2007

Diseño de Sistemas Electrónicos Digitales Avanzados

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 4

Práctica I Modelado y simulación de una máquina expendedora de refrescos

Sistemas Electrónicos Digitales Curso de adaptación al Grado

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

INGENIERÍA DE COMPUTADORES 3. Solución al examen de Junio 2013, Segunda Semana

INGENIERÍA DE COMPUTADORES 3. Solución al Trabajo Práctico - Septiembre de 2016

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 8

INGENIERÍA DE COMPUTADORES 3. Solución al examen de Junio 2017, Primera Semana

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

INGENIERÍA DE COMPUTADORES 3. Solución al examen de Septiembre 2016

INGENIERÍA DE COMPUTADORES III. Solución al examen de Septiembre 2013

Introducción a las FPGA

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

Uso de DCMs y simulación con tiempos

Sumador completo de un bit - Versión VHDL Sintético

Sistemas Digitales - Examen temas 1, 2 y 3 - (6 de Abril 2016)

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

Sistemas Digitales - Examen temas 1, 2 y 3 - (6 de Abril 2016)

INGENIERÍA DE COMPUTADORES 3. Solución al Trabajo Práctico - Junio de 2017

4. SUMADORES EN BINARIO PURO (I)

Simulación con un banco de pruebas VHDL - test bench.

Tutorial de VHDL: Contadores y Simulación

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 1

DISEÑO DE PROCESADORES DEDICADOS. Práctica 2 Síntesis Lógica Tarjeta Spartan II. Campo 1: Datos Personales.

MAQUINA DE ESTADO FINITO (FSM) Autómata finito

INGENIERÍA DE COMPUTADORES 3. Solución al examen de Junio 2015, Segunda Semana

PRÁCTICA: LENGUAJE VHDL

INTRODUCCIÓN AL LENGUAJE VHDL PARA CIRCUITOS

INTRODUCCIÓN A SISTEMAS EMBEBIDOS, VHDL, ISE (XILINX). Objetivo General. Objetivo Específicos. Material y equipo. Tarea previa. Introducción teórica

MAQUINA DE ESTADO FINITO (FSM) Autómata finito

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

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

INGENIERÍA DE COMPUTADORES III. Solución al examen de Septiembre 2014

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 3

Tutorial I Diseño de una máquina de refrescos utilizando el WebPack de XILINX TM

VHDL. Lenguaje de descripción hardware

DISEÑO DE SISTEMAS ELECTRÓNICOS DIGITALES AVANZADOS

DATOS DE IDENTIFICACIÓN DEL CURSO DEPARTAMENTO:

ICTP Latin-American Advanced Course on FPGADesign for Scientific Instrumentation. 19 November - 7 December, 2012

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 10

Sistemas Electrónicos Digitales. PRACTICA nº 7

DISEÑO DE PROCESADORES DEDICADOS. Práctica 6 LCD de Propósito General

PRUEBA DE ENTRADA E P3 P2

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 6

INGENIERÍA DE COMPUTADORES 3. Solución al examen de Junio 2014, Primera Semana

Sistemas Electrónicos Digitales. PRACTICA nº 3

INGENIERÍA DE COMPUTADORES 3. Solución al Trabajo Práctico - Junio de 2016

CODIFICADORES CON PRIORIDAD. Grupo 2

INGENIERÍA DE COMPUTADORES 3. Solución al Trabajo Práctico - Junio de 2014

Introducción a la simulación con ModelSim.

PARTE I. TÉCNICAS DE DISEÑO ELECTRÓNICO MEDIANTE LENGUAJES DE DESCRIPCIÓN HARDWARE

Practica No. 8 Introducción a las Máquinas de Estados. 1. En la figura 1 se muestra el comportamiento de un robot que evade obstáculos.

DISEÑO DE PROCESADORES DEDICADOS. Práctica. No. 8 Circuitos de Barrido y Escaneo: Teclado Matricial de Propósito General y Matriz de LEDs

Practica No. 5 Diseño de un Multiplicador

Campo 2: Objetivos. Síntesis lógica y programación de la tarjeta de desarrollo DIGILENT SPARTAN 3E-STARTER, XC3S500E.

Laboratorio 4: Uso de una FPGA

SECUENCIA: A BASE DE LOS 3 TIPOS DE F/F

INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA ELECTRÓNICA TRABAJO TUTORADO DE VHDL. Primer Cuatrimestre Curso 2005/2006.

Recursos y Metodologías. Función. Programas

CREAR PROYECTO EN ISE v9.2 DE XILINX

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) SEGUNDA CLASE DE VHDL

Practicas tuteladas VHDL (curso 04-05)

CONTADORES CONTADORES ASINCRONOS ASCENDENTE

Practica No. 5 Diseño de un Multiplicador

Diseño VHDL de módulos combinacionales básicos

Lenguaje de descripción de Hardware VHSIC

Tutorial 2: Pasar de diagrama ASM a un circuito

Introducción al VHDL. VHDL orientado a la síntesis de circuitos en Dispositivo Lógicos Programables

Prof. Dr.-Ing. F. Schubert VHDL

PRACTICA 6: CIRCUITOS ARITMETICOS: SUMADORES Y RESTADORES.

CIRCUITOS MULTIPLEXORES Y DEMULTIPLEXORES

Práctica III Introducción a la descripción VHDL del procesador DLX

MICROPROCESADOR (CÓDIGO EN VHDL) TOMADO DEL LIBRO PARDO Y BOLUDA

INFORME LABORATORIO No.1 Implementación de sistemas combinacionales en VHDL Diseño de una ALU. Nelson Antonio Becerra Carrillo

1.- Determina la funcionalidad del siguiente código VHDL. LIBRARY ieee; USE ieee.std_logic_1164.all;

4.7 Aplicaciones usando la tarjeta Spartan 3E

Estructura de VHDL. Sistemas Digitales Avanzados. Universidad Técnica Particular de Loja Prof: Diego Barragán Guerrero. Oct Feb.

VHDL. Lenguaje de descripción hardware Estructura Básica de diseño

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

5.1. Introducción a los sistemas digitales

DE INGENIERÍA TÉCNICA INDUSTRIAL. ESPECIALIDAD EN ELECTRÓNICA INDUSTRIAL

Tema 3 - Modelado con HDL a nivel RTL

VHDL. Very. High. speed integrated circuit Hardware. Description. Language. Digital II Ingeniería Electrónica. Rosa Corti

----*************************************************************************

Generador de Secuencia Binaria Pseudo Aleatoria

ELECTRÓNICA DIGITAL 24-I Determinar el valor decimal de los números expresados en Complemento a 2. (0.25 puntos).

Titulación: Ingeniería Informática Asignatura: Fundamentos de Computadores. Bloque 3: Sistemas secuenciales Tema 9: Módulos secuenciales básicos

PRACTICA 3. Lenguaje de descripción de hardware VHDL.

Correcto uso de Reset en FPGAs y su Codificación en VHDL

Transcripción:

FPGA: Herramientas de diseño

Proceso diseño Design and implement a simple unit permitting to speed up encryption with RC5-similar cipher with fixed key set on 8031 microcontroller. Unlike in the experiment 5, this time your unit has to be able to perform an encryption algorithm by itself, executing 32 rounds.. Especificación (Enunciado del problema) Library IEEE; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity RC5_core is port( clock, reset, encr_decr: in std_logic; data_input: in std_logic_vector(31 downto 0); data_output: out std_logic_vector(31 downto 0); out_full: in std_logic; key_input: in std_logic_vector(31 downto 0); key_read: out std_logic; ); end AES_core; Descripción VHDL Simulación funcionalidad Síntesis Simulación post-síntesis 2

Proceso diseño Implementación Simulación temporal. Configuración Test en el chip 3

Herramientas simulación Y otras muchas 4

5

6

Herramientas de síntesis y otras 7

Síntesis lógica Descripción VHDL Netlist circuito architecture MLU_DATAFLOW of MLU is signal A1:STD_LOGIC; signal B1:STD_LOGIC; signal Y1:STD_LOGIC; signal MUX_0, MUX_1, MUX_2, MUX_3: STD_LOGIC; begin A1<=A when (NEG_A='0') else not A; B1<=B when (NEG_B='0') else not B; Y<=Y1 when (NEG_Y='0') else not Y1; end MLU_DATAFLOW; MUX_0<=A1 and B1; MUX_1<=A1 or B1; MUX_2<=A1 xor B1; MUX_3<=A1 xnor B1; with (L1 & L0) select Y1<=MUX_0 when "00", MUX_1 when "01", MUX_2 when "10", MUX_3 when others; 8

Estrategia Simulación + Xilinx Xilinx como herramienta única. 9

Implementación con Xilinx 10

Translation Synthesis Circuit netlist Electronic Design Interchange Format Timing Constraints Native Constraint File Constraint Editor EDIF NCF UCF User Constraint File Translation NGD Native Generic Database file 11

Netlist del circuito 12

Mapping LUT1 LUT2 LUT4 LUT5 FF1 LUT3 FF2 13

Placing FPGA CLB SLICES 14

Routing FPGA Programmable Connections 15

Configuration Una vez implementado el diseño, se debe generar un fichero para configuración de la FPGA. bit stream (.bit) El fichero BIT puede ser utilizado directamente con la FPGA o puede ser convertido a un fichero PROM para almacenar la información de programación. 16

Flujo de diseño: Download Unprogrammed device Programmed device (a) Host computer (b) Device programmer 17

ISE 6.X: Descripción de la herramienta

Project Navigator Sources in project HDL editor Processes for Current Source Message Console 19

Xilinx: Proceso de diseño Paso 1: Diseño HDL Esquemáticos. Paso 2: Síntesis diseño (generación netlist). Paso 3: Implementación del diseño: Translate, Map, Place&Route Paso 4: Configuración de la FPGA. 20

Procesos Paso 1: Diseño Paso 2: Síntesis (generación netlist). MODELO PULL Paso 3: Implementación Paso 4: Configuración 21

Flujo de diseño: Implementación Implementación incluye varias fases: Translate: Combina múltiples ficheros en un único netlist. Map: Agrupa los símbolos lógicos del netlist (puertas) en componentes físicos (slices y IOBs). Place & Route: Distribuye los componentes en el chip, los conecta y genera informes con análisis temporales. 22

Flujo de diseño: Download Una vez que el diseño es implementado, se debe generar un fichero final para volcar en la FPGA (bitstream.bit) El fichero BIT puede ser volcado directamente en la FPGA o convertido a un fichero PROM, que almacena la información de programación. 23

Flujo de diseño: Download Unprogrammed device Programmed device (a) Host computer (b) Device programmer 24

Generando ficheros de informes La mayoría de los informes se generan de forma automática durante la implementación: Translation Map Place & Route Asynchronous Delay Pad Post Place & Route Static Timing Report 25

Ficheros de informes Translation (menos importante) Map. Importante chequearlo antes de seguir con P&R. Resumen diseño: Recursos usados (slices, flip-flops, LUTs...). Lógica eliminada (por falta de recursos disponibles). Propiedades IOB: Si un flip-flop es usado o no... Place & Route Utilización del dispositivo. Caminos ( nets ) que no se han podido cablear. Resumen de la temporización: retardos y funcionamiento. Asynchronous Delay Información sobre los 20 caminos más largos. Pad Post Place & Route Static Timing Report 26