WITH increasing complexity in systems design from increased

Similar documents
Logic BIST. Sungho Kang Yonsei University

SIMULATION-BASED APPROXIMATE GLOBAL FAULT COLLAPSING

Test Pattern Generator for Built-in Self-Test using Spectral Methods

EGFC: AN EXACT GLOBAL FAULT COLLAPSING TOOL FOR COMBINATIONAL CIRCUITS

2. Accelerated Computations

Dictionary-Less Defect Diagnosis as Surrogate Single Stuck-At Faults

Outline Fault Simulation

Reduction of Detected Acceptable Faults for Yield Improvement via Error-Tolerance

A Hardware Approach to Self-Testing of Large Programmable Logic Arrays

COSC 243. Introduction to Logic And Combinatorial Logic. Lecture 4 - Introduction to Logic and Combinatorial Logic. COSC 243 (Computer Architecture)

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Introduction to VLSI Testing

On Detecting Multiple Faults in Baseline Interconnection Networks

On Random Pattern Testability of Cryptographic VLSI Cores

EC-121 Digital Logic Design

One-Dimensional Linear Hybrid Cellular Automata: Their Synthesis, Properties and Applications to Digital Circuits Testing

Design of an Online Testable Ternary Circuit from the Truth Table

Design for Testability

CSE370: Introduction to Digital Design

Chapter 2 Boolean Algebra and Logic Gates

ECE 1767 University of Toronto

IN THIS paper we investigate the diagnosability of stochastic

Predicting IC Defect Level using Diagnosis

Fault Modeling. 李昆忠 Kuen-Jong Lee. Dept. of Electrical Engineering National Cheng-Kung University Tainan, Taiwan. VLSI Testing Class

Synthesis of Saturating Counters Using Traditional and Non-traditional Basic Counters

Design for Testability

Relating Entropy Theory to Test Data Compression

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

Inadmissible Class of Boolean Functions under Stuck-at Faults

Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS

2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS

Built-In Test Generation for Synchronous Sequential Circuits

DIAGNOSIS OF FAULT IN TESTABLE REVERSIBLE SEQUENTIAL CIRCUITS USING MULTIPLEXER CONSERVATIVE QUANTUM DOT CELLULAR AUTOMATA

RAPID increase in the design complexity and the need

EECS 579: Logic and Fault Simulation. Simulation

Contents. Chapter 3 Combinational Circuits Page 1 of 36

Section 3: Combinational Logic Design. Department of Electrical Engineering, University of Waterloo. Combinational Logic

Digital Integrated Circuits A Design Perspective. Semiconductor. Memories. Memories

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

of Digital Electronics

ECE 3060 VLSI and Advanced Digital Design. Testing

Outline. EECS Components and Design Techniques for Digital Systems. Lec 18 Error Coding. In the real world. Our beautiful digital world.

Optimization of the Hamming Code for Error Prone Media

Analysis and Synthesis of Weighted-Sum Functions

On the Analysis of Reversible Booth s Multiplier

Chapter 2: Boolean Algebra and Logic Gates

Unit 8A Computer Organization. Boolean Logic and Gates

EECS 579: Test Generation 4. Test Generation System

Chapter 2 Fault Modeling

Semiconductor Memories

Optimization of the Hamming Code for Error Prone Media

IT T35 Digital system desigm y - ii /s - iii

Prove that if not fat and not triangle necessarily means not green then green must be fat or triangle (or both).

Chapter Overview. Memory Classification. Memory Architectures. The Memory Core. Periphery. Reliability. Memory

EECS150 - Digital Design Lecture 26 - Faults and Error Correction. Types of Faults in Digital Designs

CS 226: Digital Logic Design

IHS 3: Test of Digital Systems R.Ubar, A. Jutman, H-D. Wuttke

VLSI Design I. Defect Mechanisms and Fault Models

VLSI Design Verification and Test Simulation CMPE 646. Specification. Design(netlist) True-value Simulator

Figure 1.1: Schematic symbols of an N-transistor and P-transistor

Test Generation for Designs with Multiple Clocks

XOR - XNOR Gates. The graphic symbol and truth table of XOR gate is shown in the figure.

Single Stuck-At Fault Model Other Fault Models Redundancy and Untestable Faults Fault Equivalence and Fault Dominance Method of Boolean Difference

Combinational Logic Design Combinational Functions and Circuits

A Lower Bound of 2 n Conditional Jumps for Boolean Satisfiability on A Random Access Machine

VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

A New Multiple Weight Set Calculation Algorithm

Counting Two-State Transition-Tour Sequences

Design for Manufacturability and Power Estimation. Physical issues verification (DSM)

Contents. Chapter 2 Digital Circuits Page 1 of 30

Quality of Minimal Sets of Prime Implicants of Boolean Functions

Binary Decision Diagrams and Symbolic Model Checking

Fault Tolerance Technique in Huffman Coding applies to Baseline JPEG

Digital Integrated Circuits A Design Perspective

Binary addition (1-bit) P Q Y = P + Q Comments Carry = Carry = Carry = Carry = 1 P Q

! Charge Leakage/Charge Sharing. " Domino Logic Design Considerations. ! Logic Comparisons. ! Memory. " Classification. " ROM Memories.

EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs. Cross-coupled NOR gates

Memory, Latches, & Registers

Department of Electrical and Computer Engineering University of Wisconsin Madison. Fall Final Examination

Yield Evaluation Methods of SRAM Arrays: a Comparative Study

Logic. Combinational. inputs. outputs. the result. system can

1.10 (a) Function of AND, OR, NOT, NAND & NOR Logic gates and their input/output.

A Piggybacking Design Framework for Read-and Download-efficient Distributed Storage Codes

Digital Electronics Sequential Logic

THIS paper is aimed at designing efficient decoding algorithms

Fault Modeling. Fault Modeling Outline

Circuit for Revisable Quantum Multiplier Implementation of Adders with Reversible Logic 1 KONDADASULA VEDA NAGA SAI SRI, 2 M.

SEMICONDUCTOR MEMORIES

GALOP : A Generalized VLSI Architecture for Ultrafast Carry Originate-Propagate adders

Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs

Hw 6 and 7 Graded and available Project Phase 2 Graded Project Phase 3 Launch Today

STATISTICAL FAULT SIMULATION.

Combinational Logic. Mantıksal Tasarım BBM231. section instructor: Ufuk Çelikcan

Combinational Logic Design

Computers also need devices capable of Storing data and information Performing mathematical operations on such data

Optimal Circuits for Parallel Multipliers

Week-I. Combinational Logic & Circuits

A Novel Ternary Content-Addressable Memory (TCAM) Design Using Reversible Logic

Chapter 5 Arithmetic Circuits

Transcription:

