O
Opel_Corsa
Guest
I det følgende kodeeksempel en tilstand maskine er defineret:
Kode:
arkitektur RTL af mycode er
type state_type er (I0, I1, I2, I3, I4, I5, I6);
signal y: state_type;
signal var_x, var_y: std_logic;
begynd
proces (CLK, reset)
begynd
if (reset = '1 ') then
var_x <= '0 ';
y <= I0;
elsif (clk'event og clk = '1 ') then
tilfælde y er
når I1 => y <= I2;
når I2 => y <= I3;
når I3 => y <= I4;
når I4 => y <= I5;
når I5 => y <= I6;
når andre => var_x <= '0 ';
y <= I1;
ende sag;
end if;
end process;med y vælge
outputscr <= "00000000", når I0,
"00111000", når I1,
"00111000", når I2,
"00001100", når I3,
"00000001", når I4,
"00000110", når I5,
"10000000", når I6;ende RTL;
Kode:
arkitektur RTL af mycode er
type state_type er (I0, I1, I2, I3, I4, I5, I6);
signal y: state_type;
signal var_x, var_y: std_logic;
begynd
proces (CLK, reset)
begynd
if (reset = '1 ') then
var_x <= '0 ';
y <= I0;
elsif (clk'event og clk = '1 ') then
tilfælde y er
når I1 => y <= I2;
når I2 => y <= I3;
når I3 => y <= I4;
når I4 => y <= I5;
når I5 => y <= I6;
når andre => var_x <= '0 ';
y <= I1;
ende sag;
end if;
end process;med y vælge
outputscr <= "00000000", når I0,
"00111000", når I1,
"00111000", når I2,
"00001100", når I3,
"00000001", når I4,
"00000110", når I5,
"10000000", når I6;ende RTL;