PLD wewnętrzne połączenia

Z

ZainZeus

Guest
cześć
Im nowy na tym forum, tak i bez Hello everyone, anyways prosto na moje pytanie

I'm moreless nowego w VHDL programowania i napisałem ten kod
Kod:Biblioteka IEEE;

wykorzystania ieee.std_logic_1164.all;Jednostka jest maquina_contador

port (

CLK, RST: in std_logic;

SSE: w std_logic_vector (1 downto 0);

PO: out std_logic_vector (1 downto 0)

);

Attribute PART_NAME Z maquina_contador: podmiot jest "PALC22V10D";

Attribute PIN_NUMBERS Z maquina_contador: podmiot

"CLK: 1" &

"rst: 2" &

"sse (0): 3" &

"sse (1): 4" &

"op (0): 22" &

"op (1): 21";

koniec maquina_contador;Architektura maquina_contador z maquina_contador jest

Typ Estados jest (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12);

sygnał edo_presente, edo_futuro: Estados;

zacząć

Proces (SSE, edo_presente)

zacząć

przypadku edo_presente jest

kiedy s0 => op <= "00";

if (SSE = "00"), a następnie

edo_futuro <= s1;

elsif (SSE = "01"), a następnie

edo_futuro <= s2;

elsif (SSE = "10"), a następnie

edo_futuro <= s4;

w przeciwnym razie

edo_futuro <= s3;

end if;

kiedy s1 => op <= "00";

if (SSE = "10"), a następnie

edo_futuro <= s9;

elsif (SSE = "01"), a następnie

edo_futuro <= s5;

w przeciwnym razie

edo_futuro <= s1;

end if;

przy s2 => op <= "00";

if (SSE = "00"), a następnie

edo_futuro <= S10;

elsif (SSE = "11"), a następnie

edo_futuro <= S6;

w przeciwnym razie

edo_futuro <= s2;

end if;

kiedy s3 => op <= "00";

if (SSE = "01"), a następnie

edo_futuro <= S11;

elsif (SSE = "10"), a następnie

edo_futuro <= s7;

w przeciwnym razie

edo_futuro <= s3;

end if;

kiedy s4 =>

if (SSE = "11"), a następnie

edo_futuro <= S12;

elsif (SSE = "00"), a następnie

edo_futuro <= s8;

w przeciwnym razie

edo_futuro <= s4;

end if;

op <= "00";

kiedy s5 => op <= "11";

edo_futuro <= s2;

kiedy S6 => op <= "11";

edo_futuro <= s3;

kiedy s7 => op <= "11";

edo_futuro <= s4;

kiedy s8 => op <= "11";

edo_futuro <= s1;

kiedy s9 => op <= "10";

edo_futuro <= s4;

kiedy S10 => op <= "10";

edo_futuro <= s1;

gdy S11 => op <= "10";

edo_futuro <= s2;

gdy inni => op <= "10";

edo_futuro <= s3;

zakończenia sprawy;

koniec procesu;Proces (CLK, RST)

zacząć

if (rst ='1 '), a następnie

edo_presente <= s0;

elsif (Clk'event i CLK ='1 '), a następnie

edo_presente <= edo_futuro;

end if;

koniec procesu;

koniec maquina_contador;

 

Welcome to EDABoard.com

Sponsor

Back
Top