Wat de FSM in VHDL

E

eda_guy

Guest
Hoi,

Ik heb een FSM in mijn ontwerp met 2 proces, dat wil zeggen een voor sequentiële en volgende combinatievormen in dit hoe alle plaatselijke signaal initilize in de reset-toestand?Ik ben met vermelding van de manier waarop ik doe.Corrigeer mij als het verkeerd is / stel me als een betere manier is om te doen.

--------------------------------------------------
architeture beh van de FSM is
signaal <sig1>: <sig_type>;
signaal <sig2>: <sig_type>;
signaal <sig3>: <sig_type>;
.
.
.
signaal <sig10>: <sig_type>;proc1: proces (clk, rst)
beginnen
indien rst = '1 'dan
p_state <= state0;
elsif clk'event en clk = '1 'dan
p_state <= n_state;
end if;
einde proces

proc2: proces (p_state, RST, <input haven signals>)
Variabele <local signals1>;
Variabele <local signals2>;
.
.
.
.
Variabele <local signals10>;
beginnen
indien rst = '1 'dan
initilize alle lokale signalen 1 tot 10 met standaard val;
initilize alle variabelen 1 tot 10 met standaard val;
n_state <= state0;
anders
geval p_state is
wanneer state0 =>
--- Sommige opdrachten;
--- Sommige assignmets om uitgangssignaal;
wanneer state1 =>
--- Sommige opdrachten;
.
.
.
wanneer anderen =>
n_state <= state0;
endcase;
end if;
einde proces
--------------------------------------------------
thankx en rgds,
eda_guy

 
In het eerste proces dat je het initialiseren van de p_state te state0.In het tweede proces dat je niet nodig de rst signaal.
De signalen en variabelen worden geïnitialiseerd in de state0 dat is de staat die de FSM gaat wanneer reset plaatsvindt.Dus de code voor het tweede proces is:

proc2: proces (p_state, <input haven signals>)
Variabele <local signals1>;
Variabele <local signals2>;
.
.
.
.
Variabele <local signals10>;
beginnen

geval p_state is

wanneer state0 =>

initilize alle lokale signalen 1 tot 10 met standaard val;
initilize alle variabelen 1 tot 10 met standaard val;

wanneer state1 =>
--- Sommige opdrachten;
.
.
.
wanneer anderen =>
n_state <= state0;

endcase;
end if;
einde proces

Hoop dat dit geholpen.

 
eda_guy wrote:

Hoi,Ik heb een FSM in mijn ontwerp met 2 proces, dat wil zeggen een voor sequentiële en volgende combinatievormen in dit hoe alle plaatselijke signaal initilize in de reset-toestand?

eda_guy
 
Het tweede proces hoeft niet te bevatten reset, kunt u add ur logica rechtstreeks bij ur in state0 het gebruik van de zaak statments, en alle lokale signalen u verlangen om initilaize, kijk hen in de huidige staat.

Er zijn drie verschillende stijlen van codering in statemachines in VHDL.
uiteraard het een hierboven beschreven, gaat de effiecient een.

groeten

 

Welcome to EDABoard.com

Sponsor

Back
Top