Journal of Engineering Technology Volume 6, Special Issue on Technology Innovations and Applications Oct. 2017, PP

Similar documents
Image Compression: An Artificial Neural Network Approach

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

Efficient VLSI Huffman encoder implementation and its application in high rate serial data encoding

Verilog for High Performance

Supervised Learning in Neural Networks (Part 2)

An Efficient Hardwired Realization of Embedded Neural Controller on System-On-Programmable-Chip (SOPC)

Low Power and Memory Efficient FFT Architecture Using Modified CORDIC Algorithm

Review on Methods of Selecting Number of Hidden Nodes in Artificial Neural Network

DIGITAL IMPLEMENTATION OF THE SIGMOID FUNCTION FOR FPGA CIRCUITS

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

Neural Networks. CE-725: Statistical Pattern Recognition Sharif University of Technology Spring Soleymani

Volume 1, Issue 3 (2013) ISSN International Journal of Advance Research and Innovation

RTL LEVEL POWER OPTIMIZATION OF ETHERNET MEDIA ACCESS CONTROLLER

IMPROVEMENTS TO THE BACKPROPAGATION ALGORITHM

Performance Analysis of CORDIC Architectures Targeted by FPGA Devices

FPGA Design, Implementation and Analysis of Trigonometric Generators using Radix 4 CORDIC Algorithm

IMPLEMENTATION OF FPGA-BASED ARTIFICIAL NEURAL NETWORK (ANN) FOR FULL ADDER. Research Scholar, IIT Kharagpur.

PERFORMANCE ANALYSIS OF HIGH EFFICIENCY LOW DENSITY PARITY-CHECK CODE DECODER FOR LOW POWER APPLICATIONS

ON THE IMPLEMENTATION OF DIFFERENT HYPERBOLIC TANGENT SOLUTIONS IN FPGA. Darío Baptista and Fernando Morgado-Dias

Design and Implementation of Low-Complexity Redundant Multiplier Architecture for Finite Field

Design and Implementation of Programmable Logic Controller (PLC) Using System on Programmable Chip (SOPC)

High Speed Radix 8 CORDIC Processor

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Simulation of Zhang Suen Algorithm using Feed- Forward Neural Networks

Definitions. Key Objectives

Channel Performance Improvement through FF and RBF Neural Network based Equalization

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

A Tutorial Introduction 1

Sensors & Transducers Published by IFSA Publishing, S. L.,

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Digital Design with FPGAs. By Neeraj Kulkarni

16 BIT IMPLEMENTATION OF ASYNCHRONOUS TWOS COMPLEMENT ARRAY MULTIPLIER USING MODIFIED BAUGH-WOOLEY ALGORITHM AND ARCHITECTURE.

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design

High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs

Sequential Circuits. inputs Comb FFs. Outputs. Comb CLK. Sequential logic examples. ! Another way to understand setup/hold/propagation time

Implementation of CORDIC Algorithms in FPGA

Implementation of FPGA-Based General Purpose Artificial Neural Network

Edge Detection for Dental X-ray Image Segmentation using Neural Network approach

RIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM. SYNTHESIS OF COMBINATIONAL LOGIC (Chapter 8)

101-1 Under-Graduate Project Digital IC Design Flow

FPGA Implementation of Multiplierless 2D DWT Architecture for Image Compression

Deduction and Logic Implementation of the Fractal Scan Algorithm

CHAPTER VI BACK PROPAGATION ALGORITHM

International Journal of Advanced Research in Computer Science and Software Engineering

Face Detection using Hierarchical SVM

Control and Datapath 8

2015 Paper E2.1: Digital Electronics II

Design and Implementation of CVNS Based Low Power 64-Bit Adder

23. Digital Baseband Design

4.12 Generalization. In back-propagation learning, as many training examples as possible are typically used.

Fingerprint Feature Extraction Based Discrete Cosine Transformation (DCT)

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

MODULO 2 n + 1 MAC UNIT

Implementing Synchronous Counter using Data Mining Techniques

The Verilog Hardware Description Language

A Synthesizable RTL Design of Asynchronous FIFO Interfaced with SRAM

An Efficient Implementation of Multi Layer Perceptron Neural Network for Signal Processing

CS6220: DATA MINING TECHNIQUES

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

An Enhanced Mixed-Scaling-Rotation CORDIC algorithm with Weighted Amplifying Factor

VHDL for Synthesis. Course Description. Course Duration. Goals

