Академический Документы
Профессиональный Документы
Культура Документы
OBJETIVOS DE APRENDIZAJE:
Simular en Quartus un sistema digital diseñado a partir de programación en
código VHDL y programación gráfica con diagramas de bloques.
Aplicar conceptos de simulación en Quartus para convertir un código VHDL
en su correspondiente símbolo.
MATERIALES Y HERRAMIENTAS:
MARCO TEÓRICO:
DESCRIPCIÓN DE LA PRÁCTICA # 6:
Procedimiento:
Mux de 2 a 1
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity mux_2to1 is
Port ( SEL : in STD_LOGIC;
I0 : in STD_LOGIC_VECTOR (3 downto 0);
I1 : in STD_LOGIC_VECTOR (3 downto 0);
X : out STD_LOGIC_VECTOR (3 downto 0));
end mux_2to1;
Comparador de 4 bits
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all ;
ENTITY comparador IS
PORT ( A,N: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
igual,mayor,menor: OUT STD_LOGIC);
END comparador;
ARCHITECTURE solucion OF comparador IS
BEGIN
igual <= '1' WHEN A = N ELSE '0';
mayor <= '1' WHEN A > N ELSE '0';
menor <='1' WHEN A < N ELSE'0';
END solucion;
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_signed.all;
use IEEE.NUMERIC_STD.all;
ENTITY sum IS
PORT (a : IN std_logic_vector(3 DOWNTO 0);
b : IN std_logic_vector(3 DOWNTO 0);
salida : OUT std_logic_vector(3 DOWNTO 0);
c: OUT std_logic);
END sum;
PROCESS (a, b) IS
BEGIN
suma <= (('0'&a)+('0'&b));
salida<= suma(3 DOWNTO 0);
c<= suma(4);
END PROCESS;
END synth;
Sumador de 4 bits(sum1)
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_signed.all;
use IEEE.NUMERIC_STD.all;
ENTITY sum1 IS
PORT (D : IN std_logic_vector(3 DOWNTO 0);
F : IN std_logic_vector(3 DOWNTO 0);
sal : OUT std_logic_vector(3 DOWNTO 0);
c0: OUT std_logic);
END sum1;
PROCESS (D, F) IS
BEGIN
suma <= (('0'&D)+('0'&F));
sal<= suma(3 DOWNTO 0);
c0<= suma(4);
END PROCESS;
END synth;
2. Una vez realizado el bloque de cada dispositivo, de modo que estén guardados
en la librería creada por uno mismo, implementar el siguiente circuito utilizando
dichos bloques; seleccionando los pines de entrada y salida.
Nota: Se crea un solo archivo BDF en el proyecto, donde se debe añadir cada
bloque hasta lograr obtener el circuito mostrado.
3.- Guardar el circuito anterior, luego aplicar la opción Set as Top-level Entity.
En el archivo Waveform Vector, con la opción Node Finder, observe todas las
señales del circuito programado y proceda a colocarlas en el lado derecho de esta
ventana.
6.- Luego, en el archivo Waweform Vector, se ingresan los valores de las entradas
como se muestra a continuación:
Se observan 2 salidas: decena de un bit y sal tipo vector de 4 bits.
8.- Para observar la salida en formato decimal, aplique la opción Radix, Unsigned
decimal como se muestra a continuación:
9.- De acuerdo con esto se obtiene lo que se muestra a continuación:
Bibliografía:
[1]. Fundamentos de Lógica Digital, Stephen Brown & Zvonco Vranesic, Segunda
Edición, Mc.Graw Hill, 2009.
[4]. Digital Design with RTL Design, Verilog and VHDL, Frank Vahid, Second Edition,
John Wiley and Sons, 2010.
1. Para la creación del proyecto seguir los pasos del 1 al 8 descritos en la Práctica
4.
2. Ahora, se agrega un archivo al proyecto, para lo cual se escoge la opción File,
New.
6. Ahora puede usar este símbolo en cualquier archivo BDF del proyecto, para
este fin puede buscarlo con el nombre de la entidad o en su directorio.