Sei sulla pagina 1di 9

ISSN 2322-0929

Vol.02,Issue.01,
January-2014,
Pages:0112-0120

ww.semargroup.org
www.ijvdcs.org

An ASIC Implementation of Automated Teller Machine Controller for


Secured Financial Transactions
PONNA. DIVYA1, AMMIREDDY LAVANYA2, TADI. CHANDRA SEKHAR3
1
Research Scholar, Dept of ECE, GIET Engineering College, Rajahmundry, Andhrapradesh, India,
Email:ponna.divya1@gmail.com.
2
Asst Prof, Dept of ECE, GIET Engineering College, Rajahmundry, Andhrapradesh, India,
E-mail:lavanya.ammireddy@gmail.com.
3
Prof, Dept of ECE, GIET Engineering College, Rajahmundry, Andhrapradesh, India, Email: assprof@rediffmail.com.

Abstract: The high growth of the semiconductor industry over the past two decades has put Very Large Scale Integration in
demand all over the world. The basics of digital logic theory and techniques are easily understood by the design based on VLSI
technology. These are the core fundamentals of the fast, high-speed complex digital circuits. The electronic industry has
achieved a phenomenon growth over the last few decades, mainly due to the rapid advance in semiconductor technologies and
increases the demand in VLSI. In the growing technological world, people want their work to be very simple in order to save
their time. As we know some new technology is becoming popular in banking sector, which is referred as ATMs. It makes the
work of people as well as the banking sectors to be easy. ATMs help in providing money to the people nearer to the living area
by saving their time so that it becoming very popular. In this work the development of a Moore machine state diagram of an
ATM controller. The developed design will be modeled using Verilog HDL language which is a Hardware Description
Language (HDL) used to describe a digital system. The verification of developed model will be made by identifying the
suitable test cases in a test bench. The simulation will be carried out using Modelsim tool and the intended functionality can be
verified with the help of its simulation results and also it can be synthesized using the Xilinx tool.

Keywords: ATM, XILINX, VERILOG, ASIC.

I. INTRODUCTION it becomes user friendly now. In this chapter architecture


Automated Teller Machines (ATM) are banking kiosks of an ATM is designed and the finite state diagram of the
available to consumers 24X7. These serve as data system is drawn. The system level analysis is made with
terminals for convenient money transactions. In these the help of FSM of the system. An automated teller
unattended machines, user has to use the ATM card (a card machine (ATM) is a computerized electronic device that
with the account information) and provide the Personal helps the customers of a financial institution to access the
Identification Number (PIN) using a keypad. When the financial transactions in a public place without any help
computer verifies the PIN, the customer gets a choice of from others. On most modern ATMs, the customer is
transactions. Adhering to the instructions and entering identified by inserting a plastic ATM card with a magnetic
proper choices, user can dispense cash, deposit cash, stripe or a plastic smartcard with a chip that contains a
change PIN or just get an information on account balance. unique card number and some security information, such
Basically an ATM (Automated Teller Machine) is the as an expiration date. Security is provided by the customer
combination of hardware and software. The hardware used entering a personal identification number (PIN).
is card swiper, keypad, display, etc.
In earlier days customers of one bank can able to access
The software such as operating system controls this the ATM machines of that bank only, since banks have
hardware’s. Now a day’s digital system is entered in formed cooperative, nationwide networks so that a
replacing the software. After the invention of ATM, customer of one bank can use an ATM of another bank for
different groups design the different parts of the system. cash access. Using an ATM, customers can access their
But in new generation there are different methods and tools bank accounts in order to make cash withdrawals or check
are emerging, which can handle the design of system from their account balances. The types of banking transactions a
system level specification. Security, flexibility and customer can carryout are determined by capabilities of the
reliability of user’s account get increased due to ATM and particular banking machine and the programming of the

Copyright @ 2014 SEMAR GROUPS TECHNICAL SOCIETY. All rights reserved.


PONNA. DIVYA, AMMIREDDY LAVANYA, TADI. CHANDRA SEKHAR