WHAT TYPE OF NEURAL NETWORK IS IDEAL FOR PREDICTIONS OF SOLAR FLARES?

HIGH-PERFORMANCE RECONFIGURABLE FIR FILTER USING PIPELINE TECHNIQUE

Lecture 32: SystemVerilog

LECTURE NOTES Professor Anita Wasilewska NEURAL NETWORKS

A New Architecture of High Performance WG Stream Cipher

A Hybrid Intelligent System for Fault Detection in Power Systems

WORD LEVEL FINITE FIELD MULTIPLIERS USING NORMAL BASIS

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

INTEGER SEQUENCE WINDOW BASED RECONFIGURABLE FIR FILTERS.

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation.

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

DESIGN STRATEGIES & TOOLS UTILIZED

FPGA Can be Implemented Using Advanced Encryption Standard Algorithm

Hardware Description Language VHDL (1) Introduction

Register Transfer Level in Verilog: Part I

THE NEURAL NETWORKS: APPLICATION AND OPTIMIZATION APPLICATION OF LEVENBERG-MARQUARDT ALGORITHM FOR TIFINAGH CHARACTER RECOGNITION

Neural Network Classifier for Isolated Character Recognition

Lecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines

A Modified CORDIC Processor for Specific Angle Rotation based Applications

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

Design of Convolution Encoder and Reconfigurable Viterbi Decoder

Unit 2: High-Level Synthesis

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

CHAPTER 7 MASS LOSS PREDICTION USING ARTIFICIAL NEURAL NETWORK (ANN)

A Novel Carry-look ahead approach to an Unified BCD and Binary Adder/Subtractor

Seismic regionalization based on an artificial neural network

Design of an Efficient 128-Bit Carry Select Adder Using Bec and Variable csla Techniques

Pipelined Quadratic Equation based Novel Multiplication Method for Cryptographic Applications

6. NEURAL NETWORK BASED PATH PLANNING ALGORITHM 6.1 INTRODUCTION

Evolution of CAD Tools & Verilog HDL Definition

NEURAL NETWORK BASED REGRESSION TESTING

Data Encryption on FPGA using Huffman Coding

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

Sequential Logic Design

THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE

Transcription:

Oct. 07, PP. 00-05 Implementation of a digital neuron using system verilog Azhar Syed and Vilas H Gaidhane Department of Electrical and Electronics Engineering, BITS Pilani Dubai Campus, DIAC Dubai-345055, UAE Abstract: Introduction Artificial neural network is an advanced field which has great applications in almost all real life applications. The neuron is a building block of neural network. Therefore the design of hardware of such neuron is a challenging task for the researchers. Methodology In this paper, a simple and efficient digital neuron architecture is presented. It is based on the System Verilog approach. The sigmoidal activation function is considered in the design. All the building blocks of the neuron implemented and simulated independently. Results Various examples are considered to check the accuracy of the presented hardware architecture. The output of the neuron is calculated using the theoretical calculations as well as system Verilog simulation. It is observed that the proposed approach gives the best results. Conclusion The presented neuron hardware is less complex as compared to the conventional neuron architecture. The various simulations show the accuracy of the presented approach. It can be used in the implementation and design of the VSLI circuits based neural network design. Keywords: Digital Neuron, Sigmoidal function, Artificial Neural Network, System Verilig.. Introduction Artificial Intelligence is one of the constantly evolving and an actively growing field. Artificial Neural Networks (ANN) play a vital role in solving complex engineering problems by improving their computing capability. It is a computational network that emulates the highly complex and parallel computing capability of a biological neural network. There are certain tasks that are effortless for a human brain. However, it becomes extremely challenging for researchers during the automation process. During the early stage of development of the neural network it was unthinkable for computer to the tasks such as object recognition, pattern identification, data mining and classification, etc., []. ANNs are the front-runners in the world of computations that are developed to mimic the intelligent behavior. A neural network is highly comprised of huge numbers of neurons working in union for problem solving. A network is a term that is defined as a group of interconnected things which contains nodes and edges. Each edge is connected to a node commonly called as neuron. The different computations are performed at every node and information is passed to the next neuron through these edges. Each edge has a weighted value associated with it which helps in the learning process of the neural networks. This learning process is similar to humans, a child learns to recognize a tree by looking at examples of trees. There are three approaches which can be used to implement an artificial neural network architecture, they are analog, digital and mixed-signal approach. In the analog approach the sigmoid activation function is obtained using BJT or BiCMOS technologies. However, it becomes difficult to implement the same using CMOS technology as it requires certain approximations. Moreover, the analog and mixed signal implementations also suffer from problems of drift, noise sensitivity and quantization effects mainly caused by MOS geometries. The digital implementation of the architecture is drift free and relatively noise immune. However, the digital implementation is limited by physical constraints which are dependent on the chosen technology. In 00

