nogle grundlæggende spørgsmål - tilføjelser, relationel tilstand

M

madmaiden

Guest
hej,

Jeg har nogle grundlæggende spørgsmål og læse forskellige tutorials hjalp ikke.Jeg vil gerne gøre en tilstand maskine, der går om alle stater en fast numer af (lad os sige fem) gange så stopper og venter, indtil en knap er trykket ned.Jeg prøvede kodning dette i verilog og også i vhdl.ingen resultater.For at teste om staten blev maskinen arbejder jeg tilsluttet den til tx pin, og hver gang den nåede den første stat en række blev sendt.Det workes fint, men jeg vil gerne gøre det sende fem værdier, hver gang der trykkes på knappen, ikke mere ikke mindre.Jeg har også en Debounce blok, der virker fint.
Jeg vil sende den kode skrevet i vhdl:

Kode:fsm1: PROCESS (PB1, currentstate, tx_rdy, nr)

begynd

tilfælde currentstate er

hvor ledig =>

tx_write <= '1 ';

if (tx_rdy = '1 ') AND (nr <5), derefter

nextstate <= st1;

elsif (PB1 = '1 ')

nr = "000";

anden

nextstate <= tomgang;

end if;

når ST1 =>

dat <= "01010001"; - doens 't virkelig betyder noget, hvad det er transmiited for nu

nr <= nr '1 ';

nextstate <= ST2;

når ST2 =>

tx_write <= '0 ';

nextstate <= ST3;

når ST3 =>

nextstate <= tomgang

ende sag;

end process;

 
madmaiden,

Et par ting:

1) Din proces er et kombinatorisk blok.Eventuelle signaler, som du angiver i nogen af dine filialerne skal være fuldt specificeret eller andet du antyde, låse, der er sikkert ikke, hvad du ønsker.Du kan angive en standardværdi for disse signaler mellem de begynder og tale udtalelser.

2) Jeg antager at du har en sekventiel proces, et sted, som registrerer værdien af nextstate i currentstate?

3) Det kan være nyttigt, hvis du medtager nogle af dit signal erklæringer.

Radix

 
madmaiden,

I don `t get much fra din kode, da du haven` t inkluderet ethvert signal erklæringer.Men jeg gætter på, at den »nr.« signal er af typen heltal.Antages det, at staten "st1" du skal ikke gøre

Kode:

nr <= nr '1 '
 

Welcome to EDABoard.com

Sponsor

Back
Top