institution operating the machine. Now a days ATMs are  Armored ATM: Armored ATM’s are used primarily as
used for alternative uses like updating pass books, printing outdoor ATM’s. Such as outdoor entertainment
bank documents, paying bills etc. districts, outdoor flea markets, outdoor concert and
events, etc.
II. REVIEW ON ATM  Non-armored ATM's: Non-armored ATM’s are used
ATMs are becoming increasingly popular because they primarily for indoor locations that are closed to the
make banking functions available to all the customers public when employees are not present. Such as indoor
around the clock, and at variety of locations, in addition to malls, movie theaters, night clubs, restaurants, bars,
banks. In olden days ATMs are manufactured mainly by etc
using microprocessor or microcontroller. Due to heavier
demands and the falling price of computer like A. Survey on ATM Operations
architectures, ATMs have moved away from custom ATM accesses the bank account through telephone
architectures using microcontroller and / or integrated networking, a host processor and a bank computer to verify
circuits to adopting hardware architecture that is very the data. All the operations of ATM are in synchronization
similar to a personal computer. Although it is a cheaper to in reference to a common clock source. In case of any
use commercial hardware, it does not mean that ATMs are misconnection between the process steps, the whole
free from some sort of problems exhibited by the personal transaction is rolled back to effect no change in the account
computers. With the migration to commodity pc hardware, status.
standard commercial operating systems and programming
environments can be used in ATMs. Typical platforms
used in ATMs include Microsoft operating systems, Sun
Microsystems, Solaris, Java, Linux and UNIX may also be
used in these environments. In the current scenario Linux
is also playing a leading role in the ATM market place.
Most of the companies are trying to use Linux operating in
there ATMs.

Most ATMs are connected to interbank networks,


enabling people to withdraw and deposit money from
machines not belonging to the bank where they have their
account. This is a convenience; especially for people who
Figure1. Simple ATM Networking
are traveling it is possible to make withdrawals in places
where one's bank has no branches, and even to withdraw
Banks work to enhance the CRM and integrate the same
local currency in a foreign country. ATMs mainly consists
at ATMs. It takes care that no tampering and fraud is
of a special type of secure cryptoprocessor, which is a
possible. For this, the controller of ATM needs to have
dedicated microprocessor mainly used for extracting the
complete secured control over the ATM operations. The
information from the card used by the customer. The
ATM Controllers are working on windows based operating
security of ATM transactions relies mostly on the integrity
systems, which also provide ease to designers for
of the secure crypto processor. Many ATMs usually print
programming and modeling its operation. ATM controllers
each transaction in a printout form that is rolled into a roll
are sophisticated chip elements designed and programmed
of paper stored inside the ATMs, which allows both the
to make the transaction simple and user-friendly.
users of the ATMs and the financial institutions to keep
records, in case there is a dispute. In some cases, The ATM must be able to provide the following services
transactions are posted directly to an electronic journal to to the customer:
reduce the need for paper work. The physical security of  A customer must be able to make a cash withdrawal
the ATMs can be increased by using the techniques such as from any suitable account linked to the card;
dye markers and smoke canisters. In order to give right approval must be obtained from the bank before
person to access the account, and to increase the security cash is dispensed.
level in the ATMs, security cameras and security guards  A customer must be able to make a deposit to any
are a common feature and the manufactures also deployed account linked to the card, consisting of cash and/or
several different techniques on ATMs. The different checks in an envelope. The customer will enter the
techniques include biometric scanning, bar code scanning amount of the deposit into the ATM, subject to
etc. manual verification when the envelope is removed
from the machine by an operator. Approval must be
ATM machines are broken down into two different types obtained from the bank before physically accepting
of ATM classifications. the envelope.

International Journal of VLSI System Design and Communication Systems


Volume.02, IssueNo.01, January-2014, Pages:0112-0120
An ASIC Implementation of Automated Teller Machine Controller for Secured Financial Transactions

 A customer must be able to make a transfer of the one stored from the card, so it is 4 bits long and
