flanco_llc.vhd

来自「用VHDL实现视频控制程序」· VHDL 代码 · 共 71 行

VHD
71
字号
library IEEE;
use IEEE.std_logic_1164.all;

-- Maquina de estados que detecta los flancos
-- de subida de la senial LLC.

entity flanco_LLC is
    port (
        e: in STD_LOGIC;
        clk: in STD_LOGIC;
        resetz: in STD_LOGIC;
        s2: out STD_LOGIC

    );
end flanco_LLC;

architecture flanco_LLC_arch of flanco_LLC is
type estado is (reposo, activo, espera1,espera);
signal actual, futuro: estado;
begin

fsm: process (e,actual)
begin

s2<='0';
case actual is

when reposo=>

	if (e='0') then
		futuro<=reposo;
	else
		futuro<=activo;
	end if;

when activo=>	-- se detecta un flanco de
		-- subida de la senial de
		-- entrada.
		s2<='1';
		futuro<=espera1;

when espera1=>	-- la segunda senial de salida
		-- se mantiene a nivel alto
		-- durante un ciclo mas de reloj.
		s2<='1';
		futuro<=espera;

when espera=>

	if (e='0') then
		futuro<=reposo;
	else
		futuro<=espera;
	end if;

end case;
end process;

sync: process (resetz,clk)

begin
if (resetz='0') then
	actual<=reposo;

elsif (clk='1' and clk'event) then
	actual<=futuro;
end if;
end process;
end flanco_LLC_arch;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?