Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Vol.02,Issue.01,
January-2014,
Pages:0112-0120
ww.semargroup.org
www.ijvdcs.org
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.
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.
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.
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
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
V. REFERENCES
[1] K. Rauhala, "Living List Document of Wireless ATM
Working Group", ATM Forum/ltd-watm-01.01, February
1997.