money between any two accounts linked to the card. contains 1s and 0s. Once the PIN has been entered, the
 A customer must be able to make a balance inquiry Enter key should be pressed. (If the Clear button is pressed,
of any account linked to the card. the inputted PIN should be reset). 3 invalid PINs results in
The ATM will communicate each transaction to the bank a Locking of the account. When a PIN is invalid, the state
and obtain verification that it was allowed by the bank. machine should continue to try to get a new PIN until 3
Ordinarily, a transaction will be considered complete by invalid ones have been entered.
the bank once it has been approved. In the case of a
deposit, a second message will be sent to the bank Once a valid PIN is entered the user has an option to
indicating that the customer has deposited the envelope. If either withdraw or deposit money. A deposit consists of
the customer fails to deposit the envelope within the getting the amount from the keypad and then checking
timeout period, or presses cancel instead, no second with memory to see if the current balance would overflow
message will be sent to the bank and the deposit will not be (16 bits) based on the deposit amount. If the amount causes
credited to the customer. If the bank determines that the an overflow, the resulting balance is not written back
customer's PIN is invalid, the customer will be required to memory the “anything Else” signal is asserted as well as
re-enter the PIN before a transaction can proceed. If the the “Invalid Transaction” signal. In the event that the
customer is unable to successfully enter the PIN after three transaction is valid, the user is taken to a screen where they
tries, the card will be permanently retained by the machine, can verify the transaction and new balance (“verify”) from
and the customer will have to contact the bank to get it which an “Enter” input sends a request to update the
back. If a transaction fails for any reason other than an balance in memory and upon completion prompts them
invalid PIN, the ATM will display an explanation of the with “anything Else”
problem, and will then ask the customer whether he/she
wants to do another transaction. A withdraw works very similarly. A withdraw amount is
entered from the keypad and then the controller must get
The ATM will provide the customer with a printed the current balance from memory and determine if you can
receipt for each successful transaction, showing the date, remove that much from the account. Again, if it is possible,
time, machine location, type of transaction, account, the new balance is written to memory, if not then nothing
amount, and ending and available balance of the affected is written to memory and the Invalid Transaction line goes
account. The ATM will have a key-operated switch that high to the display, and then the controller should ask if
will allow an operator to start and stop the servicing of there is another transaction to be completed. When the “is
customers. After turning the switch to the "on" position, there another transaction?” (“anything Else”) screen is up,
the operator will be required to verify and enter the total the “0” is no and “1” is yes. “0” will return the user to the
cash on hand. The machine can only be turned off when it initial state of waiting for a card to be swiped, and “1”
is not servicing a customer. When the switch is moved to returns them to the “which transaction?” state.
the "off" position, the machine will shut down, so that the
operator may remove deposit envelopes and reload the The handshaking with memory works as follows:
machine with cash, blank receipts, etc.  The controller sets Req to high with a valid
account number
The ATM will also maintain an internal log of  If Lock is HIGH then,
transactions to facilitate resolving ambiguities arising from 1. Memory will set ReqDone to high when it is
a hardware failure in the middle of a transaction. Entries done locking the account.
will be made in the log when the ATM is started up and 2. When Req is set to low, ReqDone will go
shut down, for each message sent to the Bank (along with low.
the response back, if one is expected), for the dispensing of  Else if Write is LOW then…
cash, and for the receiving of an envelope. 1. Memory will set ReqDone to high and have the
current balance on AmmountOut.
B. Design of an ATM Controller 2. When Req is set to low, ReqDone will go low.
Basically in this work controller for an ATM is created.  Else if Write is HIGH then…
There are many different parts of the controller that is 1. Memory will set ReqDone to high when done
designed. First ATM controller should store the important writing the new value that is valid on Ammount In
information from the Card Swiper. When the CardScanned 2. When Req is set to low, ReqDone will go low.
line goes high, a new card has been scanned and the data is
valid on both the CardNumber line and the PIN line. Next C. ATM Controller Block Diagram
ATM controller must be able to parse an entered PIN. All the above blocks integrate together to form the
When the Key Entered line goes high, at most one of the controller of ATM. The ATM controller as a whole
bits of Key will be high. A valid PIN is one that matches interacts with all the other blocks of ATM – Card swiper,
International Journal of VLSI System Design and Communication Systems
Volume.02, IssueNo.01, January-2014, Pages:0112-0120
PONNA. DIVYA, AMMIREDDY LAVANYA, TADI. CHANDRA SEKHAR

