1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Vhdl

Discussão em 'Programação' iniciada por nyd, 28 de Maio de 2004. (Respostas: 0; Visualizações: 920)

  1. nyd

    nyd Power Member

    library IEEE;
    use IEEE.std_logic_1164.all;


    entity exemplo is

    port(
    bin : in std_logic;
    MR : in std_logic;
    CLK : in std_logic;
    y : out std_logic_vector(2 downto 0)
    );

    end exemplo;


    architecture arch1 of exemplo is
    type ex is (A,B,C,D);
    signal x : ex ;

    begin

    process(CLK,MR)
    begin
    if(CLK'event and CLK='1') then

    case x is

    when A => if(bin='0') then x<=A;
    elsif(bin='1') then x<=B;
    end if;

    when B => if(bin='0') then x<=C;
    elsif(bin='1') then x<=D;
    end if;

    when C => if(bin='0') then x<=A;
    elsif(bin='1') then x<=B;
    end if;

    when D => if(bin='0') then x<=C;
    elsif(bin='1') then x<=D;
    end if;

    when others => x<=A;

    end case ;

    end if;

    if(MR'event and MR='1') then

    x<=A;

    end if;

    end process ;

    y<="000" when (x=A) and ( bin='0') else
    "001" when (x=A) and ( bin='1') else
    "010" when (x=B) and ( bin='1') else
    "011" when (x=B) and ( bin='0') else
    "100" when (x=D) and ( bin='1') else
    "101" when (x=D) and ( bin='0') else
    "110" when (x=C) and ( bin='0') else
    "111" when (x=C) and ( bin='1') else
    "XXX";


    end arch1;


    Alguem sabe se isto está certo ?? ( a nivel de programação )
     

Partilhar esta Página