potřebují pomoc ve stroji bankovního bankomatu ve VHDL FPGA na palubě

A

alelex

Guest
Ahoj kluci.Jsem docela nové pro VHDL / Xilinix.Potřebuji projekt o bankovní bankomat prováděny na FPGA, nebo alespoň nějakou pomoc.Budu velmi vděčný.Thaks

 
Ahoj alelex;
Nejlepší je použít konečný automat syntetizovat svůj sekvenčního obvodu.Můžete použít buď Moore, nebo Mealyho je topolgy.Prosím přečtěte si následující stránky, aby přezkoumaly své znalosti o FSM http://web.cs.mun.ca/ paul/cs3724/material/web/notes/node25.html ~
of what you can do I'm not going to give you the code for it.

Můžu vám dát jednoduchý příklad toho,
co můžete dělat nebudu, aby vám kód pro ni.Budeme-li předpokládat následující:
1 - Tři vstupy z nich je tzv. btn_Enter, in1_10dollars, in1_100dollars
2 - dva motory jeden pokladny 10 dolarů a další cahses 100 dolarůthe states needed you need to write something like

Po dobře definovat
státy musely musíte napsat něco jako

Kód:Typ state_type je (st1_Idel, st2_EnterPass, st3_GetRequest, ProcessRequest);

signál, next_state: state_type;

- Určit, vnitřní signály pro všechny výstupy state-stroj

signál Enable_Motor_sig: std_logic;

signál Enable_Motor2_sig: std_logic;

- Další výstupySYNC_PROC: proces (CLK)

začít

if (clk'event a CLK = '1 '), pak

if (reset = '1 '), pak

stavu <= st1_Idel;

Enable_Motor_sig <= '0 ';

jiný

stavu <= next_state;

Enable_Motor_out <= Enable_Motor_sig;

- Přiřadit jiné výstupy pro vnitřní signály

end if;

end if;

ukončení procesu;- Mealyho state-Machine - výstupy na státní a vstupy

OUTPUT_DECODE: proces (stav, in1_10dollars, in2_100dollars, ...)

začít

- Vložka prohlášení k dekódování vnitřní výstupní signály

- Ve spodní části je jednoduchý příklad

if (stav = st4_ProcessRequest a in1_10dollars = '1 '), pak

Enable_Motor1_sig <= '1 ';

elsif (state = st4_ProcessRequest a in1_100dollars = '1 '), pak

Enable_Motor2_sig <= '1 ';

jiný

.....

end if;

ukončení procesu;NEXT_STATE_DECODE: proces (stav, in1_10dollars, in2_100dollars, ...)

začít

případě (státní) je

když st1_Idel =>

pokud btn_Enter = '1 'pak

next_state <= st2_EnterPass;

end if;

když st2_EnterPass =>

pokud in1_10dollars = '1 'pak

next_state <= st4_ProcessRequest;

end if;

když ....
=>

next_state <= ....;

když ostatní =>

next_state <= ....;

konec případu;

ukončení procesu;
 

Welcome to EDABoard.com

Sponsor

Back
Top