La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Hardware Description Language

Presentaciones similares


Presentación del tema: "Hardware Description Language"— Transcripción de la presentación:

1 Hardware Description Language
VHDL Hardware Description Language

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

3 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

4 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

5 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;

6 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,

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

8 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

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

10 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

11 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

12 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

13 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

14 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

15 Estructuras de programación

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

17 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

18 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;

19 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

20 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

21 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

22 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

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

24

25


Descargar ppt "Hardware Description Language"

Presentaciones similares


Anuncios Google