150 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 51, NO. 1, FEBRUARY 2001 Data Compression in Space Under Generalized Mergeability Based on Concepts of Cover Table and Frequency Ordering Sunil R. Das, Fellow, IEEE, Jing Yi Liang, Emil M. Petriu, Fellow, IEEE, Mansour H. Assaf, Wen-Ben Jone, Senior Member, IEEE, and Krishnendu Chakrabarty, Senior Member, IEEE Abstract The synthesis of space-efficient support hardware for built-in self-testing (BIST) is of critical importance in the design and manufacture of today s sophisticated VLSI circuits, and a number of efficient algorithms have been proposed in the literature for this purpose. The subject paper reports new techniques that facilitate designing such space-efficient BIST support circuits using knowledge of compact test sets, with the target objective of minimizing the storage requirements for the circuit under test (CUT), while retaining the fault coverage information as best as possible. The suggested techniques take advantage of some well-known concepts of conventional switching theory, particularly those of cover table and frequency ordering, as commonly utilized in the minimization of switching functions, in conjunction with a new measure of failure probability in case of stochastic dependence of line errors, besides knowledge of Hamming distance, sequence weights, and derived sequences as previously used by the authors in sequence characterization, in the selection of specific logic gates for merger of an arbitrary number of output bit streams from the CUT. The outputs coming out of the space compactor may eventually be fed into a time compactor to derive the CUT signatures. The developed techniques guarantee good design with high fault coverage for single stuck-line faults, with low CPU simulation time, and acceptable area overhead. Design algorithms are provided in the paper, and the simplicity and ease of their implementations are demonstrated with various examples. In particular, the paper gives results on extensive simulation runs on the ISCAS 85 combinational benchmark circuits with ATALANTA, FSIM, and COMPACTEST programs which confirm the merit of the approaches under conditions of both stochastic independence and dependence of multiple line output errors. A performance comparison of the designed space compactors with conventional linear parity tree space compactors as benchmark is also provided, which demonstrates the enhanced tradeoff for the new circuits in terms of fault coverage and the CUT resources consumed in comparison with the existing design methodologies. Index Terms Built-in self-test (BIST), circuit under test (CUT), cover table, derived sequences, frequency ordering, Hamming distance, missed error probability estimates, optimal sequence mergeability, parity tree space compactors, sequence weights, space compaction, time compaction. Manuscript received May 4, 2000; revised August 23, 2001. This work was supported in part by the Natural Sciences and Engineering Research Council of Canada under Grant A 4750. S. R. Das, J. Y. Liang, E. M. Petriu, and M. H. Assaf are with the School of Information Technology and Engineering, Faculty of Engineering, University of Ottawa, Ottawa, ON, Canada. W.-B. Jone is with the Department of Electrical and Computer Engineering and Computer Science, University of Cincinnati, Cincinnati, OH 45221 USA. K. Chakrabarty is with the Department of Electrical and Computer Engineering, Duke University, Durham, NC 27708 USA. Publisher Item Identifier S 0018-9456(02)02301-X. I. INTRODUCTION WITH increasing complexity in systems design from increased levels of integration densities in digital design, better and more effective methods of testing are required to ensure reliable operations of IC chips the mainstay of today s many sophisticated systems. The concept of testing has a broad applicability, and finding highly efficient testing techniques that ensure correct system performance has assumed significant importance [1] [28]. In general, the cost of testing integrated circuits (ICs) is rather prohibitive; it ranges from 35% to 55% of their total manufacturing cost. Besides, testing a chip is also time consuming, taking up to about one-half of the total design cycle time [3]. The amount of time available for manufacturing, testing, and marketing a product, on the other hand, continues to decrease. Moreover, as a result of global competition, customers demand lower cost and better quality products. Therefore, in order to achieve this higher quality at lower cost, testing techniques have to be improved. The conventional testing techniques of digital circuits require application of test patterns generated by a test pattern generator (TPG) to the circuit under test (CUT) and comparing the responses with known correct responses. However, for large circuits, because of higher storage requirements for the fault-free responses, the test procedures become rather expensive and hence alternative approaches are sought to minimize the amount of needed storage [26] [28]. Built-in self-testing (BIST) is a design approach that provides the capability of solving many of the problems otherwise encountered in testing digital systems. It combines the concepts of both built-in test (BIT) and self-test (ST) in one termed built-in self-test (BIST). In BIST, test generation, test application, and response verification are all accomplished through built-in hardware [1], [2], [4], [17], [26] [28], which allows different parts of a chip to be tested in parallel, reducing the required testing time, besides eliminating the need for external test equipment. As the cost of testing is becoming the major component of the manufacturing cost of a new product, BIST thus tends to reduce manufacturing and maintenance costs through improved diagnosis. Several companies such as Motorola, AT&T, IBM, and Intel have incorporated BIST in many of their products [5], [17]. AT&T, for example, has incorporated BIST into more than 200 of their IC chips. The three large PLAs and microcode ROM in the Intel 80 386 microprocessor were built-in self-tested [17]. The general-purpose microprocessor chip, Alpha AXP21164, 0018 9456/02$17.00 2002 IEEE

DAS et al.: DATA COMPRESSION IN SPACE UNDER GENERALIZED MERGEABILITY 151 and Motorola microprocessor, 68020, were also tested using BIST techniques [5], [17]. BIST is widely used to test embedded regular structures that exhibit a high degree of periodicity such as memory arrays (SRAMs, ROMs, FIFOs, and registers). These types of circuits do not require complex extra hardware for test generation and response compaction. Also, including BIST in these circuits can guarantee high fault coverage with zero aliasing. Unlike regular circuits, random-logic circuits cannot be adequately tested only with BIST techniques, since generating adequate on-chip test sets using simple hardware is a difficult task to be accomplished. Moreover, since test responses generated by random-logic circuits seldom exhibit regularity, it is extremely difficult to ensure zero-aliasing compaction. Therefore, random-logic circuits are usually tested using a combination of BIST, scan design techniques, and external test equipment. A typical BIST environment, as shown in Fig. 1, uses a TPG that sends its outputs to a CUT, and output streams from the CUT are fed into a test data analyzer. A fault is detected if the test sequence is different from the response of the fault-free circuit. The test data analyzer is comprised of a response compaction unit (RCU), a storage for the fault-free responses of the CUT, and a comparator. In order to reduce the amount of data represented by the fault-free and faulty CUT responses, data compression is used to create signatures (short binary sequences) from the CUT and its corresponding fault-free circuit. Signatures are compared and faults are detected if a match does not occur. BIST techniques may be used during normal functional operating conditions of the unit under test (online testing), as well as when a system is not carrying out its normal functions (off-line testing). In the case where detecting real-time errors is not that important, systems, boards, and chips can be tested in off-line BIST mode. BIST techniques use pseudorandom, or pseudoexhaustive test patterns, or sometimes on-chip storing of reduced test sets. Today, testing logic circuits exhaustively is seldom used, since only a few test patterns are needed to ensure full fault coverage for single stuck-line faults [5]. Reduced pattern test sets can be generated using existing algorithms, such as FAN and others. Built-in test generators can often generate such reduced test sets at low cost, making BIST techniques suitable for on-chip self-testing. The subject paper aims on the response compaction process of built-in self-testing techniques that translates into a process of reducing the test response from the CUT to a signature. Instead of comparing bit-by-bit the fault-free responses to the observed outputs of the CUT as in conventional testing methods, the observed signature is compared to the correct one, thereby reducing the storage needed for the correct circuit responses [17], [26] [28]. The response compaction in BIST is carried out through a space compaction unit followed by time compaction. In general, input sequences coming from a CUT are fed into a space compactor, providing output streams of bits such that ; most often, test responses are compressed into only one sequence ( ). Space compaction brings a solution to the problem of achieving high-quality built-in self-testing of complex chips without the necessity of monitoring a large number of internal test points, thereby reducing testing time and area Fig. 1. Block diagram of the BIST environment. overhead by merging test sequences coming from these internal test points into a single stream of bits. This single bit stream of length is finally fed into a time compactor and, eventually, a shorter sequence of length is obtained at the output. The extra logic representing the compaction circuit, however, must be as simple as possible, to be easily embedded within the CUT, and should not introduce signal delays to affect either the test execution time or normal functionality of the circuit being tested. Moreover, the length of the signature must be as short as it can be in order to minimize the amount of memory needed to store the fault-free response signatures. Also, signatures derived from faulty output responses and their corresponding fault-free signatures should not be the same, which, unfortunately, is not always the case. A fundamental problem with compaction techniques is error masking or aliasing [17], [26], [28], [37], which occurs when the signatures from faulty output responses map into the fault-free signatures, usually calculated by identifying a good circuit, applying test patterns to it, and then having the compaction unit generate the fault-free references. Aliasing causes loss of information, which affects the test quality of BIST and reduces the fault coverage (the number of faults detected, after compaction, over the total number of faults injected). Several methods have been suggested in the literature for computing the aliasing probability. The exact computation of this aliasing probability is known to be an NP-hard problem [29]. In practice, a rather high fault coverage, over 99%, is required and, hence, any space compression technique that maintains more percentage error coverage information is considered worthy of investigation. The subject paper deals with the general problem of designing space-efficient support hardware for BIST of VLSI circuits using knowledge of compact test sets. The techniques developed for the purpose are primarily based on identifying certain inherent properties of the test responses of the CUT, together with the knowledge of their failure probabilities. A major objective to realize in space compaction is to provide techniques that are simple, suitable for on-chip self-testing, require low area overhead, and have little adverse impact on the CUT performance. With that objective in view, in the paper, the optimal mergeability criteria of output sequences are first developed taking advantage of some well-known concepts of conventional switching theory, viz. those of cover table and frequency ordering [32], [33], as commonly utilized in the minimization of switching functions, together with notions of Hamming distance, sequence weights, and derived sequences

