AUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM

Similar documents
Implementation of Optimized ALU for Digital System Applications using Partial Reconfiguration

Improved Fault Tolerant Sparse KOGGE Stone ADDER

Architecture to Detect and Correct Error in Motion Estimation of Video System Based on RQ Code

Evaluation of FPGA Resources for Built-In Self-Test of Programmable Logic Blocks

AN EFFICIENT DESIGN OF VLSI ARCHITECTURE FOR FAULT DETECTION USING ORTHOGONAL LATIN SQUARES (OLS) CODES

Detecting and Correcting the Multiple Errors in Video Coding System

Efficient Majority Logic Fault Detector/Corrector Using Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study

Implementation of a FIR Filter on a Partial Reconfigurable Platform

Detecting and Correcting the Multiple Errors in Video Coding System

A Low Power Asynchronous FPGA with Autonomous Fine Grain Power Gating and LEDR Encoding

A Proposed RAISIN for BISR for RAM s with 2D Redundancy

A Novel Architecture of Parallel Multiplier Using Modified Booth s Recoding Unit and Adder for Signed and Unsigned Numbers

ReSpace/MAPLD Conference Albuquerque, NM, August A Fault-Handling Methodology by Promoting Hardware Configurations via PageRank

An Area-Efficient BIRA With 1-D Spare Segments

AnEvaluationofaSliceFaultAwareToolChain

Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs

BIST-Based Test and Diagnosis of FPGA Logic Blocks

An Efficient Carry Select Adder with Less Delay and Reduced Area Application

Designing and Characterization of koggestone, Sparse Kogge stone, Spanning tree and Brentkung Adders

VLSI Architecture to Detect/Correct Errors in Motion Estimation Using Biresidue Codes

Resource Efficient Multi Ported Sram Based Ternary Content Addressable Memory

DETECTION AND CORRECTION OF CELL UPSETS USING MODIFIED DECIMAL MATRIX

Fault Tolerant Parallel Filters Based On Bch Codes

FPGA Based Low Area Motion Estimation with BISCD Architecture

Power Optimized Programmable Truncated Multiplier and Accumulator Using Reversible Adder

Circuit Partitioning for Application-Dependent FPGA Testing

An Integrated ECC and BISR Scheme for Error Correction in Memory

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

Majority Logic Decoding Of Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

Design and Analysis of Kogge-Stone and Han-Carlson Adders in 130nm CMOS Technology

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

RE-CONFIGURABLE BUILT IN SELF REPAIR AND REDUNDANCY MECHANISM FOR RAM S IN SOCS Ravichander Bogam 1, M.Srinivasa Reddy 2 1

International Journal of Scientific & Engineering Research, Volume 4, Issue 10, October ISSN

Algorithms for Efficient Runtime Fault Recovery on Diverse FPGA Architectures

