Você está na página 1de 2

 

Sistemas Digitais 
Engenharia Electrotécnica ‐ Engenharia Informática 
EXAME C 

Nome __________________________________________________________________________________ 

Número _____________________ Curso__________________________ Classificação ________________ 

1‐ Escreva um módulo em VHDL que implemente o seguinte descodificador digital de dois bit: [12] 

Sugestão: Utilize vectores para representar os sinais de entrada. 

(se já não se recordar do modo de operação de um descodificador pode ler as páginas 50 e 51 da sebenta 
“Pneumática e Automatismos” que pode encontrar em www.ipb.pt/~jpcoelho/Misc/PeA_.pdf) 

A preencher pelo professor. 
 
 
 

2‐ Escreva um “testbench” para o circuito anterior com os seguintes estímulos: [8] 

A preencher pelo professor. 
 
 

 

 
SUGESTÃO DE RESOLUÇÃO

-- TESTBENCH -- MODULO
LIBRARY ieee; library IEEE;
USE ieee.std_logic_1164.ALL; use IEEE.STD_LOGIC_1164.ALL;
USE ieee.std_logic_unsigned.all; use IEEE.STD_LOGIC_ARITH.ALL;
USE ieee.numeric_std.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY tb IS entity comparador is


END tb; Port ( Entrada : in STD_LOGIC_VECTOR
(1 downto 0);
ARCHITECTURE behavior OF tb IS Saidas : out STD_LOGIC_VECTOR
(3 downto 0));
COMPONENT comparador end comparador;
PORT(
Entrada : IN std_logic_vector(1 architecture Behavioral of comparador is
downto 0);
Saidas : OUT std_logic_vector(3 begin
downto 0)
); Saidas<="0001" when Entrada="00" else
END COMPONENT; "0010" when Entrada="01" else
"0100" when Entrada="10" else
"1000";
signal Entrada : std_logic_vector(1
downto 0) := (others => '0'); end Behavioral;
signal Saidas : std_logic_vector(3
downto 0);

BEGIN

uut: comparador PORT MAP (


Entrada => Entrada,
Saidas => Saidas
);
Entrada(0)<='1','0' after 10 ns,'1'
after 30 ns;
Entrada(1)<='0','1' after 20
ns,'0' after 40 ns;

END;

 

Você também pode gostar