152 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 51, NO. 1, FEBRUARY 2001 as used by the authors earlier in sequence characterization; later, the effects of failure probabilities on the optimal mergeability criteria of output sequences are analyzed using all the aforesaid concepts but based on a new measure of failure probability introduced in the paper. The techniques proposed herein achieve a high measure of fault coverage for single stuck-line faults, with low CPU simulation time and acceptable area overhead, as evident from extensive simulation runs on the ISCAS 85 combinational benchmark circuits, under condition of both stochastic independence and dependence of multiple line output errors. The paper also presents a performance comparison of the designed space compactors with conventional linear parity tree space compactors as benchmark to demonstrate improved tradeoff for the new circuits in terms of fault coverage and CUT resources consumed as contrasted with the existing methodologies. The material in the paper is organized thus: Section I introduces methods for test generation of digital integrated circuits, with particular emphasis on built-in self-testing (BIST). In Section II, some existing space compaction techniques are briefly discussed. Section III introduces certain important properties of circuit responses for the purpose of developing optimal mergeability criteria for the design of space compactors on the assumption of stochastic independence of line errors. This section also introduces the basic concepts of 1-cover table and 0-cover table and frequency ordering of sequences to be utilized in the actual implementation of the algorithms developed for realizing the gate merger criteria suggested in the paper. Sections IV and V describe the synthesis of compression trees for multi-output CUTs based on optimal generalized mergeability criteria proposed herein assuming stochastic dependence of multiple line errors, where also the notion of a new measure of failure probabilities is introduced. Section VI gives experimental results and their discussions based on extensive simulations of the ISCAS 85 combinational benchmark circuits with FSIM, ATALANTA, and COMPACTEST, while Section VII provides concluding remarks, emphasizing advantages and limitations of the design algorithms given in the paper. II. OVERVIEW OF TEST COMPACTION TECHNIQUES In the present section, we briefly review some of the important test compaction techniques in space for BIST that have been proposed in the literature. We describe them, concentrating only on some of their relevant properties like the area overhead, fault coverage, error masking probability, etc. There also exist a number of efficient time compaction techniques including ones counting, syndrome testing, transition counting, signature analysis, and others [6] [17]. Since our concern in this paper is exclusively space compaction, hence we will refrain from any discussion of time compression techniques in this section. Interested readers can get a good amount of information on the subject in [17], [26] [28]. Some of the common space compression techniques include the parity tree space compaction, hybrid space compression, dynamic space compression, quadratic functions compaction, programmable space compaction, and cumulative balance testing [18] [28]. The parity tree compactor circuits [18], [21] are composed of only gates. An gate has very good signal-to-error propagation properties that are quite desirable for space compression. Functions realized by parity tree compactors are of the form. The parity tree space compactor propagates all errors that appear on an odd number of its inputs. Thereby, errors that appear on an even number of parity tree circuit inputs are masked. As experimentally demonstrated, most single stuck-at line faults are detected using pseudorandom input test pattern generators and reduced test sets. The hybrid space compression (HSC) technique, originally proposed by Li and Robinson [20], uses,, and logic gates as output compression tools to compress the multiple outputs of the CUT into a single line. The compaction tree is constructed based on the detectable error probability estimates,. A modified version of the HSC method, called dynamic space compression (DSC), was subsequently proposed by Jone and Das [23]. Instead of assigning static values for the probabilities of single errors and double errors, the dynamic space compression (DSC) method dynamically estimates those values based on the CUT structure during the computation process. The values of and are determined based on the number of single lines and shared lines connected to an output. A general theory to predict the performance of the space compression techniques was also developed in [23]. Experimental results show that the information loss, combined with the syndrome counting as time compactor, is between 0% and 12.7%. DSC was later improved in [24], in which some circuit-specific information was used to calculate the probabilities. However, neither HSC nor DSC does provide an adequate measure of fault coverage because they both rely on estimates of error detection probabilities. Quadratic functions compaction (QFC) [22] uses quadratic functions to construct the space compaction circuits, and has been shown to reduce aliasing. In QFC, the observed output responses of the CUT are processed and compressed in a serial fashion based on a function of the type, where and are blocks of length, for. A new approach termed programmable space compaction (PSC) has recently been proposed for designing low-cost space compactors that provide high fault coverage [19]. In PSC, circuit-specific space compactors are designed to increase the likelihood of error propagation. However, PSC does not guarantee zero aliasing. A compaction circuit that minimizes aliasing and has the lowest cost can only be found by exhaustively enumerating all -input Boolean functions, where represents the number of primary outputs of the CUT. A new class of space compactors based on parity tree circuits was recently proposed by Chakrabarty and Hayes [17]. The method is based on multiplexed parity trees (MPTs), and introduces zero aliasing. Multiplexed parity trees perform space compaction of test responses by combining the error propagation properties of multiplexers and parity trees through multiple time-steps. The authors show that the associated hardware overhead is moderate, and very high fault coverage is obtained for faults in the CUT including even those in the compactor.

DAS et al.: DATA COMPRESSION IN SPACE UNDER GENERALIZED MERGEABILITY 153 III. DESIGNING COMPACTION TREE BASED ON SEQUENCE CHARACTERIZATION AND STOCHASTIC INDEPENDENCE OF ERRORS The principal idea in space compaction is to compress functional test outputs of the CUT possibly into one single test output line to derive the CUT signature without sacrificing too much information in the process. Generally, space compression has been accomplished using gates in cascade or in a tree structure [18], [21], [22], [28]. We will adopt a combination of both cascade and tree structures (cascade-tree) for our framework with,, and operators. The logic function to be selected to build the compaction trees will be determined solely by the characteristics of the sequences that are inputs to the gates based on some optimal mergeability criteria developed in the paper. The basic theme of the approaches proposed is to select appropriate logic gates to merge, in general, a number of candidate output lines of the CUT under conditions of both stochastic independence and dependence of line errors, using sequence characterization and other concepts introduced in the paper. In the following sections the mathematical basis of these approaches is given first with appropriate notations and terminologies. A. Sequence Weights and Derived Sequences Let represent a pair of output sequences of a CUT of length each, where the length is the number of bit positions in and. Let represent the Hamming distance between and (the number of bit positions in which and differ). Definition 1: The first-order 1-weight, denoted by, of a sequence, is the number of 1s in the sequence. Similarly, the first-order 0-weight, denoted by, of a sequence, is the number of 0s in the sequence. Example 1: Consider an output sequence pair with and. The length of both output streams is. The Hamming distance between and is. The first-order 1-weights and 0-weights of and are,,, and, respectively. Property 1: For any sequence, it can be shown that. For the output sequence given in Example 1, we have found that and. Therefore, it is obvious that. Definition 2: Consider an output sequence pair of equal length. Then the sequence pair derived by discarding the bit positions in which the two sequences differ (and indicated by a dash ) is called the second-order derived sequence pair,. In the rest of the paper, we will denote the derived sequence of a sequence by, its first-order 1-weight by, and its first-order 0-weight by. Example 2: For given in Example 1, - - - -. The first-order 1-weights and 0-weights of the derived pair are:,,, and. Property 2: For any second-order derived sequences,wehave and, i.e., as shown in Example 2, for the same output sequence pair given in Example 1, we have shown that and. By the above property, when no ambiguity arises, we will denote 1- and 0-weights for the derived sequence pair by simply and, respectively. The length of the derived sequence pair will be denoted by where. Also, since is always zero, we will simply use to denote. That is, for in Example 1, - -, - -, and. Therefore, and. Property 3: For every distinct pair of output sequences at the output of a CUT, the corresponding derived pair of equal length is distinct. Two derived sequence pairs may have the same length but they are still distinct and not identical. Property 4: Two derived sequence pairs and of original output stream pairs and having the same length are identical. Thereby,, if and only if,. Consider,,, and as four output sequence streams of a CUT. Let and be two distinct output pairs, and, their corresponding derived sequence pairs, respectively, such that - - - - and. Both the derived sequence pairs have the same length but they are not identical. However, in general, it is not expected that any two distinct pairs of sequences at the output of a CUT will be identical and hence the possibility of the corresponding derived pairs being identical is also remote. We can extend the concept of 1-weight and 0-weight to deal with sequences. Definition 3: For sequences, each of length, let the sequences have 1s in identical bit positions (the sequences each might have 1s in other positions besides these positions). Then the th-order 1-weight of the sequences in the group is given by the number of bit positions in which all the sequences have 1s, which is in this case. Definition 4: For sequences, each of length, the th-order 0-weight is defined in the same way as the th-order 1-weight and corresponds to the number of bit positions in which all the sequences have 0s. Example 3: Consider three sequences of length as given:,, and. The third-order 1-weight of,, and is since the sequences,, and agree in bit positions 2, 9, 10, 11, 12 having 1s (counting from right). Note that each of the sequences,, and has 1s in other bit positions besides bit positions 2, 9, 10, 11, 12. The third-order 0-weight is, since all the three sequences have 0s in bit positions 1 and 8 (counting from right). We will denote an th-order 1-weight by and an th-order 0-weight by, where the first subscript in each case corresponds to the sequence number or order, while the

