新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用VHDL設(shè)計(jì)有限狀態(tài)機(jī)的方法

用VHDL設(shè)計(jì)有限狀態(tài)機(jī)的方法

作者: 時(shí)間:2011-06-01 來(lái)源:網(wǎng)絡(luò) 收藏

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;

塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理


評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