PROGRAMACION EN EL LENGUAJE
VHDL
Es un lenguaje mediante el cual se puede
describir analizar y evaluar el comportamiento
de un sistema electrónico digital. Permite la
integración de sistemas digitales en un
dispositivo lógico programable (FPGA, GAL)
ESTRUCTURA DEL PROGRAMA
La estructura esta formada por unidades de
diseño compuesto por un conjunto de
declaraciones e instrucciones que definen,
describen, estructuran, analizan y evalúan el
comportamiento digital.
Existen 5 tipos de unidades de diseño en VHDL
Declaración de entidad.
Arquitectura
Configuración
Declaración del paquete
Cuerpo del paquete
ENTIDAD
Son los elementos electrónicos (puertas,
multiplexores, sumadores, Flip-Flops etc) que
forman de manera individual o en conjunto un
sistema digital.
DECLARACION DE LIBRERIAS
Se declara las funciones y operaciones que se van a usar.
Library ieee,
Que utiliza un paquete std_logic_1164.all el cual contiene las
funciones básicas que se utilizan en VHDL, entre ellas las
puertas lógicas. El acceso a la información se lo hará por
medio de la sentencia use. Ej
Si tenemos un circuito multiplicador X1, X0 y Y1,Y0 producen
una salida Z3, Z2, Z1, Z0. La declaración de la entidad se hace.
library ieee;
use ieee.std_logic_1164.all;
Entity multiplica is
port (X0,X1,Y0,Y1: in std_logic;
Z3,Z2,Z1,Z0: out std_logic);
End multiplica;
ARQUITECTURA
Se define como la estructura que describe el
funcionamiento de una entidad, y permitirá
desarrollar los procedimientos para que la
entidad cumpla con las condiciones de
funcionamiento deseadas.
Describa mediante if-then-else el funcionamiento de la puerta
Or a y b son entradas f1 salida.
1 -- Declaración funcional
2 library ieee;
3 use ieee.std_logic_1164. all;
4 entity com_or is
5 port ( a, b: in std_logic;
6 f1: out std_logic) ;
7 end com_or;
8 architecture funcional of com_or is
9 begin
10 process (a,b) begin
11 if (a = ‘0´ and b = ‘0') then
12 f1 <= ‘0' ;
13 else
14 f1 <= ' 1 ´;
15 end if;
16 end process;
17 end funcional;
Con base a la tabla de verdad y mediante la
declaración when-else describa el funcionamiento de
la puerta And.
Solución
1 --Algoritmo utilizando flujo de datos
2 library ieee;
3 use ieee.std_logic_1164.all;
4 entity com_and is
5 port ( a,b: in std_logic ;
6 f: out std_logic) ;
7 end com_and;
8 architecture compuerta of com_and is
9 begin
10 f <= '1' when (a = '1' and b = '1' ) else ‘0';
11 end compuerta;
Describa mediante ecuaciones booleanas el circuito
mostrado a continuación.
Solución
--Declaración mediante ecuaciones boolenas
library ieee;
use ieee.std_logic_1164.all;
entity ejemplo is
port ( a,b,c,d: in std_logic;
f: out std_logic) ;
end ejemplo;
architecture compuertas of ejemplo is
begin
f < = ( (a or b) xnor (c and d ) ;
end compuertas;
Declaración de entidades
Declaración de entidad de un circuito sumador
Entity sumador is
Port (A,B Cin: in bit;
SUMA, Cout: out bit);
end sumador;
Entidad
Sumador
Cin
A
B
Cout
SUMA
Declaración de entidades
Declaración de entidad de un circuito sumador si A y B fuera de
4 bits
Entity sumador_4bits is
Port (A,B: in bit_vector (3 downto 0);
Cin: in bit;
SUMA: out bit_vector (3 downto 0);
Cout: out bit);
end sumador_4bits;
Entidad
Sumador 4bits
Cin
A[3:0]
B[3:0]
Cout
SUMA [3:0]

Presentación1vhdl

  • 1.
    PROGRAMACION EN ELLENGUAJE VHDL Es un lenguaje mediante el cual se puede describir analizar y evaluar el comportamiento de un sistema electrónico digital. Permite la integración de sistemas digitales en un dispositivo lógico programable (FPGA, GAL)
  • 2.
    ESTRUCTURA DEL PROGRAMA Laestructura esta formada por unidades de diseño compuesto por un conjunto de declaraciones e instrucciones que definen, describen, estructuran, analizan y evalúan el comportamiento digital. Existen 5 tipos de unidades de diseño en VHDL Declaración de entidad. Arquitectura Configuración Declaración del paquete Cuerpo del paquete
  • 3.
    ENTIDAD Son los elementoselectrónicos (puertas, multiplexores, sumadores, Flip-Flops etc) que forman de manera individual o en conjunto un sistema digital.
  • 4.
    DECLARACION DE LIBRERIAS Sedeclara las funciones y operaciones que se van a usar. Library ieee, Que utiliza un paquete std_logic_1164.all el cual contiene las funciones básicas que se utilizan en VHDL, entre ellas las puertas lógicas. El acceso a la información se lo hará por medio de la sentencia use. Ej Si tenemos un circuito multiplicador X1, X0 y Y1,Y0 producen una salida Z3, Z2, Z1, Z0. La declaración de la entidad se hace. library ieee; use ieee.std_logic_1164.all; Entity multiplica is port (X0,X1,Y0,Y1: in std_logic; Z3,Z2,Z1,Z0: out std_logic); End multiplica;
  • 5.
    ARQUITECTURA Se define comola estructura que describe el funcionamiento de una entidad, y permitirá desarrollar los procedimientos para que la entidad cumpla con las condiciones de funcionamiento deseadas.
  • 6.
    Describa mediante if-then-elseel funcionamiento de la puerta Or a y b son entradas f1 salida. 1 -- Declaración funcional 2 library ieee; 3 use ieee.std_logic_1164. all; 4 entity com_or is 5 port ( a, b: in std_logic; 6 f1: out std_logic) ; 7 end com_or; 8 architecture funcional of com_or is 9 begin 10 process (a,b) begin 11 if (a = ‘0´ and b = ‘0') then 12 f1 <= ‘0' ; 13 else 14 f1 <= ' 1 ´; 15 end if; 16 end process; 17 end funcional;
  • 7.
    Con base ala tabla de verdad y mediante la declaración when-else describa el funcionamiento de la puerta And. Solución 1 --Algoritmo utilizando flujo de datos 2 library ieee; 3 use ieee.std_logic_1164.all; 4 entity com_and is 5 port ( a,b: in std_logic ; 6 f: out std_logic) ; 7 end com_and; 8 architecture compuerta of com_and is 9 begin 10 f <= '1' when (a = '1' and b = '1' ) else ‘0'; 11 end compuerta;
  • 8.
    Describa mediante ecuacionesbooleanas el circuito mostrado a continuación. Solución --Declaración mediante ecuaciones boolenas library ieee; use ieee.std_logic_1164.all; entity ejemplo is port ( a,b,c,d: in std_logic; f: out std_logic) ; end ejemplo; architecture compuertas of ejemplo is begin f < = ( (a or b) xnor (c and d ) ; end compuertas;
  • 11.
    Declaración de entidades Declaraciónde entidad de un circuito sumador Entity sumador is Port (A,B Cin: in bit; SUMA, Cout: out bit); end sumador; Entidad Sumador Cin A B Cout SUMA
  • 12.
    Declaración de entidades Declaraciónde entidad de un circuito sumador si A y B fuera de 4 bits Entity sumador_4bits is Port (A,B: in bit_vector (3 downto 0); Cin: in bit; SUMA: out bit_vector (3 downto 0); Cout: out bit); end sumador_4bits; Entidad Sumador 4bits Cin A[3:0] B[3:0] Cout SUMA [3:0]