Vous êtes sur la page 1sur 12

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA FACULTAD DE CIENCIAS BSICAS E INGENIERA INGENIERA DE TELECOMUNICACIONES

TRABAJO FINAL SISTEMAS DIGITALES BSICOS

John Steven Prada Bernate CC 1020714875 Email: juansteven19@hotamil.com

Programa: Ingeniera de telecomunicaciones Popayn 22 de mayo de 2012

INTRODUCCIN

Con el siguiente trabajo se busca profundizar, en las temticas generales de la unidad 2, por medio de la implementacin de la implementacin del diseo de un multiplexor de lnea de datos de 4 bits una lnea de datos de salida de 4 bits, la salida se conectar para ser visualizada en un display de siete segmentos, basado en un circuito lgico Combinacional en Lenguaje VHDL

OBJETIVOS Aprender a declarar una entidad y la arquitectura Afianzar los conocimientos previos sobre el lenguaje de programacin en VHDL Conocer y definir cul es la estructura de un programa en VHDL Declarar cuales son las sentencias utilizadas en el diseo en el diseo del multiplexor en cdigo VHDL

library ieee; use ieee.std_logic_1164.all; entity multiplexor4 is port ( D3,D2,D1,D0 : in std_logic_vector (3 downto 0); s : in std_logic_vector( 1 downto 0); z : out std_logic_vector (3 downto 0) end multiplexor4; architecture rtl of multiplexor4 is begin process (s) begin );

if s="00" then z<=D0; elsif s="01" then z<=D1; elsif s="10" then z<= D2; else end if; end process; end rtl; z<= D3;

1) entity multiplexor4 is (ENTIDADES) (NO TIENE INSTANCIAS) entradas y salidas (SEALES)

3) en la arquitectura se realiza un process que verifica el estado de la lnea de seleccin de entrada y de acuerdo con su estado se define la salida que corresponda y se asigna a la seal de salida Segunda actividad

Discusin: Cul es la forma ms adecuada para disear un programa en lenguaje VHDL? Vamos a participar en la discusin sobre cul ser la forma ms adecuada para realizar el diseo de un programa en lenguaje VHDL, para ello vamos a centrarnos en los siguientes ejemplos de rutinas en VHDL: ----------------------------------------------------------------------------- LIBRARY ieee; USE ieee.std_logic_1164.all; ----------------------------------------------------------------------------ENTITY multiplexor_4_a_1 IS PORT ( D3, D2, D1, D0 : IN BIT; direccion : IN STD_LOGIC_VECTOR ( 1 DOWNTO 0) ; Salida : OUT BIT ); END multiplexor_4_a_1 ; ---------------------------------------------------------------------------ARCHITECTURE ejemplo OF multiplexor_4_a_1 IS BEGIN PROCESS ( D3, D2, D1, D0, direccion, salida) BEGIN IF ( direccion = 00 ) THEN Salida <= D0; ELSIF ( direccion = 01) THEN Salida <= D1; ELSE (direccion = 10) THEN Salida <= D2; ELSE END IF; END PROCESS ; END ejemplo ; Salida <= D3; Como notarn, en el anterior texto de cdigo se ha empleado el condicional IF para describir el comportamiento de un multiplexor 4 a 1, y por lo tanto, se ha generado la estructura para que el mismo funcione adecuadamente. Veamos ahora el mismo circuito digital realizando una descripcin de su comportamiento por medio de las expresiones lgicas que le describen: ----------------------------------------------------------------------------- LIBRARY ieee; USE ieee.std_logic_1164.all; ----------------------------------------------------------------------------ENTITY multiplexor_4_a_1 IS PORT ( D3, D2, D1, D0, A1, A0: IN STD_LOGIC; Salida : OUT STD_LOGIC

); END multiplexor_4_a_1 ; ---------------------------------------------------------------------------ARCHITECTURE ejemplo_lgico OF multiplexor_4_a_1 IS BEGIN Salida <= (D0 AND NOT A1 AND NOT A0) OR (D1 AND NOT A1 AND A0)FACULTAD DE CIENCIAS BSICAS E INGENIERA Programa de Ingeniera y Tecnologa en Electrnica Sistemas Digitales Bsico Trabajo Colaborativo No 2 OR (D2 AND A1 AND NOT A0) OR (D3 AND A1 AND A0); END ejemplo_lgico ; Recordemos que se puede emplear tambin la instruccin WHEN, con la cual el mismo comportamiento circuital se describira de la siguiente manera: ----------------------------------------------------------------------------- LIBRARY ieee; USE ieee.std_logic_1164.all; ---------------------------------------------------------------------------- ENTITY multiplexor_4_a_1 IS PORT ( D3, D2, D1, D0: IN STD_LOGIC; Direccin: IN STD_LOGIC_VECTOR (1 DOWNTO 0); Salida : OUT STD_LOGIC ); END multiplexor_4_a_1 ; ----------------------------------------------------------------------------ARCHITECTURE ejemplo_when OF multiplexor_4_a_1 IS BEGIN Salida <= D0 WHEN direccin=00 ELSE D1 WHEN direccin=01 ELSE D2 WHEN direccin=10 ELSE D3; END ejemplo_when ; Otra instruccin puede ser empleada, por ejemplo SELECT, de la cual se puede llegar a un cdigo ms optimizado o ms complejo; veamos el ejemplo con SELECT: ----------------------------------------------------------------------------- LIBRARY ieee; USE ieee.std_logic_1164.all; ----------------------------------------------------------------------------ENTITY multiplexor_4_a_1 IS PORT ( D3, D2, D1, D0: IN STD_LOGIC; Direccin: IN STD_LOGIC_VECTOR (1 DOWNTO 0); Salida : OUT STD_LOGIC ); END multiplexor_4_a_1 ; ---------------------------------------------------------------------------ARCHITECTURE ejemplo_select OF multiplexor_4_a_1 IS WITH direccion SELECT BEGIN D1 WHEN 01 , D2 WHEN 10 , END ejemplo_when ; Salida <= D0 WHEN 00 , --noten el uso de un , en lugar de la ; D3 WHEN OTHERS; --noten que no se puede emplear D3 -- WHEN 11 por lo cual se emplea el -