Oct. 07, PP. 00-05 particular, for a digital implementation the major concerns are power utilization, and the complexity. The solution to these concerns have been reported in the literature [, 3]. In this paper, a single digital neuron using System Verilog is implemented which can be used to construct a complex digital artificial neural network. The activation function is implemented by reducing the hardware complexity and hence reducing the area and overall power utilization.. System Verilog-Based Design System Verilog was adopted as an IEEE standard in 005. It incorporates object oriented programming techniques which are closely related to Java. It has introduced t h e enhanced variable types such as 'logic' and 'bit' which add new capabilities in the design. Moreover, it provides the superior features for system architecture, design and verification. System Verilog helps us to design the behavior more concisely than the conventional methods. In System Verilog, all ports and signals can be defined as logic data type and the language will correctly infer these declarations as nets or variables. System Verilog introduces three new procedural blocks which are, always comb, always latch and always ff. These procedural blocks prevent modeling errors. These blocks help the software tools to verify the design intent. It has been recommended to use the newly introduced procedural blocks in all RTL code. The general purpose block is to be used in models that are not intended to be synthesized. 3. Activation Function In practical scenarios multilayer neuron networks are used in which each neuron of a particular layer gets the same type of activation function. The various types of activation functions used in a neural network are identity function, binary sigmoid function, step function and bipolar sigmoid function. The activation function acts as an identity function for the input unit. The sigmoid function is most commonly used as it is smooth, continuous, derivative of the signal is always positive and monotonically increasing in nature. It has a bounded range, but never reaches max or min. In this paper binary sigmoid function is used as the activation function. The basic architecture of a neuron is shown in Fig.. It sums up the products of the input signals and its associated weight and generate an output or an activation function. The sigmoid function is represented as y () x e Figure.. Basic neuron structure. 0

Oct. 07, PP. 00-05 The sigmoid function can be implemented using different techniques such as piecewise linear approximation, Taylor series and lookup tables. In this paper, we have used Co-Ordinate Rotation, Digital Computer (CORDIC) algorithm to implement the sigmoid function. Taylor series expansion takes up large silicon areas as it requires implementation of multipliers to expand up to five terms. The look-up-table technique requires the y-value associated with the corresponding x-value to be stored in memory. This technique requires a large silicon area when we need a high precision. It is practically not feasible to include single look-up table per processing element in a neural network. The piecewise linear approximation is a direct calculation approach in which the output is approximated by a combination of straight lines. The CORDIC scheme used in this paper is a modification of the CORDIC algorithm proposed by Volder. The scheme uses an iterative method which utilizes low precision arithmetic components and then corrects the approximation error periodically in order to get high precision computation at near low precision speed [6-8]. The data provided to obtain a high precision sigmoid output needs to be transformed. The System Verilog data type is real and 64 bit in size. In order to achieve the high precision up to 64 bits we make use of the 64-bits precision table [7]. 4. Neuron Architecture In recent years, the various neuron architecture is presented in the literature. Fig. shows one of the conventional neuron architecture [3]. Such architectures are comprised of buffer accumulator, multiplexers, multiplier, register and a finite state machine (FSM). The workings of all the blocks are self explanatory. Moreover, the FSM plays an important role in generating the signal pulses at different time intervals. It also assures coordination between the different operations realized by neuron and therefore the more time is required to obtain the result. Hence the system become slow and complicated. To overcome this issue a new architecture is required. Figure.. Basic Neuron Architecture [3]. 0

