Hardware Description Language

Slides:



Advertisements
Presentaciones similares
Lenguajes de Descripción de Hardware
Advertisements

Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
Métodos de diseño en VHDL.
SENTENCIAS SECUENCIALES
Circuitos Digitales II
Introducción al VHDL VHDL orientado a la síntesis de circuitos en Dispositivo Lógicos Programables.
Seminario de Lenguajes A – Opción Ada Estructura general de programas –Especificación de contexto –Encabezado –Declaraciones –Cuerpo Seminario de Lenguajes.
VHDL.
Interfaces de entrada / salida
Interfases de Entrada / Salida
GESTION DE LA JERARQUIA
Capítulo.2 - Fundamentos del Lenguaje VHDL
DSL Domain Specific Language (Lenguaje Especifico del Dominio)
VHDL Breve introducción.
Others, soporte para síntesis. Los agregados tienen la habilidad de usar la sentencia others, la cual asignará un valor a todos los otros elementos de.
Diseño lógico combinacional mediante VHDL
Estructuras Condicionales. Condicionales en Visual Basic Operadores de comparación < : Menor que > : Mayor que = : Igual >= : Mayor o igual
Control de Flujo.
Diseño Lógico Combinacional con VHDL
VHDL El nombre proviene de VHSIC Hardware Description Language, donde VHSIC significa Very High Speed Integrated Circuits. Es un lenguaje formal de especificación.
Introducción a VHDL Agenda Un poco de historia Definiciones generales Entidades Arquitecturas Configuraciones.
Capítulo.3 - Diseño Lógico Combinacional con VHDL
DIPLOMADO EN SISTEMAS DIGITALES USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor: MC. Rodrigo Lucio Maya Ramírez.
LA ARQUITECTURA O LA FUNCIONALIDAD DEL SISTEMA DefiniciónDefiniciónDefinición Declaración y reglas sintácticas.Declaración y reglas sintácticas.Declaración.
BANCOS DE PRUEBAS CON VHDL (TESTBENCHES). Sistemas Digitales - FIUBA Bancos de prueba ¿Cómo realizar la prueba de un dispositivo descripto en VHDL? DUT.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
UNIDAD 3: SISTEMAS COMBINACIONALES Y SECUENCIALES UNIDAD 3: SISTEMAS COMBINACIONALES Y SECUENCIALES ING. GERARDO A. LEAL, MSC Unidad 3: Sistemas Combinacionales.
NCO (Numerically Controlled Oscillator). NCO: Oscilador controlado numéricamente Aplicaciones Conversores digitales up/down PLLs digitales Sistemas de.
1 LENGUAJE DE DESCRIPCION DE HARDWARE ELECTRONICA DIGITAL NAYIBE CHIO CHO NAYIBE CHIO CHO.
Unidad V: Estatutos en Basic De control o selección if. De ciclos: Do, for, while. Otros estatutos. Solución de problemas aplicando estatutos de control.
BANCOS DE PRUEBA CON VHDL (TESTBENCHES). Sistemas Digitales - FIUBA Bancos de prueba ¿Cómo realizar la prueba de un dispositivo descripto en VHDL? DUT.
Asignación de señales en VHDL. VHDL: Asignación de señales La asignación a una señal establece una o más transacciones sobre la misma Cada señal tiene.
ESTRUCTURAS DE DATOS Y ALGORITMOS Samuel Peñaló
PROGRAMACIÓN I CENTRO DE ESTUDIOS INTEGRADOS EL MARISCAL - CEIM Ing. Luisa Fernanda Arenas Castañeda Feb 6 de 2016.
Algebra de Boole SISTEMAS DIGITALES I.  En 1854 el matemático inglés George Boole formalizó un sistema algebraico de dos valores para expresar cierto.
U.M.S.A. ETN-601 Sistemas Digitales Decodificador 3 a 8 Aux. David Marza Herrera.
CONSIDERACIONES DE RUIDO EN SISTEMAS PCM ING. JAVIER GARCIA.
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Pablo Huerta Pellitero
Algebra de Boole Sistemas Digitales I.
Tecnologías de la Información NI3C
Conceptos básicos de programación
Página Web del Lenguaje Pascal.
Miguel Otoya Fabian Porras Gabriel Quesada Fabrizio Vegas Eduardo
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
TUTORIAL PSeint.
Compuertas Lógicas
Diseño de Circuitos Lógicos Combinatorios (2)
Bucles y estructuras de decisión
LÓGICA DE PROGRAMACIÓN
EXPRESIONES Una expresión es una forma especial de asignación.
En VHDL existen tres tipos de declaraciones concurrentes;
PLDs Dispositivos lógicos programables
Fundamentos de Programación. Estructuras de Control
Programación en VHDL.
Diego Hernández R Pascal Variables Diego Hernández R
VHDL. INTRODUCCION Se estudiará como VHDL es usado en proyectos de diseño. Se analizarán las aplicaciones de VHDL y los diferentes estilos para usar el.
VHDL. INTRODUCCION Se estudiará como VHDL es usado en proyectos de diseño. Se analizarán las aplicaciones de VHDL y los diferentes estilos para usar el.
Tema 5 Representación y Técnicas de Diseño de Algoritmos
Programación I MC José Andrés Vázquez Flores
Pipelining Peligros de control.
Tema 3: Operadores Antonio J. Sierra.
Bucles y estructuras de decisión
PROGRAMACIÓN (2).
Estructura general de un programa. Estructura general de un programa. Pseudocódigo Diagrama de flujo Concepto de programas. Concepto de programas. Instrucciones.
Estructuras de Control
Eduardo Cruz Pérez.
Tema 8. Estructuras de decisión. Clases 1 y 2.
Tema 8. Estructuras de decisión. Clases 3 y 4.
Transcripción de la presentación:

