ON SUITABILITY OF FPGA BASED EVOLVABLE HARDWARE SYSTEMS TO INTEGRATE RECONFIGURABLE CIRCUITS WITH HOST PROCESSING UNIT



Similar documents
Architecture bits. (Chromosome) (Evolved chromosome) Downloading. Downloading PLD. GA operation Architecture bits

HowHow to Get Rid of Unwanted Money

Overview. Swarms in nature. Fish, birds, ants, termites, Introduction to swarm intelligence principles Particle Swarm Optimization (PSO)

How To Fix A 3 Bit Error In Data From A Data Point To A Bit Code (Data Point) With A Power Source (Data Source) And A Power Cell (Power Source)

NIOS II Based Embedded Web Server Development for Networking Applications

A Parallel Processor for Distributed Genetic Algorithm with Redundant Binary Number

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

Implementation and Design of AES S-Box on FPGA

Digital Systems Design! Lecture 1 - Introduction!!

Hardware and Software

ISSN: ISO 9001:2008 Certified International Journal of Engineering Science and Innovative Technology (IJESIT) Volume 2, Issue 3, May 2013

9/14/ :38

Numerical Research on Distributed Genetic Algorithm with Redundant

Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems

An Open Architecture through Nanocomputing

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Testing of Digital System-on- Chip (SoC)

Floating Point Fused Add-Subtract and Fused Dot-Product Units

Lecture 1. Introduction to Embedded Computer Systems

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

Low-resolution Image Processing based on FPGA

Architectures and Platforms

Design and Analysis of Parallel AES Encryption and Decryption Algorithm for Multi Processor Arrays

Implementation of Modified Booth Algorithm (Radix 4) and its Comparison with Booth Algorithm (Radix-2)

DESIGN OF AN ERROR DETECTION AND DATA RECOVERY ARCHITECTURE FOR MOTION ESTIMATION TESTING APPLICATIONS

Let s put together a Manual Processor

FPGAs in Next Generation Wireless Networks

Systolic Computing. Fundamentals

FPGA Design of Reconfigurable Binary Processor Using VLSI

7a. System-on-chip design and prototyping platforms

Gates, Circuits, and Boolean Algebra

Rapid System Prototyping with FPGAs

Design and Implementation of Concurrent Error Detection and Data Recovery Architecture for Motion Estimation Testing Applications

Fault Modeling. Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults. Transistor faults Summary

Design and Development of Virtual Instrument (VI) Modules for an Introductory Digital Logic Course

Digital Systems. Role of the Digital Engineer

FPGA-based MapReduce Framework for Machine Learning

Design of a High-speed and large-capacity NAND Flash storage system based on Fiber Acquisition

A General Framework for Tracking Objects in a Multi-Camera Environment

Reconfigurable Low Area Complexity Filter Bank Architecture for Software Defined Radio

synthesizer called C Compatible Architecture Prototyper(CCAP).

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Sistemas Digitais I LESI - 2º ano

KEEP IT SYNPLE STUPID

FPGA Implementation of an Advanced Traffic Light Controller using Verilog HDL

Chapter 2 Logic Gates and Introduction to Computer Architecture

Exploiting Stateful Inspection of Network Security in Reconfigurable Hardware

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

Parallel AES Encryption with Modified Mix-columns For Many Core Processor Arrays M.S.Arun, V.Saminathan

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

ELEC 5260/6260/6266 Embedded Computing Systems

Upon completion of unit 1.1, students will be able to

FAULT TOLERANCE FOR MULTIPROCESSOR SYSTEMS VIA TIME REDUNDANT TASK SCHEDULING

Interconnection Networks Programmierung Paralleler und Verteilter Systeme (PPV)

Delay Characterization in FPGA-based Reconfigurable Systems

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Chapter 7 Memory and Programmable Logic

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

Bus Data Acquisition and Remote Monitoring System Using Gsm & Can

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

What is a System on a Chip?

Lecture 8: Synchronous Digital Systems

Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm

