Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Need help in a ATM banking machine in vhdl on fpga board

Status
Not open for further replies.

alelex

Newbie level 2
Joined
Mar 29, 2010
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,290
Hello guys . I am pretty new to VHDL/Xilinix . I need a project about an atm banking machine implemented on a FPGA , or at least some help . I will be very grateful. Thaks
 

Hello alelex;
The best thing is to use finite state machine to synthesize your sequential circuit. you can use either Moore's or Mealy's topolgy. Please read the following page to review your knowledge about FSM **broken link removed**

I can give you a simple example of what you can do I'm not going to give you the code for it. If we assume the following:
1- Three inputs one is called btn_Enter, in1_10dollars, in1_100dollars
2- Two motors one cashes 10 dollars and the other cahses 100 dollars
After you well define the states needed you need to write something like

Code:
   type state_type is (st1_Idel, st2_EnterPass, st3_GetRequest, ProcessRequest); 
   signal state, next_state : state_type; 
   --Declare internal signals for all outputs of the state-machine
   signal Enable_Motor_sig : std_logic;  
   signal Enable_Motor2_sig : std_logic;  
	--other outputs
    
   SYNC_PROC: process (clk)
   begin
      if (clk'event and clk = '1') then
         if (reset = '1') then
            state <= st1_Idel;
            Enable_Motor_sig <= '0';
         else
            state <= next_state;
            Enable_Motor_out <= Enable_Motor_sig;
         -- assign other outputs to internal signals
         end if;        
      end if;
   end process;
 
   --MEALY State-Machine - Outputs based on state and inputs
   OUTPUT_DECODE: process (state, in1_10dollars, in2_100dollars, ...)
   begin
      --insert statements to decode internal output signals
      --below is simple example
      if (state = st4_ProcessRequest and in1_10dollars = '1') then
         Enable_Motor1_sig <= '1';
      elsif (state = st4_ProcessRequest and in1_100dollars = '1') then
         Enable_Motor2_sig <= '1';
      else
         .....
      end if;
   end process;
 
   NEXT_STATE_DECODE: process (state,in1_10dollars, in2_100dollars, ...)
   begin
     case (state) is
         when st1_Idel =>
            if btn_Enter = '1' then
               next_state <= st2_EnterPass;
            end if;
         when st2_EnterPass =>
            if in1_10dollars = '1' then
               next_state <= st4_ProcessRequest;
            end if;
         when .... =>
            next_state <= ....;
         when others =>
            next_state <= ....;
      end case;      
   end process;

I hope this helps, and please try googling before asking simple questiuons

Best Wishes,
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top