Neural Network Implementation Using FPGA: Issues and Application

.Hardware realization of a Neural Network (NN), to a large extent depends on the efficient implementation of a single neuron. FPGA-based reconfigurable computing architectures are suitable for hardware implementation of neural networks. FPGA realization of ANNs with a large number of neurons is still a challenging task. This paper discusses the issues involved in implementation of a multi-input neuron with linear/nonlinear excitation functions using FPGA. Implementation method with resource/speed tradeoff is proposed to handle signed decimal numbers. The VHDL coding developed is tested using Xilinx XC V50hq240 Chip. To improve the speed of operation a lookup table method is used. The problems involved in using a lookup table (LUT) for a nonlinear function is discussed. The percentage saving in resource and the improvement in speed with an LUT for a neuron is reported. An attempt is also made to derive a generalized formula for a multi-input neuron that facilitates to estimate approximately the total resource requirement and speed achievable for a given multilayer neural network. This facilitates the designer to choose the FPGA capacity for a given application. Using the proposed method of implementation a neural network based application, namely, a Space vector modulator for a vector-controlled drive is presented





References:
[1] B.Widrow and R.Winter, "Neural nets for adaptive filtering and adaptive
pattern recognition ", IEEE Computer magazine,
pp. 25-39, March 1988.
[2] K.Fukushima, S.Miyake and T.Ito, "Neocognitron: A neural network
model for a mechanism of visual pattern recognition", IEEE transactions
on systems, Man and Cybernetics, vol.13, no.5, pp. 826-834, 1983.
[3] M.Cristea, A.Dinu, "A New Neural Network Approach to Induction
Motor Speed Control", IEEE power electronics specialist conference,
vol. 2, pp. 784-788, 2001
[4] S.Grossberg, E.Mingolla and D.Todorovic, "A neural network
architecture for pre-attentive vision", IEEE Transactions on Biomedical
Engineering, vol.36, no.1, pp. 65-84, Jan 1989.
[5] Leonardo Maria Reyneri "Implementation Issues of Neuro-Fuzzy
Hardware: Going Towards HW/SW Codesign" IEEE Transactions on
Neural Networks, vol.14, no.1, pp. 176-194, 2003.
[6] Y.J.Chen, Du Plessis, "Neural Network Implementation on a FPGA ",
Proceedings of IEEE Africon, vol.1, pp. 337-342, 2002.
[7] Sund Su Kim, Seul Jung, "Hardware Implementation of Real Time
Neural Network Controller with a DSP and an FPGA ", IEEE
International Conference on Robotics and Automation,
vol. 5, pp. 3161-3165, April 2004.
[8] Turner.R.H, Woods.R.F, "Highly Efficient Limited Range Multipliers
For LUT-based FPGA Architectures", IEEE Transactions on Very Large
Scale Integration Systems, Vol.15, no.10, pp. 1113-1117, Oct 2004.
[9] Marchesi.M, Orlandi.G, Piazza.F, Uncini.A, "Fast Neural Networks
Without Multipliers", IEEE Transactions on Neural Networks, vol. 4,
no.1, Jan 1993.
[10] Babak Noory, Voicu Groza, "A Reconfigurable Approach to Hardware
Implementation Of Neural Networks", Canadian Conference on
Electrical and Computer Engineering, IEEE CCGEI 2003, pp. 1861-
1863, 2003.
[11] S.Himavathi, B.Umamaheswari "New Membership functions for
effective Design and Implementation of Fuzzy Systems", IEEE
Transactions on Systems, Man, Cybernetics, Part A, vol. 31, no.6, Nov
2001.
[12] Anitha " FPGA Implementation of Estimators for sensorless control of
DTC Drives", M.Tech Thesis, Pondicherry Engg College, India, June
2005.
[13] B.K.Bose, Modern Power Electronics and ac drives, Pearson Education
(Singapore) Pvt. Ltd., India, 2003.