CHAPTER 3 Boolean Algebra and Digital Logic

NEW adder cells are useful for designing larger circuits despite increase in transistor count by four per cell.

AN FPGA FRAMEWORK SUPPORTING SOFTWARE PROGRAMMABLE RECONFIGURATION AND RAPID DEVELOPMENT OF SDR APPLICATIONS

Memory Systems. Static Random Access Memory (SRAM) Cell

How To Write An Fpa Programmable Gate Array

Evolutionary SAT Solver (ESS)

A First Course in Digital Design Using VHDL and Programmable Logic

Networking Virtualization Using FPGAs

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip

International Journal of Advancements in Research & Technology, Volume 2, Issue3, March ISSN

Life Cycle of a Memory Request. Ring Example: 2 requests for lock 17

International Journal of Electronics and Computer Science Engineering 1482

How To Design A Single Chip System Bus (Amba) For A Single Threaded Microprocessor (Mma) (I386) (Mmb) (Microprocessor) (Ai) (Bower) (Dmi) (Dual

Lecture N -1- PHYS Microcontrollers

List of courses MEngg (Computer Systems)

Hardware Implementation of the Stone Metamorphic Cipher

Implementation of emulated digital CNN-UM architecture on programmable logic devices and its applications

Academic year: 2015/2016 Code: IES s ECTS credits: 6. Field of study: Electronics and Telecommunications Specialty: -

Architectural Level Power Consumption of Network on Chip. Presenter: YUAN Zheng

A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc

Understanding Logic Design

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Development of a high-resolution, high-speed vision system using CMOS image sensor technology enhanced by intelligent pixel selection technique

DRAFT Gigabit network intrusion detection systems

IMPLEMENTATION OF FPGA CARD IN CONTENT FILTERING SOLUTIONS FOR SECURING COMPUTER NETWORKS. Received May 2010; accepted July 2010

Implementation of Full -Parallelism AES Encryption and Decryption

How To Design An Image Processing System On A Chip

Hardware Implementation of Improved Adaptive NoC Router with Flit Flow History based Load Balancing Selection Strategy

White Paper FPGA Performance Benchmarking Methodology

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

2. TEACHING ENVIRONMENT AND MOTIVATION

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

Transcription:

216 ON SUITABILITY OF FPGA BASED EVOLVABLE HARDWARE SYSTEMS TO INTEGRATE RECONFIGURABLE CIRCUITS WITH HOST PROCESSING UNIT *P.Nirmalkumar, **J.Raja Paul Perinbam, @S.Ravi and #B.Rajan *Research Scholar, Department of ECE, Anna University, Chennai-25 **Professor,Dept. of ECE, Anna University, Chennai-25 @Professor, Dept. of ECE, Dr.M.G.R.Deemed University, Chennai-95. #Dept. of ECE, Dr. M.G.R.Deemed University, Chennai-95. ABSTRACT Integrating the reconfigurable logic and the host processor can eliminate the communication bottleneck that is present in current custom computing units. This integration is of great advantage if the reconfigurable block consumes less power. Once power optimization of the VRC is possible, the combined system can provide high speed computing with low power consumption. This paper describes experiments conducted to analyze the power consumed by the individual processing elements of a virtual reconfigurable circuit (VRC) according to the functionality performed. The experiment is performed on a model VRC designed to perform sensor validation and automatic functional reconfiguration in case of occurrence of single or multiple sensor faults. The power analysis done in this work will assist to estimate how the use of VRC s influence the integration of FPGA based evolvable systems with host processor and can facilitate reconfigurable computing to enter the mainstream and provide high performance benefits. Keywords: Virtual Reconfigurable circuit, Power Analysis, Evolvable hardware. 1. INTRODUCTION Reconfigurable hardware [1] devices offer both the flexibility of computer software, and the ability to construct custom high performance computing circuits and make a good compromise between software and hardware solutions. Virtual reconfigurable circuits were introduced for digital evolvable hardware as a new kind of reconfigurable platform utilizing conventional FPGAs. Virtual reconfigurable circuit (VRC) is, in fact, an implementation of a domain-specific reconfigurable circuit on top of an ordinary FPGA. The structure of a reconfigurable hardware device can be changed any number of times by downloading into the device a software bit string called configuration bits. A VRC can be designed to exactly fit the needs of a given evolvable hardware-based application. Also, reconfigurable systems have provided significant performance improvements by adapting to computations not well served with current processor architectures. The inherent redundancy present in the VRC can protect the circuits from faults. On the pessimistic side, the implementation of VRC s are relatively expensive in terms of gates used since interconnection circuits of VRC s are selected using multiplexers which are area expensive. Rather than only optimize the speed, optimizing the power consumed by the PE s in the VRC is also a crucial factor to be considered when integrating reconfigurable circuits with host processor. This paper is organized as follows: Section 2 provides an overview of the evolutionary design of digital circuits. Section 3 describes the details of the model VRC designed using evolved operators to handle exceptions such as sensor faults. Section 4 discusses the implementation of the PE s using the tanner software tool. The experimental results and discussions showing the power consumed by the different PE s as well as the overall VRC corresponding to the different sensor failure conditions are presented in Section 5. 2. EVOLVING DIGITAL CIRCUITS Evolvable Hardware (EHW) is a new concept in the development of online adaptive machines. In contrast to conventional hardware where the structure is irreversibly fixed in the

217 design process, EHW is designed to adapt to changes in task requirements or changes in the environment through its ability to reconfigure its own hardware structure online and autonomously [2]. The capacity for adaptation is achieved through evolutionary algorithms such as Genetic Algorithm (GA). The main requirement in an evolved digital circuit is that the evolved circuit should have the ability to control the granularity of configurable elements and provide a transparent structure of the configuration data. Although various evolvable systems have been implemented as Application Specific Integrated Circuits (ASIC), this solution is relatively expensive [5]. Hence a great effort is invested to designing evolvable systems at the level of FPGAs. The typical feature of these approaches is that the most families of FPGAs can be configured externally (i.e. from an external device connected to the configuration port). The evolved circuit shall be evaluated either using software simulation models or entirely in hardware. Accordingly the evolution process is classified as extrinsic or intrinsic evolution respectively. In both cases, the evolution process itself is carried out in software. Alternately, it is also possible to have the evolution process itself done on hardware and this is called as complete evolution. The advantage of the last one is that it provides a speed up in the process. An evolved circuit can either be of gate level evolution or functional evolution. For gate level evolution, the gene is considered as an AND, OR, XOR, NAND, NOR or XNOR gate. For a functional level evolution, the gene is considered as a m input LUT. A functional level evolved VRC using GA based techniques for handling sensor faults in a process using multiple sensors is proposed and examined in the next section. 3. VIRTUAL RECONFIGURABLE CIRCUITS Virtual reconfigurable hardware is the combination of Genetic Algorithms and the software reconfigurable devices. The structure of the reconfigurable device can be determined by downloading binary bit strings called the architecture bits [1]. When a VRC is uploaded into the FPGA, its configuration bit stream will create the following units at specified positions: (i) an array of programmable elements called the PE (ii) a programmable interconnection network (iii) a configuration memory (implemented as a register array) and (iv) a configuration port. The basic idea of the VRC with the evolved circuit is shown in figure 1. The VRC shown can be described in HDL and can be synthesized using common synthesis tools and for various target platforms. In this work, the following evolvable systems are implemented using the idea of VRC in an FPGA. Figure 1 Basic VRC model (i) Evolvable circuit to detect single sensor failure (ii) Evolvable circuit to detect multiple sensor failures (iii) Evolvable circuit to filter the noise present in the input sensors The chromosomes are transformed into configuration bit stream and the configuration bit stream is uploaded into an SRAM-based FPGA. The evolved circuit along with the VRC, Genetic unit and the host processing units to perform the estimation and failure detection mechanism is shown in figure 2. The approach utilizing VRC offers many benefits, such as 1) It is relatively inexpensive, because the whole evolvable system is realizable using an FPGA. 2) The architecture of the reconfigurable device can be designed exactly according to the needs of a given problem. Slices have to implement a new array of programmable elements, new routing circuits and new configuration memory. The hypothetical VRC chosen for experimental study is shown in figure 3 and consists of 25 PEs, having 3 inputs and 1 output and the behavior

