Vous êtes sur la page 1sur 4

LABORATORIO 5 Y 6.

DISEO DIGITAL - UFPS

FUNDAMENTOS DE LENGUAJE VHDL: FUNCIONAL Y ESTRUCCTURAL


Victoria Stella Bermdez, Cdigo 1090033 y Hctor Fabian Blanco, Cdigo 1090150

AbstractEn este informe de laboratorio se presenta una profundizacin sobre los mas utilizados metodos de generacin de VHDL vistos en clase, en la primera parte encontramos la solucion de un ejercicio mediante el diagrama funcional, as como tambin mediante el diagrama de ujo de datos, es as como solucionamos el ejercicio estableciendo diferencias entre dichos mtodos. En la segunda parte del laboratorio tenemos la solucion del mismo ejercicio del quinto laboratorio pero mediante un lenguaje estructural, mas complejo. Index TermsLenguaje VHDL, mtodo funcional, ujo de datos.

datos para el nivel superior (concurrente), y secuencialmente (algortmico) dentro de la arquitectura. La ejecucin del proceso est supeditada al cambio en alguna de las seales de la lista de sensibilidad. Si ninguna vara, se detiene la ejecucin y entra en estado de espera. Cuando se presenta un cambio, el proceso contina ejecutndose a partir del BEGIN, hasta nalizar en el END PROCESS, y el ciclo vuelve a empezar desde el principio. La lista de sensibilidad es una orden de espera implcita que, en principio, slo contendra los nombres de aquellas seales que deben disparar la ejecucin del proceso. 2.2 Estilo Estructural : (Estructurado) En el estilo estructural, como su nombre lo sugiere, se detalla la estructura del circuito utilizando componentes predenidos (compuertas, sumadores, contadores, etc). El bloque de arquitectura se limita a declarar su uso y a detallar sus conexiones. En la prctica esta forma de trabajo debe apoyarse en la utilizacin de libreras de componentes. Aunque naturalmente se puede partir de cero, comenzando por la denicin de los elementos ms bsicos, las puertas lgicas, hasta la construccin de otros elementos ms complejos para ubicarlos en nuestra librera de trabajo work. El programador puede disear estas estructuras y guardarlas para su uso posterior o tomarlas de los paquetes contenidos en las libreras de diseo del software que se est utilizando. Sin embargo este estilo de programacin no resulta muy aconsejable para circuitos medianamente complejos ya que el tiempo de edicin es mayor al de los otros estilos. En este estilo la arquitectura muestra nicamente la interconexin de componentes. Estos elementos se asocian a mdulos almacenados en una librera y para usarlos necesitamos declararlos, congurarlos y conectarlos adecuadamente. En trminos generales para este estilo de programacin se necesita declarar cada componente que constituye el circuito, adems tambien se debe designar el tipo de seal que interconecta a cada elemento y por ultimo se debe crear un mapa del circuito total; cada uno de estos elementos tiene un lugar especco dentro de la estructura del programa en general como se muestra a continuacin: Librerias; Declaracin de la Entidad Architectura Seales; Declaracin de components; Begin Lista de conexiones End Architectura Como en todos los programas descritos en prcticas anteriores el encabezado es el mismo, salvo que la manera de

I. I NTRODUCTION L VHDL es uno de los lenguajes ms utilizados para la descripcin de sistemas digitales HDL (hardware description language). En la actualidad se considera como un estndar para la descripcin, modelado y sntesis de circuitos digitales y sistemas complejos. Este lenguaje cuenta con diferentes modos de llevar a cabo la descripcin. Normalmente su aprendizaje se comienza desde la perspectiva del diseador tradicional de hardware, utilizando las construcciones del lenguaje que permiten una descripcin estructural desde las puertas lgicas hacia arriba. Este enfoque resalta la correspondencia existente entre la realidad y el lenguaje pero oculta la verdadera potencia del modelo temporal soportado por el lenguaje. La descripcin comportamental y la ejecucin concurrente de procesos maniestan la verdadera potencia del VHDL.

