Comparative Analysis of Stein s. and Euclid s Algorithm with BIST for GCD Computations. 1. Introduction

Similar documents
INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Synthesis Techniques for Pseudo-Random Built-In Self-Test Based on the LFSR

LFSR Counter Implementation in CMOS VLSI

Design of Fault Coverage Test Pattern Generator Using LFSR

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

International Journal of Scientific & Engineering Research, Volume 5, Issue 9, September ISSN

Overview: Logic BIST

Design and Implementation OF Logic-BIST Architecture for I2C Slave VLSI ASIC Design Using Verilog

Bit Swapping LFSR and its Application to Fault Detection and Diagnosis Using FPGA

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

Available online at ScienceDirect. Procedia Computer Science 46 (2015 ) Aida S Tharakan a *, Binu K Mathew b

Design of Test Circuits for Maximum Fault Coverage by Using Different Techniques

VLSI System Testing. BIST Motivation

Why FPGAs? FPGA Overview. Why FPGAs?

VHDL Implementation of Logic BIST (Built In Self Test) Architecture for Multiplier Circuit for High Test Coverage in VLSI Chips

Implementation of BIST Test Generation Scheme based on Single and Programmable Twisted Ring Counters

Design of BIST with Low Power Test Pattern Generator

TEST PATTERN GENERATION USING PSEUDORANDOM BIST

Fpga Implementation of Low Complexity Test Circuits Using Shift Registers

LFSR TEST PATTERN FOR FAULT DETECTION AND DIAGNOSIS FOR FPGA CLB CELLS

A Novel Method for UVM & BIST Using Low Power Test Pattern Generator

A Novel Low Power pattern Generation Technique for Concurrent Bist Architecture

Power Optimization of Linear Feedback Shift Register (LFSR) using Power Gating

A Modified Design of Test Pattern Generator for Built-In-Self- Test Applications

VLSI Technology used in Auto-Scan Delay Testing Design For Bench Mark Circuits

A New Approach to Design Fault Coverage Circuit with Efficient Hardware Utilization for Testing Applications

Available online at ScienceDirect. Procedia Technology 24 (2016 )

A Fast Constant Coefficient Multiplier for the XC6200

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

An Efficient Reduction of Area in Multistandard Transform Core

VLSI Test Technology and Reliability (ET4076)

FPGA Hardware Resource Specific Optimal Design for FIR Filters

Analysis of Low Power Test Pattern Generator by Using Low Power Linear Feedback Shift Register (LP-LFSR)

Field Programmable Gate Arrays (FPGAs)

DESIGN OF LOW POWER TEST PATTERN GENERATOR

Implementation of Low Power Test Pattern Generator Using LFSR

Implementation of UART with BIST Technique

