Lahko pa se poslužite državni stroj na naslednji način:

E

EDA_hg81

Guest
Lahko pa se poslužite državni stroj na naslednji način:

Code:

SEQ1: proces (CLK_IN, F_RESET)

začeti

if (F_RESET = '0 ') then

CURRENT_STATE <= INITWAIT;

elsif (CLK_IN'EVENT in CLK_IN = '1 ') then

CURRENT_STATE <= NEXT_STATE;

end if;

koncu postopka;SEQ2: proces (CLK_IN, F_RESET)

začetiče (CLK_IN'EVENT in CLK_IN = '1 ') then

primer je CURRENT_STATE

ko INITWAIT =>

if (INIT_CON2 = 1023), nato

NEXT_STATE <= CONMOD;

še

NEXT_STATE <= INITWAIT;

end if;

ko CONMOD =>
 
prvič, glede na kodo, ni treba uporabljati FDM.
To je tako jasno, da je FSM uneeded.

Genraly, FDM, izvajajo v primeru izjave morajo biti prijavljeni v asinhron procesu.Da bi se izognili LATCHs vas zajema vse zadeve posibilties in ALYAWS uporabo v primeru drugih ...

 
Prvi proc izgleda v redu.Drugi proces je mogoče preprosto večkombinacijskih proces logiki.Naslednji članek daje zelo dober pregled.
http://www.sunburst-design.com/papers/CummingsICU2002_FSMFundamentals.pdf

 
Najlepša hvala vsem.

Sem rabil ta način in spoznal, kaj hočem.

 

Welcome to EDABoard.com

Sponsor

Back
Top