218 fully defined using 217 configuration bits of SRAM. F0: 0000 F1: 0001 F2: 0010 F3: 0011 F4: 0100 F5: 0101 F6: 0110 F7: 0111 F8:1000 F9:1001 F10:1010 F11:1011 F12:1100 X<<1 ~X X Y X^Y (X+Y) >> 2 (X+Y) >> 1 X & F0 X F0 X 0F Min(X,Y) Max(X,Y) X >> 1 X+Y 4. IMPLEMENTING THE PE S IN VRC Figure 2 Block Diagram of EHW with VRC Figure 3 Model VRC with 25 PEs Each of the PEs can be configured to operate with any of the 13 functions provided in table-1. Table 1 The configuration word contains details about the interconnection between the processing elements (PE) of the VRC and the functional operations performed within each PE. The inputs of a PE can be connected to circuit inputs or to the outputs of preceding PEs. However, only up to 8 combinations are permitted in order to reduce the number of configuration bits. While 8 configuration bits define the complete behavior of the PEs of the 1st column (PE0-PE3), 10 configuration bits define the behavior of the remaining PEs (PE4- PE25). It is evident that both combinational and sequential functions can be created in the model VRC. The reconfiguration of the circuit is required once a sensor failure is detected by the failure detection mechanism. The logical configuration of the circuit is defined by a set of 25 integer triplets, one for each of the 25 PEs in the reconfigurable architecture. The first two integers of each triplet represent the source of inputs to the PE (sel1& sel2) and the third integer of the triplet (sel3) indexes the function to be applied by the PE. The configuration memory is composed of flip-flops. All bits of the configuration memory are connected to multiplexers that control routing and selection of functions in PEs. This is shown in figure 4 for PE2.