154 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 51, NO. 1, FEBRUARY 2001 second subscript gives the binary digit corresponding to the weight. Definition 5: For sequences, each of length, the th-order derived sequences, denoted by, respectively, are obtained by deleting the bit positions in which at least two of the sequences differ and replacing the bit positions with a dash ( ). Example 4: For the three sequences, and of the previous example, we have the derived sequences:,, and. For these derived sequences, we have and. Property 5: If the th-order 1-weight is and th-order 0-weight is of the derived sequences in a bundle (defined in the next section), then, where, called the residue, is the number of bit positions in which at least two of the sequences in the bundle have different entries, and the corresponding set of derived sequences have dash ( ) entries. B. Optimal Pairwise Mergeability and Gate Selection In this section, we will briefly summarize the key results concerning optimal pairwise mergeability of response data at the CUT output in the design of space compactors. These will be provided in the form of certain theorems without proofs under condition of stochastic independence of line errors, of which the details could be found in [26], [28]. The concept of stochastic independence [30] is that, given a set of events, these events are individually determined by properties that are in no way interrelated. Mathematically, we define two events and to be stochastically independent if denoting the probability of an event. We agree to accept this definition even if or. In a practical situation, two events may be taken to be stochastically independent if there is no causal relation, either temporal or spatial between them, that is, if they are causally independent [31]. We will later enlarge the scope of our discussion, deviating from the assumption of independence of line errors at the CUT output, to include the situation where their appearance will be dependent on some causal relation so that we can assign distinct probabilities to their occurrence or nonoccurrence in different lines. Generally, space compression has been accomplished using gates in cascade or in tree structure. In [28], a combination of both cascade and tree structures (cascade-tree) has been adopted as the framework comprised of ( ), ( ), and ( ) operators. The gate selection was primarily based on optimal mergeability criteria established utilizing the properties of Hamming distance, sequence weights, and derived sequences, together with the concept of detectable error probability estimate [20] for a two-input logic function, under condition of stochastic dependence of single and double line errors at the output of a CUT. Theorem 1: An output sequence pair of length and Hamming distance is optimally mergeable with an ( ) gate if the maximum number of errors detected is, which is greater than or equal to the maximum number of errors detected by ( ) gates,,orby ( ) gates,, when used for merger. Theorem 2: For any output sequence pair of length and Hamming distance, an ( ) gate or an ( ) gate may be used for optimal merger if the maximum number of errors detected is, where. Theorem 3: An ( ) gate may be selected for optimally merging an output sequence pair of length with Hamming distance,if and single line errors single and double line errors double line errors Theorem 4: An ( ) gate may be selected for optimal merger of an output sequence pair of length with Hamming distance,if and single line errors single and double line errors double line errors Corollary 4.1: However, if, either an ( ) gate or an ( ) gate may be used for optimal merger. Theorem 5: An output sequence pair of length and Hamming distance needs to be optimally merged with an ( ) gate, if is maximized over sequence pairs for an -output CUT. Theorem 6: An output sequence pair of length and Hamming distance needs to be optimally merged with an ( ) gate, if is maximized over sequence pairs for an -output CUT. C. Optimal Generalized Mergeability Under Stochastic Independence of Multiple Line Errors We now consider the case of optimal generalized sequence mergeability under condition of stochastic independence of multiple line errors occurring at the output of a CUT in the design of efficient compaction trees. The following definitions are relevant. Definition 6: If sequences at the output of a CUT are grouped together having certain th-order 1-weight or 0-weight, then the process will be termed bundling, and the grouped sequences will be termed bundled sequences. Whenever there will be bundling of a number of sequences, we will say that we are working under bundling constraint [30]. Definition 7: The error multiplicity, denoted by, is the number of simultaneous errors [18] that can occur at the output of a CUT or the number of lines at the output of a CUT that can be faulty simultaneously. We next discuss some pertinent results in the case of optimal generalized mergeability of response data assuming stochastic independence of multiple line errors. Theorem 7: On the assumption of stochastic independence of errors for a bundled set of output sequences ψ, ψ ψ of length each, at the output of a CUT, the maximum number of possible errors with all possible multiplicities of errors,,is.