Outline of Presentation Field Programmable Gate Arrays (FPGAs(

Optimal Built-In Self Repair Analyzer for Word-Oriented Memories

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

CALCULATION OF POWER CONSUMPTION IN 7 TRANSISTOR SRAM CELL USING CADENCE TOOL

Dynamic Partial Reconfigurable FIR Filter Design

Spiral 2-8. Cell Layout

TESTING OF FAULTS IN VLSI CIRCUITS USING ONLINE BIST TECHNIQUE BASED ON WINDOW OF VECTORS

Complex test pattern generation for high speed fault diagnosis in Embedded SRAM

An Efficient Hybrid Parallel Prefix Adders for Reverse Converters using QCA Technology

Optimization of Task Scheduling and Memory Partitioning for Multiprocessor System on Chip

An Efficient Flexible Architecture for Error Tolerant Applications

Exploiting Unused Spare Columns to Improve Memory ECC

BIST-Based Test and Diagnosis of FPGA Logic Blocks 1

Online Testing of Word-oriented RAMs by an Accumulator-based Compaction Scheme in Symmetric Transparent Built-In Self Test (BIST)

Improving Memory Repair by Selective Row Partitioning

New Logic Module for secured FPGA based system

Yield Enhancing Defect Tolerance Techniques for FPGAs

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

A Modified Radix2, Radix4 Algorithms and Modified Adder for Parallel Multiplication

Reliability of Memory Storage System Using Decimal Matrix Code and Meta-Cure

HDL IMPLEMENTATION OF SRAM BASED ERROR CORRECTION AND DETECTION USING ORTHOGONAL LATIN SQUARE CODES

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Gated-Demultiplexer Tree Buffer for Low Power Using Clock Tree Based Gated Driver

Testability Optimizations for A Time Multiplexed CPLD Implemented on Structured ASIC Technology

FPGA IMPLEMENTATION OF FLOATING POINT ADDER AND MULTIPLIER UNDER ROUND TO NEAREST

INTRODUCTION TO FPGA ARCHITECTURE

Progress in Autonomous Fault Recovery of Field Programmable Gate Arrays

An enhanced barrel shifter based BIST scheme for word organized RAMs (EBBSR).

Block Sparse and Addressing for Memory BIST Application

Design and Implementation of VLSI 8 Bit Systolic Array Multiplier

Testing Virtual Reconfigurable Circuit Designed For A Fault Tolerant System

High Performance and Area Efficient DSP Architecture using Dadda Multiplier

DESIGN AND PERFORMANCE ANALYSIS OF CARRY SELECT ADDER

VLSI ARCHITECTURE FOR NANO WIRE BASED ADVANCED ENCRYPTION STANDARD (AES) WITH THE EFFICIENT MULTIPLICATIVE INVERSE UNIT

AN OPTIMAL APPROACH FOR TESTING EMBEDDED MEMORIES IN SOCS

VLSI Design and Implementation of High Speed and High Throughput DADDA Multiplier

DESIGN AND IMPLEMENTATION OF APPLICATION SPECIFIC 32-BITALU USING XILINX FPGA

Reduced Latency Majority Logic Decoding for Error Detection and Correction

Available online at ScienceDirect. Procedia Technology 24 (2016 )

FPGA Implementation of Multiplier for Floating- Point Numbers Based on IEEE Standard

Power and Area Efficient Implementation for Parallel FIR Filters Using FFAs and DA

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

Effective Implementation of LDPC for Memory Applications

Error Detection and Correction by using Bloom Filters R. Prem Kumar, Smt. V. Annapurna

A Case Study. Jonathan Harris, and Jared Phillips Dept. of Electrical and Computer Engineering Auburn University

Algorithm for Determining Most Qualified Nodes for Improvement in Testability

Design Methodologies. Full-Custom Design

HIGH-PERFORMANCE RECONFIGURABLE FIR FILTER USING PIPELINE TECHNIQUE

A High Speed Design of 32 Bit Multiplier Using Modified CSLA

Full Custom Layout Optimization Using Minimum distance rule, Jogs and Depletion sharing

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

How Much Logic Should Go in an FPGA Logic Block?

JTAG TAP CONTROLLER PROGRAMMING USING FPGA BOARD

VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko

Single Event Upset Mitigation Techniques for SRAM-based FPGAs

SELF CORRECTING MEMORY DESIGN FOR FAULT FREE CODING IN PROGRESSIVE DATA STREAMING APPLICATION

Prachi Sharma 1, Rama Laxmi 2, Arun Kumar Mishra 3 1 Student, 2,3 Assistant Professor, EC Department, Bhabha College of Engineering

Fault Tolerant Prevention in FIFO Buffer of NOC Router

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

International Journal of Advancements in Research & Technology, Volume 2, Issue 10, October ISSN

DESIGN OF FAULT SECURE ENCODER FOR MEMORY APPLICATIONS IN SOC TECHNOLOGY

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Diagnostic Testing of Embedded Memories Using BIST

Design of a Pipelined 32 Bit MIPS Processor with Floating Point Unit

Transcription:

AUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM B.HARIKRISHNA 1, DR.S.RAVI 2 1 Sathyabama Univeristy, Chennai, India 2 Department of Electronics Engineering, Dr. M. G. R. Univeristy, Chennai, India E-mail: harikrishna07@gmail.com, ravi_mls@yahoo.com Abstract- In commercial architectures, the routing consumes most of the chip area, and is responsible for most of the circuit delay. In this paper a new technique of reconfiguring FPGA circuits is proposed. The proposed technique uses BLRB approach for reconfiguring the FPGA. By this approach the routing path is less and the overall delay required to recover from fault is very less. Whenever any fault occurs the spare is selected in such way that whichever spare is nearer is chosen for reconfiguration. By selecting the nearest spare the routing path is decreased. In this method multiple faults are reconfigured at a time and the reconfigured bits are generated. Keywords- BLRB, CLB, FPGA I. INTRODUCTION Intellectual property core (IP) is a reusable unit of logic, cell or chip layout design. IP cores can be used as building blocks within ASIC chip designs or FPGA logic designs. An IP core is a block of logic or data that is used in making a field programmable gate array (FPGA) or application specific integrated circuit for a product. Field-programmable gate arrays (FPGAs) is completely general medium for implementing the digital logic. There are many different FPGA architectures available from various vendors for example- Altera [11], Xilinx [12]. Although the exact structure of these FPGAs varies from vendor to vendor, all FPGAs consist of the three fundamental components: Logic Blocks, I/O blocks, and the Programmable Routing. What comprises of a logic block, and how the programmable routing is organized defines the particular architecture. A logic block is used to implement the small portion of the circuit being implemented using an FPGA. The programmable routing is used to make all the required connections among the various logic block and the required connections to the I/O (input/output) blocks. Routing in FPGAs consists of wire segments of varying lengths which can be interconnected using electrically programmable switches. Density of logic block used in an FPGA depends on the length and number of wire segments used for routing. Number of segments used for the interconnection typically is a tradeoff between density of logic blocks used and amount of area used up for routing. In this paper we present an efficient path routing method using nearest spare for reconfiguration of FPGA. In this approach first, we determine if the system can continue to work correctly in the presence of the located faults. In most of the situations this is possible and no reconfiguration is needed. If a fault does affect the system function, we determine the best alternate configurations that avoid the faulty resources. To enable automatic recovery of a device after damage, an autonomous BLRB algorithm is implemented and tested. An example circuit is taken and analyzed in this work. An FPGA architecture consisting of 25 CLB considered as an example. II. RELATED RESEARCH In this section, a brief description about some techniques for tolerating faults in FPGAs is discussed. in this paper, we have limited the scope to reflect a few key efforts that provided some information for our work. For a more detailed, quantitative analysis of different online and offline FT techniques, see [2]. Several techniques employ column or row shifting [3], [4]. In [3], Hatori et al.introduced a single spare column for tolerating faults. They used specialized selector circuitry to reconfigure FPGA circuits in the presence of faults. Similar to methods used for FT in SRAMs,at least one additional column of PLB is faulty, its column is eliminated and all functions mapped to the columns between the faulty column and the closest spare are shifted toward the spare column algorithm.kelly and Ivey use redundancy to bypass faults in applications mapped to FPGAs [7]. Their FT technique relies on a shift method to reconfigure in the presence of faults. They incorporate a reconfiguration switch to reconfigure and they use normal place and route (PAR) tools for mapping circuits to FPGAs. The switch matrix network makes their technique more flexible than the column and row techniques in [9] and [10]. For an average FPGA utilization or 80%, 20% of the resources should be available for spares. In [8], Cuddapah and Corba used Xilinx SRAMbased FPGAs to demonstrate the FT capabilities of FPGAs. In their study, they randomly picked PLBs to 28

be faulty. They reconfigured the circuit around these faults using commercially available PAR tools. The main contributions of their work were an algorithm to determine fault coverage (the ability to reconfigure around a given number of faults) of a design and a definition of the fault recovery rate for any given design implemented in an SRAM-based FPGAs. Additionally, they demonstrated that fault recovery was feasible on FPGAs by other than modular redundant methods. Similar to Kelly and Ivey, their method requires some unused or spare resources, and the fault tolerance depends on how many spares are available. Dutt and Hanchek et al. developed a method to increase FPGA yield [9], [10]. Their method used node covering and reserved routing resources to replace the functionality of faulty PLBs. One row (column) of PLBs is reserved for spares. If a PLB in any given column (row) was faulty, the functionality of all PLBs in the column (row) from the faulty PLB to the spare PLB was shifted toward the spare PLB. Spare routing resources were used to eliminate overhead of rerouting the updated circuit placement. The main advantage of this method is that it is very fast relative to reconfiguration time. Since the spare resources have already been allocated to cover a limited number of faults, the reconfiguration time is linear with respect to the number of faults. Like many of the previous methods, the main problem with this offline technique is the limited number of faults that can be tolerated in each column (row). At most, they guarantee toleration of one fault per spare row or column. This paper is organized as follows section III BLRB approach describing the overall flowchart. In section V the implementation part is discussed with explanation at each stage. In section VI results and discussion III. AUTONOMOUS RESTRUCTURING IV. APPLICATION CIRCUIT (ADDER) Figure 2 : An example of adder circuit. An example of an adder circuit is analyzed in this work. A FPGA consisting of 25 CLBs is considered. The CLB is the main resource for implementing both combinational and sequential circuits. A CLB consists of multiplexers, inverters, flipflops, LUT etc. The inputs for the method are the bit streams. This bit streams define the structural and functional description of the circuit. The functions performed by each CLB are shown in table 1. Table 1. Function Function code Function type F0 010 X^Y F1 000 X &Y F2 000 X &Y F3 000 X &Y F4 010 X^Y F5 001 X Y When the circuit is evolved some of the CLBs are active and some will be the spare. The spare CLBs are used for reconfiguration. This can be seen from fig 9 when ever any fault occurs the spare that is near to the fault is selected and reconfiguration is done. V. IMPLEMENTATION In this BLRB (Best left right block) approach when ever any fault occurs the fault is replaced by the best near spare that is available. The algorithm is explained as follows A.Separation of Bits We get the bit streams from the faulty resource to reconfigure the FPGA. At first the bit streams are separated by inputs, outputs and functions. A sample application corresponding to adder circuit is realized on an evolved circuit is considered. The application uses 217 bits as the configuration word for a FPGA and has 25 configurable logic blocks (CLBs). The VRC decoder gives a 25 bit word as input to represent the active and spare CLBs among the 25 CLBS. Figure 1: showing the overall implementation of Autonomous restructuring B. Inter Connection Identification In this the CLB number to which the present CLB is connected is known and in similar way identify for all 29

the CLBs and whole structure is known by this way. Once whole structural description is identified the spare, active CLBs are known explicitly. To extract the CLB number to which the present CLB is connected at the input side is known by using this formula CORRECTINGFACTOR + CLB NUMBER=INPUT NUMBER. -------- Equation.1 The correcting factor depends up on the FPGA that is selected. reconfiguration is done and is shown in following figures C.Spare Finding Finding the best spare from the spares available. Here we are finding out the best spare that is suitable for the fault.by selecting the nearest spare the interconnection path is reduced when compared to selecting any of the available spares. And latency is also reduced and reconfiguration is done in time and path delay is less by selecting the nearest spare.by reducing the path delay the time required to get the output in time may achieve. If the spare selected is not near then the path delay is more and signal from input to output is more by this there is considerable delay at the final output. Figure 3: An example of FPGA of 8x8 size. Showing the edge CLB and spare and faulty CLB. faulty CLB Spare CLB Active CLB LSpare [t1] = I; RSpare [t2]=i ; Where I indicates the first spare found near the fault. From these two LSpare and RSpare the best CLB is selected and given for reconfiguration. D.Reconfigurtion of CLB Once fault location is known using well known detection and diagnosing fault the next step is reconfiguration. The reconfiguration is done to the selected spare structurally as well as functionally. The fault CLB configuration bits i.e. inputs and function bits will be copied to found spare. Now left thing is structural connection of the fault CLB connection to the spare CLB connection. The following are the steps for connection Decode the CLB number to which the present CLB inputs are connected by using Equ 1. Generate new input bit stream for spare using Equation 1 Generate reconfigured configuration bits by replacing new input bit stream and functional bits at spare location. Now update the active spare bit stream indicating the faulty CLB location. By this from the input stream given by resource there will be an extra fault added and one spare less from available 64 CLB. VI. RESULTS AND DISCUSSION In this example randomly some spares and edge spare are identified and accordingly some faults are identified and by using the BLRB approach the Figure 4: Showing the best possible spares for each fault. Figure 5: Selected the best spare after applying BLRB algorithm. Figure 6: After reconfiguration of faulty CLB by selecting spare. In fig 2 an example of FPGA is taken by selecting few faults randomly and spares and edge spares. 30

After identifying the spares and faults the next process is finding the nearest spare for the fault identified.from fig 4 we can see the nearest spare and the spares identified. By using the BLRB approach the nearest spare that is found is shown in fig 5.After finding the best spare that is suitable reconfiguration is done to that faulty spare.reconfiguration is done structurally and functionally to the fault with the help of spare that is shown in fig 6. VII. IMPLEMENTATION RESULTS Figure 11: Reconfiguration of faulty CLB with spare The results obtained by implementing the algorithm presented in section V is presented here. In this the method finds for best spare that is suitable for reconfiguration that output can be seen from fig 11.the algorithm dynamically selects the best spare and fault is reconfigured accordingly. The algorithm presented here selects the best spare dynamically. The outputs of the various fault decoding IP cores is given in Table 2. Figure 12: Multiple faults reconfiguration and generation of new bit streams Table 2 Status Spares available Spare selected CLB 3 Faulty CLB7,CLB6 CLB6 Figure 7: Input and function identification output Figure 8: Identifying the active and spares output VIII. CONCLUSION In this approach a new approach to reconfigure the faulty CLB by the best Spare CLB is presented. An example circuit is taken and analyzed in this work. This approach can work for multiple faults and reconfiguration is done in online. By selecting the nearest spare for reconfiguration the path between the CLB s is short even after occurrence of fault. REFERENCES [1]. John M. Emmert, Charles E. Stroud, and Miron Abramovici, Online Fault Tolerance for FPGA Logic Blocks, IEEE Transactions On Very Large Scale Integration (Vlsi) Systems, Vol. 15, No. 2, February 2007, Pp.No. 216-226. Figure 9: Structural identification [2] J. Cheatham, J. M. Emmert, and S. Baumgart, A survey of fault tolerant methodologies for FPGAs, ACM Trans. Des. Autom. Electron.Syst., vol. 11, no. 2, pp. 501 533, Apr. 2006. [3] F. Hatori et al., Introducing redundancy in field programmable gate arrays, in Proc. IEEE Custom Integr. Circuits Conf., 1993, pp.7.1.1 7.1.4. [4] S. Durand and C. Piguet, FPGAs with self-repair capabilities, in Proc. ACM Int. Symp. FPGAs, 1994, pp. 1 6. Figure 10: finding the best spare from the available spares output [7] J. Kelly and P. Ivey, Defect tolerant SRAM based FPGAs, in Proc. Int. Conf. Comput. Des., 1994, pp. 479 482. 31

[8] R. Cuddapah and M. Corba, Reconfigurable Logic for Fault Tolerance. New York: Springer-Verlag, 1995 [9] S. Dutt and F. Hanchek, REMOD: a new methodology for designing fault-tolerant arithmetic circuits, IEEE Trans. Very Large Scale Integr.(VLSI) Syst., vol. 5, no. 1, pp. 34 56, Jan. 1997. [10] F. Hanchek and S. Dutt, Methodologies for tolerating logic and interconnect faults in FPGAs, IEEE Trans. Comput., vol. 47, no. 1, pp.15 33, Jan. 1998. [11] Altera Inc., Data Book, 1999. [12] Xilinx Inc., Data Book, 1999 Mr.B.Hari Krishna is presently a research scholar in Sathyabama University, Chennai and is pursuing his research in the area of Autonomous Restructuring Systems, he is presently working as Assoc.prof in BITS, khammam..he has 7 years of experience His interested areas are Image Processing, Embedded systems and FPGA testing. Dr.S. Ravi was born on July 24th, 1971 at Chennai, India and got A.M.I.E. (Electronics Engineering) from Institution of Engineers,Calcutta in the Year 1991, M.Tech. (Communication systems) from Anna University,Chennai in the Year 1994 and Ph.D. from Anna University in the year 2004. He has got 17 Years of Teaching Experience and 3 Years of Industrial Experience. He attended Summer and Winter School Programs at Anna University, Chennai, IITM Chennai and Indian Institute of Science, Bangalore. Presently, he is working as Professor and Head of the Department of Electronics Engineering in Dr.M.G.R. University, Chennai. From the Year 1994 onwards he is working as faculty in the above college. He has so far published nearly twenty papers in referred International Journals and successfully guided three Ph.D. scholars. Dr. S. Ravi is a Life Member and Charted Engineer in Institute of Engineers (I) and Life Member of Indian Society for Technical Education. 32