noen grunnleggende spørsmål - filer, relasjonelle forhold

M

madmaiden

Guest
hallo,

Jeg har noen grunnleggende spørsmål og lese forskjellige tutorials hjalp ikke.Jeg ønsker å lage en stat maskin som går om alle stater en fast numer av (la oss si fem) ganger så stopper og venter til en knapp trykkes.Jeg prøvde koding dette i Verilog og også i VHDL.ingen resultater.For å teste om staten maskinen jobbet jeg koblet den til tx pin, og hver gang den nådde den første staten et tall ble overført.Det workes fin, men jeg vil gjøre det sender fem verdier hver gang en knapp trykkes, ikke mer ikke mindre.Jeg har også en debounce blokk, som fungerer fint.
Jeg vil legge koden er skrevet i VHDL:

Code:fsm1: PROCESS (pb1, currentstate, tx_rdy, nr.)

begynne

case currentstate er

når ledig =>

tx_write <= '1 ';

if (tx_rdy = '1 ') AND (nr <5) så

nextstate <= st1;

elsif (pb1 = '1 ')

nr = "000";

ellers

nextstate <= idle;

end if;

når st1 =>

dat <= "01010001"; - doens egentlig ikke uansett hva det er transmiited for nå

nr <= nr '1 ';

nextstate <= ST2;

når ST2 =>

tx_write <= '0 ';

nextstate <= ST3;

når ST3 =>

nextstate <= idle

end case;

end process;

 
madmaiden,

Et par ting:

1) Gjør prosessen er en kombinatorisk blokk.Eventuelle signaler som du angir i noen av filialene må være fullstendig spesifisert eller annet du antyde låsene, som sannsynligvis ikke det du ønsker.Du kan angi en standardverdi for disse signalene mellom begynne og saken uttalelser.

2) Jeg forutsetter at du har en sekvensiell prosess sted som registrerer verdien av nextstate inn currentstate?

3) Det kan være nyttig hvis du inkluderer noen av signalet deklarasjoner.

Radix

 
madmaiden,

I don `t get much fra koden din, siden du haven` t inkludert eventuelle signal erklæringer.Men, jeg antar at "nr" signalet er av typen heltall.Antar dette, ved staten 'st1' du ikke bør gjøre

Code:

nr <= nr '1 '
 

Welcome to EDABoard.com

Sponsor

Back
Top