DAS et al.: DATA COMPRESSION IN SPACE UNDER GENERALIZED MERGEABILITY 155 Theorem 8: For sequences ψ, ψ ψ at the output of a CUT of length each, let the corresponding derived sequences ψ, ψ ψ have the th-order 1-weight and 0-weight, and, respectively, and let be the residue. The total number of faults detected when the sequences ψ, ψ ψ are merged by using an -input ( ) gate is where represents the number of error multiplicities of, and ( represents the number of errors corresponding to the th-order residue position of 0s. Theorem 9: For sequences ψ, ψ ψ at the output of a CUT of length each, let the corresponding derived sequences ψ, ψ ψ have the th-order 1-weight and 0-weight, and, respectively, and let be the residue. The total number of faults detected when the sequences ψ, ψ ψ are merged by using an -input ( ) gate is where represents the number of error multiplicities of, and represents the number of errors corresponding to the th-order residue position of 0s. Theorem 10: For sequences ψ, ψ ψ at the output of a CUT of length each, let the corresponding derived sequences ψ, ψ ψ have the th-order 1-weight and 0-weight, and, respectively, and let be the residue. The total number of faults detected when the sequences ψ, ψ ψ are merged by using an -input ( ) gate is where represents the number of 1-error multiplicities of, represents the number of 0-error multiplicities of, and represents the number of errors corresponding to the th-order residue position of 0s, being even. Theorem 11: For sequences ψ, ψ ψ at the output of a CUT of length each, let the derived sequences be ψ, ψ ψ, respectively. Let the th-order 1-weight be and th-order 0-weight be. For merger of sequences, an -input ( ) gate will be preferable to an -input ( ) gate for maximizing error detection, if Corollary 11.1: For merger of sequences ψ, ψ ψ of length each, with the th-order 1-weight and th-order 0-weight, an -input ( ) gate is preferable to an -input ( ) gate for optimal merger, if Theorem 12: For sequences ψ, ψ ψ at the output of a CUT of length each, let the corresponding derived sequences be ψ, ψ ψ. In addition, let the th-order 1-weight be and th-order 0-weight be. For merger of sequences, an -input ( ) gate will be preferable to an -input ( ) gate for maximizing error detection, if Corollary 12.1: For merger of sequences ψ, ψ ψ of length each, with the th-order 1-weight and th-order 0-weight, an -input ( ) gate is preferable to an -input ( ) gate for optimal merger, if Theorem 13: For sequences ψ, ψ ψ at the output of a CUT of length each, let the corresponding derived sequences be ψ, ψ ψ. In addition, let the th-order 1-weight be and th-order 0-weight be. For merger of sequences, an -input ( ) gate will be preferable to an -input ( ) gate for maximizing error detection, if Corollary 13.1: For merger of sequences ψ, ψ ψ of length, th-order 1-weight and th-order 0-weight,an -input ( ) gate is preferable to an -input ( ) gate for optimal merger, if Theorem 14: For sequences ψ, ψ ψ at the output of a CUT of length each, let the corresponding derived sequences be ψ, ψ ψ. In addition, let the th-order 1-weight be and th-order 0-weight be. In the extreme case when and the total faults detected by -input ( ), ( ), and ( ) gates are, respectively, as follows: and The theorems are very important in the selection of the best subsets of output sequences in maximizing error detection at the CUT output during space compaction. The proofs of these theorems are intentionally avoided for the sake of brevity though the theorems are retained for completeness. Some of the results in the said context can also be found in [26], [27]. For the implementation of the optimal generalized mergeability criteria as outlined in the aforementioned theorems to construct the space compactors, an algorithm was developed. or

156 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 51, NO. 1, FEBRUARY 2001 TABLE I THE 1-COVER TABLE TABLE II THE 0-COVER TABLE The algorithm was written in C language, and was implemented on ISCAS 85 combinational benchmark circuits using ATA- LANTA, FSIM, and COMPACTEST fault simulation programs. In the development of the algorithm, we utilized well-known concepts from switching theory, viz. those of cover table [32] and frequency ordering of sequences [33], as commonly used in the minimization of switching functions. The concepts are now introduced below through the undernoted definitions. Definition 8: Given a set of response sequences at the output of a CUT, a table can be readily formed in the following manner. Designate the different output sequences as α α α, where represents the total number of sequences, and the individual bit positions of the different sequences as µ µ µ (starting from left), being the total number of bits in each sequence or sequence length. Write all the bit positions in a row, and underneath each of the bit positions make an entry of the set of sequences if their values in this bit position is a 1, in a columnar form. Each of the columns headed by a specific bit position will then give a collection of the sequences of which the bit value is a 1 in this particular bit position. Such a table will be called a 1-cover table. Definition 9: Given a set of response sequences at the output of a CUT, a table can be readily formed in the following manner. Designate the different output sequences as α α α, where represents the total number of sequences, and the individual bit positions of the different sequences as µ µ µ (starting from left), being the total number of bits in each sequence or sequence length. Write all the bit positions in a row, and underneath each of the bit positions, make an entry of the set of sequences if their values in this bit position is a 0, in a columnar form. Each of the columns headed by a specific bit position will then give a collection of the sequences of which the bit value is a 0 in this particular bit position. Such a table will be called a 0-cover table. Example 5: Consider the following eight sequences: α ; α ; α ; α ; α ; α ; α ; α. The 1-cover table and 0-cover table are shown in Tables I and II, respectively. Definition 10: For any two distinct sequences α and α appearing in a cover table (1-cover table or 0-cover table), if the sequence α appears in more columns in the table than the sequence α, then an ordering of the sequences can be made as α α. If both the sequences α and α appear in the same number of columns in the cover table, the ordering can be made either as α α or α α. This kind of ordering ( ) that can be established among different sequences in a cover table is called the frequency ordering of the sequences. Example 6: Consider the 1-cover table as given in Table I. We find the one-frequency ordering of the sequences α, α, α, α, α, α, α, α as follows: α α α α α α α α. Consider the 0-cover table in Table II now. We find the zerofrequency ordering of the sequences α, α, α, α, α, α, α, α as follows: α α α α α α α α. We reiterate the definitions for the following terms again, though they have been discussed in the previous section. number of matching 1s in the same bit positions of all candidate sequences; number of matching 0s in the same bit positions of all candidate sequences; the residue (Hamming distance of multiple sequences); the length of the sequence. We now give below our optimal generalized mergeability criteria under conditions of stochastic independence of multiple line errors. D. Generalized Optimal Mergeability Criteria The main idea behind optimally merging a bundled set of sequences by a logic gate (,,or ) is to find if the sequences satisfy one of the following conditions: If, the obtained sequences are optimally merged with an ( ) gate only. If, the obtained sequences are optimally merged with an ( ) gate only. If and, the sequences which cannot be optimally merged by either ( )or ( ) gates are instead optimally merged with ( ) gates only at this level.

DAS et al.: DATA COMPRESSION IN SPACE UNDER GENERALIZED MERGEABILITY 157 We present next the algorithm for carrying through the aforesaid optimal mergeability of test data responses to design our space compression networks at the CUT output. Algorithm 1 A. Procedure to find the candidate sequences in the original sequences for optimal merger by using ( ) gates. Step A1) From the given input test sequence list, excluding the discarded sequences, set up the 1-cover table. Step A2) Find the corresponding frequency ordering of the sequences in the 1-cover table. Step A3) Find the one_maxgroup sequence, if it exists, in the frequency ordering. For one_maxgroup sequences to exist, ; besides, the number of candidate sequences ( ) in the group should be as large as possible (in a family of sets of sequences with each set having, the set with the highest cardinality forms the one_maxgroup). i) If one_maxgroup sequences are found in the frequency ordering, go to Step A4. ii) Otherwise, go to Step B. iii) To find one_maxgroup of sequences, go to Subalgorithm 1.1. Step A4) Based on the optimal mergeability criteria, optimally merge the candidate sequences in one_maxgroup from Step A3 by using ( ) gate. Step A5) Store the resulting output sequence from ( ) operation and discard the merged candidate sequences in the one_maxgroup. Step A6) Repeat Steps A1 A5. Find all other one_maxgroup sequences that can be merged by ( ) gates at the same level until none can be found. Go to Step B. B. Procedure to find the candidate sequences in the original test response sequences for optimal merger by using ( ) gates. Step B1) From the given input test sequence list, excluding the discarded sequences, set up the 0-cover table. Step B2) Find the corresponding frequency ordering of the sequences in the 0-cover table. Step B3) Find the zero_maxgroup sequence, if it exists, in the frequency ordering. For zero_maxgroup sequences to exist, ; besides, the number of candidate sequences ( ) in the group should be as large as possible (in a family of sets of sequences with each set having, the set with the highest cardinality forms the zero_maxgroup). i) If zero_maxgroup sequences are found in the frequency ordering, go to Step B4. ii) Otherwise, go to Step C. iii) To find zero_maxgroup of sequences, go to Subalgorithm 1.2. Step B4) Step B5) Step B6) Based on the optimal mergeability criteria, optimally merge the candidate sequences in zero_maxgroup from Step B3 by using ( ) gate. Store the resulting output sequence from ( ) operation and discard the merged candidate sequences in the zero_maxgroup. Repeat Steps B1 B5. Find all other zero_maxgroup sequences that can be merged by ( ) gates at the same level until none can be found. Go to Step C. C. Optimal merger of the remaining sequences using ( ) gates. In this step, the remaining sequences which cannot be optimally merged by either ( ) or ( ) gates at the same level are optimally merged by ( ) gates. Store the resulting output sequence of ( ) operation, and discard the merged remaining sequences. D. Set up the new original input sequence list composed of the output sequences obtained from the preceding level. Repeat Steps A C until a single output sequence is obtained. In finding the maxgroup of sequences from the frequency ordering, we first introduce the following notations. : Number of matching 1s in the same bit position of all candidate sequences one_maxgroup. : Number of matching 0s in the same bit position of all candidate sequences zero_maxgroup. : Number of candidate sequences when. : Number of candidate sequences when. α : Number of 1s in the sequence α. α : Number of 0s in the sequence α. We now define the following terms. Good group: A group of candidate sequences where and. Better group: Same conditions apply as in good group. In addition, it is the best one among the good groups in a stage. one_maxgroup (zero_maxgroup): A group of candidate sequences where, and as many as possible. Now to find the one_maxgroup and zero_maxgroup of sequences from the frequency ordering, use Subalgorithm 1.1 given below. Subalgorithm 1.1 A. Finding one_maxgroup sequences from the frequency ordering obtained from 1-cover table. Step 1) Obtain the candidate group in which 1 s number of each sequence is greater than or equal to ; the sequences with 1 s number less than are not to be included in the candidate group. Step 2) Select the candidate sequences. 2.1) Start from α, check sequences α and α. 2.1.1) If α α, check sequences α and α.

158 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 51, NO. 1, FEBRUARY 2001 If α α, go to sequences α and α, and so on, until find α α, break. Then, the candidate sequence set is (α, α, α, α α ). 2.1.2) If α α, check α and α and so on, until find α α. Then, the candidate sequence set is (α, α, α, α α ). Step 3) From the candidate sequences (α, α α ), get a better group. 3.1) Start from sequence α. In order to obtain the 1 s number in each bit position, do bitwise operation. (α α ); 1 s number in ; Compare with : 3.1.1) If,, go to Step 3.2. 3.1.2) If, exclude α from the group at the same stag and restart from α and α until find (α α ), where,. Stop and then go to Step 3.2. 3.2) Execute α ) [if from Step 3.1.2, then α ], count the 1 s number in, i.e., if, then and, goto Step 3.3. 3.2.1) If, exclude α (or α ) from the group under the same stag and restart from and α (or α ) until find α ), where. Stop. Then, and. Go to Step 3.3. 3.3) Execute ( α ) [if from Step 3.2.1, then α ], count the 1 s number in, i.e.,. 3.3.1) If, then and, go to Step 3.4. 3.3.2) If, restart for 2 and α (or α ), till we find α ), where. Stop. Then, and. Go to Step 3.4. 3.4) Repeat the above steps until all candidate sequences are exhausted starting with α, and whenever the good group in the first stag is found [Steps 3.1 3.3]. 3.5) Execute the same algorithm, starting with α and get other good groups. 3.6) Repeat until end with the sequence α. 3.7) From the above steps, compile a set of good groups. Select a better group from these good groups, where has the maximum value. Step 4) From Step 3, get a better group with,, and (the result of bitwise operation of all sequences) among the candidate sequences (α, α α ). Now, select the new candidate sequences between and (α α ) using Step 2.1.1, and get the new candidate sequences ( α α ),. Step 5) Find a better group among candidate sequences ( α α ),. 5.1) Execute ( α ), get (1 s number in ). 5.1.1) If,, go to Step 5.2. 5.1.2) If, exclude α from the group under the same stag and restart from α, till we find α, ), where. Stop. Then, and. Go to Step 5.2. 5.2) Execute α ) [if from Step 5.1.2, then α ], count the 1 s number in, i.e.,. 5.2.1) If, then and ; go to Step 5.3. 5.2.2) If, restart for and α (or α ), till we find α, where. Stop. Then, and. Go to Step 5.3. 5.3) Repeat the above steps [Steps 5.1 and 5.2] until we exhaust all candidate sequences starting with α, and resulting better group is obtained, with,, and (the result of bitwise operation of all sequences). Step 6) Select the new candidate sequences among and the remaining sequences in the candidate group, as in Step 4. Repeat Step 5. Step 7) Repeat Step 6 until gone through all the sequences in the candidate group and found a better group. In the end, the better group obtained is a one_maxgroup in which, and as large as possible. B. Finding the zero_maxgroup sequences from the frequency ordering obtained from the 0-cover table. To get a zero_maxgroup from the frequency ordering as obtained from the 0-cover table, use bitwise operation instead of operation, and replace 1 by 0 in Subalgorithm 1.1. We then get the zero_maxgroup with, and as large as possible. IV. NEW MEASURE OF PROBABILITY AND OPTIMAL GENERALIZED MERGER OF SEQUENCES UNDER STOCHASTIC DEPENDENCE OF LINE ERRORS In order to consider the role of probability on error occurrence and its effect on sequence mergeability, Li and Robinson [20]