II. C ONSULTA P REVIA DESCRIPCIN DE SISTEMAS DIGITALES La gran ventaja del lenguaje VHDL radica en la manera en que puede describir los diseos para una arquitectura. Los estilos de programacin utilizados en el diseo de arquitecturas se clasican como: 2.1 Estilo Funcional : (IF-THEN-ELSE): Tambin denominada de comportamiento (Behavioral modeling), o llamado por otros como algortmico, consiste en describir el funcionamiento del sistema digital en lugar de detallar los elementos que lo conforman y su interconexin. Las descripciones en este estilo de programacin consideran la relacin que hay entre las entradas y las salidas del sistema, sin importar cmo est organizado en su interior: tablas de verdad, tablas de funcionamiento, diagramas de estado. Para denir el circuito se construye un algoritmo expresado en forma de una secuencia de instrucciones del lenguaje, a la que denominaremos: Proceso, PROCESS. Los procesos son conjuntos de sentencias que se ejecutan como ujo de

LABORATORIO 5 Y 6. DISEO DIGITAL - UFPS

describir el funcionamiento del circuito se hace de forma diferente.Por ese motivo, comenzaremos analizando este estilo a partir de la arquitectura y especicamente desde las Seales.

III. M ETODOLOGA Para el desarrollo de elp laboratorio 5 y 6, primero es utilizar la herramienta programadora de Xilinx ISE 10.1 para el ejercicio propuesto implementndola en la Tarjeta Pegasus, para la cual se debe obtener las expresiones Booleanas, la tabla de la verdad, el diseo del programa VHDL mediante los dos mtodos a estudiar en cuestin, se obtiene el smbolo y el diagrama de tiempos correspondientes al circuito de la gura.

Tabla de la verdad correspondiente al circuit de la Figura 1. A B C D F G 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0

3. Disee un programa en lenguaje VHDL por los dos mtodos vistos en clase y compruebe su funcionamiento. IV. R ESULTADOS PRIMERA PARTE: LABORATORIO No. 5 3.1. Lenguaje VHDL por el Mtodo Funcional. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; - Uncomment the following library declaration if instantiating - any Xilinx primitives in this code. library UNISIM; use UNISIM.VComponents.all; entity lab5 is Port ( a : in STD_LOGIC; b : in STD_LOGIC; c : in STD_LOGIC; d : in STD_LOGIC; f : out STD_LOGIC; g : out STD_LOGIC); end lab5; architecture Behavioral of lab5 is begin process (a,b,c,d) begin if (a=0 and b=1 and c=0 and d=0) or (a=0 and b=1 and c=0 and d=1) or (a=0 and b=1 and c=1 and d=0) or (a=0 and b=1 and c=1 and d=1) or (a=1 and b=0 and c=1 and d=0) or (a=1 and b=0 and c=1 and d=1) or (a=1 and b=1 and c=0 and d=0) or (a=1 and b=1 and c=0 and d=1) or (a=1 and b=1 and c=1 and d=0) or (a=1 and b=1 and c=1 and d=1) then f<=1; else f<=0; end if; if (a=0 and b=1 and c=1 and d=0) then g<=1; else g<=0; end if; end process; end Behavioral; 3.2. Lenguaje VHDL por el Mtodo de Diagrama de Flujos. Library IEEE;

Figure 1.

Diagrama lgico a desarrollar.

1. Encontrar las expresiones booleanas que describen el circuito de la gura. Las expresiones booleanas correspondientes al diagrama lgico de la Figura 1 son las siguientes: Para la salida F tenemos: F = (A.C) + (B.(N OT C)) + ((N OT A).B.C) . para la salida G tenemos: G = ((N OT A).B.C).(N OT D). 2. Del diagrama lgico encuentre la tabla de verdad que describe el comportamiento del circuito. Las variables A,B,C,y D corresponden a las entradas del sistma, mientras que F y H corresponden a las salidas del sistma.

LABORATORIO 5 Y 6. DISEO DIGITAL - UFPS

