On the Maximum Number of Codewords of X-Codes of Constant Weight Three
Yu Tsunoda, Yuichiro Fujiwara

TL;DR
This paper establishes a lower bound on the maximum size of constant-weight X-codes used in circuit testing, demonstrating the existence of infinitely many such codes with increasing compaction ratios, and provides an efficient construction method.
Contribution
It introduces the first nontrivial lower bound for the maximum number of codewords in constant-weight X-codes with specific parameters and offers a polynomial-time algorithm to construct codes meeting this bound.
Findings
Existence of an infinite sequence of X-codes with unbounded compaction ratio for fixed d.
A nontrivial lower bound on the maximum number of codewords for (m, n, d, 2) X-codes.
A polynomial-time algorithm to construct X-codes achieving the bound.
Abstract
X-codes form a special class of linear maps which were originally introduced for data compression in VLSI testing and are also known to give special parity-check matrices for linear codes suitable for error-erasure channels. In the context of circuit testing, an X-code compresses -bit output data from the circuit under test into bits, while allowing for detecting the existence of an up to -bit-wise anomaly in even if up to bits of the original uncompressed are unknowable to the tester. Using probabilistic combinatorics, we give a nontrivial lower bound for any on the maximum number of codewords such that an X-code of constant weight exists. This is the first result that shows the existence of an infinite sequence of X-codes whose compaction ratio tends to infinity for any fixed under severe weight…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsVLSI and Analog Circuit Testing · Coding theory and cryptography · graph theory and CDMA systems
On the Maximum Number of Codewords of X-Codes of Constant Weight Three
Yu Tsunoda
Graduate School of Science and Engineering
Chiba University
1-33 Yayoi-Cho Inage-Ku, Chiba 263-8522
Email: [email protected]
Yuichiro Fujiwara
Division of Mathematics and Informatics
Chiba University
1-33 Yayoi-Cho Inage-Ku, Chiba 263-8522
Email: [email protected]
Abstract
X-codes form a special class of linear maps which were originally introduced for data compression in VLSI testing and are also known to give special parity-check matrices for linear codes suitable for error-erasure channels. In the context of circuit testing, an X-code compresses -bit output data from the circuit under test into bits, while allowing for detecting the existence of an up to -bit-wise anomaly in even if up to bits of the original uncompressed are unknowable to the tester. Using probabilistic combinatorics, we give a nontrivial lower bound for any on the maximum number of codewords such that an X-code of constant weight exists. This is the first result that shows the existence of an infinite sequence of X-codes whose compaction ratio tends to infinity for any fixed under severe weight restrictions. We also give a deterministic polynomial-time algorithm that produces X-codes that achieve our bound.
I Introduction
Very-large-scale integration (VLSI) testing is vital part of digital circuit production and aims to minimize the number of defective circuits due to imperfect manufacturing processes. In typical digital circuit testing, the tester applies test patterns to the circuit under test and checks whether it outputs correct responses. In short, VLSI testing aims to detect a discrepancy between expected and observed responses of the circuit under test.
While this type of simple comparison-based testing may seem trivial to perform, it is not always an easy job. Indeed, the ever growing complexity of modern VLSI circuits is making the volume of required input and output patterns extremely large, resulting in prohibitively long test time and unacceptably large tester-memory requirements [1]. For this reason, various cost reduction techniques, such as scan-based logic built-in self-test (BIST) [2], have been developed to make modern digital circuits testable [3].
One important development in test cost reduction is response data compression, where a well-designed compactor hashes the expected and observed responses from the circuit under test in such a way that, if the original observed data contain unexpected bits signaling a defect, the compressed versions of expected and observed responses also exhibit discrepancies [4]. With this method, the amount of data we should compare becomes smaller than if we naively compare every actual output against the expected behavior bit by bit.
This idea of compressing responses is very similar to non-adaptive group testing such as pooling designs for DNA library screening [5]. However, there is a key difference between group testing in bioinformatics and test compression for VLSI circuits, which is the existence of unknowable bits, called Xs, in the case of VLSI testing.
Ideally, the tester would like to perfectly predict the behavior of a non-defective circuit for any input pattern. However, this is not the case in general with a complex modern circuit due to various factors such as uninitialized memory elements, bus contention, floating triple-states, and imperfect simulations [3]. Thus, the data to be compressed during circuit testing may contain Xs, that is, logic values that are unknowable to the tester beforehand, complicating the otherwise classic coding-theoretic problem of hashing a pair of data sets while avoiding collisions if they differ.
X-compact [6, 7] is a simple method to hash responses while maintaining test quality even in the presence of Xs. A response data compactor for X-compact is called an X-code and restricted to a linear map [8]. In the language of VLSI testing, an X-code compresses -bit output from the circuit under test into bits while allowing for detecting the existence of up to -bit-wise discrepancies between the observed and correct responses even if up to bits of the correct behavior are unknowable. Hence, all else being equal, given and , X-codes of higher compaction ratio are desirable. It is notable that X-codes are also known to be useful for error-erasure separation in coding theory [9], where achieving larger for given , , and is again desirable.
Because X-codes are linear maps, we may regard an X-code as a well-designed matrix over the finite field of order that compresses -dimensional vectors into the corresponding -dimensional vectors . When seen this way, desirable X-codes are those with more columns and fewer rows that achieve a higher compaction ratio.
The ability to detect discrepancies and high compaction ratio are not the only required properties, however. For practical reasons such as power requirements, compactor delay, and wirability, it is also desirable for the number of s in each column to be as small as possible [6, 10]. However, a column of weight less that or equal to in an X-code makes no essential contribution to the achievable compaction ratio [8, 11]. Hence, our focus will be on X-codes with the largest possible number of columns for given number of rows and other two test quality parameters and under the condition that the column weights are all restricted to , namely optimal X-codes of constant weight .
The simplest case is when , where the compactor is only required to tolerate a single . In this case, an X-code of constant weight can be shown to be equivalent to a graph of girth in graph theory [10]. More details on X-codes of constant weight and their connection to graph theory can be found in [10] and references therein.
While tolerance of a single is sufficient in some cases, multiple s can occur in practice. Unfortunately, our knowledge on X-codes of constant weight for is quite limited. As we will briefly review in the next section, even for the next simplest case of , the precise asymptotic behavior of is only known for , which is [11]. For larger , as far as the authors are aware, the only non-trivial result is an upper bound, which states that for , proved by using a tool from extremal graph theory [12]. While this bound suggests that the asymptotic behavior of is not so simple, whether can be superlinear for any fixed and has remained an open problem.
Here, we make a substantial step towards understanding the asymptotic behavior of by proving the existence of an infinite sequence of X-codes of constant weight whose compaction ratio tends to infinity for any .
Theorem I.1
For any positive integer ,
[TABLE]
We first give a short and nonconstructive proof based on probabilistic combinatorics and then provide a deterministic polynomial-time algorithm that produces X-codes that achieve the above lower bound.
In Section II, we briefly review the basic properties of X-codes and known results. Section III gives our new bound on as well as a deterministic algorithm for constructing X-codes attaining this bound that runs in time polynomial in for fixed . Section IV concludes this paper with some remarks.
II Preliminaries
Here, we give a formal mathematical definition of X-codes. Basic facts and known results are also briefly reviewed.
Let , and be positive integers. The superimposed sum of two binary columns , is defined to be , where if and otherwise. The addition of between two columns is assumed to be the coordinatewise sum over as usual. A binary column is said to be contained in another binary column if .
For positive integer and non-negative integer , an binary matrix is an X-code if the superimposed sum of any columns does not contain the addition of any other up to columns. The columns of an X-code are the codewords, while the number of rows is the length.
By definition, an X-code with is an X-code. For and , an X-code is also an X-code [8].
It is notable that the definition of an X-code coincides with that of an -disjunct matrix [13] of size for group testing. Disjunct matrices are also known as cover-free families [14] and superimposed codes [15]. An X-code forms a parity-check matrix for a linear code of length , dimension at least , and minimum distance at least . For , an X-code can be seen as a special parity-check matrix that can treat errors and erasures separately over an error-erasure channel [9].
Now, to see how X-codes work in VLSI testing, let us consider the following X-code .
[TABLE]
Assume that and are -dimensional vectors over that represent the observed and expected responses from the circuit under test, respectively. Because X represents an unknowable logic value, computation involving X is defined by , , and . VLSI testing with the X-code compares -dimensional vectors and instead of and . The property of as a X-code guarantees that a discrepancy of no more than one bit between the actual output and the correct output can be detected by comparing the shrunk responses and even if up to bit of the correct behavior is unknowable. For example, when and , the shrunk responses are and . As can be seen easily, there exists a discrepancy between the last bits of and , so that we can find the circuit under test is defective.
As a linear function for compaction, all else being equal, it is desirable for an X-code to have as large as possible for given , and . Recall that is the maximum number for which there exists an X-code of constant weight . For and , it is known that
[TABLE]
with equality if and only if [11]. Because by definition, the above upper bound holds for all as well. While the above inequality says that , it is also known that for any [12]. Therefore, we have the following theorem.
Theorem II.1** ([11, 12])**
It holds that
[TABLE]
Although an attempt has been made to construct matrices similar to X-codes of constant weight for large in [12], to the best of the authors’ knowledge, no nontrivial lower bounds on are known for .
III Main Results
This section is divided into two subsections. In Section III-A, we derive a general lower bound on by using the probabilistic method in combinatorics [16]. Section III-B derandomizes the probabilistic proof to demonstrate that an X-code of constant weight which attains the derived lower bound can be constructed deterministically in time polynomial in .
III-A General lower bound on
Here, we prove the following general asymptotic bound.
Theorem III.1
For sufficiently large , it holds that
[TABLE]
where
[TABLE]
Note that Theorem I.1 immediately follows from this bound.
To prove the above theorem, we will first show the following two lemmas.
Lemma III.2
For sufficiently large , there exists an X-code of constant weight with .
Lemma III.3
For any and any , there exists an X-code of constant weight , where
[TABLE]
To show these lemmas, we employ a well-known class of combinatorial designs. A set system of order is an ordered pair such that is a finite set of points with and is a family of subsets of , called blocks. The point-by-block incidence matrix of a set system is the binary matrix such that rows and columns are indexed by points and blocks, respectively, and if the th point is contained in the th block and otherwise. For a subset of , the odd-point union of is defined to be . It is straightforward to see that an X-code whose rows and columns are indexed by and , respectively, is equivalent to a set system of order with such that no union of blocks contains the odd-point union of any other or fewer blocks as a subset. We denote by the set of -subsets, called triples, of .
X-codes of constant weight can be characterized by some subsets of . A configuration in a set system is a subset of . When , a configuration is an -configuration. A configuration is -forbidden if it appears in no X-codes of constant weight . We denote by the set of -forbidden configurations on the point set . For instance, for , a -configuration is -forbidden, that is, , because the union contains as a subset, making it impossible to appear in an X-code on the point set .
The probabilistic proof of Lemmas III.2 and III.3 relies on the fact that it is enough to show the existence of a set system that avoids all -forbidden configurations. The set of -forbidden configurations can be partitioned into the following sets of configurations:
[TABLE]
where is the set of -configurations that are -forbidden. Note that and are empty sets since the set system consists of distinct triples.
Proof:
Let . Take a set of triples by picking elements of uniformly at random with probability . Let be the random variable that counts the number of -forbidden configurations in . Note that because discarding a triple in removes the configuration containing , deleting at most one triple from each -forbidden configuration in gives an X-code with . Therefore, there exists an X-code with .
Let be the set of -configurations in that consists of 6 elements of . Since every configuration in consists of distinct triples, the largest number of elements of in a configuration in is , that is, . Similarly, , where is the set of -configurations in that consists of 8 elements of . Therefore, by linearity of expectation, we have
[TABLE]
By setting , the right-hand side of the above inequality is with , as desired. ∎
It is notable that precisely counting the number of configuration in instead of can only give asymptotically the same bound.
Lemma III.3 can be obtained by essentially the same probabilistic argument as in the proof of Lemma III.2.
Proof:
Consider the random variable that counts the number of -forbidden configuration in and follow the same argument as in the proof of Theorem III.1 to show the existence of an X-code of constant weight with . Note that for any -configuration in with , it holds that
[TABLE]
where equality holds when is even and consists of triples such that , for any , and each element in the union is contained in exactly triples of , or when is odd and consists of triples such that and there exists exactly one triple in such that , and each element in the union except for an element in is contained in exactly triples of . Therefore, by linearity of expectation, we have
[TABLE]
as desired. ∎
Now, we prove Theorem III.1.
Proof:
By Lemma III.2, it holds that , where . For , by setting to maximize , we have with and . By Lemma III.3, it holds that . Similarly, for , by setting , we have with and . By Lemma III.3, for it holds that , as desired. ∎
III-B Construction algorithm
To extract a deterministic algorithm from our probabilistic proof in the previous section, we follow the approach of [12], which uses the method of conditional expectations [16].
Let , , be the triples in in arbitrary order. While the proof of Lemmas III.2 and III.3 randomly picks each triple in , here we deterministically decide whether to pick one by one from through . Note that the picked triples may contain some forbidden configurations in . To remove the forbidden configurations, the final deletion process is done the same way as in the probabilistic proof by discarding at most one triple from each realized forbidden configuration.
Now we describe our derandomized algorithm in detail. To record our decision on whether we pick a triple at each step, define if is included and [math] otherwise. For a given binary sequence of length and forbidden configuration , define and
[TABLE]
Given the first decisions on the triples, assume for the moment that we pick each of remaining triples independently and uniformly at random with probability
[TABLE]
This is equivalent to hypothetically regarding each for as an independent random variable such that with probability and [math] with probability .
Let , and define . and represent the sets of picked triples and formed forbidden configurations after the hypothetical random sampling, respectively.
If we started with fixed decisions and performed the random sampling for the remaining triples, the number of triples after the deletion process would be at least the conditional expectation
[TABLE]
For , define
[TABLE]
which is the conditional expectation when the random variable is realized as . When , we define
[TABLE]
Since
[TABLE]
it holds that
[TABLE]
Therefore, by starting from no decisions on the triples and picking at the th step if and only if , we end up with at least triples after the deletion process, which is precisely the guaranteed number of codewords of an X-code by Theorem III.1. Algorithm 1 describes the above deterministic procedure.
In the remainder of this section, we show that Algorithm 1 runs in time polynomial in . Our analysis here is quite rough but enough to show that it is efficient in a technical sense.
First, note that listing all forbidden configurations in only takes time polynomial in because . The steps for picking triples require computing two conditional expectations times each. Since computing a conditional expectation takes at most time, the steps for picking triples can be done in . Checking whether a given triple is contained in takes time by using the binary search. Therefore, the complexity of the final deletion process is bounded from above by . Hence, the total run time will not exceed , as required.
IV Conclusion
We have derived a lower bound on the maximum number for which an X-code of constant weight exists. This is the first nontrivial lower bound on for general and demonstrates that constant-weight X-codes can substantially reduce the amount of response data under the presence of a multi-bit discrepancy, multiple unknowable bits, and a severe constraint on fan-out (see [11] and references therein for the background on the fan-out issue).
We have also proved that such X-codes can be constructed deterministically in time polynomial in . This was done by first proving their existence through a probabilistic argument and then derandomizing it by the method of conditional expectations. It is notable that this approach was also shown effective in [12] for a more specific situation where multiple Xs are rather rare but do occur. It would be interesting to see how widely this approach can be applied to similar problems.
Finally, it should be noted that while we have made nontrivial progress towards understanding the asymptotic behavior of , there still remains a substantial gap between the sharpest upper and lower bounds on . In fact, for general and , the problem of determining is nearly completely open. We hope that future work addresses these challenging areas.
Acknowledgment
This work was supported by JSPS KAKENHI Grant Number JP18J20466 (Y.T.) and KAKENHI Grant Number JP17K12638 (Y.F.).
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] E. J. Mc Cluskey, D. Burek, B. Koenemann, S. Mitra, J. H. Patel, J. Rajski, and J. A. Waicukauski, “Test data compression,” IEEE Design Test Comput. , vol. 20, pp. 76–87, Mar./Apr. 2003.
- 2[2] E. J. Mc Cluskey, Logic Design Principles with Emphasis on Testable Semi-Custom Circuits . Englewood Cliffs, NJ: Prentice-Hall, 1986.
- 3[3] P. Girard, N. Nicolici, and X. Wen, Eds., Power-Aware Testing and Tes Strategies for Low Power Devices . New York: Springer, 2010.
- 4[4] R. Kapur, S. Mitra, and T. W. Williams, “Historical perspective on scan compression,” IEEE Design Test Comput. , vol. 25, no. 2, pp. 114–120, March/April 2008.
- 5[5] H. Q. Ngo and D.-Z. Du, “A survey on combinatorial group testing algorithms with applications to DNA library screening,” DIMACS Series in Discrete Mathematics and Theoretical Computer Science , vol. 55, no. 12, pp. 171–182, December 2000.
- 6[6] S. Mitra, S. S. Lumetta, M. Mitzenmacher, and N. Patil, “X-tolerant test response compaction,” IEEE Des. Test. Comput. , vol. 22, pp. 566–574, Nov. 2005.
- 7[7] S. Mitra and K. S. Kim, “X-compact: An efficient response compaction technique,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst. , vol. 23, pp. 421–432, Mar. 2004.
- 8[8] S. S. Lumetta and S. Mitra, “X-codes: Theory and applications of unknowable inputs,” Center for Reliable and High-Performance Computing, Univ. of Illinois at Urbana Champaign, Tech. Rep. CRHC-03-08 (also UILU-ENG-03-2217), Aug. 2003.