219 Figure 5.2 Inverter Function Figure 4 PEs with the MUX and function selector Figure 5.3 OR Function 4.1 Tanner Simulator In this work the implementation of the PEs of the hypothetical VRC in an FPGA is simulated using the Tanner simulator tool. The advantage of this approach is that the reconfigurable circuit can be made available as a soft IP core i.e. the model VRC can easily be removed or modified from or on FPGA. Once simulated it is possible to (i) know the power consumed by both the individual PEs and the complete VRC model and (ii) develop effective methods to improve fault tolerance in FPGAs and recover the functionality by means of a smart reconfiguration strategy. Figure 5.4 Ex-OR Function Figure 5.5 Adder + Right shift by 2 function Figure 5.1 First input left shift by 1 function

220 Figure 5.9 First input OR with 0x0F function Figure 5.6 Adder + Right shift by 1 function Figure 5.10 Minimum Of 2 input function Figure 5.7 First input AND with 0xF0 function Figure 5.8 First input OR with 0xF0 function Figure 5.11 Maximum/minimum of two inputs function

221 Case II: Circuit evolved to take care of multiple sensor failure (Sensors 1 and 2 are assumed to be faulty) The result obtained by using the evolvable hardware chip on a real-time plant for this case is shown in figure 7. The VRC has reconfigured itself to reject the fault reading of sensors 1 and 2 and give an output, which closely matches with the sensor 3 reading. Figure 5.12 First input right shift by1 function Case III: Circuit evolved to filter the noise present in the input sensors The VRC output captured using the Tanner tool corresponding to this condition is shown in figure 8. In this case, a Gaussian noise of mean zero and variance 0.1 was added to all the three sensors. The VRC configures itself to act as a filter and filters the noise present in the three input sensors. 6. CONCLUSION This work has presented the use of Tanner tool to perform an analysis of the power consumed by a model VRC for three different reconfigured architectures. The other functions of the complete EHW chip namely the estimator and the fault decision unit is performed in the host processor (PC). The results presented here can be used to assist the integration of VRC with host processor. Figure 5.13 Adder Function The different functions that each PE can perform are simulated in the Tanner package tool and are shown in figures 5.1 to 5.13. 5. EXPERIMENTAL RESULTS Case I: Circuit evolved to handle single sensor failure (Sensor 3 is assumed to be at fault) The power consumed by the VRC chip configured to handle single sensor failure is shown in figure 6. The VRC has reconfigured itself to reject the sensor 3 reading and give an output, which closely matches with the average of the sensor 1 and 2 readings. 7. References 1. Canham, R. O. and Tyrell. A (2002). Evolved fault tolerance in evolvable hardware. IEEE Congress on Evolutionary Computation. IEEE Computer Society. 2. Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization & Machine Learning. Pearson Education, Inc. 3. Hereford, J., Pruitt, C. (2004). Robust sensor systems using evolvable hardware. Proc. of the 2004 NASA/DoD Conference on Evolution Hardware. IEEE Computer Society. 4. Hollingworth, G., Smith, S. and Tyrell, A. (2000). Safe intrinsic evolution of Virtex devices. In Proc. of 2 nd NASA/DoD Workshop on Evolvable Hardware. IEEE 5. Iwata, M., Kajitani, I., Liu, Y., Kajihara, N., Higuchi, T.. Implementation of a Gate-Level Evolvable Hardware Chip. IEEE. 6. Keymeulen, D., Stoica, A., Zebulum, R. and Dong, V. (2000). Results on the Fitness and Populational based Fault Tolerant Approaches using a Reconfigurable Electronic Device. IEEE. 7. Layzell, P. (1999). Inherent Qualities of Circuits Designed by Artificial Evolution: A preliminary study

