Z
ZainZeus
Guest
salut
Im de nouveau dans ce forum, donc bonjour tout le monde, et quelle que soit,
en tout cas, directement à ma question
Je
suis nouveau dans le langage VHDL moreless programmation et
j'ai écrit ce code
Code:ieee bibliothèque;
ieee.std_logic_1164.all utilisation;maquina_contador entité est
port (
Clk, Rst: en std_logic;
SSE: en std_logic_vector (1 downto 0);
OP: out std_logic_vector (1 downto 0)
);
ATTRIBUT PART_NAME DE maquina_contador: entité est "PALC22V10D";
ATTRIBUT PIN_NUMBERS DE maquina_contador: ENTITY IS
"clk: 1" &
"premier: 2" &
"sse (0) 3:" &
"sse (1): 4" &
"op (0): 22" &
"op (1): 21";
maquina_contador fin;maquina_contador architecture de maquina_contador est
estados type est (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12);
signal edo_presente, edo_futuro: estados;
commencer
processus (SSE, edo_presente)
commencer
edo_presente cas est
lorsque s0 => op <= "00";
if (SSE = "00"), puis
edo_futuro <= s1;
elsif (SSE = "01"), puis
edo_futuro <= s2;
elsif (SSE = "10"), puis
edo_futuro <= s4;
autre
edo_futuro <= s3;
fin si;
lorsque s1 => op <= "00";
if (SSE = "10"), puis
edo_futuro <= S9;
elsif (SSE = "01"), puis
edo_futuro <= s5;
autre
edo_futuro <= s1;
fin si;
lorsque s2 => op <= "00";
if (SSE = "00"), puis
edo_futuro <= s10;
elsif (SSE = "11"), puis
edo_futuro <= s6;
autre
edo_futuro <= s2;
fin si;
lorsque s3 => op <= "00";
if (SSE = "01"), puis
edo_futuro <= S11;
elsif (SSE = "10"), puis
edo_futuro <= s7;
autre
edo_futuro <= s3;
fin si;
lorsque s4 =>
if (SSE = "11"), puis
edo_futuro <= s12;
elsif (SSE = "00"), puis
edo_futuro <= s8;
autre
edo_futuro <= s4;
fin si;
op <= "00";
lorsque s5 => op <= "11";
edo_futuro <= s2;
lorsque s6 => op <= "11";
edo_futuro <= s3;
lorsque s7 => op <= "11";
edo_futuro <= s4;
lorsque s8 => op <= "11";
edo_futuro <= s1;
lorsque S9 => op <= "10";
edo_futuro <= s4;
lorsque s10 => op <= "10";
edo_futuro <= s1;
lorsque S11 => op <= "10";
edo_futuro <= s2;
quand les autres => op <= "10";
edo_futuro <= s3;
end case;
fin de processus;process (Clk, Rst)
commencer
if (RST ='1 '), puis
edo_presente <= s0;
elsif (Clk'event et Clk ='1 '), puis
edo_presente <= edo_futuro;
fin si;
fin de processus;
maquina_contador fin;
Im de nouveau dans ce forum, donc bonjour tout le monde, et quelle que soit,
en tout cas, directement à ma question
Je
suis nouveau dans le langage VHDL moreless programmation et
j'ai écrit ce code
Code:ieee bibliothèque;
ieee.std_logic_1164.all utilisation;maquina_contador entité est
port (
Clk, Rst: en std_logic;
SSE: en std_logic_vector (1 downto 0);
OP: out std_logic_vector (1 downto 0)
);
ATTRIBUT PART_NAME DE maquina_contador: entité est "PALC22V10D";
ATTRIBUT PIN_NUMBERS DE maquina_contador: ENTITY IS
"clk: 1" &
"premier: 2" &
"sse (0) 3:" &
"sse (1): 4" &
"op (0): 22" &
"op (1): 21";
maquina_contador fin;maquina_contador architecture de maquina_contador est
estados type est (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12);
signal edo_presente, edo_futuro: estados;
commencer
processus (SSE, edo_presente)
commencer
edo_presente cas est
lorsque s0 => op <= "00";
if (SSE = "00"), puis
edo_futuro <= s1;
elsif (SSE = "01"), puis
edo_futuro <= s2;
elsif (SSE = "10"), puis
edo_futuro <= s4;
autre
edo_futuro <= s3;
fin si;
lorsque s1 => op <= "00";
if (SSE = "10"), puis
edo_futuro <= S9;
elsif (SSE = "01"), puis
edo_futuro <= s5;
autre
edo_futuro <= s1;
fin si;
lorsque s2 => op <= "00";
if (SSE = "00"), puis
edo_futuro <= s10;
elsif (SSE = "11"), puis
edo_futuro <= s6;
autre
edo_futuro <= s2;
fin si;
lorsque s3 => op <= "00";
if (SSE = "01"), puis
edo_futuro <= S11;
elsif (SSE = "10"), puis
edo_futuro <= s7;
autre
edo_futuro <= s3;
fin si;
lorsque s4 =>
if (SSE = "11"), puis
edo_futuro <= s12;
elsif (SSE = "00"), puis
edo_futuro <= s8;
autre
edo_futuro <= s4;
fin si;
op <= "00";
lorsque s5 => op <= "11";
edo_futuro <= s2;
lorsque s6 => op <= "11";
edo_futuro <= s3;
lorsque s7 => op <= "11";
edo_futuro <= s4;
lorsque s8 => op <= "11";
edo_futuro <= s1;
lorsque S9 => op <= "10";
edo_futuro <= s4;
lorsque s10 => op <= "10";
edo_futuro <= s1;
lorsque S11 => op <= "10";
edo_futuro <= s2;
quand les autres => op <= "10";
edo_futuro <= s3;
end case;
fin de processus;process (Clk, Rst)
commencer
if (RST ='1 '), puis
edo_presente <= s0;
elsif (Clk'event et Clk ='1 '), puis
edo_presente <= edo_futuro;
fin si;
fin de processus;
maquina_contador fin;