用VHDL设计有限状态机的方法

嵌入式系统 时间:2011-06-01来源:网络

architecture state_machine of controller is

type statetype is (system_reset,load,one_dry,water_ld, water,

two_dry_ld,two_dry,unload_reset,unload,return_trip,decision,

wash,cycle_ld);

signal present_state,next_state : statetype;

begin

state_comb:process (present_state,c0,reset,k1,k2,r1,r2,r3)

begin

  if reset='1' then

 clr1='1';clr2='1';clr3='1';j='0';ena1='0';

ena2='0';

  g1='0';c='0';b='0';a='0';

fo=″0000000″;ld1='0';ld2='0';ld3='0';

next_state = system_reset;

else

case present_state is

when system_reset =>

clr1='1';clr2='1';clr3='0';j='0';

ena1='0';ena2='0';

g1='1';c='1';b='0';a='1';

fo=″0000000″;ld1='0';ld2='0';ld3='1';

if (c0='1') then

next_state=load;

else

next_state=system_reset;

end if;

when load =>

clr1='0';clr2='0';clr3='0';j='0';

ena1='1';ena2='0';

g1='0';c='0';b='0';a='0';

fo=″0000001″;ld1='0';ld2='0';ld3='0';

if (k1='1') then

next_state=one_dry;

else

next_state=load;

end if;

……

end case;

end if;

end process state_comb;

state_clocked:process(clk1,reset)

begin

if reset='1' then

present_state=system_reset;

elsif rising_edge(clk1) then

present_state=next_state;

1 2 3

关键词: 方法 状态 有限 设计 VHDL

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版