Key pad, LUT, memory and Display unit. The block is possible. On getting the PIN matched, user is asked for
diagram in the figure 1.8 shows the detailed interaction of the option for the operation he wants to do. For both
the ATM controller with other blocks as well within itself. withdrawal and deposit, he is been provided with the
To summarize the operation, the ATM controller is current balance of the account and asked for the transaction
activated on swipe of a card at the card swiper. It then amount. A viable transaction amounts prompts user to
checks its lock status and asks to enter the PIN only when verify the transaction, else flags an invalid transaction to
unlocked. User has to enter the correct PIN within three the user. Similarly, if user, opts to neglect the verify
trials, after which ATM corresponds with the memory to option, the transaction goes to be invalid. If verified, the
lock the account and no further transaction on the account account details are updated and displayed.

Figure2. Block Diagram for ATM Controller


Operation: Initially the system is in idle state and when it
In all cases, and asks if he wants another transaction. If is ready to operate, S0 state is selected which represents
yes, which option is asked for else, the ATM resets with a the scan card. When the user gets the card inserted, scan
welcome signal, waiting for the next card to be swiped. At line goes high which represents the next state S1. If the
every step, proper signals are generated to display the next card line goes low, control signal will return back to the
instructions to the user. The display section has a LUT scan card state. In state S2, card number and pin number is
defined for each signal w.r.t. which the display screen stored in the registers. If any error occurs in storing the
changes. The signals that trigger the change of display are card information, the signal will go the state S0. After
also used as the internal control signal to activate various storing the card information, control signal will leads to the
modules of the controller. This results successful screen in which the user allowed to enter the pin which is
transactions every time, with elimination of any possibility represented by the state S3. When the invalid pin is
of miscalculation. entered, signal will again goes to state S3 and allow the
user to enter pin again. The counter will be installed which
D. Moore Machine State Diagram for ATM: is represented as S4 state, to count the number of trials. If it
Basically FSM is a representation of the different exceeds three times, the account gets locked and control
transition taken place in a system. A state machine is an signal return to scan card (S0) state. When the valid pin is
effective way to implement the control functions. The entered i.e. pin get matched, control signal will lead to the
Moore Machine for the overall ATM controller is state S5 in which user can select the transaction type.
represented in fig3. The description of state code and state
input signal are tabulated in table1 and table2. There are two types of transaction can be made as follows.

International Journal of VLSI System Design and Communication Systems


Volume.02, IssueNo.01, January-2014, Pages:0112-0120
An ASIC Implementation of Automated Teller Machine Controller for Secured Financial Transactions

1. Deposit Table1. State Code Descriptions


2. Withdraw
Deposit state is represented by S6 in which the user
allowed to deposit the amount through amount entering.
User will be taken again to transaction type screen by
making cancel deposit to high. The amount entered will be
added with the old balance that stored in memory and
checked whether it overflow 16bit, represented by state S7.
If balance get overflowed, control signal will go to invalid
state S8 and then to anything else state S9. The state S10
represents entered amount is valid and is verified. Once
verification is over, the updating of balance is made which
is represented by the state S11. After updating, the signal
will goes to the anything else state S9 from which user will
be allowed to make more transaction by taking to state S5
else to the state S0.

Table2. Input Signal Descriptions

After checking process will be carried out, if amount


entered is invalid, control signal will go to invalid state S8
Figure3. Moore Machine Diagram for ATM and from which signal goes to another transaction state S9.
If the entered amount is valid, then state S14 will be
Withdraw state is represented by S12 in which the user processed which will verify the amount and leads to the
allowed to enter the withdraw amount from his account. If updating balance state S11. In this state, the amount will
the withdraw process is cancelled, signal will again goes to get updated in memory. After updating, user is taken to
the transaction type state S5 else the amount entered will another transaction state S9 from which he can make more
be checked through the state S13. transaction else taken to scan card state.
International Journal of VLSI System Design and Communication Systems
Volume.02, IssueNo.01, January-2014, Pages:0112-0120
PONNA. DIVYA, AMMIREDDY LAVANYA, TADI. CHANDRA SEKHAR

E. Implementation Using Verilog HDL:


The implementation of the above Moore machine state
diagram is done by using the Verilog which is the third
generation of verilog IEEE 1800-2005 standard. Basically,
data type is one that will not consider the actual state
encoding that is used in the design and it will allow
implementing the FSM of that design. The user-defined
variables are get updated automatically. The inputs of the
FSM are taken as input to the code that is tabulated in table
2.1 and the output is taken as ‘z’. In the input, pin entered
is of 4-bits and the amount entered for both deposit and
withdraw is of 16-bits which are declared as ‘Logic’. The
output is declared as the ‘Logic’ which is of four states 0,
1, x and z. This data type is identical to reg data type and is
a user defined vector size. The user-defined variables,
shown in table2, are declared in the data type.