Hardware Description Language VHDL Hardware Description Language

ESTRUCTURA Library - Librería Entity - Entidad Architecture - Arquitectura

ENTITY (Entidad) Representa las características físicas del dispositivo, esta estructura, nos indica las entradas y salidas del circuito (pines), que el diseñador considera para la integración de sus ideas o aplicación. Cada una de las señales de Entrada y salida (I/O) son referidas como un puerto, este equivale a un pin de un símbolo esquemático, conformado por: Nombre Título del Puerto Modo Dirección del Puerto ( in, out o ambos) Tipo de datos Clase de información

Define la dirección de la transferencia de la señal. Modos Define la dirección de la transferencia de la señal. Modo in pin del puerto de entrada Modo out pin del puerto de salida Modo inout pin del puerto bidireccional in out inout símbolo Tipos de Datos Valores establecidos para los puertos. Bit Boolean Bit_vector (varios bits) Integer

Ejemplo Declarar la entidad del siguiente circuito lógico. Punto y Coma (;) cerrar y finalizar declaraciones Dos puntos (:) Separa el nombre del puerto y los modos. Paréntesis () abrir y cerrar declaraciones reset Q0 clk CONTADOR Q1 Q2 Q3 -- Declaración de la Entidad Entity CONTADOR is port ( clk, reset: in bit; Q3, Q2, Q1, Q0: out bit); end CONTADOR;

ENTIDADES UTILIZANDO VECTORES Arreglo Ascendente A(A0, A1, A2,A3) Arreglo Descendente B (B3, B2, B1, B0) El conjunto de bits ordenados, se pueden considerar vectores (bit_vector) Arreglo Ascendente A: in bit_vector (0 to 3); el arreglo nos indica que A, está conformado por 4 bits de entrada. Arreglo Descendente B: in bit_vector (3 to 0); el arreglo nos indica que B,

IDENTIFICADORES Son los nombres o las etiquetas que se usan para nombrar variables, constantes, señales, procesos, etc. Entradas3 Salida_S2 Suma_a_b Reset VHDL, esta conformado por una lista de palabras reservadas, que no se pueden utilizar como identificadores.

ARQUITECTURA (architecture) Define el algoritmo o la estructura de solución de una entidad, estas son las instrucciones o procedimientos que se deben realizar para obtener una solución. Estilos de Programación Flujo de Datos Estilo Funcional Estilo Estructural

FLUJO DE DATOS Se muestra con detalle la transferencia de información entre las entradas y las salidas de una entidad, para la descripción de un circuito lógico en el desarrollo se utiliza las entradas (representadas por tablas de verdad) y las salidas (representadas por ecuaciones lógicas). When - else: Relación de la salida con respecto a la entrada. Ejemplo: C<= ´1´ when (a=´0´ and b= ´1´) else ´0´ Esto indica que C=1, cuando se cumpla que a=0 y b=1, de lo contrario C=0. Ecuaciones Lógicas Ejemplo: (not A and B and C) and (not B or not A xor C)