DAS et al.: DATA COMPRESSION IN SPACE UNDER GENERALIZED MERGEABILITY 159 defined a parameter called the detectable error probability estimate for a two-input logic function, given two input sequences of length, as follows (in the paper we call it the second-order error probability estimate):, where is the probability of single error effect felt at the output of the CUT, is the probability of double error effect felt at the output of the CUT, is the number of single line errors at the output of gate,ifgate is used, and is the number of double line errors at the output of gate, if gate is used. In the subject paper, we consider the effects of error at the CUT output by introducing a new measure of probability estimate, called the missed error probability estimate, which is defined for a two-input logic function, given two input sequences (to be designated, following our usual convention, as the second-order missed error probability estimate, denoted by ) as follows: Definition 11: The second-order missed error probability estimate for a two-input logic function, provided two input sequences of length,isgiven, where is the probability of single error effect not being felt at the output of the CUT, is the probability of double error effect not being felt at the output of the CUT, is the number of single line errors missed at the output of gate, if gate is used, and is the number of double line errors missed at the output of gate, if gate is used. The definition can be generalized to cover sequences for their merger by -input logic gates of types ( ), ( ), and ( ) exactly the same way as was done using the th-order detectable error probability estimates [27], [28]. Let, be the sequences at the output of a CUT of length, having the th-order 1-weight and 0-weight, and, respectively. Let be the residue, the number of bit positions in which at least two of the sequences in the bundle set have different entries, viz. the Hamming distance of multiple sequences. Let denote the probability of missing line errors,. Let be the number of columns in the bundle set with vertical 1-weight equal to. The binomial coefficient is simply denoted by the symbol or. Realistically, one can assume that, and. Example 7: Consider the following five sequences of length. Theorem 15: The th-order missed error probability estimate when sequences are merged by using an -input ( ) gate is Proof: The number of single line errors missed by an ( ) gate is The number of double line errors missed by an ( ) gate is The number of ( ( ) gate is ) line errors missed by an The number of line errors missed by an ( ) gate is Here, the fifth-order 1-weight is, fifth-order 0-weight is, and residue, since there are six bit positions in which at least two of the sequences differ. The vertical 1-weights are, and. Theorem 16: The th-order missed error probability estimate when sequences are merged by using an -input ( ) gate is

160 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 51, NO. 1, FEBRUARY 2001 Proof: The number of single line errors missed by an ( ) gate is The number of ( ) line errors missed by an ( ) gate is The number of line errors missed by an ( ) gate is 0. The number of double line errors missed by an ( ) gate is The number of ( ) line errors missed by an ( ) gate is The number of line errors missed by an ( ) gate is Case 2) The number of single line errors missed by an ( ) gate is 0. The number of double line errors missed by an ( ) gate is The number of ( ) line errors missed by an ( ) gate is 0. The number of line errors missed by an ( ) gate is Theorem 17: The th-order missed error probability estimate when sequences are merged by using an -input ( ) gate Case 1) when is odd is Case 2) when is even is Proof: Case 1) The number of single line errors missed by an ( ) gate is 0. The number of double line errors missed by an ( ) gate is V. OPTIMAL MERGEABILITY CRITERIA AND GATE SELECTION In the previous section, we derived the th-order missed error probability estimates for individual gates. Based on those results, we now establish the optimal generalized mergeability criteria while merging an arbitrary number of output sequences under condition of stochastic dependence of multiple line errors. Theorem 18: For two -input gates and, is preferable to for optimal merger, if and only if, their th-order missed error probability estimates satisfy the condition:. Proof: The proof of the theorem follows obviously based on the results of Theorems 15 17. A. Implementation Exact Approach We select the particular -input gate for optimally merging the sequences at the CUT output based on Theorem 18; that is, a gate is selected over a gate when their respective missed error probability estimates satisfy the condition. In an exact approach, we first compute and for the candidate sequences, compare their values, and then select the logic gate corresponding to the lesser value of the estimates, that is, decide to choose either an ( ) gate over an ( ) gate, or vice versa. But, we still have to find out if

DAS et al.: DATA COMPRESSION IN SPACE UNDER GENERALIZED MERGEABILITY 161 our primary selection is better than the selection of an ( ) gate, and to realize that, we next compare the missed error probability estimate of this selected gate with that of an ( ) gate, viz.. Ultimately, we select the logic gate with the least value of the missed error probability estimate for optimal merger. Unfortunately, because of computational reasons that could be rather intensive in most situations with consequent strain on available CPU time and storage, the exact approach does not appear to be an ideal method in practice, and as such we next propose some heuristics that will considerably reduce our computational time and storage. This latter approach we shall designate as a heuristic approach and is outlined below. B. Implementation Heuristic Approach In order to outline the basic philosophy of the heuristic approach in the selection of appropriate gates for optimal merger of an arbitrary set of response sequences at the CUT output, we need to first introduce certain relevant definitions and assumptions to establish our mathematical groundwork. The derivation given below is based on the assumption of being odd, though the expressions will be very much similar when is even as well. Definitions and Assumptions: Let,, and. 1) When is odd, we have and middle term in the binomial coefficients where again each one of is greater than 1. 3) Assuming odd, we have Let Then, we get Because,wehave Thus, since. Therefore, Similarly, where each of is greater than 1, there being no middle term in the binomial coefficients when is odd. 2) When is even, we have Because each is greater than 1, we then get Now we can establish the following results. Theorem 19: For sequences at the output of a CUT of length, let the th-order 1-weight be and th-order 0-weight be. For merger of sequences, an -input ( ) gate will be preferable

162 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 51, NO. 1, FEBRUARY 2001 to an -input ( ) gate for minimizing the missed error probability estimate, if Now, let or Proof: We have proved that But, ;. Then Or, If it can be shown that, then obviously an ( ) gate is preferable to an ( ) gate for optimal merger. Hence Or, Or, Now, has a minimum value when. In other words, Since Now, then ; and we get. Earlier it was shown that where each has a maximum value of 1. Then, has the minimum value That is, or Hence, we can conclude that if or we can select an ( ) gate over an ( ) gate for optimal sequence merger. Similarly, it can be shown that the same result follows when is even. Corollary 19.1: For sequences at the output of a CUT of length, let the th-order 1-weight be and th-order 0-weight be. For merger of sequences, an -input ( ) gate will be preferable to an -input