use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; - Uncomment the following library declaration if instantiating - any Xilinx primitives in this code. library UNISIM; use UNISIM.VComponents.all; entity lab5 is Port ( a : in STD_LOGIC; b : in STD_LOGIC; c : in STD_LOGIC; d : in STD_LOGIC; f : out STD_LOGIC; g : out STD_LOGIC); end lab5; architecture Behavioral of lab5 is begin f<= ((a and c) or (b and (not c)) or ((not a) and b and c)); g<= (((not a) and b and c) and (not d)); end Behavioral; 4. Construya el smbolo del programa que cre para cada estilo de programacin. El smbolo correspondiente al programa realizado en los tems 3.1 y 3.2 correspondientes a los programas diseados tanto por el Mtodo Funcional como por el Mtodo de Diagrama de Flujos es el mismo. 6. Implemente el proyecto en la tarjeta Pegasus de Digilent utilizando para ello los recursos de la tarjeta para comprobar su funcionamiento. Diodos Leds para las salidas y swichs en las entradas respectivamente.
Figure 3. Diagrama de tiempos.

Figure 4.

Diagrama de tiempos.

Figure 2.

Smbolo de la programacin por los dos mtodos realizados.

5. Realice el diagrama de tiempos. El diagrama de tiempos correspondiente a este ejercicio es el siguiente.

Figure 5.

Programa instalado correctamente en la Tarjeta Pegasus.

LABORATORIO 5 Y 6. DISEO DIGITAL - UFPS

SEGUNDA PARTE: LABORATORIO No. 6

U1: inversor port map(a,s2); U2: inversor port map(d,s3); U3: and_2 port map(a,c,s4); U4: and_2 port map(b,s1,s5); U5: and_3 port map(s2,b,c,s6); U6: or_3 port map(s4,s5,s6,f); U7: and_2 port map(s6,s3,g); end Behavioral; 2. Implementacion de el programa en la tarjeta Pegasus.

Figure 6.

Diagrama lgico para la segunda parte.

Para la gura 6, se deben obtener las expresiones Booleanas, la tabla de la verdad, el diseo del programa VHDL, obtener el smbolo y el diagrama de tiempos los cuales resultan ser en este caso los mismos que los resultados obtenidos en la primera parte, excepto el desarrollo del programa VHDL Estructural. Acontinuacion presentamos la respectiva programacion para esta parte del laboratorio: 1. Programacion en VHDL Estructural: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; - Uncomment the following library declaration if instantiating - any Xilinx primitives in this code. library UNISIM; use UNISIM.VComponents.all; entity lab6 is Port ( a : in STD_LOGIC; b : in STD_LOGIC; c : in STD_LOGIC; d : in STD_LOGIC; f : out STD_LOGIC; g : out STD_LOGIC); end lab6; architecture Behavioral of lab6 is signal s1,s2,s3,s4,s5,s6: std_logic; component and_2 port (x,y:in std_logic; o:out std_logic); end component; component and_3 port (x,y,z: in std_logic; o: out std_logic); end component; component or_3 port (x,y,z: in std_logic; o: out std_logic); end component; component inversor port (i: in std_logic; o: out std_logic); end component; begin U0: inversor port map(c,s1);

Figure 7.

Prueba realizada a la tarjeta Pegasus una vez fue programada.

V. C ONCLUSIONES 1- Una de las dicultades que se atribuyen al diseo con VHDL es la gran cantidad de arquitecturas posibles para un mismo diseo. El lenguaje no se halla orientado hacia ningn mtodo en especial, ni a un tipo de lgica ni a una tecnologa dada sino que deja esas elecciones a cargo de quien disea y en gran medida el xito del diseo depender de las elecciones que este realice. 2- En los tres mtodos utilizados para la implementacin de los diseos en VHDL, se tiene como resultado el ms adecuado debido a que se hace menos tedioso y extenso el modelo funcional o ujo de datos a comparacin al modelo estructural. 3- Para realizar diseos donde presentan una gran cantidad de compuertas lgicas, el modelo que casi nunca se implementa es el modelo estructural. 4- Al momento de implementar cualquier cdigo de algn diseo lgico, siempre debemos tener en cuenta sintetizar cada una de las fuentes para as poder saber el sitio exacto donde tenemos el error y no sintetizar el proyecto completo ya que no sabremos en cual fuente o cdigo o lnea se encuentra el error y as ahorrar tiempo en la implementacin. 5- Al realizar la simulacin correspondiente al diseo, se deben asignar los parmetros lgicos con respecto a un tiempo especco, aumentando dicho rango si fuese necesario para as observar por completo la funcionalidad de las seales con respecto al tiempo.

Vous aimerez peut-être aussi