Totally three always blocks are used in the code in


which two are sequential and one is combinational. Always
block can be used to infer the combinational and sequential
logic respectively. In first always block, if reset signal is
set the signal will goes to ‘scan card’ state else goes to next
state. Second always block represents the state machine
operation and hence if the input signal is high, control
signal will goes to next state else will goes to the previous
state i.e. corresponding state respectively. The sensitivity
list has ‘negedge clk’ which represents that the change
takes place at every negative edge of the clock signal. Here
Figure4. General Implementation Flow Diagram the counter is installed which will be counting the entering
of invalid pin. If it exceeds three times, the account gets
Initially the market research should be carried out which locked and the signal will return to initial state and resets
covers the previous version of the design and the current the counter. The (ipin_count) ‘Invalid pin count’ is
requirements on the design. Based on this survey, the declared as a ‘logic’ data type is used to increment the
specification and the architecture must be identified. Then count. An addition operation is used in the verify state after
the RTL modelling should be carried out in Verilog HDL which the entered amount gets added with previous
with respect to the identified architecture. Once the RTL balance. Similarly, a subtraction operation is performed for
modelling is done, it should be simulated and verified for withdraw operation in order to subtract the entered amount
all the cases. The functional verification should meet the with the previous balance. If the net balance is larger than
intended architecture and should pass all the test cases. 16-bits, then the transaction will become invalid. In third
always block, the output are declared with respect to the
Once the functional verification is clear, the RTL model state. Once the balance gets updated, the output signal is
will be taken to the synthesis process. Three operations made to high.
will be carried out in the synthesis process such as
 Translate III. RESULTS AND DISCUSSION
 Map The ATM controller and its functionality were discussed
 Place and Route in the previous chapters. Now this chapter deals with the
The developed RTL model will be translated to the simulation and synthesis results of the ATM controller
mathematical equation format which will be in the design. Here Modelsim tool is used in order to simulate the
understandable format of the tool. These translated design and checks the functionality of the design. Once the
equations will be then mapped to the library that is, functional verification is done, the design will be taken to
mapped to the hardware. Once the mapping is done, the the Xilinx tool for Synthesis process and the netlist
gates were placed and routed. Before these processes, the generation. The Appropriate test cases have been identified
constraints can be given in order to optimize the design. in order to test this modelled ATM controller design.
Finally the BIT MAP file will be generated that has the Based on the identified values, the simulation results which
design information in the binary format which will be describes the operation of the ATM controller has been
dumped in the FPGA board.

International Journal of VLSI System Design and Communication Systems


Volume.02, IssueNo.01, January-2014, Pages:0112-0120
An ASIC Implementation of Automated Teller Machine Controller for Secured Financial Transactions

achieved. This proves that the modelled design works the operation of an ATM controller and that are can be
properly as per the process. verified. Here two initial blocks are available in which the
first block is for declaring the clock and other block is for
A. Simulation Results providing the test cases in order to verify the operation of
The test bench is developed in order to test the modeled ATM controller, at incremental time period.
design. This developed test bench will automatically force
the inputs and will make the operations of ATM controller The identified test cases are simulated through the
to perform. simulation tool and the main module is synthesized using
1. Verification Test Cases for the Design the synthesis tool. The simulation results are obtained by
Above code description explains the implementation using the identified test cases, which shows the different
process and the different modes of operation. Now the modes of operation.
implemented Verilog code is ready for the verification
process that can be performed by passing the suitable test Case-1: In this case, the account gets locked due to the
cases sequentially. So test passing of test case can be done entry of invalid pin for three times is shown in fig5.
through the test bench. These test cases will clearly explain

Figure5. Account Lock State


The reset signal is set to low and hence process starts Case-2: This case shows the overflow condition during
from scan card state. By proper inputs given, the enter pin deposit operation i.e. the summation of entered amount and
state can be reached. At this state, if invalid pin is entered, previous balance exceeds the 16- bits representation.
the counter starts to work and when count exceeds three,
account gets locked which is clearly shown in fig5.