[Krishna*, 4.(12): December, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

SRAM Based Random Number Generator For Non-Repeating Pattern Generation

SIC Vector Generation Using Test per Clock and Test per Scan

Power Problems in VLSI Circuit Testing

Design and Implementation of Uart with Bist for Low Power Dissipation Using Lp-Tpg

International Journal of Engineering Trends and Technology (IJETT) - Volume4 Issue8- August 2013

Implementation of Low Power and Area Efficient Carry Select Adder

FPGA Implementation of Low Power Self Testable MIPS Processor

Design of BIST Enabled UART with MISR

Y. Tsiatouhas. VLSI Systems and Computer Architecture Lab. Built-In Self Test 2

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

Weighted Random and Transition Density Patterns For Scan-BIST

An Efficient High Speed Wallace Tree Multiplier

Built-In Self-Test (BIST) Abdil Rashid Mohamed, Embedded Systems Laboratory (ESLAB) Linköping University, Sweden

Design of Efficient Programmable Test-per-Scan Logic BIST Modules

DETERMINISTIC SEED RANGE AND TEST PATTERN DECREASE IN LOGIC BIST

Optimization of FPGA Architecture for Uniform Random Number Generator Using LUT-SR Family

CMOS Testing-2. Design for testability (DFT) Design and Test Flow: Old View Test was merely an afterthought. Specification. Design errors.

LUT Optimization for Memory Based Computation using Modified OMS Technique

nmos transistor Basics of VLSI Design and Test Solution: CMOS pmos transistor CMOS Inverter First-Order DC Analysis CMOS Inverter: Transient Response

ISSN:

E-Learning Tools for Teaching Self-Test of Digital Electronics

Ultra-lightweight 8-bit Multiplicative Inverse Based S-box Using LFSR

Implementation of Memory Based Multiplication Using Micro wind Software

Instructions. Final Exam CPSC/ELEN 680 December 12, Name: UIN:

How to Predict the Output of a Hardware Random Number Generator

Novel Correction and Detection for Memory Applications 1 B.Pujita, 2 SK.Sahir

Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL

Design of Memory Based Implementation Using LUT Multiplier

ALONG with the progressive device scaling, semiconductor

Implementation of High Speed Adder using DLATCH

Hardware Implementation of Viterbi Decoder for Wireless Applications

Final Exam CPSC/ECEN 680 May 2, Name: UIN:

FPGA Design with VHDL

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

Bit-Serial Test Pattern Generation by an Accumulator behaving as a Non-Linear Feedback Shift Register

Testing of Cryptographic Hardware

FPGA Design. Part I - Hardware Components. Thomas Lenzi

Chapter Contents. Appendix A: Digital Logic. Some Definitions

IMPLEMENTATION OF X-FACTOR CIRCUITRY IN DECOMPRESSOR ARCHITECTURE

BUILT-IN SELF-TEST BASED ON TRANSPARENT PSEUDORANDOM TEST PATTERN GENERATION. Karpagam College of Engineering,coimbatore.

LFSR Based Watermark and Address Generator for Digital Image Watermarking SRAM

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

An FPGA Implementation of Shift Register Using Pulsed Latches

High Performance Carry Chains for FPGAs

This Chapter describes the concepts of scan based testing, issues in testing, need

Implementation and Analysis of Area Efficient Architectures for CSLA by using CLA

Segmented Leap-Ahead LFSR Architecture for Uniform Random Number Generator

Low Transition-Generalized Linear Feedback Shift Register Based Test Pattern Generator Architecture for Built-in-Self-Test

Optimization of memory based multiplication for LUT

Chapter 3. Boolean Algebra and Digital Logic

OMS Based LUT Optimization

CMOS Design Analysis of 4 Bit Shifters 1 Baljot Kaur, M.E Scholar, Department of Electronics & Communication Engineering, National

I. INTRODUCTION. S Ramkumar. D Punitha

Peak Dynamic Power Estimation of FPGA-mapped Digital Designs

Reconfigurable FPGA Implementation of FIR Filter using Modified DA Method

Dynamic Power Reduction in Sequential Circuits Using Look Ahead Clock Gating Technique R. Manjith, C. Muthukumari

Response Compaction with any Number of Unknowns using a new LFSR Architecture*

COMP2611: Computer Organization. Introduction to Digital Logic

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques

Design and Implementation of Partial Reconfigurable Fir Filter Using Distributed Arithmetic Architecture

True Random Number Generation with Logic Gates Only

Transcription:

IJCSN International Journal of Computer Science and Network, Vol 2, Issue 1, 2013 97 Comparative Analysis of Stein s and Euclid s Algorithm with BIST for GCD Computations 1 Sachin D.Kohale, 2 Ratnaprabha W.Jasutkar 1 Post Graduate Student, G. H. Raisoni College of Engineering Nagpur, Maharashtra, India 2 Assistant Professor, Department of Computer Science and Engineering,G. H. Raisoni College of Engineering Nagpur, Maharashtra, India Abstract The Very Large Scale Integration(VLSI) has a dramatic impact on the growth of digital technology. VLSI has not only reduced the size and cost, but also increased the complexity of the circuits. Due to increase in complexity, it is difficult to test circuits. To reduce this problem of testing, it is advantageous to add another IC along with it which will test and correct errors by itself. This IC is known as Built in Self Test(BIST).In this paper, we are particularly concentrating upon finding the comparative parameters of Euclid s and Stein s Algorithm, which is used to find greatest common divisor(gcd) of two non negative integers. Thus, the best parameters to be found can be used effectively for finding gcd, This indirectly reduces time for calculating greatest common divisor, which is being used very frequently in communication applications. Keywords: Built In Self Test(BIST), Euclid s Algorithm, Linear Feedback Shift Register, Stein s Algorithm,VLSI testing. 1. Introduction Testing of Integrated Circuits(ICs) is of crucial importance to ensure a high level of quality in product functionality in both commercially and privately produced products. As the complexity of circuits continues to increase, high fault coverage of several types of fault models becomes more difficult to achieve with traditional testing paradigms. This desire to attain a high quality level must be tempered with the cost and time involved in this process. These two design considerations are at constant odds. It is with both goals in mind (effectiveness vs. cost/time) that Built-In-Self Test (BIST) has become a major design consideration in Design -For- Testability (DFT) methods. As digital systems become more complex, they become much harder and more expensive to test. One solution to this problem is to add logic to the IC so that it can test itself. This is referred to as Built in self Test (BIST). BIST approach is beneficial in many ways. First, it can reduce dependency on external Automatic Test Equipment (ATE). Secondly, it can be used elsewhere or on the other Devices. GCD stands for greatest common divisor. Computation of the GCD of long integers is heavily used in computer algebra systems because it occurs in normalization of rational numbers and other important sub algorithms. While performing experiments, half of the time is spent for calculating GCD of long integers. There are various fields where this division is used e.g. channel coding, cryptography, error correction and code construction. There are algorithms to calculate Greatest Common Divisor(gcd). In this paper, we are using Euclid s and Stein s algorithm for calculating Greatest Common Divisor(gcd) of two non-negative integers. Theoretically, Stein s algorithm is better than Euclid s algorithm for gcd calculations. 1.1 Built in Self Test(BIST) Built-In Self Test (BIST)[3] is a technique of integrating the functionality of an automatic test system onto a chip. It is a Design for Test technique in which testing is accomplished through built in hardware features. The general BIST architecture has a BIST test controller which controls the BIST circuit, test generator which generates the test address sequence,response verification as a comparator which compares memory output response with the expected correct data. The BIST controller can be implemented by either hardwired logic in the form of finite state machine(fsm), microcode controller or based on processor.

IJCSN International Journal of Computer Science and Network, Vol 2, Issue 1, 2013 98 2. Linear Feedback Shift Register(LFSR) Linear Feedback Shift Register(LFSR)[2] is a circuit consisting of flip-flops connected in series with each other. The output of one flip-flop is connected to the input of the next flip-flop and so on. The feedback polynomial which is also known as the characteristics polynomial is used to determine the feedback taps which in turn determines the length of the random pattern generation. In its simplest form, Euclid s algorithm starts with a pair of positive integers and forms a new pair that consists of the smaller number and the difference between the smaller and larger numbers. The process repeats until the numbers are equal. That number then is the greatest common divisor of the original pair. Basically Euclid algorithm [3] can be described as gcd( a, 0 ) = a (1) gcd( a, b ) = gcd( b, a mod b ) (2) If arguments are both greater than zero, then gcd( a, a ) = a (3) gcd( a, b ) = gcd( a - b, b ) ; if b < a (4) gcd( a, b ) = gcd( a, b - a ) ; if a < b (5) Fig. 1 Conventional LFSR or XOR LFSR. In Computing, a Linear Feedback Shift Register(LFSR) is a shift register whose input bit is a linear function of its previous state. The most commonly used linear function of single bits is XOR. Thus, an LFSR is most often a shift register whose input bit is driven by the exclusiveor(xor) of some bits of the overall shift register value. The initial value of the LFSR is called seed, and because the operation of the register is deterministic, the stream of values produced by the register is completely determined by its current(or previous) state. Likewise, because the register has a finite number of possible states, it must eventually enter a repeating cycle. However, an LFSR with a well-chosen feedback function can produce a sequence of bits which appears random and which has a very long cycle. Applications of LFSR including generating pseudo-random numbers, pseudo-noise sequences, fast digital counters and whitening sequences. Both hardware and software implementations of LFSR are common. 3.Euclid salgorithm In Mathematics, the Euclidean algorithm or Euclid s algorithm[3], is an efficient method of computing the greatest common divisor(gcd)[7] of two integers, also known as greatest common factor(gcf) or highest common factor(hcf). It is named after the Greek Mathematician, Euclid. For ex. gcd( 20, 0 ) is 20 [1]. Similarly, gcd( 20, 10 ) [4] is same as gcd( (20-10), 10 ) = gcd( 10, 10 ) = 10. 4.Stein salgorithm This algorithm is also known as binary gcd algorithm. It is algorithm that computes the greatest common divisor of two nonnegative integers. It gains a measure of efficiency over the ancient Euclidean algorithm by replacing divisions and multiplications with shifts, which are cheaper when operating on the binary representation used by modern computers. This is particularly critical on embedded platforms that have no direct processor support for calculations of divison.. Basically Stein s algorithm[4] can be described as gcd( 0, v ) = v (6) gcd( u, 0 ) = u (7) gcd( 0, 0 ) = 0 (8) If u and v are both even, then gcd( u, v ) = 2.gcd( u/2, v/2 ) (9) If u is even and v is odd, then gcd( u, v ) = gcd( u/2 v ) (10) Similarly u is odd and v is even then gcd( u, v ) = gcd( u, v/2 ) (11) If u and v are both odd and u is v, then

IJCSN International Journal of Computer Science and Network, Vol 2, Issue 1, 2013 99 gcd ( u, v ) = gcd( ( u v )/2, v ) (12) If both are odd and u < v, then gcd( u, v ) = gcd( ( v u )/2, u ) (13) 5. Comparison of Euclid s Vs. Stein s Algorithm Table 1: Euclid s Algorithm for BIST with 8-bit input data For ex. gcd( 0, 22 ) is 22 [6]. Also, gcd( 33, 0 ) is 33 [7]. Similarly, gcd( 21, 22 ) is same as gcd( 21, 11) [11]. Also, gcd( 21, 41 ) is same as gcd( (41-21) / 2, 21 ) is again same as gcd( 10, 21 )[13]. Device XC3S50 XC3S200 XC3S400 XC3S1000 No. of Slices 807 825 825 825 No. of Slice Flip Flops 16 16 16 16 No. of 4 input LUT s 1613 1613 1613 1613 No. of bounded IOB s Total Equivalent gate count for design Additional JTAG gate count for IOB s Power Consumption (in milli-watts) 35 35 35 35 13503 13503 13503 13503 1680 1680 1680 1680 Cannot be calculated due to large design 37 56 92 Table 2:Stein s Algorithm for BIST with 8-bit input data Device XC3S50 XC3S200 XC3S400 XC3S1000 No. of Slices 74 74 74 74 No. of Slice Flip Flops 48 48 48 48 No. of 4 input LUT s 131 131 131 131 No. of bounded IOB s Total Equivalent gate count for design Additional JTAG gate count for IOB s Power Consumption (in milli-watts) 22 22 22 22 1395 1395 1395 1395 1056 1056 1056 1056 24 37 56 92 Table 1 and Table 2 shown above shows different parameters that has been calculated after selecting Spartan 3 Device, using Euclid s and Stein s Algorithm for BIST with 8-bit input data. Under Spartan 3 Device, different parameters is being calculated for different families such as XC3S50, XC3S200, XC3S400 and XC3S1000. From the above tables (1 and 2), it has been observed that number of LUT s is more in case of Euclid s Algorithm as compared to number of LUT s in Stein s Algorithm. Also, total equivalent gate needed for designing hardware is more in Euclid s Algorithm as compared to total equivalent gate needed in Stein s Algorithm. Power consumption is also one of the factor in both algorithms.

IJCSN International Journal of Computer Science and Network, Vol 2, Issue 1, 2013 100 Fig. 2. Euclid s 8 bit data input with BIST. Fig. 3. Stein s 8 bit data input with BIST. 6. Conclusion Thus, After comparing Euclid s and Stein s algorithm, we can conclude that Stein s algorithm is better than Euclid s Algorithm practically. Although, theoretically it is already being proved. From table 1 and table 2, it is been observed that power consumption is less for XC3S50 family of Spartan 3 device. Also, as the number of Look- Up Tables(LUT s) needed is less in Stein s Algorithm as compared to that of Euclid s Algorithm, less function generators is being implemented in CLB s. Also, gate count needed is less in Stein s Algorithm as compared to that of Euclid s Algorithm. Thus, due to less number of gates needed, gcd processor implemented using Stein s Algorithm is better for calculating greatest common divisor(gcd) of two non-negative integers. Fig. 2 and Fig. 3 shown above shows comparison of output waveforms of Euclid s and Stein s Algorithms with BIST considering 8- bit data input Appendix Slice : Two slices form a CLB within Spartan -II and Virtex families. This is a specific example of a comp type that corresponds to the basic fabric of logic in all FPGA s. Look-Up Table (LUT) : Look-up tables (LUTs) are used to implement function generators in CLBs. Four independent inputs are provided to each of two function generators (F1-F4 and G1-G4). These function generators can implement any arbitrarily defined Boolean function of four inputs. The H function generator can implement any Boolean function of four inputs. IOB (input/output block) : A collection or grouping of basic elements that implement the input and output functions of an FPGA device.

IJCSN International Journal of Computer Science and Network, Vol 2, Issue 1, 2013 101 Gate : An integrated circuit composed of several transistors and capable of representing any primitive logic state, such as AND, OR, XOR, or NOT inversion conditions. Gates are also called digital, switching, or logic circuits. Gate Array : It is a Part of the ASIC chip. A gate array represents a certain type of gate repeated all over a VLSItype chip. This type of logic requires the use of masks to program the connections between the blocks of gates. References [1] Jamuna. S, and V. K. Agrawal, "VHDL Implementation of BIST Controller", in Proc. of int. Conf on Advances in Recent Technologies in Communication and Computing 2011, pp. 188-190. [2] Prathyusha Navineini and S.K.Masthan, "Power Optimization of BIST circuit using Low Power LFSR", International Journal of Computer Trends and Technology-volume 2 Issue 2-2011, pp-5-8. [3] Rekha Devi, Jaget Singh, and Mandeep Singh, "VHDL Implementation of GCD Processor with Built in Self Test Feature", International Journal of Computer Applications (0975 8887) Volume 25 No.2, July 2011, pp-50-54. [4] G. Purdy, A carry-free algorithm for finding the greatest common divisor of two integers, Computers and Math. with Applications, 9 (2), pp. 311-316, 1983. [5] Douglas Densmore, "Built-In-Self Test (BIST) Implementations An overview of design tradeoffs", M.S. thesis, EECS 579 Digital Systems Testing, University of Michigan, USA,2001. [6] Zhu Hongyu and LI Huiyun, A BIST Scheme to Test Static Parameters of ADCs, IEEE Symposium on Electrical & Electronics Engineering (EEESYM),2012. [7] Pavel Emeliyanenko, High-performance Polynomial GCD Computations on Graphics Processors, 978-1- 61284-383-4/11/$26.00 2011 IEEE, pp-215-224.