You are on page 1of 10

UNIVERSIDAD POLITÉCNICA SALESIANA

INGENIERÍA ELECTRÓNICA

CIRCUITOS DIGITALES AVANZADOS

Nombre: Patricia Simbaña

Grupo: 1

Fecha: 2019-04-26

PRUEBA 1
CODIGO VHDL:
----------------------------------------------------------------------------------

-- Company:

-- Engineer:

--

-- Create Date: 12:14:01 04/26/2019

-- Design Name:

-- Module Name: prueba - Behavioral

-- Project Name:

-- Target Devices:

-- Tool versions:

-- Description:

--

-- Dependencies:

--

-- Revision:

-- Revision 0.01 - File Created

-- Additional Comments:
--

----------------------------------------------------------------------------------

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

-- Uncomment the following library declaration if using

-- arithmetic functions with Signed or Unsigned values

--use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if instantiating

-- any Xilinx primitives in this code.

--library UNISIM;

--use UNISIM.VComponents.all;

entity prueba is

Port ( a : in STD_LOGIC;

b : in STD_LOGIC;

c : in STD_LOGIC;

d : in STD_LOGIC;

f1 : out STD_LOGIC;

f2 : out STD_LOGIC);

end prueba;

architecture Behavioral of prueba is

signal t1, t2, t3, t4: std_logic;

begin

t1 <= (not b) and c;

t2 <= (not a) and b;

t3 <= a or t1;

t4 <= t2 xnor d;
f1 <= t3 or t4;

f2 <= t2 or d;

end Behavioral;

CÓDIGO TEST BENCH:


--------------------------------------------------------------------------------

-- Company:

-- Engineer:

--

-- Create Date: 12:26:12 04/26/2019

-- Design Name:

-- Module Name: E:/prueba cda/prueba_patricia_s/tb_prueba.vhd

-- Project Name: prueba_patricia_s

-- Target Device:

-- Tool versions:

-- Description:

--

-- VHDL Test Bench Created by ISE for module: prueba

--

-- Dependencies:

--

-- Revision:

-- Revision 0.01 - File Created

-- Additional Comments:

--

-- Notes:

-- This testbench has been automatically generated using types std_logic and

-- std_logic_vector for the ports of the unit under test. Xilinx recommends

-- that these types always be used for the top-level I/O of a design in order

-- to guarantee that the testbench will bind correctly to the post-implementation

-- simulation model.
--------------------------------------------------------------------------------

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

-- Uncomment the following library declaration if using

-- arithmetic functions with Signed or Unsigned values

--USE ieee.numeric_std.ALL;

ENTITY tb_prueba IS

END tb_prueba;

ARCHITECTURE behavior OF tb_prueba IS

-- Component Declaration for the Unit Under Test (UUT)

COMPONENT prueba

PORT(

a : IN std_logic;

b : IN std_logic;

c : IN std_logic;

d : IN std_logic;

f1 : OUT std_logic;

f2 : OUT std_logic

);

END COMPONENT;

--Inputs

signal a : std_logic := '0';

signal b : std_logic := '0';

signal c : std_logic := '0';

signal d : std_logic := '0';


--Outputs

signal f1 : std_logic;

signal f2 : std_logic;

-- No clocks detected in port list. Replace <clock> below with

-- appropriate port name

--constant <clock>_period : time := 10 ns;

BEGIN

-- Instantiate the Unit Under Test (UUT)

uut: prueba PORT MAP (

a => a,

b => b,

c => c,

d => d,

f1 => f1,

f2 => f2

);

-- Clock process definitions

--<clock>_process :process

--begin

--<clock> <= '0';

--wait for <clock>_period/2;

--<clock> <= '1';

--wait for <clock>_period/2;

--end process;

-- Stimulus process
stim_proc: process

begin

-- hold reset state for 100 ns.

--wait for 100 ns;

--wait for <clock>_period*10;

a <= '0';

b <= '0';

c <= '0';

d <= '0';

wait for 10ms;

a <= '0';

b <= '0';

c <= '0';

d <= '1';

wait for 10ms;

a <= '0';

b <= '0';

c <= '1';

d <= '0';

wait for 10ms;

a <= '0';

b <= '0';

c <= '1';

d <= '1';

wait for 10ms;

a <= '0';

b <= '1';

c <= '0';

d <= '0';

wait for 10ms;


a <= '0';

b <= '1';

c <= '0';

d <= '1';

wait for 10ms;

a <= '0';

b <= '1';

c <= '1';

d <= '0';

wait for 10ms;

a <= '0';

b <= '1';

c <= '1';

d <= '1';

wait for 10ms;

a <= '1';

b <= '0';

c <= '0';

d <= '0';

wait for 10ms;

a <= '1';

b <= '0';

c <= '0';

d <= '1';

wait for 10ms;

a <= '1';

b <= '0';

c <= '1';

d <= '0';

wait for 10ms;

a <= '1';

b <= '0';
c <= '1';

d <= '1';

wait for 10ms;

a <= '1';

b <= '1';

c <= '0';

d <= '0';

wait for 10ms;

a <= '1';

b <= '1';

c <= '0';

d <= '1';

wait for 10ms;

a <= '1';

b <= '1';

c <= '1';

d <= '0';

wait for 10ms;

a <= '1';

b <= '1';

c <= '1';

d <= '1';

wait;

end process;

END;

You might also like