Parallel decompressor and related methods and apparatuses
First Claim
1. An apparatus comprising a parallel data generator to dynamically generate in parallel a plurality of portions of a deterministic data vector, the parallel data generator being formed with a linear feedback shift register (LFSR) and multiple pluralities of serially coupled flip-flops, wherein the LFSR and the multiple pluralities of serially coupled flip-flops are structurally coupled to allow the LFSR to concurrently output in parallel different data bits to different ones of the multiple pluralities of serially coupled flip-flops, and the multiple pluralities of serially coupled flip-flops to concurrently feed back in parallel different data bits to different parts of the LFSR.
1 Assignment
0 Petitions
Accused Products
Abstract
A parallel decompressor capable of concurrently generating in parallel multiple portions of a deterministic partially specified data vector is disclosed. The parallel decompressor is also capable of functioning as a PRPG for generating pseudo-random data vectors. The parallel decompressor is suitable for incorporation into BIST circuitry of ICs. For BIST circuitry with multiple scan chains, the parallel decompressor may be incorporated without requiring additional flip-flops (beyond those presence in the LFSR and scan chains). In one embodiment, an incorporating IC includes boundary scan design compatible with the IEEE 1194.1 standard. Multiple ones of such ICs may be incorporated in a circuit board. Software tools for generating ICs with boundary scan having BIST circuitry incorporated with the parallel decompressor, and for computing the test data seeds for the deterministic partially specified test vectors are also disclosed.
230 Citations
36 Claims
- 1. An apparatus comprising a parallel data generator to dynamically generate in parallel a plurality of portions of a deterministic data vector, the parallel data generator being formed with a linear feedback shift register (LFSR) and multiple pluralities of serially coupled flip-flops, wherein the LFSR and the multiple pluralities of serially coupled flip-flops are structurally coupled to allow the LFSR to concurrently output in parallel different data bits to different ones of the multiple pluralities of serially coupled flip-flops, and the multiple pluralities of serially coupled flip-flops to concurrently feed back in parallel different data bits to different parts of the LFSR.
- 9. An apparatus comprising a dual mode pseudo-random pattern generator (PRPG)/parallel decompressor to generate pseudo-random data vectors using a single LFSR while operating in a first mode, and to generate deterministic partially specified data vectors while operating in a second mode, with multiple portions of each deterministic partially specified data vector being generated in parallel using the same single LFSR.
-
11. An integrated circuit having built-in self-test (BIST) circuitry including a parallel data generator formed with a linear feedback shift register (LFSR) and multiple pluralities of serially coupled flip-flops, wherein the LFSR to concurrently output in parallel different data bits to different ones of the multiple pluralities of serially coupled flip-flops, and the multiple pluralities of serially coupled flip-flops concurrently feed back in parallel different data bits to different parts of the LFSR.
- 13. An integrated circuit having built-in self-test (BIST) circuitry including a multi-mode pseudo-random pattern generator (PRPG)/parallel decompressor to generate pseudo-random data vectors using a single LFSR while operating in a first mode, and to generate deterministic partially specified data vectors while operating in a second mode, with multiple portions of each of the deterministic partially specified data vectors being generated in parallel using the same single LFSR used to generate the pseudo-random data vectors of the first mode.
- 15. An apparatus comprising a first and a second integrated circuit having a corresponding first and a second parallel data generator with the first parallel data generator providing either an output data bit from a linear feedback shift register (LFSR) of the first parallel data generator, or a copy of a feedback data bit to the LFSR of the first parallel data generator, as input to a LFSR of the second parallel data generator.
- 17. An apparatus comprising a first and a second integrated circuit correspondingly having a first and a second dual purpose pseudo-random pattern generator (PRPG)/parallel decompressor with the first PRPG/parallel decompressor providing either an output data bit from a linear feedback shift register (LFSR) of the first PRPG/parallel decompressor, or a copy of a feedback data bit to the LFSR of the first PRPG/parallel decompressor, as input to a LFSR of the second PRPG/parallel decompressor.
-
19. A method for loading a variable length data vector into a parallel decompressor comprising:
-
a) resetting a linear feedback shift register (LFSR); and b) shifting a variable length data seed into the LFSR and then serially to a plurality of serially coupled flip-flop chains, overriding selected ones of data bits output from one flip-flop chain to another flip-flop chain. - View Dependent Claims (20, 21)
-
-
22. A method for decompressing a variable length data seed to concurrently generate in parallel multiple portions of a deterministic partially specified data vector, the method comprising:
-
a) configuring a linear feedback shift register (LFSR) to receive feedback data bits at selected positions of the LFSR as input; b) configuring a plurality of scan chains to receive in parallel different output data bits from the LFSR; c) enabling the scan chains to provide in parallel different feedback data bits to the plurality of selected positions of the LFSR; and d) repeatedly applying clock cycles to shift the contents of the LFSR and the scan chains, until all flip-flops of the scan chains are filled with output data bits from the LFSR.
-
-
23. A method for applying a deterministic partially specified test pattern to an integrated circuit, the method comprising the steps of:
-
a) selecting a data seed corresponding to the deterministic partially specified test pattern; b) conditionally reselecting scan chains of the integrated circuit and flip-flops of the scan chains, if a seed size of the data seed is dissimilar with an immediately preceding data seed; c) loading the data seed into a linear feedback shift register (LFSR) and selected flip-flops of the selected scan chains; d) decompressing the loaded data seed to generate in parallel multiple portions of the deterministic partially specified test pattern; and e) applying the generated deterministic partially specified test pattern. - View Dependent Claims (24, 25)
-
-
26. A method for applying a plurality of deterministic partially specified test patterns to a plurality of integrated circuits, the method comprising:
-
a) configuring the integrated circuits in a daisy-chained configuration with the integrated circuits sequentially outputting for each other; b) selecting a group of data seeds corresponding to a subset of the plurality of deterministic partially specified test patterns; c) conditionally selecting scan chains for each of the integrated circuits, and flip-flops of the selected scan chains, if seed sizes of the group of data seeds are correspondingly dissimilar with a prior group of data seeds; d) loading the group of data seeds into a linear feedback shift register (LFSR) and specified flip-flops of selected scan chains of each of the plurality of integrated circuits; e) decompressing the loaded group of data seeds to generate in parallel multiple portions of each of the subset of the deterministic partially specified test patterns; and f) applying the generated subset of deterministic partially specified test patterns to the plurality of integrated circuits, when step (e) is completed for all integrated circuits. - View Dependent Claims (27, 28)
-
- 29. A storage medium having stored therein a first plurality of programming instructions to be executed by a computer system to insert built-in self-test (BIST) circuitry into an integrated circuit design, the BIST circuitry having a parallel decompressor to concurrently generate in parallel multiple portions of deterministic partially specified data vectors, wherein the parallel decompressor is formed with a LFSR and multiple flip-flop chains with the LFSR and the multiple flip-flop chains being structurally coupled to each other in a manner that allows a plurality of different data bits to be concurrently provided in parallel to different ones of the flip-flop chains and a plurality of different data bits to be concurrently feed back to different parts of the LFSR.
-
32. A computer system comprising:
-
a storage medium having stored therein a first plurality of programming instructions; and an execution unit, coupled to the storage medium, to execute programming instructions stored in the storage medium including said first plurality of programming instructions which, when executed by said execution unit, insert a built-in self-test (BIST) circuitry into an integrated circuit design, the BIST circuitry having a parallel decompressor to concurrently generate in parallel multiple portions of deterministic partially specified data vectors from compressed data seeds, wherein the parallel decompressor being formed with a single LFSR and multiple flip-flop chains, with the LFSR and the multiple flip-flop chains being structurally coupled to each other in a manner that allows a plurality of different data bits to be concurrently provided in parallel to different ones of the flip-flop chains and a plurality of different data bits to be concurrently feed back to different parts of the LFSR. - View Dependent Claims (33, 34)
-
- 35. A storage medium having stored therein an integrated circuit design including built-in self-test (BIST) circuitry having a parallel decompressor to concurrently generate in parallel multiple portions of a deterministic data vector, the parallel decompressor being formed with a single LFSR and multiple flip-flop chains with the LFSR and the multiple flip-flop chains being structurally coupled to each other in a manner that allows a plurality of different data bits to be concurrently provided in parallel to different ones of the flip-flop chains, and a plurality of different data bits to be concurrently feed back to different parts of the LFSR.
Specification