Está en la página 1de 7

3. Diseñe un flip-flop tipo T con enable.

a. Un diagrama de bloques.
b. Una impresión de pantalla con la descripción en VHDL
Una impresión de pantalla con la simulación generada en EDA
PLAYGROUND
Ejercicio 3

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

-- Nombre:Whilintong Guzman

-- Documento:94228739

-- Fecha:18-04-2020

-- Proyecto:tarea 3

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

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.numeric_std.all;

use IEEE.std_logic_unsigned.all;

entity ejercicio3 is

Port ( reloj,reset, d: in STD_LOGIC;

eneble : in STD_LOGIC;

Q : out STD_LOGIC

);

end ejercicio3;

architecture Behavioral of ejercicio3 is

begin

process (reloj)

begin

if reloj'event and reloj='1' then

if reset='1' then

Q <= '0';
elsif enable ='1' then

Q <= D xor Q;

end if;

end if;

end process;

end Behavioral;

Lado 2

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity Simulacion is

--

end Simulacion;

architecture Behavioral of Simulacion is

component ejercicio3

port ( reloj,reset, d: in STD_LOGIC;

eneble : in STD_LOGIC;

Q : out STD_LOGIC

);

end component;
-- Señales de las entradas

signal reloj: STD_LOGIC:= '0';

signal reset: STD_LOGIC:= '0';

signal enable: STD_LOGIC:= '0';

signal d: STD_LOGIC:= '0';

-- Señales de salidas

signal Q : STD_LOGIC;

constant PERIOD : time := 10 ns;

begin

UO: ejercicio3 Port map (

reloj => reloj,

reset => reset,

enable=> enable,

D=> D,

Q => Q

);

process begin

reloj <= '0';

wait for PERIOD/2;

reloj <= '1';

wait for PERIOD/2;

end process;
process begin

--- Estímulos de la simulación wait for 20 ns;

wait for 20 ns;

reset <= '1';

wait for 20 ns;

reset <= '0';

enable '1';

wait for 20 ns;

D <= '1';

wait for 20 ns;

D <= '0';

wait for 20 ns;

D <= '1';

wait for 20 ns;

reset <= '1';

wait for 20 ns;

reset <= '0';

wait for 20 ns;


D <= '1';

wait for 20 ns;

D <= '1';

wait for 20 ns;

D <= '0';

wait for 20 ns;

D <= '0';

wait for 20 ns;

enable <= '1';

wait for 20 ns;

D <= '1';

wait for 20 ns;

D <= '0';

wait for 20 ns;

enable <= '0';

wait for 20 ns;

D <= '1';

wait for 20 ns;

D <= '0';

wait for 20 ns;


wait;

end process;

end Behavioral;

También podría gustarte