PLD interne forbindelser

Z

ZainZeus

Guest
hej
Im ny i dette forum, så hej alle, og uanset, anyways lige på mit spørgsmål

I'm moreless nyt i VHDL programmering og jeg skrev denne kode
Code:library IEEE;

brug ieee.std_logic_1164.all;enhed maquina_contador er

port (

CLK, RST: i std_logic;

SSE: i std_logic_vector (1 downto 0);

OP: out std_logic_vector (1 downto 0)

);

Attribut PART_NAME AF maquina_contador: enhed er "PALC22V10D";

Attribut PIN_NUMBERS AF maquina_contador: enhed er

"CLK: 1" &

"RST: 2" &

"sse (0): 3" &

"sse (1): 4" &

"op (0): 22" &

"OP (1): 21";

udgangen maquina_contador;arkitektur maquina_contador af maquina_contador er

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

signal edo_presente, edo_futuro: Estados;

begynd

processen (SSE, edo_presente)

begynd

tilfælde edo_presente er

når s0 => OP <= "00";

if (SSE = "00") og derefter

edo_futuro <= s1;

elsif (SSE = "01") og derefter

edo_futuro <= s2;

elsif (SSE = "10") og derefter

edo_futuro <= s4;

anden

edo_futuro <= s3;

udgangen, hvis;

når s1 => OP <= "00";

if (SSE = "10") og derefter

edo_futuro <= S9;

elsif (SSE = "01") og derefter

edo_futuro <= s5;

anden

edo_futuro <= s1;

udgangen, hvis;

når s2 => OP <= "00";

if (SSE = "00") og derefter

edo_futuro <= S10;

elsif (SSE = "11") og derefter

edo_futuro <= S6;

anden

edo_futuro <= s2;

udgangen, hvis;

når s3 => OP <= "00";

if (SSE = "01") og derefter

edo_futuro <= S11;

elsif (SSE = "10") og derefter

edo_futuro <= S7;

anden

edo_futuro <= s3;

udgangen, hvis;

når s4 =>

if (SSE = "11") og derefter

edo_futuro <= S12;

elsif (SSE = "00") og derefter

edo_futuro <= S8;

anden

edo_futuro <= s4;

udgangen, hvis;

OP <= "00";

når s5 => OP <= "11";

edo_futuro <= s2;

når S6 => OP <= "11";

edo_futuro <= s3;

når S7 => OP <= "11";

edo_futuro <= s4;

når S8 => OP <= "11";

edo_futuro <= s1;

når S9 => OP <= "10";

edo_futuro <= s4;

når S10 => OP <= "10";

edo_futuro <= s1;

når S11 => OP <= "10";

edo_futuro <= s2;

når andre => OP <= "10";

edo_futuro <= s3;

ende sag;

ende proces;processen (CLK, RST)

begynd

if (RST ='1 ') og derefter

edo_presente <= s0;

elsif (Clk'event og CLK ='1 ') og derefter

edo_presente <= edo_futuro;

udgangen, hvis;

ende proces;

udgangen maquina_contador;

 

Welcome to EDABoard.com

Sponsor

Back
Top