-trmino OTHERS que indica --las dems posibles opciones Disear el algoritmo que defina el funcionamiento del circuito Describir el comportamiento en cdigo de VHDL La mejor opcin es la que describe el comportamiento del circuito, porque para ello no debemos preocuparnos por las conexiones de los cables en los dispositivos (ejemplo 1) Asi mismo se puede utilizar el condicional select, debido a su similitud en el lenguaje c++, siendo esta una instruccin de decisin mltiple en donde el compilador prueba o busca el valor contenido en una variable contra una lista de variables cuando el computador encuentra el valor de igualdad entre variable y constante, entonces ejecuta el grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad entre variable y constante, entonces ejecuta un grupo de instrucciones asociados, aunque este ultimo es opcional. en sintesis la asignacin se hace segn el contenido de un objeto o resultado de cierta expresin.

CONCLUSIN

Con la realizacin del trabajo colaborativo nmero 2, se hizo especial nfasis en el temas del lenguaje VHDL, conociendo a fondo todas sus estructuras desde las ms bsicas pero elementales como la entidad y arquitectura, que son piezas claves a la hora de querer programar algn sistema digital.

BIBLIOGRAFA http://es.scribd.com/doc/20215819/VHDL-su-organizacion-y-arquitectura http://es.scribd.com/doc/2154178/UPM-Introduccion-al-lenguaje-VHDL Modulo Sistemas Digitales Bsicos 2011 VHDL el arte de programar sistemas digitales http://campus.unadvirtual.org/campus/file.php/7/CONTENTS/201417/Active HDL/Descargar_Active_HDL/Descargar1.htm http://campus.unadvirtual.org/campus/file.php/7/CONTENTS/201417/Active HDL/Simular/SimulacionActiveHDL.htm http://campus.unadvirtual.org/campus/file.php/7/CONTENTS/201417/Active HDL/Usar_Active_HDL/Uso1.htm http://esd.cs.ucr.edu/labs/tutorial/ http://esd.cs.ucr.edu/labs/tutorial/Active_Tutorial.html http://users.encs.concordia.ca/~asim/COEN_6501/tools/vhdl_yawar.html http://esd.cs.ucr.edu/labs/adder/adder.html

Vous aimerez peut-être aussi