A B F0 F1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 0 0 -- Declaración de la Entidad Entity tabla is port ( A, B: in std_logic; F0, F1: out std_logic); end tabla; Architecture flujo of tabla is begin F0 <= ‘1’ when (A=’0’ and B=‘0’) else ‘1’ when (A=‘0’ and B=‘1’) else ‘0’; F1 <= ‘0’ when (A=‘1’ and B=‘1’) else ‘1’; end flujo; Ejemplo Flujo de Datos A B F0 F1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 0 0

A B F0 F1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 0 0 -- Declaración de la Entidad Entity tabla is port ( A, B: in std_logic; F0, F1: out std_logic); end tabla; Architecture flujo of tabla is begin F0 <= not A; F1 <= (not A) or (not B); end flujo; Ejemplo Ecuaciones Lógicas A B F0 F1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 0 0

ESTILO FUNCIONAL La organización o la estructura diseñada por el programador, se da, un valor a la salida, dependiendo, cual es el comportamiento de las entradas. signal A B S C

A B C 0 0 1 0 1 0 1 0 0 1 1 1 Ejemplo Estilo Funcional C=1 cuando las entradas A y B son iguales a 1, de lo contrario C=0. A B C 0 0 1 0 1 0 1 0 0 1 1 1 If A=B then C=1, else C=0 Si A=B entonces C=1, sino C=0

Desarrollo Del Programa -- Declaración de la Entidad Entity funcional is port ( A, B: in std_logic; C: out std_logic); end funcional; Architecture caja of funcional is begin process (A, B) if A=B then C <= ‘1’; else C<=‘0’; end if; end process; end caja; Desarrollo Del Programa

Estructuras de programación

Señales, Variables, Constantes SECUENCIALES CONCURRENTES CONCURRENTES Y SECUENCIALES

DECLARACIONES CONCURRENTES Son resultados de una solución sin importar el orden o la secuencia de las instrucciones o señales involucradas en la entidad. Asignación directa <= Asignación Condicional when – else Asignación Selectiva with –select – when Process

CONCURRENTES DE ASIGNACION DIRECTA ( <= ) La asignación de un valor a una variable o pin, sea realiza de una manera directa, no requiere de una condición para la asignación de un dato. Entity logic is port ( a, b, c, d, c, e, f: in std_logic; x1, x2, x3: out std_logic); end logic; Architecture directa of logic is begin x1 <= a xnor b; x2 <= (((c and d) or (a xnor b)) and ((e xor f) and (c and d))); x3 <= (e xnor f) and (c and d); End directa;

A B C 0 0 0 0 1 1 1 0 0 1 1 1 CONCURRENTE CONDICIONAL ( when – else ) La asignación de un valor a una señal sujeta a la condición verdadera, Su utilización va encaminada en la descripción de funciones lógicas. Entity tabla is port ( a, b: in std_logic; c: out std_logic); end tabla; Architecture condicional of tabla is begin c <= ‘1’ when (a=‘1’ and b=‘1’) else ‘1’ when (a=‘0’ and b=’1’) else ‘0’; End condicional; A B C 0 0 0 0 1 1 1 0 0 1 1 1

CONCURRENTE SELECTIVA ( with – select - when) La asignación de un valor a una señal basada en el valor de otra señal que ha sido selecciona con antelación. Entity funcion is port ( a, b: in std_logic; c: out std_logic); end funcion; Architecture selectiva of funcion is Begin with sel select c <= ‘0’ when “00” ‘1’ when “01”, ‘0’ when “10”, ‘1’ when others; End selectiva; A B C 0 0 0 0 1 1 1 0 0 1 1 1

DECLARACIONES SECUENCIAL Son asignadas a señales, las cuales el orden pude tener un efecto significativo. e ejecuta en el orden en el que se va apareciendo el sistema. If – then – else If – then – elsif case

OE S 0 Z 1 Datain DECLARACIONES SECUENCIALES If – then - else Entity tristate is port ( OE, datain: in std_logic; S: out std_logic); end tristate; Architecture buffer of tristate is Begin process (OE, datain) begin; if OE=‘0’ then S <= ‘Z’; else S <= datain; end if; end process; End buffer; La declaración se utiliza para seleccionar una respuesta dependiendo de una o varias condiciones de lógicas. OE S 0 Z 1 Datain

BIBLIOGRAFíA Programación de sistemas digitales con VHDL, Maxinez, David, ED. Larousse - Grupo Editorial Patria Enero 2014 Capítulos 1 y 2