Figure6. Occurrence of Deposit Overflow Condition


International Journal of VLSI System Design and Communication Systems
Volume.02, IssueNo.01, January-2014, Pages:0112-0120
PONNA. DIVYA, AMMIREDDY LAVANYA, TADI. CHANDRA SEKHAR

The valid pin (1111) is entered that leads to transaction overflow condition occurs and hence invalid state is
type from which deposit is chosen. Once the amount is obtained.
entered (65520) for deposit, the deposit check process id Case-3: Here the amount cannot be withdrawn which is
carried out. During checking process, if it exceeds 16-bits, greater than the current balance available in the account
shown in fig7.

Figure7. Occurrence of Invalid Condition in Withdraw minimum period as 11.496 ns. Here, OFFSET IN is the
The withdraw process is chosen in which the withdraw minimum input arrival time before clock and OFFSET
amount (18416) should satisfy the condition mentioned. OUT is maximum output required time after clock.
Once it is not satisfied, during the withdraw amount
checking state it will get caught and hence the invalid state 2. RTL Schematic
is obtained. The RTL (Register Transfer Logic) can be viewed as
black box after synthesize of design is made. It shows the
B. Synthesis Result inputs and outputs of the system. By double-clicking on the
The developed ATM Controller design is simulated and diagram we can see gates, flip-flops and MUX.
verified their functionality. Once the functional verification
is done, the RTL model is taken to the synthesis process
using the Xilinx ISE tool. In synthesis process, the RTL
model will be converted to the gate level netlist mapped to
a specific technology library. This ATM Controller design
can be synthesized on the family of Spartan 3E. Here in
this Spartan 3E family, many different devices were
available in the Xilinx ISE tool. In order to synthesis this
design the device named as “XC3S500E” has been chosen
and the package as “FG320” with the device speed such as
“-4”. The design of ATM Controller is synthesized and its
results were analyzed as follows.

1. Timing Summary:
Speed Grade: -4
Minimum period: 11.496ns (Maximum Frequency: Figure8. Schematic with Basic Inputs and Output
86.987MHz)
Minimum input arrival time before clock: 6.892ns IV. CONCLUSION
Maximum output required time after clock: 4.394ns Basically, ATM controller allows the user to interact
Maximum combinational path delay: No path found with the memory and hence the security level is increased.
In timing summery, details regarding time period and This also makes the transaction in account gets easier. This
frequency is shown are approximate while synthesize. work helps to understand the concept of Finite State
After place and routing is over, we get the exact timing Machine and designing architecture of a system. The
summery. Hence the maximum operating frequency of this familiarization of the procedure to develop the State
synthesized design is given as 86.987 MHz and the Machine diagram of a system through system level

International Journal of VLSI System Design and Communication Systems


Volume.02, IssueNo.01, January-2014, Pages:0112-0120
An ASIC Implementation of Automated Teller Machine Controller for Secured Financial Transactions

analysis is improved. The ATM block diagram is studied


and the corresponding Moore Machine State diagram is
also analyzed. The FSM is modeled in Verilog HDL and
verified for all the appropriate scenarios. The simulation
results have been verified for the different appropriate test
cases. Finally Hence the maximum operating frequency of
this synthesized design is given as 86.987 MHz and the
minimum time period as 11.496 ns.

V. REFERENCES
[1] K. Rauhala, "Living List Document of Wireless ATM
Working Group", ATM Forum/ltd-watm-01.01, February
1997.

[2] J. Deane, "WATM MAC requirements," ATM Forum/


96-0786, June 1996, MAC layer design issues are
addressed in this document.

[3] D. Raychaudhuri and N. Wilson, "ATM Based


Transport Architecture for Multiservices Wireless Personal
Communication Network", IEEE J. Selected Areas in
Comm., Oct. 1994, pp. 1401-1414.

[4] S. K. Biswas and B. Sengupta, "Call Admissibility for


Multirate Traffic in Wireless ATM Networks",IEEE, 1997.

International Journal of VLSI System Design and Communication Systems


Volume.02, IssueNo.01, January-2014, Pages:0112-0120

Potrebbero piacerti anche