222 of populational fault tolerance. In Proc. of the 1 st NASA/DoD Workshop on Evolvable Hardware. IEEE Computer Society. 8. Murakawa, M., Higuchi, T., Iwata, M., Kajitani, I., Liu, W., and Salami, M. (1997). Evolvable Hardware at Functional Level. IEEE 9. Ramsden, E., Greenwood, G. W., and Hunter, D. (2004). Fault Recovery in Linear Systems via Intrinsic Evolution. Proc. of the 2004 NASA/DoD Conference on Evolution Hardware. IEEE 1Computer Society. 10. Sekanina, L. (2003). Towards Evolvable IP cores for FPGAs. In Proc. of the 2003 NASA/DoD Conference on Evolvable Hardware. IEEE Computer Society. 11. Sekanina, L., and Friedl, S. (2004). On Routine Implementation of Virtual Evolvable Devices Using COMBO6. Proc. Of the 2004 NASA/DoD Conference on Evolution Hardware. IEEE Computer Society. 8. Biographies 1)Mr.P.Nirmalkumar is a research scholar in the faculty of ECE, Anna Uty. Chennai. His areas of interest include evolvable hardware, fault tolerant systems, genetic algorithms etc. 2)Dr.Raja Paul Perinbam is a Professor in the faculty of ECE, Anna Uty. Chennai. His areas of interest include EHW, embedded systems, low power VLSI etc. 3)Dr.S.Ravi is a Professor in the faculty of ECE, Dr.M.G.R. Deemed Uty. Chennai. His areas of interest include reconfigurable architectures, signal processing, low power VLSI etc. 4)Mr.B.Rajan is in the department of ECE, Dr.M.G.R. Deemed Uty. Chennai. His areas of interest include image processing, ASIC, Evolvable hardware etc. Figure 7 Power consumed by evolved VRC for case (ii) Figure 6 Power consumed by evolved VRC for case (i) Figure 8 Power consumed by evolved VRC for case (iii)