DAS et al.: DATA COMPRESSION IN SPACE UNDER GENERALIZED MERGEABILITY 163 ( ) gate for minimizing the missed error probability estimate, if or We give, below, our next algorithm that takes advantage of these heuristics in gate selection for optimal mergeability under stochastic dependence of multiple line errors to construct the compression networks at the CUT output. Definition 12: A group of candidate sequences as found from the frequency ordering having the maximum value of or, with, constitutes a max_group in the present context. Again, as usual, the number of matching 1s in the same bit positions of max_group sequences; the number of matching 0s in the same bit positions of max_group sequences; the residue, that is, the Hamming distance of multiple sequences; the number of candidate sequences in the max_group; the probability of missing line errors, where equals 2/3 [(1/3) ], for, and is equal to 1/3 [(1/3) ], for. Algorithm 2 A. Choosing between ( ) and ( ) gates for optimal merger of the candidate sequences selected from the original input sequences. Step 1) Using the original input sequence list, excluding the discarded sequences, set up the 1-cover table. Step 2) Find the corresponding frequency ordering of the sequences from the 1-cover table. Step 3) Try to find the max_group sequences in the frequency ordering having the maximum value of with greater than two. Step 4) If Step 6) Compare the results from the previous step, viz. Step 5. If ( ), the candidate sequences will be merged by an ( ) gate. If ( ), the candidate sequences will be merged by an ( ) gate. Step 7) Store the output from the preceding step, discarding the merged candidate sequences. Step 8) Repeat Steps 1 7, try to find other satisfied max_group sequences which can be merged by ( )or ( ) gates at the same level until no such sequences can be found. Go to Step B. B. Choosing between ( ) and ( ) gates for optimal merger of the candidate sequences selected from the original input sequences. Step 1) Using the original input sequence list, excluding the discarded sequences, set up the 0-cover table. Step 2) Find the corresponding frequency ordering of the sequences in the 0-cover table. Step 3) Try to find the max_group sequences from the frequency ordering. That is, try to find the sequences in the frequency ordering having the maximum value of, with as large as possible. Step 4) If or select an ( ) gate over an ( ) gate for optimal merger, but it still has to be compared with an ( ) gate. Go to next Step 5. Otherwise, go to Step C, which means, there are no max_group sequences that can be merged by an ( ) gate over an ( ) gate. Step 5) Compute or select an ( ) gate over an ( ) gate, but it still has to be compared with ( ) gate. Go to next Step 5. Otherwise, go to Step B, which means that there are no max_group sequences that can be merged by an ( ) gate over an ( ) gate. Step 5) Compute Step 6) Compare the results as obtained from Step 5. If ( ), the candidate sequences will be merged by an ( ) gate. If ( ), the candidate sequences will be merged by an ( ) gate. Step 7) Store the output from the preceding step, discarding the merged candidate sequences. Step 8) Repeat Steps 1 7, try to find other satisfied max_group sequences which can be merged by ( )or ( ) gates at the same level until no such sequences can be found. Go to Step C. C. Choosing among ( ), ( ) and ( ) gates for optimal merger.

164 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 51, NO. 1, FEBRUARY 2001 TABLE III SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING ATALANTA WITHOUT SPACE COMPACTORS TABLE V SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING COMPACTEST WITHOUT SPACE COMPACTORS TABLE IV SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING FSIM WITHOUT SPACE COMPACTORS TABLE VI SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING ATALANTA AND ASSUMING STOCHASTIC INDEPENDENCE OF MULTIPLE LINE ERRORS Step 1) Compute, ), and, and then compare the results. If, and, the candidate sequences will be merged by an ( ) gate. If, and ( ), the candidate sequences will be merged by an ( ) gate. Otherwise, the candidate sequences will be merged by an ( ) gate. Step 2) Store the resulting output sequence, discarding the grouped sequences. D. Set up the new original input sequence list comprised of the sequences obtained at the previous level, repeat Steps A C, until a single output sequence is obtained. VI. EXPERIMENTAL RESULTS AND DISCUSSIONS We developed in the previous sections our optimal generalized mergeability criteria, first assuming stochastic independence of multiple line errors, and then stochastic dependence of multiple line errors. Using the developed gate selection criteria, the space compressors were then designed for the ISCAS 85 TABLE VII SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING FSIM AND ASSUMING STOCHASTIC INDEPENDENCE OF MULTIPLE LINE ERRORS combinational benchmark circuits. The constructed space compactors are composed of a series of selected ( ), ( ), and ( ) logic gates. In order to investigate the feasibility of the proposed space compression methods, independent simulations were conducted on various ISCAS 85 combinational benchmark circuits using ATALANTA [34] (a fault simulation program developed at the Virginia Polytechnic Institute and State University) to generate the fault-free output sequences needed to construct our compactor circuits and to test the benchmark circuits using reduced test sets accompanied

DAS et al.: DATA COMPRESSION IN SPACE UNDER GENERALIZED MERGEABILITY 165 TABLE VIII SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING COMPACTEST AND ASSUMING STOCHASTIC INDEPENDENCE OF MULTIPLE LINE ERRORS TABLE X SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING FSIM AND ASSUMING STOCHASTIC DEPENDENCE OF MULTIPLE LINE ERRORS (USING EXACT APPROACH) TABLE IX SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING ATALANTA AND ASSUMING STOCHASTIC DEPENDENCE OF MULTIPLE LINE ERRORS (USING EXACT APPROACH) TABLE XI SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING COMPACTEST AND ASSUMING STOCHASTIC DEPENDENCE OF MULTIPLE LINE ERRORS (USING EXACT APPROACH) with a random test session, FSIM fault simulation program [35] to generate pseudorandom test sets, and COMPACTEST [36] program to generate the reduced test sets that detect most detectable single stuck-line faults for all benchmark circuits. For comparison purposes, we used parity tree space compactors as our benchmark, composed of gates only, that propagates all errors appearing on an odd number of inputs, and is hence considered ideal for ad hoc space compaction. Having the parity tree space compactor as reference, we simulated the ISCAS 85 benchmark circuits in the paper. For each benchmark circuit, several variables were determined and presented in tabular format. These include the number of test vectors used to construct the compaction tree, CPU time required to construct the compaction tree, number of applied test vectors corresponding to the obtained trees, simulation CPU time, and percentage fault coverage, by running ATALANTA and FSIM programs on a SUN SPARC 5 workstation, and COMPACTEST on an IBM AIX machine. In addition, we also estimated the hardware overhead for the space compactors, and provide some compaction trees for c432 benchmark circuit. A. Simulation Without Space Compactors To get a realistic estimate of the fault coverage, we first carried out our simulations without compactors. In Tables III V, we provide the fault coverage and CPU simulation time for the TABLE XII SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING ATALANTA AND ASSUMING STOCHASTIC DEPENDENCE OF MULTIPLE LINE ERRORS (USING HEURISTIC APPROACH) ISCAS 85 benchmark circuits without the space compactors running ATALANTA, FSIM, and COMPACTEST fault simulators, respectively. From the tables, we see that the fault coverage results provided by ATALANTA are almost the same as those provided by COMPACTEST. FSIM provided the least fault coverage among the three simulators, though it provides the best CPU simulation time followed by ATALANTA.

166 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 51, NO. 1, FEBRUARY 2001 TABLE XIII SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING FSIM AND ASSUMING STOCHASTIC DEPENDENCE OF MULTIPLE LINE ERRORS (USING HEURISTIC APPROACH) TABLE XV SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING ATALANTA AND ASSUMING DIFFERENT MISSED ERROR PROBABILITY VALUES, VIZ. t = 0.5, 0.6, 0.7, 0.8, 0.9, 2/3, AND 1.0, RESPECTIVELY, FOR N LINE ERRORS TABLE XIV SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING COMPACTEST AND ASSUMING STOCHASTIC DEPENDENCE OF MULTIPLE LINE ERRORS (USING HEURISTIC APPROACH) TABLE XVI SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING FSIM AND ASSUMING DIFFERENT MISSED ERROR PROBABILITY VALUES, VIZ. t = 0.5, 0.6, 0.7, 0.8, 0.9, 2/3, AND 1.0, RESPECTIVELY, FOR N LINE ERRORS B. Simulation Assuming Stochastic Independence of Line Errors The simulation results assuming stochastic independence of multiple line errors are shown in Tables VI VIII. In comparison with the results without space compactors, the simulation results with space compactors show that all the values, viz. CPU simulation time, fault coverage, are changed to varying degrees due to inclusion of the compressors. Tables VI VIII also show that the fault coverage of the circuits is generally decreased. Under stochastic independence of line errors, ATALANTA provides the highest fault coverage, ranging from 87.368% to 100.00%. The CPU simulation time provided by FSIM is the best, being less than 1 sec. C. Simulation Assuming Stochastic Dependence of Line Errors 1) Exact Approach: For comparison purposes, we simulated the benchmark circuits using the exact approach as mentioned earlier by ATALANTA, FSIM, and COMPACTEST. The results are given in Tables IX XI, respectively. It is worth noting that for each max_group, is the probability of missing line errors, which equals 2/3 [(1/3) ], for, and 1/3 [(1/3) ], for. In the case of stochastic dependence of multiple line errors, we see that ATALANTA provides the best fault coverage results, and FSIM provides the shortest CPU simulation time while using the exact approach. 2) Heuristic Approach: We developed the heuristic approach to reduce the computational time and storage for constructing the space compactors in the case of stochastic dependence of multiple line errors. The simulation results of ISCAS 85 benchmark circuits using ATALANTA, FSIM, and COMPACTEST are shown in Tables XII XIV, respectively. Again, it is worth noting that for each max_group, is the probability of missing line errors, which equals 2/3 [(1/3) ], for, and 1/3 [(1/3) ], for. As expected, the CPU time for constructing the space compactors is reduced while using the heuristic approach compared to the exact approach, particularly for circuits with a large number of primary outputs. For example, to construct the space compactor trees for c2670 benchmark circuit, the CPU time consumed in using the heuristic approach is about 37% less for ATALANTA and FSIM, and about 33% less for COMPACTEST than while using the exact approach. The results on fault coverage using ATALANTA and COMPACTEST by the heuristic approach show some reduction, though most are still above 80%. We also found that the fault coverage while using FSIM by the heuristic approach is higher than the coverage by the exact approach. The results demonstrate that the proposed heuristic approach not only reduces the time to

