Proficient FPGA Execution of Secured and Apparent Electronic Voting Machine Using Verilog HDL
Proficient FPGA Execution of Secured and Apparent Electronic Voting Machine Using Verilog HDL
Abstract
Electronic Voting Machine is an electronic voting device used for
conducting the parliamentary elections electronically. It consists of two
units that can be inter-linked; a ballot unit which a voter uses to
ISSN: 2186- 6872 (print) exercise his vote and a control unit which used by the polling officials.
ISSN: 2186-0009 (online) As there is no available design of Electronic Voting Machine using
http://www.BENJapan.org/IJE Verilog FPGA, in this paper, we introduce an efficient, transparent and
secured FPGA implementation of EVM using Verilog HDL. The design is
ARTICLE HISTORY coded in Verilog hardware description language at Register Transfer
Level (RTL), simulated in ModelSim, synthesized in Quartus II and
Received: 10 November 2013
implemented in Cyclone II FPGA using the AlteraDE1 board.
Revised: 3 May 2014
Accepted: 5 June 2014
Published online: 14 June 2014 Key words: EVM, RTL, Verilog HDL, FPGA, VLSI, FSM
the instantiations of the other 5 modules, party’s logo. Individual party counts and the
which are 5 separate source files of the 5 total counts will be monitored and recorded
different operations. Inside Ballot module and successfully after each successive voting
Control module, there are another two process is done. Our design of the EVM is a
modules separately instantiated.We use five Finite State Machine (FSM) approach. A finite-
different steps for our design. Firstly we have state machine (FSM) or finite-state automaton
to prepare our design specification. From our is a mathematical model of computation used
design specification we write RTL Description. to sequential logic circuits and computer
Then we convert our RTL description to Gate programs [9]. It is conceived as an abstract
level design. From gate level design we go to machine that can be in one of a finite number
physical layout of our design. Finally we of states. The state diagram of our design is
implement our design. These five steps work shown in Fig.2.
individually but finally full work depends on
each of the state. If we fail to fulfil one step,
next step does not work. Though they are five
different steps and work individually, they
fully depend on each other. Without any of
these we cannot complete our design as we
want. Design flow diagram is given below:
19
EVM
V. BLOCK DESCRIPTION
A. Idcheck
It consists of clk, sz, voter and xx. This
module checks whether the voter id valid or
not. Whenever voter id matches with the
stored data it makes xx high and allows the
voter for the next state.
B. Combine
It consists of con and party. Whenever id
check unit makes xx high this unit allows Fig.6. Timing Diagram of Ballot
voter to access his/her vote to any of the
D. Control
party (par1, par2, par3, par4) specified by the
machine. Whenever con becomes binary It consists of the result of four individual
0001, vote is accepted for the party1, binary party (c0, c1, c2, c3), punch (vv), clk, clr, con
0010 indicates vote for party2, binary 0100 and sound. It also consists of a counter
for party3 and binary 1000 for party4. module which is instantiated inside it. In this
unit machine gets the beep sound from the
ballot unit and the counter starts to count the
particular party’s vote and punches the
specific party’s logo on a ballot paper. This
module gives individual result of the
individual party and punches out the sealed
hard paper which can be stored outside the
machine.
E. Adder
It consists of individual results of the
parties (co, c1, c2, c3) and total result. This
unit adds individual results of the parties and
gives the total number of vote accepted by the
machine.
21
EVM
Fig.10. Simulation result of EVM Fig.12. Shows the internal block diagram of
After simulating the design, synthesis was EVM:
performed. The Quartus II 11.1 Synthesis tool
and the Xilinx Synthesis Technology (XST) of
Xilinx ISE 9.2i tool software both synthesized
the Verilog codes to create Xilinx / Quartus-
specific net-list files. Xilinx and Quartus II
generated the following files as output.
RTL Schematic: This representation is in
terms of generic symbols and was generated
after the HDL synthesis phase of the synthesis
process.
Fig.11. Shows the RTL Schematic diagram of
EVM:
Fig.14. Shows the data sheet report from Fig.15. Timing Report from Quartus II Tool
Quartus II synthesis tool:
For the implementation of the design, the
Altera DE1 Development and Education Board
is used. The purpose of the Altera DE1
Development and Education Board is to
provide the ideal vehicle for advanced design
prototyping in the multimedia, storage and
networking. This board uses the state-of-the-
art technology in both the hardware and
software CAD tools to expose designers to a
wide range of topics. The board offers a rich
set of features that makes it suitable for use in
a laboratory environment for the university
and college courses, for a variety of design
projects, as well as for the development of the
sophisticated digital systems. Altera provides a
suite of supporting materials for the DE1
board.
Fig.16. Shows the FPGA implementation on
Altera DE1 board:
VIII. ADVANTAGES
By using simple Verilog simulations, we can
easily hardware implement the design in our
real life environment satisfying the issues of
efficiency, cost and the transparency. So by
using FPGA based EVM, we can save around
1100 corers of taka in the 5 years of electro
cycle [4].
23
EVM
We also have FPGA based design advantages [5]VerilogHardware Description Language Reference,
on our design. Manual, Version 2.09, Los Gatos, CA, Open Verilog
We can also save huge amount of power by International, March 1993.
using this voting system as the battery is [6] Altera DE1 board. (n.d.). Retrieved December 10,
required only to activate the EVMs at the time 2010, from terasic: http://www.terasic.com.tw/cgi-
of polling and counting. As soon as the polling bin/page/archive.p1?Language=English&No=83
is over, the battery can be switched off and [7] Barlow L.(2003, November), An Introduction to
this will be required to be switched on only at Electronic Voting, Retrieved from
the time of counting. http://brahms.emu.edu.tr/rza/Electronic%20
For each national election alone it is Voting.pdf
estimated that about 10,000 tons of ballot [8] Indian Voting Machine, Wikipedia the free
paper (roughly 200,000 trees) would be saved encyclopedia. Retrieved from March 28, 2010, from
by using Electronic Voting Machine. There is http://en.wikipedia.org/wiki/Indianvoting machine.
of course many more state and city/village [9] Finite State Machine, Wikipedia the free
level elections and the cost of printing those encyclopedia.https://en.wikipedia.org/wiki/Finite-
ballot papers would be also enormous [8]. state_machine.
The vote-counting is very fast and the result [10] Verilog. Wikipedia, the free encyclopedia.
can be declared within 2 to 3 hours as Retrieved March 23, 2012 from
compared to 30–40 hours, on an average, http://en.wikipedia.org/wiki/Verilog_HDL
under the ballot-paper system. [11] Elections in Bangladesh 2006-2009:
Transforming Failure into Success. Retrieved from
IX. CONCLUSION http://sembec.org.bd/content/elections-
Considering the fact of the uncompromising bangladesh-2006-2009-transforming-failure-
advancement of VLSI technology, we have success
successfully implemented an efficient [12] Electronic Voting Machines. Retrieved from
Electronic Voting Machine on FPGA by http://www.gktoday.in/quiz-597-current-general-
satisfactorily meeting the related issues of knowledge
security and transparency for an EVM. Our
EVM deals with the sensitive cases in voting
processes like restriction of an invalid voter,
prohibition of same voter and simultaneous
vote cast for more than one candidate. Along
with that, if the punched paper results
matches with the software results then we can
say the machine result is also transparent. We
can use this efficient, secured and transparent
voting machine successfully for electoral
voting process in Bangladesh and worldwide.
ACKNOWLEDGEMENT
At first the authors would like to thank Allah
forgiving them the opportunity to do this work.
Then they would want to mention their
parents who supported them with mental and
financial support.
REFERENCES
[1] Field Programmable Gate Array. Wikipedia, the
free encyclopaedia. Retrieved on February16, 2012
from http://en.wikipedia.org/wiki/Fpga.
[2]Palnitkar,S.(2008).VerilogHdL(2nd).Pearson
Education.
[3] K.C.C. Wai and S. J. Yang, “Field Programmable
Gate Array Implementation of Reed- Solomon Code,
RS (255, 239)”, New York (2006).
[4] fpga4fun. (2010, September 07). Retrieved on
September 07, 2010, from fpga4fun:
http://www.fpga4fun.com/PCI1.html