Oct. 07, PP. 00-05 In this paper, a modified architecture is proposed which reduces the overall hardware used in conventional architecture. It is possible due to the use of System Verilog HDL for architecture design. The proposed architecture comprises of two multiplexers instead of three multiplexer as shown in Fig. 3. Figure. 3. A n improved proposed Architecture of the neuron. The other blocks include a finite state machine (FSM), multiplier, counter, accumulator and activation function. Signals A, A represents the 8-bits input, W and W represent the 8-bits synaptic weights of the neuron. The FSM dictates the entire working of the neuron. The CLK signal of the FSM is the system clock. The High RESET signal will reset the entire neuron to the starting condition. The START signal initiates the neuron functioning after the RESET signal is low. It is very important that signals and their corresponding weights are processed in sync. This synchronization between the signals and their weights is obtained with the help of modulo- counter and two X multiplexers as we are using only two inputs, similarly for three inputs we will have to use modulo- counter. The multiplier used in this architecture is a 6- bit multiplier. The 6- bit multiplier output is given to the accumulator block. The accumulator block takes the multiplied result of the two signals with their corresponding weights and adds them. The output of the accumulator block is given to the activation function block to obtain the equivalent sigmoidal output. On obtaining the sigmoidal output the finite state machine gives STOP signal indicating the completion of the process for one set of inputs and their corresponding weights [3, 9,0]. The neuron architecture presented in [3] uses of three AND gates and one OR gate logic to remember the sign of the number. The architecture proposed in this paper does not include additional circuitry to record the sign of the accumulated number received from the accumulation block. This additional hardware is avoided due to the use of System Verilog HDL for designing the neuron architecture. The System Verilog HDL provides us with a data type real, which is used to work with signed numbers [4]. 03

Oct. 07, PP. 00-05 5. Simulation and Results Mentor Graphics Modelsim 0.4c is used as a System Verilog simulation tool to test proposed neuron architecture. All blocks shown in Fig. 3 simulated and tested individually. The following illustrate the operation and result of the presented neuron architecture. The neuron is tested for many sample values. Example : a. 6875, a, w, w 0 x a a x 0. 6875. 6875 y x e y 0. 843895 Example : a. 35, a, w, w 0 x a a x 0. 35. 35 y x e y 0. 78793 The above examples are simulated using the System Verilog and simulated results are shown in Fig. 4. The theoretical value of the neuron output in example and example is y 0. 843895 and y 0. 78793, respectively. It is observed from Fig. 4 that the theoretical and simulated values of neural output are exactly same. In literature [3], the similar example has been considered in the analysis of the neuron architechture and obtained the theoretical results. However, the simulated results are deviated from the theoretical results (y = 0.83593). Hence the proposed architecture is more efficient than the reported method in the literature [3]. Figure. 4. Simulated output of sigmoid activation function. 04

Oct. 07, PP. 00-05 6. Conclusion In this paper, a digital neuron hardware architecture is presented. The detailed functional description is based on the System Verilog. The presented neuron hardware is less complex as compared to the conventional neuron architecture. The various simulations show the effectuality and the accuracy of the presented approach. It can be used in the implementation and design of the VSLI circuits based neural network design. References [] Shahin. MA, Mark. BJ, Holger. RM, Recent advances and future challenges for artificial neural systems in geotechnical engineering applications. Advances in Artificial Neural Systems, 009; l(): -9. [] Volanis. G, Antonopoulos. A, Hatzopoulos. AA, Makris. Y, Toward Silicon-Based Cognitive Neuromorphic ICs A Survey. IEEE Design and Test, 06; 33(3): 9-0. [3] Mishra. A, Raj. K, Implementation of a digital neuron with nonlinear activation function using piecewise linear approximation technique. In Proc. IEEE International Conference on Microelectronics, 007, 69-7. [4] Sutherland. S, Mills. D, Synthesizing system verilog busting the myth that system verilog is only for verification. SNUG Silicon Valley, 03. [5] Sibi. P, Jones, SA, Siddarth. P, Analysis of different activation functions using back propagation neural networks. Journal of Theoretical and Applied Information Technology, 03; 47(3): 64-68. [6] Gaidhane. VH, Hote. YV, Singh. V, Emotion recognition using eigenvalues and Levenberg-Marquardt algorithm based-classifier. Sadhana, 06; 4(4): 45-43. [7] Kantabutra. V, On hardware for computing exponential and trigono-metric functions. IEEE Trans. on Computers, 996; 45(3): 38-339. [8] Leboeuf. K, Muscedere. R, Ahmadi. M, Performance analysis of table-based approximations of the hyperbolic tangent acti- vation function. in Proc. IEEE 54th International Midwest Symposium on Circuits and Systems (MWSCAS), -4, 0. [9] Myers. DJ, Hutchinson. RA, Efficient implementation of piecewise linear activation function for digital VLSI neural networks. Electronics Letters, 989; 5():66. [0] Haghiri. S, Ahmadi. A, Saif. M, Complete neuron-astrocyte interaction model: digital multiplierless design and networking mechanism. IEEE Trans. on Biomedical Circuits and Systems, 07; (): 7-7. 05