DAS et al.: DATA COMPRESSION IN SPACE UNDER GENERALIZED MERGEABILITY 167 TABLE XVII SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING COMPACTEST AND ASSUMING DIFFERENT MISSED ERROR PROBABILITY VALUES, VIZ. t = 0.5, 0.6, 0.7, 0.8, 0.9, 2/3, AND 1.0, RESPECTIVELY, FOR N LINE ERRORS TABLE XIX ESTIMATES OF THE HARDWARE OVERHEAD FOR COMPACTEST ASSUMING STOCHASTIC INDEPENDENCE OF MULTIPLE LINE ERRORS TABLE XVIII ESTIMATES OF THE HARDWARE OVERHEAD FOR ATALANTA/FSIM ASSUMING STOCHASTIC INDEPENDENCE OF MULTIPLE LINE ERRORS TABLE XX ESTIMATES OF THE HARDWARE OVERHEAD FOR ATALANTA/FSIM ASSUMING STOCHASTIC DEPENDENCE OF MULTIPLE LINE ERRORS (EXACT APPROACH) construct the space compactors, but also ensures relatively high fault coverage. Moreover, ATALANTA provides the best fault coverage results, while FSIM provides the best results in terms of CPU simulation time. D. Simulation at Distinct Missed Error Probability Values Earlier, we used the probability of missing line errors,, to be 2/3, the value being decreased as the number of lines is reduced. That means,, with. Here we provide our simulation results with certain distinct values of, like 0.5, 0.6, 0.7, 0.8, 0.9, and 1.0, using ATALANTA, FSIM, and COMPACTEST, as shown in Tables XV XVII, respectively. We still assume and. From the simulation results, we see that change in fault coverage results takes place while changes from 0.5 to 0.9, which shows that our assumption is reasonable and in accordance with real world situations. We also find that the fault coverage results become quite low for FSIM, when equals 1.0, some being under 50%. E. Hardware Overhead To estimate the hardware overhead, we use the ratio of the weighted gate count metric, i.e., average fanin number of gates of the compressor, and that of the total circuit comprised of the CUT and space compactor. 1) Stochastic Independence of Errors: Table XVIII and Table XIX show the hardware overhead estimates of the ISCAS 85 benchmark circuits for ATALANTA/FSIM and COM- PACTEST, respectively, assuming stochastic independence of multiple line errors. It can be seen that the hardware overhead range of the compressors for all the benchmark circuits (besides circuit c17) is from 0.70% to 7.27% for ATALANTA/FSIM, and is 14.29% for the circuit c17. We also find that the hardware overhead range in the case of COMPACTEST is from 0.80% to 8.31% for most of the benchmark circuits, being 14.29% for the circuit c17. 2) Stochastic Dependence of Errors ( ): Tables XX and XXI show the hardware overhead estimates of the ISCAS 85 benchmark circuits for ATALANTA/FSIM, whereas Tables XXII and XXIII show the estimates of these circuits for COMPACTEST, by the exact and heuristic approaches, respectively. F. Simulation With Parity Tree as Space Compactor For comparison purposes, we used parity tree space compactors composed of gates as our benchmark. The simulation experiences with parity tree as space compactors using ATALANTA, FSIM, and COMPACTEST are next discussed (Tables XXIV-XXXI). We first assume that the space compactors are designed with 2-input gates, and then presume them to be comprised of 10-input gates. To have an overall view, we compared the simulation results by ATALANTA for the ISCAS 85 benchmark

168 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 51, NO. 1, FEBRUARY 2001 TABLE XXI ESTIMATES OF THE HARDWARE OVERHEAD FOR ATALANTA/FSIM ASSUMING STOCHASTIC DEPENDENCE OF MULTIPLE LINE ERRORS (HEURISTIC APPROACH) TABLE XXIV SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING ATALANTA WITH PARITY TREE AS SPACE COMPACTOR (2-INPUT XOR GATES) TABLE XXII ESTIMATES OF THE HARDWARE OVERHEAD FOR COMPACTEST ASSUMING STOCHASTIC DEPENDENCE OF MULTIPLE LINE ERRORS (EXACT APPROACH) TABLE XXV SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING ATALANTA WITH PARITY TREE AS SPACE COMPACTOR (10-INPUT XOR GATES) TABLE XXIII ESTIMATES OF THE HARDWARE OVERHEAD FOR COMPACTEST ASSUMING STOCHASTIC DEPENDENCE OF MULTIPLE LINE ERRORS (HEURISTIC APPROACH) TABLE XXVI SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING FSIM WITH PARITY TREE AS SPACE COMPACTOR (2-INPUT XOR GATES) circuits in different cases, which include parity trees comprised of 2-input and 10-input gates, stochastic independence and dependence of multiple line errors, and using the exact as well as heuristic approaches. From a comparison of the results, we found that the fault coverage results as obtained assuming stochastic independence and stochastic dependence of line errors are almost the same in the parity tree case. The difference is rather small and acceptable. Though the gate is conceptually neat and simple, practically it has to be implemented by using other gates, and so the hardware overhead of parity tree compactors (using both 2-input and 10-input gates) is expected to be higher. G. Compaction Circuits for c432 To give an idea how our compactors look, we have drawn the space compaction circuits for c432 benchmark circuit corresponding to stochastic independence and dependence of multiple line errors. There are 36 primary inputs, 160 gates, and seven primary outputs in c432 benchmark circuit. Fig. 2 illustrates the space compactor circuit assuming stochastic independence of multiple line errors using ATALANTA/FSIM, while Fig. 3 shows the space compactor circuit in the case of stochastic dependence of multiple line errors by the exact approach

DAS et al.: DATA COMPRESSION IN SPACE UNDER GENERALIZED MERGEABILITY 169 TABLE XXVII SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING FSIM WITH PARITY TREE AS SPACE COMPACTOR (10-INPUT XOR GATES) TABLE XXX ESTIMATES OF THE HARDWARE OVERHEAD WITH PARITY TREE AS SPACE COMPACTOR (2-INPUT XOR GATES) TABLE XXVIII SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING COMPACTEST WITH PARITY TREE AS SPACE COMPACTOR (2-INPUT XOR GATES) TABLE XXXI ESTIMATES OF THE HARDWARE OVERHEAD WITH PARITY TREE AS SPACE COMPACTOR (10-INPUT XOR GATES) TABLE XXIX SIMULATION RESULTS OF THE ISCAS 85 BENCHMARK CIRCUITS USING COMPACTEST WITH PARITY TREE AS SPACE COMPACTOR (10-INPUT XOR GATES) Fig. 2. Space compactor circuit for c432 assuming stochastic independence of multiple line errors. using ATALANTA/FSIM. Finally, Fig. 4 illustrates the compactor circuit for c432, by the heuristic approach and using ATALANTA/FSIM assuming. VII. CONCLUDING REMARKS The implementation of space-efficient BIST support hardware is of great importance in the synthesis of complex digital integrated circuits. This paper reports on developing compression techniques of test data outputs for digital integrated cir- cuits that facilitate the design of such space-efficient BIST support hardware using compact test sets. The techniques suggested herein use ( ), ( ), and ( ) gates as appropriate to construct an output compaction tree that compresses the outputs of the CUT to a single line. The compaction tree is generated utilizing sequence characterization as introduced earlier by the authors based on the concepts of Hamming distance, sequence weights, and derived sequences, together with well-known concepts from conventional switching theory, viz. of 1-cover table, 0-cover table, and frequency ordering of sequences, as commonly used in the minimization of switching functions. The logic functions selected to build the compaction network are determined solely by the characteristics of the sequences that are inputs to the gates. The optimal mergeability criteria were obtained on the assumption of both