KR100615401B1 - Deterministic test pattern generating apparatus using phase shifter - Google Patents

Deterministic test pattern generating apparatus using phase shifter Download PDF

Info

Publication number
KR100615401B1
KR100615401B1 KR1020040056114A KR20040056114A KR100615401B1 KR 100615401 B1 KR100615401 B1 KR 100615401B1 KR 1020040056114 A KR1020040056114 A KR 1020040056114A KR 20040056114 A KR20040056114 A KR 20040056114A KR 100615401 B1 KR100615401 B1 KR 100615401B1
Authority
KR
South Korea
Prior art keywords
pattern
tapconn
deterministic
phase shifter
current
Prior art date
Application number
KR1020040056114A
Other languages
Korean (ko)
Other versions
KR20060007315A (en
Inventor
강성호
송동섭
Original Assignee
학교법인연세대학교
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 학교법인연세대학교 filed Critical 학교법인연세대학교
Priority to KR1020040056114A priority Critical patent/KR100615401B1/en
Publication of KR20060007315A publication Critical patent/KR20060007315A/en
Application granted granted Critical
Publication of KR100615401B1 publication Critical patent/KR100615401B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

결정론적 테스트패턴을 인가하는 로직 BIST의 경우, 어느 정도의 의사무작위 테스트패턴을 인가한 후에 결정론적 테스트패턴을 인가하게 된다. 즉 이 경우에는 의사무작위 BIST와 결정론적 BIST의 하드웨어를 둘 다 갖추어야 한다. 위상천이기는 일반적으로 거의 모든 의사무작위 BIST에 사용되는 하드웨어이다. 그러므로 위상천이기를 결정론적 BIST에 사용하는 것은 동일한 기능 블록을 공유하는 것이므로 면적 효율적 방법이다. 또한 본 발명에서 제안하는 결정론적 패턴 생성 하드웨어는 M시퀀스의 윈도우 특성을 이용하므로 기존의 방법과는 다르게 현재 LFSR의 패턴이 어떤 것이든 상관없이 모든 결정론적 테스트패턴을 생성할 수 있다. 그러므로 기존의 방법과는 다르게 빠른 시간안에 필요한 패턴을 생성할 수 있다. In the case of logic BIST applying a deterministic test pattern, a deterministic test pattern is applied after applying a pseudorandom test pattern to some extent. In this case, both the pseudorandom BIST and the deterministic BIST must be equipped with hardware. Phase shifters are typically hardware used in almost all pseudorandom BISTs. Therefore, using phase shifters in deterministic BIST is an area efficient method because they share the same functional blocks. In addition, since the deterministic pattern generation hardware proposed in the present invention uses the window characteristics of the M sequence, unlike the conventional method, it is possible to generate all the deterministic test patterns regardless of the current LFSR pattern. Therefore, unlike the existing method, it is possible to generate the required pattern in a short time.

BIST, 의사무작위 테스트패턴, 위상천이, 주사열BIST, Pseudorandom Test Pattern, Phase Shift, Scanning Sequence

Description

위상천이기를 이용한 결정론적 테스트패턴 생성 장치{Deterministic test pattern generating apparatus using phase shifter}Deterministic test pattern generating apparatus using phase shifter

도1a,b는 종래의 다중 주사열 환경하에서의 결정론적 테스트패턴 생성 장치의 블록도.1A and B are block diagrams of an apparatus for generating a deterministic test pattern in a conventional multiple scanning sequence environment.

도2는 도1의 LFSR에서 출력되는 패턴을 설명하기 위한 예시도.FIG. 2 is an exemplary diagram for describing a pattern output from the LFSR of FIG. 1. FIG.

도3은 본 발명에 따른 위상천이기의 합성 알고리듬 흐름도.3 is a flowchart of a synthesis algorithm of a phase shifter according to the present invention;

도4~6은 도3의 알고리듬을 수행하여 얻는 각 단계별 결과도.4 to 6 are each step result obtained by performing the algorithm of FIG.

도7은 본 발명에 따른 결정론적 테스트패턴 생성장치의 블록도.7 is a block diagram of an apparatus for generating a deterministic test pattern according to the present invention.

도8은 본 발명에 따른 장치에 있어서 1개 주사열에 대한 결정론적 테스트패턴 생성 장치의 구성도.8 is a block diagram of a device for generating a deterministic test pattern for one scan string in the apparatus according to the present invention.

본 발명은 다중 주사열(scan chain)을 갖는 회로에 대한 결정론적 BIST용 테스트패턴 생성장치에 관한 것이다.The present invention relates to an apparatus for generating a test pattern for deterministic BIST for a circuit having multiple scan chains.

"테스트 용이화 설계(DFT: Design For Testability) 기법" 중 하나인 "내장된 자체테스트(BIST: Built-In Self Test)"는 테스트에 필요한 기능 블록들을 로직 으로 설계하여 칩속에 내장함으로써 고가의 외부 테스터에 의한 테스트 의존도를 낮추어 테스트에 소요되는 비용을 크게 절감하게 할 수 있는 효과적인 기술이다.Built-In Self Test (BIST), one of the "Design For Testability (DFT) Techniques", is designed to logic the functional blocks needed for the test and embed them inside the chip. It is an effective technique that can greatly reduce the test cost by reducing test dependence by testers.

내장된 자체테스트가 경제적으로 효용가치를 갖게 하기 위해서는 몇 가지 설계상의 요건들을 만족해야 하는데, 이러한 요건에는 테스트 로직이 차지하는 면적의 오버헤드, 테스트시에 소요되는 전력, 최종 고장 검출률(fault coverage), 그리고 테스트에 소요되는 시간 등을 예로 들 수 있다.In order for an embedded self-test to be economically viable, several design requirements must be met, including the overhead of the test logic, the power consumed during the test, the final fault coverage, For example, test time.

이들 중에서 고장 검출률과 테스트 시간은 매우 밀접한 관계를 갖는다. 즉 많은 수의 테스트 패턴을 인가할수록 고장 검출률이 상승하게 되나 상대적으로 긴 테스트 시간을 필요로 하게 되고, 반대로, 적은 수의 테스트 패턴을 인가할 경우에는 짧은 테스트 시간만을 필요로 하게 되지만 상대적으로 고장 검출률이 낮아지게 되는 문제가 생긴다.Among them, the failure detection rate and the test time are closely related. In other words, the higher the number of test patterns, the higher the failure detection rate, but require a relatively long test time. On the contrary, when a small number of test patterns are applied, only a short test time is required, but the failure detection rate is relatively high. This causes a problem of being lowered.

내장된 자체테스트 기법에서는 이런 문제점을 결정론적 테스트(deterministic test) 패턴의 인가로 해결한다. 즉 ATPG(Automatic Test Pattern Generation) 프로그램을 이용하여 높은 고장 검출률을 달성할 수 있는 최소의 테스트 패턴을 미리 생성하고, 이 테스트 패턴을 생성할 수 있는 하드웨어를 내장된 자체테스트의 패턴 생성기로 설계하여 짧은 테스트 길이만으로 높은 고장 검출률을 달성하는 것이 결정론적 BIST의 목적이라고 할 수 있다.The built-in self-testing technique solves this problem by applying a deterministic test pattern. In other words, ATPG (Automatic Test Pattern Generation) program is used to generate a minimum test pattern that can achieve a high failure detection rate in advance, and the hardware capable of generating this test pattern is designed as a built-in self test pattern generator. The goal of deterministic BIST is to achieve high failure detection rates with only the test length.

다중 주사열(scan chain)을 갖는 회로에 대한 결정론적 BIST의 대표적 종래 기술은 도1a,b와 같이 의사무작위 패턴(pseudorandom pattern)을 생성하는 LFSR의 출력을 각 주사열의 결정론적 테스트패턴과 비교하여, LFSR의 출력과 각 주사열 간의 가능한 연결(interconnection)을 테스트 패턴마다 재배치하는 방법을 사용한다(이를 "재배치가능한 연결선을 이용한 결정론적 BIST(deterministic BIST using reconfigurable interconnection)"라 함).A representative prior art of deterministic BIST for circuits with multiple scan chains compares the output of LFSR, which produces a pseudorandom pattern, with the deterministic test pattern of each scan sequence, as shown in Figures 1a and b. We then use a method of repositioning the possible connections between the output of the LFSR and each scan sequence per test pattern (this is called "deterministic BIST using reconfigurable interconnection").

예를 들면 다음과 같다. 도1a에서 테스트 대상의 회로는 4개의 주사열을 가지고 있고, 각 주사열은 4개의 주사셀(scan cell)로 구성된다고 가정하자. 그리고 이 회로에 대해서 ATPG를 통해 얻은 결정론적 테스트패턴은 표1과 같다고 또한 가정하자.For example: Assume that the circuit under test has four scan strings, and each scan string is composed of four scan cells. Also assume that the deterministic test pattern obtained through ATPG for this circuit is shown in Table 1.

테스트패턴 1 (C1)Test Pattern 1 (C1) 테스트패턴 2 (C2)Test Pattern 2 (C2) 테스트패턴 3 (C3)Test Pattern 3 (C3) 테스트패턴 4 (C4)Test Pattern 4 (C4) 주사열 1Scan fever 1 00xx00xx 0xxx0xxx xx11xx11 xx11xx11 주사열 2Scan fever 2 1xx01xx0 xx1xxx1x x10xx10x 1xxx1xxx 주사열 3Scan fever 3 10xx10xx 01xx01xx x1x0x1x0 01xx01xx 주사열 4Scan fever 4 x0xxx0xx 11xx11xx 10xx10xx x001x001

만일 x4+x3+1라는 특성 다항식(characteristic polynomial)을 갖는 LFSR을 사용하고 초기값이 0001(x4 x3 x2 x1)이라면 LFSR은 도2와 같은 순서로 의사무작위 패턴(pseudorandom pattern)을 생성하게 된다. If you use an LFSR with a characteristic polynomial of x 4 + x 3 +1 and the initial value is 0001 (x4 x3 x2 x1), then the LFSR generates a pseudorandom pattern in the order shown in Figure 2. do.

종래의 다중 주사열 환경하에서의 결정론적 BIST기법을 간단히 설명하면 도2와 같이 생성되는 LFSR 출력 중에 결정론적 패턴을 만족하는 LFSR 출력을 해당 주사열에 연결할 수 있도록 상호연결선 망(interconnection network)(도1b 참조)을 구성하는 것이다. 그 과정은 다음과 같다. Briefly describing a deterministic BIST technique in a multi-scanning environment, an interconnection network (FIG. 1B) may be used to connect an LFSR output that satisfies a deterministic pattern to a corresponding scan string. ). The process is as follows.

우선 초기화 과정으로서, 각 주사열에 연결 가능한 LFSR의 출력으로 모든 LFSR 출력을 설정한다. 즉, First, as an initialization process, all LFSR outputs are configured as outputs of LFSRs that can be connected to each scan string. In other words,

Conn1 (1)={1, 2, 3, 4}, Conn 1 (1) = {1, 2, 3, 4},

Conn2 (1)={1, 2, 3, 4}, Conn 2 (1) = {1, 2, 3, 4},

Conn3 (1)={1, 2, 3, 4}, Conn 3 (1) = {1, 2, 3, 4},

Conn4 (1)={1, 2, 3, 4} 이다. 여기서, Connj (i)의 i는 BIST 배치형태(configuration)의 수, j는 주사열수(number)를 의미한다. Conn 4 (1) = {1, 2, 3, 4}. Here, i of Conn j (i) is the number of BIST configuration, j is the number of scanning sequence (number).

다음으로, 이전의 Connj (i) 중에서 LFSR이 P1의 의사무작위 패턴을 생성하는 중에 결정론적 패턴을 생성가능한 모든 상호연결선 배치(interconnection configuration)를 구한다. 이 경우 P1의 구간 동안에는 다음과 같은 상호연결선 배치에 c1의 결정론적 패턴을 생성 가능하다.Next, find out all the interconnection configurations that can generate the deterministic pattern while the LFSR generates the pseudorandom pattern of P1 among the previous Conn j (i) . In this case, a deterministic pattern of c1 may be generated in the following interconnection arrangement during the interval of P1.

P1: c1P1: c1

Conn1 (1)={1, 4}, Conn 1 (1) = {1, 4},

Conn2 (1)={2}, Conn 2 (1) = {2},

Conn3 (1)={2}, Conn 3 (1) = {2},

Conn4 (1)={1, 4} Conn 4 (1) = {1, 4}

계속해서, 이전 단계의 Connj (i) 중에 P2의 LFSR 패턴 생성 과정중 c3가 생성 가능하고 그 결과는 다음과 같다. Subsequently, c3 can be generated during the LFSR pattern generation process of P2 during the Conn j (i) of the previous step, and the result is as follows.

P2: c3P2: c3

Conn1 (1)={4}, Conn 1 (1) = {4},

Conn2 (1)={2}, Conn 2 (1) = {2},

Conn3 (1)={2}, Conn 3 (1) = {2},

Conn4 (1)={1, 4} Conn 4 (1) = {1, 4}

여기까지의 Connj (i) 중에는 P3의 LFSR 패턴 생성 과정에 상호연결선 배치에 의해 생성 가능한 결정론적 패턴은 없다. 다음, P4의 LFSR 패턴 생성 중에는 C2의 결정론적 테스트패턴(deterministic test pattern)이 생성 가능하고 그 결과는 다음과 같다.Among the Conn j (i) thus far, there is no deterministic pattern that can be generated by interconnection arrangement in the LFSR pattern generation process of P3. Next, during the generation of the LFSR pattern of P4, a deterministic test pattern of C2 can be generated, and the result is as follows.

P4: c2P4: c2

Conn1 (1)={4}, Conn 1 (1) = {4},

Conn2 (1)={2}, Conn 2 (1) = {2},

Conn3 (1)={2}, Conn 3 (1) = {2},

Conn4 (1)={1, 4} Conn 4 (1) = {1, 4}

이 과정을 모든 결정론적 테스트패턴이 생성가능할 때까지 반복한다. This process is repeated until all deterministic test patterns can be generated.

다중 주사열 환경에서 결정론적 테스트패턴을 생성하기 위한 종래 기술의 핵심은 의사무작위 패턴을 생성하는 LFSR의 각 출력이 주사열에서 필요한 결정론적 테스트패턴을 커버할 수 있도록 LFSR과 주사열 사이의 상호연결선을 연결하는 것에 있다.The core of the prior art for generating deterministic test patterns in a multiscanning environment is the interconnection between the LFSR and the scanning sequence so that each output of the LFSR generating a pseudorandom pattern can cover the deterministic test patterns required in the scan sequence. Is in connecting.

그러나 이 방법의 문제점은, 경우에 따라서는 일정한 고장 검출률을 획득하기 위한 테스트 패턴의 길이가 매우 길어질 수 있다는 것이다. 이 점은 위의 예에서도 확인 할 수 있다. 위의 예에서 LFSR의 P1, P2 시간 구간에서는 각각 C1과 C3의 결정론적 테스트패턴을 생성가능하나, P3의 시간 구간에서는 어떤 결정론적 테스트패턴을 커버하지 못하는 것을 볼 수 있다. 이것은 현재의 LFSR의 출력 시간 구간에서 커버할 수 있는 결정론적 테스트패턴을 구할 때 조사 영역(search space)이 이전 LFSR의 출력 시간 구간까지의 가능한 Connj (i)의 상호연결선 배치(interconnection configuration)으로 한정되는 것에 기인한다. 아무런 결정론적 테스트패턴을 커버하지 못하는 LFSR의 출력 시간 구간은 시간이 지날수록 Connj (i) 의 크기가 줄어들기 때문에 더욱 더 증가할 것이다. However, a problem with this method is that, in some cases, the length of the test pattern for obtaining a constant failure detection rate can be very long. This can be seen in the example above. In the above example, the deterministic test patterns of C1 and C3 can be generated in the P1 and P2 time intervals of the LFSR, but the deterministic test patterns cannot be covered in the P3 time interval. This is the interconnection configuration of Conn j (i) where the search space is possible up to the output time interval of the previous LFSR when obtaining a deterministic test pattern that can be covered in the output time interval of the current LFSR. It is due to being limited. The output time interval of the LFSR, which does not cover any deterministic test patterns, will increase even more as Conn j (i) decreases in size over time.

종래에는 이러한 문제점 때문에 "maxskippattern"이라고 하는 파라미터를 설정하고 있다. 즉 "maxskippattern"으로 설정된 수 만큼의 LFSR 출력 구간 동안에 새로운 결정론적 테스트패턴을 커버하지 못하는 경우에는 현재의 상호연결선 배치는 종료하고 새로운 상호연결선 배치로 나머지 결정론적 테스트패턴을 커버할 수 있도록 하고 있다. 새로운 상호연결선 배치으로 설정될 때마다 Connj (i)는 모든 LFSR의 출력으로 초기화된다. 즉 위의 예에서는 Connj (i)={1, 2, 3, 4}로 초기화된다. 하지만 이 경우 역시 "maxskippattern"이 설정하는 정수가 현재의 상호연결선 배치에서 연속적으로 결정론적 테스트패턴을 커버하지 못하는 LFSR 시간 구간의 상한선이 되기는 하지만 역시 테스트 시간이 증가하는 문제점은 여전히 가지고 있다. Conventionally, a parameter called "maxskippattern" has been set for this problem. That is, if the new deterministic test pattern cannot be covered during the number of LFSR output intervals set by "maxskippattern", the current interconnection arrangement is terminated and the new interconnection arrangement allows the remaining deterministic test pattern to be covered. Each time a new interconnect layout is set, Conn j (i) is initialized with the output of all LFSRs. In other words, in the example above, Conn j (i) = {1, 2, 3, 4}. In this case, however, the integer set by "maxskippattern" is still the upper limit of the LFSR time interval which does not cover the deterministic test pattern continuously in the current interconnection arrangement.

상기 문제를 해결하기 위하여 연구한 결과, 다중 주사열환경에서 짧은 테스트 시간에 높은 고장 검출률을 달성할 수 있는 결정론적 BIST는 재배치 가능한 위상천이기(reconfigurable phase shifter)를 이용하면 가능하다는 결론을 얻게 되었다. 따라서 본 발명의 목적은 결정론적 테스트패턴을 생성하는 하드웨어로서 M시퀀스에 바탕을 둔 위상천이기의 원리를 사용하는, 결정론적 테스트패턴 생성장치를 제공하는 것이다.In order to solve this problem, we concluded that deterministic BIST, which can achieve high failure detection rate in a short test time in a multi-scanning environment, is possible by using a reconfigurable phase shifter. . Accordingly, an object of the present invention is to provide a deterministic test pattern generation apparatus using the principle of phase shifter based on M sequence as hardware for generating a deterministic test pattern.

1. 이론적 배경1. Theoretical Background

(1) M시퀀스의 성질(1) Properties of M Sequence

다중 주사열에 결정론적 테스트패턴을 생성하기 위해 본 발명에서 제안하는 하드웨어는 M시퀀스(Maximal sequence)의 다음 2가지 성질("천이및부가 특성" 및 "윈도우 특성")을 이용한다. M시퀀스란 n상태(n-state) LFSR에 의해서 생성되는 1주기내 패턴의 수가 2n-1인 시퀀스를 의미하는 것으로 LFSR의 특성 다항식(characteristic polynomial)이 "원시(primitive)"인 경우에 발생한다. In order to generate a deterministic test pattern in multiple scan sequences, the hardware proposed in the present invention utilizes the following two properties ("transition and additional properties" and "window properties") of an M sequence. M-sequence means a sequence in which the number of patterns in one cycle generated by n-state LFSR is 2 n -1, and occurs when the characteristic polynomial of LFSR is "primitive". do.

천이및부가 특성(Shift-and-Add property): 길이가 M=2m-1인 임의의 M시퀀스를 B로, B에서 a비트 천이된 비트를 Ba라 가정할 때, a가 0도 아니고 다수의 M도 아니라면 비트 합 B xOR Ba 는 B에서 다시 천이된 Bb 가 된다. [이를 영문으로 표현하면 다음과 같다: Let B be any M-sequence of length M=2m-1, and Ba a-bit shift of B. If a is neither 0 nor a multiple of M, then the bitwise sum B xOR Ba is another shift Bb of B.]Shift-and-Add property: a is not 0, assuming that any M sequence of length M = 2 m -1 is B and the bit that is a bit shifted from B to B a If not M, the bit sum B xOR B a is B b transitioned back from B. [In English, let B be any M-sequence of length M = 2 m -1, and B a a-bit shift of B. If a is neither 0 nor a multiple of M, then the bitwise sum B xOR B a is another shift B b of B.]

윈도우 특성(window property): 폭 w의 윈도우가 2m-1 길이의 M시퀀스를 따라 이동한다고 가정한다. 이때, w=m이면, 모두 "0"인 m조(m-tuple)가 나타나지 않는 것을 제외하고는 나머지 모든 m조는 한 번 나타나게 된다. 보다 일반적으로 볼 때, w=m-i (0≤i≤m-1)이면 모두 "0"인 w조(w-tuple)가 2i-1 번 나타나는 것을 제외하고는 나머지 모든 w조는 2i 번 나타나게 된다. [이를 영문으로 표현하면 다음과 같다: Assume a window of width w is slid along an M-sequence of length 2m-1. If w=m, every m-tuple is seen once, except the all-zero m-tuple which is not seen. More generally, if w=m-i, 0≤i≤m-1, every w-tuple is seen 2i times, except the all-zero w-tuple which is seen 2i-1 times.]Window property: Assume that a window of width w moves along an M sequence of length 2 m −1. At this time, if w = m, all m groups are displayed once except that m-tuples of which all are "0" do not appear. More generally, w = mi (0 ≦ i ≦ m−1) causes all remaining w groups to appear 2 i times except that w-tuples of all “0s” appear 2 i −1 times. do. [In English, it is as follows: Assume a window of width w is slid along an M-sequence of length 2 m -1. If w = m, every m-tuple is seen once, except the all-zero m-tuple which is not seen. More generally, if w = mi, 0≤i≤m-1, every w-tuple is seen 2 i times, except the all-zero w-tuple which is seen 2 i -1 times.]

즉, 상기 윈도우 특성이란, n단계(n-stage) LFSR의 M시퀀스가 길이 n인 윈도우라고 가정할 때 이 윈도우가 M시퀀스를 이동할 때 모두 영(0)인 경우(all-zero)를 제외한 2n-1개의 서로 다른 시퀀스를 만들어 낼 수 있다는 것이다. 예를 들어 도9와 같이 3개의 단계를 갖는 LFSR에서는 M시퀀스를 따라 모두 7개의 3bit 시퀀스를 만들어 낼 수 있다. 본 발명은, 이 윈도우 특성을 이용하여 현재의 LFSR 상태를 기준으로 M시퀀스 중에 결정론적 테스트패턴에 매치되는 윈도우를 모두 찾고 이 윈도우를 만들기 위해서 어느 정도로 위상을 천이시켜야 하는지를 계산하는 방법이다. That is, the window characteristic is 2 except for the case where all the windows are zero when the M sequence of the n-stage LFSR is assumed to be a window having a length of n. it can produce n -1 different sequences. For example, in the LFSR having three stages as shown in FIG. 9, seven 3-bit sequences can be generated according to the M sequence. The present invention uses the window characteristic to find all the windows that match the deterministic test pattern in the M sequence based on the current LFSR state and calculate how much phase shift is required to make this window.

여기서 현재의 LFSR 상태에 상관없이 모든 결정론적 테스트패턴을 만들 수 있다는 것은 모두 영인 경우(all-zero)인 시퀀스를 제외하고는 모든 비트 시퀀스가 윈도우 특성에 의해서 반드시 존재한다는 것이 보장되기 때문에 결정론적 테스트패턴과 매치되는 윈도우가 최소한 1개 존재한다는 것이다. The deterministic test here because it is guaranteed that all bit sequences must be present by the window characteristic except that all deterministic test patterns can be made regardless of the current LFSR state. There is at least one window that matches the pattern.

(2) 위상천이기(Phase shifter)(2) Phase shifter

위상천이기는 M시퀀스의 천이및부가 특성을 이용한 회로 블록이다. 테스트시 LFSR의 각 출력 시퀀스를 그대로 주사경로(scan path)에 인가할 때는 인접한 주사열 패턴 간에는 높은 상관관계가 존재하게 되어 고장 검출률이 감소하게 된다. 이런 문제를 경감하기 위해 위상천이기를 사용한다. 전형적인 위상천이기는 LFSR과 CUT(Circuit Under Test) 사이에 XOR 트리로 구현된다. 위상천이기를 설계하는 지금까지 알려진 방법으로는 LFSR의 변이매트릭스(transition matrix)를 이용하는 방법과 시뮬레이션을 이용하는 방법이 있다. LFSR의 변이매트릭스를 이용하여 위상천이기를 설계하는 방법은 연속적인 매트릭스 연산이 필요하기 때문에 오랜 시간이 걸린다는 단점이 존재한다. 반면에 시뮬레이션을 이용하여 위상천이기를 설계하는 방법은 로직 시뮬레이터를 이용하는 것으로 빠른 시간 안에 위상천이기를 설계할 수 있다는 장점이 존재한다. 시뮬레이션에 의하여 위상천이기를 설계하는 절차는 다음과 같다. The phase shifter is a circuit block using the transition and additional characteristics of the M sequence. In the test, when each output sequence of the LFSR is directly applied to the scan path, there is a high correlation between adjacent scan string patterns, thereby reducing the failure detection rate. To alleviate this problem, we use a phase shifter. A typical phase shifter is implemented as an XOR tree between LFSR and CUT (Circuit Under Test). So far known methods of designing phase shifters include the use of the transition matrix of LFSR and the use of simulation. The method of designing a phase shifter using the variance matrix of the LFSR has a drawback in that it takes a long time because a continuous matrix operation is required. On the other hand, the method of designing a phase shifter using simulation has the advantage that the phase shifter can be designed quickly using a logic simulator. The procedure for designing the phase shifter by simulation is as follows.

1) 듀얼 LFSR의 결정(Determine a dual LFSR) 1) Determining a dual LFSR

2) 듀얼 LFSR을 10...00의 값으로 초기화(Initialize the dual LFSR to the value of 10...00) 2) Initialize the dual LFSR to the value of 10 ... 00

3) 듀얼 LFSR을 2n-1-k 클록 사이클에 대해서 시뮬레이션(Simulate the dual LFSR for 2n-1-k clock cycles)3) with respect to the dual LFSR 2 -1 n-k clock cycle simulation (Simulate the dual LFSR for 2 -1 n-k clock cycles)

4) 듀얼 LFSR의 결과 내용을 읽음: 여기서 "1"의 위치는 k의 비트수만큼 천이된 시퀀스를 얻기 위하여 위상천이기 구조에 포함시켜야 할 위치를 나타낸다(Read the resulting content of the dual LFSR: the locations of 1s will point out positions that should be included in a phase shifter structures to obtain a sequence shifted down by k bits). 4) Read the resulting content of the dual LFSR: where "1" indicates the position that should be included in the phase shifter structure to obtain a sequence shifted by the number of bits of k (Read the resulting content of the dual LFSR: the locations of 1s will point out positions that should be included in a phase shifter structures to obtain a sequence shifted down by k bits).

2. 발명의 설명2. Description of the Invention

본 발명은 다중 주사열에 인가할 테스트 패턴에 따라서 LFSR과 CUT 사이의 위상천이기의 배치를 달리하는 "재배치 가능한 위상천이기(reconfigurable phase shifter)"에 기반을 두고 있다. The present invention is based on a "reconfigurable phase shifter" that varies the placement of the phase shifter between the LFSR and the CUT depending on the test pattern to be applied to multiple scan sequences.

(1) 재배치 가능한 위상천이기의 합성 알고리듬(1) Synthesis Algorithm of Relocatable Phase Shifter

우선, 도3에 본 발명에 따른 재배치 가능한 위상천이기를 합성(synthesis)하는 알고리듬을 나타낸다. 알고리듬의 각 단계가 의미하는 바는 다음과 같다. First, Fig. 3 shows an algorithm for synthesizing a repositionable phase shifter according to the present invention. Each step of the algorithm means:

패턴 요청(Pattern ordering) : ATPG에 의한 결정론적 테스트패턴들의 재요청(reordering)을 의미한다. 요청 순서는 하나의 패턴 내 "don't-care 값(x)"이 많은 순서를 먼저 오도록 한다. 이것은 여러 개의 테스트 패턴이 하나의 탭 배치(tap configuration)를 공유할 수 있는 확률을 높이기 위함이다. Pattern ordering: Reordering of deterministic test patterns by ATPG. The order of the request is that the "don't-care value (x)" in a pattern comes first. This is to increase the probability that multiple test patterns can share a tap configuration.

i=1로 설정 : i는 탭 배치(tap configuration)의 수를 트레이스(trace)하는 문자이다.Set i = 1: i is a character that traces the number of tap configurations.

TapConni (j) 초기화 : TapConni (j)는 현재 단계에서 가능한 위상천이값(Phase shifting number)를 가진 집합이다. 여기서 i는 배치 수(configuration number)를, 그리고 j는 주사열수를 의미한다. 초기화 과정에서 TapConni (j)는 n단계 LFSR의 경우 {1, 2, ...., 2n-1}의 집합으로 초기화 된다. TapConn i (j) Initialization: TapConn i (j) is a set with phase shifting numbers possible in the current step. I is a configuration number and j is a scanning sequence number. In the initialization process, TapConn i (j) is initialized to a set of {1, 2, ...., 2 n -1} in case of n-stage LFSR.

TapTable 테이블의 갱신(업데이트) : TapTable는 현재 단계에서 위상천이수와 관련된 생성 패턴을 저장한 테이블이다. 최초의 테이블은 기존의 시뮬레이션을 이용한 위상천이기 생성 알고리듬에 의해서 생성된다. 이 테이블은 결정론적 테스트패턴이 재배치 가능한 위상천이기로 임베드(embed)될 때마다 갱신된다. 갱신 규칙은 n단계 LFSR일 경우 천이 칼럼(shift column)은 고정된 채 패턴 칼럼(pattern column)만이 상방향으로 순환천이(cyclic shift)된다. (예제 참고)Update (Update) of TapTable Table: TapTable is a table that stores the generation pattern related to the phase shift number at the present stage. The original table is generated by a phase shifter generation algorithm using existing simulations. This table is updated whenever a deterministic test pattern is embedded with a relocatable phase shifter. When the update rule is n-stage LFSR, only the pattern column is cyclically shifted upward while the shift column is fixed. (See example)

현재의 탭 연결부 TapConni (j) 하에서의 현재 TapTable과 함께 위상천이된 패턴의 범위 내에 있는 TD 의 테스트큐브 C*를 찾음(Find a test cube c* in TD that is covered by phase shifted pattern with current TapTable under the current tap connection TapConni (j) ) : TD는 ATPG에 의한 결정론적 테스트패턴 집합을 의미한다. 그러므로 이 단계는 현재의 TapConni (j)의 위상천이수에 매칭되는 TapTable의 패턴이 TD의 테스트패턴과 호환가능(compatible)한지를 검사하는 단계이다. The current tap connection TapConn i (j) under finding the test cube C * of T D is in the range of the phase shift pattern, along with the current TapTable (Find a test cube c * in T D that is covered by phase shifted pattern with current TapTable under the current tap connection TapConn i (j) ): T D means a set of deterministic test patterns by ATPG. Therefore, this step checks whether the pattern of the TapTable matching the phase shift number of the current TapConn i (j) is compatible with the test pattern of T D.

TD.TapConni (j)= TapConni (j)- U 에서 찾아진 테스트큐브 C*를 제거함(Remove the test cube C* found from TD.TapConni (j)= TapConni (j)- U ) : U는 결정론적 테스트패턴을 커버하지 못하는 위상천이수의 집합을 의미한다. 그러므로 이 과정은 이전 단계까지의 TapConni (j)에서 현재의 결정론적 테스트패턴을 커버하지 못하는 위상천이수를 제거하는 과정을 의미한다. T D .TapConn i (j) = TapConn i (j) - removal of the test cube, which is found in C * U (Remove the test cube C * found from T D .TapConn i (j) = TapConn i (j) - U ) U is the set of phase shifts that do not cover the deterministic test pattern. Therefore, this process means to remove the phase shift number that does not cover the current deterministic test pattern in TapConn i (j) .

UTCS(j) 테이블의 갱신 : UTCS(j)는 현재 단계까지 구한 TapConni (j)에 해당하는 탭 위치를 각 주사열 별로 bit 단위로 OR 연산한 결과를 의미한다. UTCS(J)를 갱신하는 과정은 현재의 탭 배치를 만족하는 더 이상의 결정론적 테스트패턴이 존재하지 않을 때까지 수행한다. 이것은 현재의 탭 배치에서 최종적으로 남은 위상천이수가 각 주사열당 2개 이상일 때 그 중 하나를 선택하는 기준으로서 OR의 결과 1의 숫자가 최소가 되는 것을 선택하는 과정이다(예제 참고).Update the UTCS (j) table : UTCS (j) means the result of ORing the tap positions corresponding to TapConn i (j) obtained up to the present stage by bit unit for each scan string. The process of updating UTCS (J) is performed until there are no more deterministic test patterns that satisfy the current tab layout. This is the process of selecting the minimum number of 1s as a result of OR as a criterion for selecting one of two or more phase shifts remaining in the current tap arrangement in each scan sequence (see example).

TD 에 남아있는 큐브를 현재 배치에 대한 테스트패턴에, 남아있는 테스큐브를 매칭시킴(Match the remaining cubes in TD to the test patterns for the current configuration) : 현재의 탭 배치 과정을 끝마치기 전에 남아 있는 결정론적 테스트패턴 중에 이미 커버된 패턴을 제거하는 과정을 의미한다. Cube left in T D Sikkim matching test cubes remaining, the test pattern for the current layout (Match the remaining cubes in T D to the test patterns for the current configuration): remain before the finish of the current tab placement process The process of removing a pattern that is already covered among deterministic test patterns.

<예제> <Example>

이하에서는 본 발명에 따른 방법의 이해증진을 위하여 상기 알고리듬을 실제로 수행한 예제를 설명한다. 수행 대상은 다음과 같다.Hereinafter, an example of actually performing the above algorithm for improving understanding of the method according to the present invention will be described. The targets are as follows.

TD={{1xx10x, 1x10xx, x1xx01}, {1x110x, 10xx11, 0101xx}, {0x1x0x, x1xxxx, x1xx0x}} (표2 참조)T D = {{1xx10x, 1x10xx, x1xx01}, {1x110x, 10xx11, 0101xx}, {0x1x0x, x1xxxx, x1xx0x}} (see Table 2)

LFSR : x6+x+1의 특성 다항식(characteristic polynomial)을 사용하는 6단계 LFSR의 경우 LFSR: For 6-stage LFSRs using a characteristic polynomial of x 6 + x + 1

테스트 대상 회로 : 각 주사열당 6개의 주사셀을 가진 3개의 주사열로 구성된 경우Circuit under test: 3 scan columns with 6 scan cells per scan string

주사열 1Scan fever 1 주사열 2Scan fever 2 주사열 3Scan fever 3 패턴 1Pattern 1 1xx10x1xx10x 1x10xx1x10xx x1xx01x1xx01 패턴 2Pattern 2 1x110x1x110x 10xx1110xx11 0101xx0101xx 패턴 3Pattern 3 0x1x0x0x1x0x x1xxxxx1xxxx x1xx0xx1xx0x

1) Pattern Ordering - x의 수가 많은 순서대로 ordering하면 표3과 같다. 1) Pattern Ordering-Table 3 shows the ordering in order of the number of x.

주사열 1Scan fever 1 주사열 2Scan fever 2 주사열 3Scan fever 3 패턴 1Pattern 1 0x1x0x0x1x0x x1xxxxx1xxxx x1xx0xx1xx0x 패턴 2Pattern 2 1xx10x1xx10x 1x10xx1x10xx x1xx01x1xx01 패턴 3Pattern 3 1x110x1x110x 10xx1110xx11 0101xx0101xx

2) i=12) i = 1

3) TapConni (J) 초기화3) TapConn i (J) initialization

TapConn1 (1)={1, 2, 3, ...., 63}TapConn 1 (1) = {1, 2, 3, ...., 63}

TapConn1 (2)={1, 2, 3, ...., 63}TapConn 1 (2) = {1, 2, 3, ...., 63}

TapConn1 (3)={1, 2, 3, ...., 63}TapConn 1 (3) = {1, 2, 3, ...., 63}

4) TapTable 테이블 갱신(update)4) Update TapTable Table

시뮬레이션에 의한 위상천이기 생성 알고리듬을 수행하면 도4와 같은 결과를 얻을 수 있다. 도4에 나타낸 표의 각 칼럼의 "phase shift number"는 위상천이수, "pattern"은 패턴, "tap position"은 탭위치를 의미한다. By performing the phase shifter generation algorithm by simulation, the result as shown in FIG. 4 can be obtained. "Phase shift number" of each column of the table shown in FIG. 4 means a phase shift number, "pattern" means a pattern, and "tap position" means a tap position.

5) 현재의 탭 연결부 TapConni (j) 하에서의 현재 TapTable과 함께 위상천이된 패턴의 범위 내에 있는 TD 의 테스트큐브 C*를 찾음5) Find the test cube C * of T D in the range of the phase shifted pattern with the current TapTable under the current tap connection TapConn i (j).

6) TD.TapConni (j)= TapConni (j)- U 에서 찾아진 테스트큐브 C*를 제거함6) T D .TapConn i (j) = TapConn i (j) -removes the test cube C * found in U

현재의 TapConni (j)The current TapConn i (j) is

TapConn1 (1)={1, 2, 3, ...., 63}TapConn 1 (1) = {1, 2, 3, ...., 63}

TapConn1 (2)={1, 2, 3, ...., 63}TapConn 1 (2) = {1, 2, 3, ...., 63}

TapConn1 (3)={1, 2, 3, ...., 63}이다. 여기서 패턴 1을 커버하지 못하는 천이수를 제외하면 다음과 같은 TapConni (j)를 얻을 수 있다. TapConn 1 (3) = {1, 2, 3, ...., 63}. Except for the number of transitions that do not cover pattern 1, the following TapConn i (j) can be obtained.

TapConn1 (1)={10, 13, 17, 26, 30, 49, 50, 55}TapConn 1 (1) = {10, 13, 17, 26, 30, 49, 50, 55}

TapConn1 (2)={1, 2, 3, 4, 6, 8, 10, 11, 14, 15, 17, 18, 19, 21, 22, 24, 27, 30, 31, 32, 36, 38, 39, 40, 41, 44, 46, 50, 51, 56, 62, 63}TapConn 1 (2) = {1, 2, 3, 4, 6, 8, 10, 11, 14, 15, 17, 18, 19, 21, 22, 24, 27, 30, 31, 32, 36, 38 , 39, 40, 41, 44, 46, 50, 51, 56, 62, 63}

TapConn1 (3)={2, 4, 6, 10, 17, 22, 30, 31, 32, 39, 40, 44, 46, 50, 51, 56}TapConn 1 (3) = {2, 4, 6, 10, 17, 22, 30, 31, 32, 39, 40, 44, 46, 50, 51, 56}

7) TapTable 테이블의 갱신7) Updating TapTable Table

이전에서, 커버되는 패턴을 찾았으므로 TapTable 테이블을 갱신한다(도5 참조). 갱신 규칙은 위에서 설명한 바와 같다. 도5는 100000을 LFSR의 초기값을 천이하여 첫 번째 패턴을 생성하고 난 후 011111이 LFSR의 값으로 되었을 때 2번째 패턴을 생성하기 위한 위상천이표이다. Previously, since the pattern to be covered was found, the TapTable table is updated (see Fig. 5). The update rule is as described above. FIG. 5 is a phase shift table for generating a second pattern when 011111 becomes a value of LFSR after changing the initial value of LFSR to 100000. FIG.

8) 현재의 탭 연결부 TapConni (j) 하에서의 현재 TapTable과 함께 위상천이된 패턴의 범위 내에 있는 TD 의 테스트큐브 C*를 찾음8) Find the test cube C * of T D in the range of the phase shifted pattern with the current TapTable under the current tap connection TapConn i (j).

9) TD.TapConni (j)= TapConni (j)- U 에서 찾아진 테스트큐브 C*를 제거함9) T D .TapConn i (j) = TapConn i (j) -removes the test cube C * found in U

패턴 2를 커버하는 TapConni (j)의 위상천이수는 다음과 같다. The number of phase shifts of TapConn i (j) covering the pattern 2 is as follows.

chain1={3, 16, 19, 33, 36, 59, 61, 62}chain1 = {3, 16, 19, 33, 36, 59, 61, 62}

chain2={1, 12, 17, 25, 34, 39, 60, 62}chain2 = {1, 12, 17, 25, 34, 39, 60, 62}

chain3={4, 11, 26, 34, 40, 59, 61, 63}chain3 = {4, 11, 26, 34, 40, 59, 61, 63}

현재의 TapConni (j)와의 교집합은 다음과 같다.The intersection with the current TapConn i (j) is as follows.

TapConn1 (1)={ }TapConn 1 (1) = {}

TapConn1 (2)={1, 17, 39, 62}TapConn 1 (2) = {1, 17, 39, 62}

TapConn1 (3)={4, 40}. 여기서 TapConn1 (1)이 공집합이므로 현재의 탭 배치에서 패턴 2는 임베드 불가능하다. 그러므로 TapConni (j)와 TapTable을 갱신하지 않고 패턴 3을 조사한다. 패턴 3의 각 주사열의 위상천이수는 다음과 같다. TapConn 1 (3) = {4, 40}. Since TapConn 1 (1) is the empty set, pattern 2 is not embedable in the current tap layout. Therefore, pattern 3 is examined without updating TapConn i (j) and TapTable. The number of phase shifts of each scan string of the pattern 3 is as follows.

Chain1={6, 9, 13, 22}Chain1 = {6, 9, 13, 22}

Chain2={1, 22, 31, 41}Chain2 = {1, 22, 31, 41}

Chain3={2, 30, 38, 63}Chain3 = {2, 30, 38, 63}

현재의 TapConni (j)와 교집합은 다음과 같다.The intersection with the current TapConn i (j) is

TapConn1 (1)={13}TapConn 1 (1) = {13}

TapConn1 (2)={1, 22, 31, 41}TapConn 1 (2) = {1, 22, 31, 41}

TapConn1 (3)={2, 30}TapConn 1 (3) = {2, 30}

10) UTCS(j) 테이블의 갱신10) Updating UTCS (j) Tables

현재의 탭 배치에 더 이상 매칭되는 패턴이 없으므로 UTCS(j)를 갱신한다. UTCS(j)의 갱신과정은, 현재 TapConni (j)에 2개 이상의 위상천이수가 존재하는 경우 그 중 하나를 선택하는 기준을 의미하며 기존의 "UTCS(j) OR (tap positon)"의 결과 1의 수가 최소인 것을 선택한다. 현재는 UTCS가 초기화 상태이다.Update UTCS (j) because there are no more matching patterns for the current tab layout. The result of the update process of UTCS (j) is the current TapConn i (j) if present can cheonyi more than one phase the standards for selecting one of them and the existing "UTCS (j) OR (tap positon)" Choose the minimum number of ones. UTCS is currently initialized.

UTCS(1)={001011}UTCS (1) = {001011}

UTCS(2) :UTCS (2) :

TapConn1 (2)가 1일 경우 : {100001}If TapConn 1 (2) is 1: {100001}

TapConn1 (2)가 22일 경우 : {101110}If TapConn 1 (2) is 22: {101110}

TapConn1 (2)가 31일 경우 : {100100}If TapConn 1 (2) is 31: {100100}

TapConn1 (2)가 41일 경우 : {101011}If TapConn 1 (2) is 41: {101011}

TapConn1 (2)가 1과 31일 경우 1의 수가 2로 최소이므로 {100001}을 선택(둘 중에는 무작위)If TapConn 1 (2) is 1 and 31, select {100001} because the number of 1s is the minimum of 2 (the random of the two)

UTCS(3) :UTCS (3) :

TapConn1 (3)가 2일 경우 : {100011}If TapConn 1 (3) is 2: {100011}

TapConn1 (3)가 30일 경우 : {010010}If TapConn 1 (3) is 30: {010010}

TapConn1 (3)가 30일 경우 1의 수가 2로 최소이므로 {010010} 선택If TapConn 1 (3) is 30, select {010010} because the number of 1s is the minimum of 2.

11) i=211) i = 2

12) Initialize TapConni (J) 12) Initialize TapConn i (J)

TapConn2 (1)={1, 2, 3, ...., 63}TapConn 2 (1) = {1, 2, 3, ...., 63}

TapConn2 (2)={1, 2, 3, ...., 63}TapConn 2 (2) = {1, 2, 3, ...., 63}

TapConn2 (3)={1, 2, 3, ...., 63}TapConn 2 (3) = {1, 2, 3, ...., 63}

13) TapTable 테이블의 갱신13) Updating the TapTable Table

TapTable 테이블을 갱신한다. 두 번째 패턴을 생성하고 난 후 110101이 LFSR의 값으로 되었을 때 3번째 패턴을 생성하기 위한 위상천이표이다(도6 참조). Update the TapTable table. A phase shift table for generating a third pattern when 110101 becomes a value of LFSR after generating the second pattern (see FIG. 6).

14) 현재의 탭 연결부 TapConni (j) 하에서의 현재 TapTable과 함께 위상천이된 패턴의 범위 내에 있는 TD 의 테스트큐브 C*를 찾음.14) Find the test cube C * of T D in the range of the phase shifted pattern with the current TapTable under the current tap connection TapConn i (j) .

15) TD.TapConni (j)= TapConni (j)- U 에서 찾아진 테스트큐브 C*를 제거함.15) T D .TapConn i (j) = TapConn i (j) -Remove the test cube C * found in U.

남아 있는 결정론적 테스트패턴은 패턴 2뿐이 없으므로 패턴 2에 대해서 조사.The only remaining deterministic test pattern is pattern 2, so check for pattern 2.

현재의 TapConni (j)The current TapConn i (j) is

TapConn1 (1)={1, 2, 3, ...., 63}TapConn 1 (1) = {1, 2, 3, ...., 63}

TapConn1 (2)={1, 2, 3, ...., 63}TapConn 1 (2) = {1, 2, 3, ...., 63}

TapConn1 (3)={1, 2, 3, ...., 63}이다. 여기서 패턴 2를 커버하지 못하는 천이수를 제외하면 다음과 같은 TapConni (j)를 얻을 수 있다. TapConn 1 (3) = {1, 2, 3, ...., 63}. Except for the number of transitions that do not cover pattern 2, the following TapConn i (j) can be obtained.

TapConn2 (1)={8, 10, 13, 27, 30, 53, 55, 60}TapConn 2 (1) = {8, 10, 13, 27, 30, 53, 55, 60}

TapConn2 (2)={1, 6, 11, 19, 28, 33, 54, 56, 58}TapConn 2 (2) = {1, 6, 11, 19, 28, 33, 54, 56, 58}

TapConn2 (3)={5, 20, 28, 34, 53, 55, 57, 61}TapConn 2 (3) = {5, 20, 28, 34, 53, 55, 57, 61}

16) UTCS(j) 테이블의 갱신16) Update UTCS (j) Table

다음, 현재의 TapConni (j)가 커버할 수 있는 패턴이 더 이상 없으므로 UTCS(j) 테이블을 갱신한다.Next, update the UTCS (j) table because there are no more patterns that the current TapConn i (j) can cover.

이번에는 UTCS(J)가 초기 상태가 아니므로 UTCS(J) OR {tap position}의 결과 1의 수가 최소인 것을 선택This time, since UTCS (J) is not in the initial state, select the minimum number of results 1 of UTCS (J) OR {tap position}.

UTCS(1) UTCS (1)

TapConn2 (1)이 8일 때 : UTCS(1)={001011} OR {011101}={011111}When TapConn 2 (1) is 8: UTCS (1) = {001011} OR {011101} = {011111}

TapConn2 (1)이 10일 때 : UTCS(1)={001011} OR {010101}={011111}When TapConn 2 (1) is 10: UTCS (1) = {001011} OR {010101} = {011111}

TapConn2 (1)이 13일 때 : UTCS(1)={001011} OR {001011}={001011}When TapConn 2 (1) is 13: UTCS (1) = {001011} OR {001011} = {001011}

......

... 1의 수가 제일 적은 것을 선택... choose the lowest one

UTCS(2) UTCS (2)

TapConn2 (2)이 1일 때 : UTCS(2)={100001} OR {100001}={100001}When TapConn 2 (2) is 1: UTCS (2) = {100001} OR {100001} = {100001}

......

......

... 1의 수가 제일 적은 것을 선택... choose the lowest one

UTCS(3) UTCS (3)

TapConn2 (3)이 5일 때 : UTCS(3)={010010} OR {111111}={111111}When TapConn 2 (3) is 5: UTCS (3) = {010010} OR {111111} = {111111}

TapConn2 (3)이 20일 때 : UTCS(3)={010010} OR {111011}={111011}When TapConn 2 (3) is 20: UTCS (3) = {010010} OR {111011} = {111011}

......

......

... ...

TapConn2 (3)이 61일 때 : UTCS(3)={010010} OR {001000}={011010}When TapConn 2 (3) is 61: UTCS (3) = {010010} OR {001000} = {011010}

... 1의 수가 제일 적은 것을 선택... choose the lowest one

17) 더 이상의 결정론적 테스트패턴이 없으므로 종료17) Closed because there are no more deterministic test patterns

이상의 알고리듬을 통하여 3개의 결정론적 테스트패턴을 재배치 가능한 위상천이기로 생성하기 위해서 2개의 탭 배치(tap configuration)를 구했다. 그 결과는 다음과 같다. Through the above algorithm, two tap configurations were obtained to generate three deterministic test patterns as repositionable phase shifters. the results are as follow.

Configuration 1 (i=1)일 때 (패턴 1, 패턴 3 커버)When Configuration 1 (i = 1) (Pattern 1, Pattern 3 Cover)

TapConn1 (1)={13}TapConn 1 (1) = {13}

TapConn1 (2)={1}TapConn 1 (2) = {1}

TapConn1 (3)={30}TapConn 1 (3) = {30}

Configuration 2 (i=2)일 때 (패턴 2 커버)When Configuration 2 (i = 2) (Pattern 2 Cover)

TapConn1 (1)={13}TapConn 1 (1) = {13}

TapConn1 (2)={1}TapConn 1 (2) = {1}

TapConn1 (3)={61}TapConn 1 (3) = {61}

UTCS(j) :UTCS (j):

UTCS(1) : {001011}UTCS (1): {001011}

UTCS(2) : {100001}UTCS (2): {100001}

UTCS(3) : {011010}UTCS (3): {011010}

(2) 결정론적 테스트패턴 생성 하드웨어(2) Deterministic test pattern generation hardware

본 발명의 결정론적 테스트패턴 생성 하드웨어는 앞의 재배치 가능한 위상천이기 합성 알고리듬에 의한 결과를 이용한다. 예를 들어 앞의 알고리듬에 의한 결과가 다음과 같을 경우 BIST 로직 하드웨어는 다음과 같이 생성할 수 있다. The deterministic test pattern generation hardware of the present invention utilizes the results of the relocatable phase shifter synthesis algorithm. For example, if the result of the previous algorithm is as follows, BIST logic hardware can generate as follows.

<알고리듬 수행 결과><Algorithm execution result>

① 총 탭 배치수 : 5개① Total number of taps: 5

② configuration(배치) 구성② configuration

Configuration 1 : Configuration 1:

커버하는 결정론적 패턴 :Deterministic pattern to cover:

패턴 1, 패턴 4, 패턴 5, 패턴 8(총 4개)   Pattern 1, Pattern 4, Pattern 5, Pattern 8 (4 total)

탭 위치Tap position

TapConn1 (1)={001001}TapConn 1 (1) = {001001}

TapConn1 (2)={010000}TapConn 1 (2) = {010000}

TapConn1 (3)={000001}TapConn 1 (3) = {000001}

Configuration 2 :Configuration 2:

커버하는 결정론적 패턴 :Deterministic pattern to cover:

패턴 2, 패턴 3, 패턴 11, 패턴 14, 패턴 19(총 5개)   Pattern 2, Pattern 3, Pattern 11, Pattern 14, Pattern 19 (5 in total)

탭위치Tap position

TapConn2 (1)={001000}TapConn 2 (1) = {001000}

TapConn2 (2)={011000}TapConn 2 (2) = {011000}

TapConn2 (3)={001001}TapConn 2 (3) = {001001}

Configuration 3 :Configuration 3:

커버하는 결정론적 패턴 :Deterministic pattern to cover:

패턴 6, 패턴 10, 패턴 15(총 3개)   Pattern 6, Pattern 10, Pattern 15 (3 in total)

탭위치Tap position

TapConn3 (1)={100001}TapConn 3 (1) = {100001}

TapConn3 (2)={010001}TapConn 3 (2) = {010001}

TapConn3 (3)={100001}TapConn 3 (3) = {100001}

Configuration 4 :Configuration 4:

커버하는 결정론적 패턴 :Deterministic pattern to cover:

패턴 7, 패턴 12, 패턴 16, 패턴 20(총 4개)    Pattern 7, Pattern 12, Pattern 16, Pattern 20 (4 in total)

탭위치Tap position

TapConn4 (1)={001001}TapConn 4 (1) = {001001}

TapConn4 (2)={010000}TapConn 4 (2) = {010000}

TapConn4 (3)={000001}TapConn 4 (3) = {000001}

Configuration 5 :Configuration 5:

커버하는 결정론적 패턴 :Deterministic pattern to cover:

패턴 9, 패턴 13, 패턴 17, 패턴 18(총 4개)   Pattern 9, Pattern 13, Pattern 17, Pattern 18 (4 in total)

탭위치Tap position

TapConn5 (1)={101001}TapConn 5 (1) = {101001}

TapConn5 (2)={010001}TapConn 5 (2) = {010001}

TapConn5 (3)={001001}TapConn 5 (3) = {001001}

③ UTCS ③ UTCS

UTCS(1) : {101001}UTCS (1): {101001}

UTCS(2) : {011001}UTCS (2): {011001}

UTCS(3) : {101001}UTCS (3): {101001}

<하드웨어 구성><Hardware configuration>

본 발명에 따른 테스트패턴 생성장치의 하드웨어는 도7에 나타내었다. 도7의 각 블록은 다음과 같이 구현된다. Hardware of the test pattern generating apparatus according to the present invention is shown in FIG. Each block of Fig. 7 is implemented as follows.

1) 저장된 콘트롤 비트(stored control bits) : 메모리로 구현된다. 이 메모리는 각 탭 배치가 커버하는 결정론적 테스트패턴의 수를 저장한다. 즉 이 경우에는 4, 5, 3, 4, 4의 값을 차례로 저장한다. 1) Stored control bits: implemented as memory. This memory stores the number of deterministic test patterns covered by each tab layout. In this case, the values 4, 5, 3, 4, and 4 are stored in order.

2) 패턴 카운터(pattern counter) : 저장된 콘트롤 비트 블록의 저장 값을 하나씩 받아서 뒤쪽부터 카운트하는 카운터이다. 즉, 저장된 콘트롤 비트 블록으로부터 4의 값을 받을 경우는 4, 3, 2, 1 순서로 주사열에 인가되는 패턴을 카운트한다. 카운트 값이 1일 경우는 그 다음 저장된 콘트롤 비트 값을 로드한다.2) Pattern counter: A counter that receives the stored values of the saved control bit block one by one and counts them from the back. That is, when receiving a value of 4 from the stored control bit block, the pattern applied to the scanning string is counted in the order of 4, 3, 2, and 1. If the count value is 1, the next stored control bit value is loaded.

3) 배치 카운터(Configuration counter) : 현재의 탭 배치의 순서를 트레이스하는 카운터이다. 즉, 초기치 1부터 시작해서 패턴 카운터의 값이 1을 지날 때 마다 1씩 증가한다. 3) Configuration counter: A counter that traces the current tab placement order. That is, starting from the initial value 1, the value of the pattern counter is increased by 1 each time the value passes by 1.

4) 디코더 및 재배치 가능한 위상천이기(Decoder & Reconfigurable phase shifter) : 배치 카운터의 값에 따라서 위상천이망(phase shifting network)을 구성한다. 디코더는 TapConni (j)에 따라서 XOR게이트의 입력 신호를 결정하며, 재배치 가능한 위상천이기는 그 신호를 받아 실제의 위상천이기를 구성한다. 4) Decoder & Reconfigurable Phase Shifter (Decoder & Reconfigurable Phase Shifter): Configures a phase shifting network according to the value of the placement counter. The decoder determines the input signal of the XOR gate according to TapConn i (j) , and the relocatable phase shifter receives the signal to form the actual phase shifter.

예를 들어 위의 <결과>와 같은 구성에서 주사열1에 대한 디코더와 재배치 가능한 위상천이기는 다음과 같이 구성될 수 있다. For example, in the configuration as described above, the decoder and the phase shifter repositionable for the scan sequence 1 may be configured as follows.

Decoder:Decoder:

입력 : 001 출력: 011Input: 001 Output: 011

입력 : 010 출력: 010Input: 010 Output: 010

입력 : 011 출력: 101Input: 011 Output: 101

입력 : 100 출력: 011Input: 100 Output: 011

입력 : 101 출력: 111 의 조합논리(combinational logic)Input: 101 Output: 111 combinational logic

(여기서 입력은 배치카운터의 출력, 출력은 UTCS(1)의 1의 자리에 해당하는 TapConni (1)의 값)(Where type is output, the output value of TapConn i (1) corresponding to the position of one of UTCS (1) of the batch counters)

재배치 가능한 위상천이기 : Relocatable phase shifter:

재배치 가능한 위상천이기는 XOR 게이트로 이루어지는 네트웍이며 UTCS(j)에 의해서 구성된다. 예를 들어 UTCS(1) : {101001}과 같은 경우 1이 존재하는 위치는 XOR 게이트의 입력이 되어야 할 LFSR의 출력 위치를 나타낸다. 디코더의 출력 또한 XOR 게이트의 입력이다. XOR 트리의 최종 출력은 주사열(scan chain)로써 제공된다.The relocatable phase shifter is a network of XOR gates and is configured by UTCS (j) . For example, in the case of UTCS (1) : {101001}, the position where 1 exists indicates the output position of the LFSR to be the input of the XOR gate. The output of the decoder is also the input of the XOR gate. The final output of the XOR tree is provided as a scan chain.

일반적으로 결정론적 테스트패턴을 인가하는 로직 BIST의 경우, 어느 정도의 의사무작위 테스트패턴을 인가한 후에 결정론적 테스트패턴을 인가하게 된다. 즉 이 경우에는 의사무작위 BIST와 결정론적 BIST의 하드웨어를 둘 다 갖추어야 한다. 위상천이기는 일반적으로 거의 모든 의사무작위 BIST에 사용되는 하드웨어이다. 그러므로 위상천이기를 결정론적 BIST에 사용하는 것은 동일한 기능 블록을 공유하는 것이므로 면적 효율적 방법이다. 또한 본 발명에서 제안하는 결정론적 패턴 생성 하드웨어는 M시퀀스의 윈도우 특성을 이용하므로 기존의 방법과는 다르게 현재 LFSR의 패턴이 어떤 것이든 상관없이 모든 결정론적 테스트패턴을 생성할 수 있다. 그러므로 기존의 방법과는 다르게 빠른 시간안에 필요한 패턴을 생성할 수 있으므로 테스트에 소요되는 비용을 크게 절감할 수 있을 것으로 기대된다. In general, in the case of logic BIST applying a deterministic test pattern, a deterministic test pattern is applied after applying some pseudorandom test pattern. In this case, both the pseudorandom BIST and the deterministic BIST must be equipped with hardware. Phase shifters are typically hardware used in almost all pseudorandom BISTs. Therefore, using phase shifters in deterministic BIST is an area efficient method because they share the same functional blocks. In addition, since the deterministic pattern generation hardware proposed in the present invention uses the window characteristics of the M sequence, unlike the conventional method, it is possible to generate all the deterministic test patterns regardless of the current LFSR pattern. Therefore, unlike the existing method, it is possible to generate the required pattern in a short time, and thus it is expected to greatly reduce the cost of the test.

Claims (5)

다중 주사열(scan chain)을 갖는 회로에 대한 결정론적 BIST의 테스트패턴 생성 장치에 있어서, In the deterministic BIST test pattern generation device for a circuit having multiple scan chains, 탭 배치가 커버하는 결정론적 테스트패턴의 수를 저장하는 콘트롤비트 저장 수단, Control bit storage means for storing the number of deterministic test patterns covered by the tab arrangement, 상기 콘트롤비트 저장 수단의 저장 값을 하나씩 받아서 거꾸로 카운트하는 패턴 카운터 수단, A pattern counter means for receiving the stored values of the control bit storage means one by one and counting backwards; 현재의 탭 배치의 순서를 트레이스하여 상기 패턴 카운터의 값이 1을 지날 때 마다 1씩 증가하는 배치 카운터 수단,A batch counter means for tracing the current tap arrangement order and incrementing by one each time the value of the pattern counter passes one, 상기 배치 카운터 수단의 값에 따라서 위상천이망을 구성하며, TapConni (j)에 따라서 XOR게이트의 입력 신호를 결정하는 디코더 및 A decoder for constructing a phase shift network according to the value of the batch counter means and for determining an input signal of the XOR gate according to TapConn i (j); 그 신호를 받아 실제의 위상천이기를 배치하는 재배치 가능한 위상천이기로 구성되는, 위상천이기를 이용한 결정론적 테스트패턴 생성 장치.An apparatus for generating a deterministic test pattern using a phase shifter, the phase shifter comprising a repositionable phase shifter that receives the signal and arranges an actual phase shifter. 제1항에 있어서, 상기 위상천이기는 다음과 같은 단계에 의해 합성되는 것을 특징으로 하는 위상천이기를 이용한 결정론적 테스트패턴 생성 장치.The apparatus of claim 1, wherein the phase shifter is synthesized by the following steps. ATPG에 의하여 결정론적 테스트패턴들을 재요청하는 패턴 요청 단계, A pattern request step of re-requesting deterministic test patterns by ATPG, 탭 배치의 수 i를 1로 세트하는 단계, Setting the number i of tab layouts to 1, 현재 단계에서 가능한 위상천이수를 가진 집합인 TapConni (j)를 초기화하는 TapConni (j) 초기화 단계, (여기서 i는 배치수를, 그리고 j는 주사열수를 의미), A TapConn i (j) initialization step that initializes TapConn i (j) , the set with the possible number of phase shifts in the current step, where i is the number of batches and j is the number of scan sequences, 현재 단계에서 위상천이수와 관련된 생성 패턴을 저장하는 테이블인 TapTable을 갱신하는 단계, Updating the TapTable, which is a table that stores the generation pattern related to the phase shift number in the current step, 현재의 TapConni (j)의 위상천이수에 매칭되는 TapTable의 패턴이 TD의 테스트패턴과 호환가능한지를 검사하는 단계, Checking whether the pattern of the TapTable matching the phase shift number of the current TapConn i (j) is compatible with the test pattern of T D , 이전 단계까지의 TapConni (j)에서 현재의 결정론적 테스트패턴을 커버하지 못하는 위상천이수를 제거하는 단계, Removing the phase shift number that does not cover the current deterministic test pattern in TapConn i (j) up to the previous step, 현재 step까지 구한 TapConni (j)에 해당하는 탭위치를 각 주사열 별로 비트 단위 OR연산한 결과인 UTCS(j) 테이블을 갱신하는 단계 - 여기서 UTCS(j)를 갱신하는 본 단계는 현재의 탭 배치를 만족하는 더 이상의 결정론적 테스트패턴이 존재하지 않을 때까지 수행함, Updating the UTCS (j) table, which is the result of bitwise ORing the tap positions corresponding to TapConn i (j) obtained by the current step, for each scan string, where this step of updating UTCS (j) is performed on the current tab. Until there are no more deterministic test patterns that satisfy the batch, 현재의 탭 배치과정을 끝마치기 전에 남아 있는 결정론적 테스트패턴 중에 이미 커버된 패턴을 제거하는 단계. Removing the pattern already covered among the remaining deterministic test patterns before finishing the current tab placement process. 제2항에 있어서, 상기 패턴 요청 단계에서의 요청 순서는 하나의 패턴 내 "don't-care 값(x)"이 많은 순서를 먼저 오도록 하는 것을 특징으로 하는, 위상천이기를 이용한 결정론적 테스트패턴 생성 장치.The deterministic test pattern using a phase shifter according to claim 2, wherein the request order in the pattern requesting step is performed so that the order of the "don't-care value (x)" in one pattern comes first. Generating device. 제2항에 있어서, 상기 TapConni (j) 초기화 단계에서 The method of claim 2, wherein in the TapConn i (j) initialization step, TapConni (j)는 n단계 LFSR의 경우 {1, 2, ...., 2n-1}의 집합으로 초기화되는 것을 특징으로 하는, 위상천이기를 이용한 결정론적 테스트패턴 생성 장치.TapConn i (j) is a deterministic test pattern generating device using a phase shifter, characterized in that the n-step LFSR is initialized to a set of {1, 2, ...., 2 n -1}. 제2항에 있어서, 위상천이수와 관련된 생성 패턴을 저장하는 테이블인 TapTable을 갱신하는 단계에서, The method of claim 2, wherein the updating of the TapTable, which is a table storing a generation pattern related to the phase shift number, 상기 테이블은 최초에는 기존의 시뮬레이션을 이용한 위상천이기 생성 알고리듬에 의해서 생성되며, 이 테이블은 결정론적 테스트패턴이 재배치 가능한 위상천이기로 임베드될 때마다 갱신되는 것을 특징으로 하는 위상천이기를 이용한 결정론적 테스트패턴 생성 장치.The table is initially generated by a phase shifter generation algorithm using an existing simulation, and the table is updated whenever a deterministic test pattern is embedded with a relocatable phase shifter. Pattern generator.
KR1020040056114A 2004-07-19 2004-07-19 Deterministic test pattern generating apparatus using phase shifter KR100615401B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040056114A KR100615401B1 (en) 2004-07-19 2004-07-19 Deterministic test pattern generating apparatus using phase shifter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040056114A KR100615401B1 (en) 2004-07-19 2004-07-19 Deterministic test pattern generating apparatus using phase shifter

Publications (2)

Publication Number Publication Date
KR20060007315A KR20060007315A (en) 2006-01-24
KR100615401B1 true KR100615401B1 (en) 2006-08-25

Family

ID=37118653

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040056114A KR100615401B1 (en) 2004-07-19 2004-07-19 Deterministic test pattern generating apparatus using phase shifter

Country Status (1)

Country Link
KR (1) KR100615401B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002243805A (en) 2000-11-14 2002-08-28 Agilent Technol Inc Digital circuit testing device
KR20030037501A (en) * 2001-11-06 2003-05-14 강성호 Deterministic test pattern generator for built-in self test
JP2004117258A (en) 2002-09-27 2004-04-15 Matsushita Electric Ind Co Ltd Test facilitating circuit for semiconductor integrated circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002243805A (en) 2000-11-14 2002-08-28 Agilent Technol Inc Digital circuit testing device
KR20030037501A (en) * 2001-11-06 2003-05-14 강성호 Deterministic test pattern generator for built-in self test
JP2004117258A (en) 2002-09-27 2004-04-15 Matsushita Electric Ind Co Ltd Test facilitating circuit for semiconductor integrated circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논 문

Also Published As

Publication number Publication date
KR20060007315A (en) 2006-01-24

Similar Documents

Publication Publication Date Title
Wang et al. DS-LFSR: a BIST TPG for low switching activity
US6061818A (en) Altering bit sequences to contain predetermined patterns
US8103926B2 (en) Method and apparatus for synthesis of augmented multimode compactors
US5475694A (en) Fuzzy multiple signature compaction scheme for built-in self-testing of large scale digital integrated circuits
US7404126B2 (en) Scan tests tolerant to indeterminate states when employing signature analysis to analyze test outputs
US7743306B2 (en) Test vector generating method and test vector generating program of semiconductor logic circuit device
EP0372226A2 (en) Parallel pseudorandom pattern generator with varying phase shift and method for simulating such a generator
US8914695B2 (en) synthesizing circular decompressors
JP2003515174A (en) Method for reducing linear dependence of phase shifter generating pseudo-random test pattern and phase shifter having reduced linear dependence
JP2003518245A (en) Decompressor / pseudorandom test pattern generator for generating pseudorandom and deterministic test patterns
McCluskey et al. ELF-Murphy data on defects and tests sets
US7949921B2 (en) Method and apparatus for synthesis of augmented multimode compactors
CN106771958B (en) Integrated circuit with low power scanning system
Saraswathi et al. A review on power optimization of linear feedback shift register (LFSR) for low power built in self test (BIST)
Singh et al. Controller architecture for memory BIST algorithms
Czysz et al. On compaction utilizing inter and intra-correlation of unknown states
US20060020862A1 (en) Apparatus for generating deterministic test pattern using phase shifter
KR100615401B1 (en) Deterministic test pattern generating apparatus using phase shifter
US7539913B2 (en) Systems and methods for chip testing
Mrugalski et al. Highly X-tolerant selective compaction of test responses
Shabaz et al. Design of reconfigurable 2-D linear feedback shift register for built-in-self-testing of multiple system-on-chip cores
Kumar et al. Design of an Improved Fault Coverage Programmable Pseudorandom Pattern Generator for Bist
Lu et al. Testing configurable LUT-based FPGAs
Chrisarithopoulos et al. New test pattern generation units for NPSF oriented memory built-in self test
Kalligeros et al. A ROMless LFSR reseeding scheme for scan-based BIST

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120712

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130703

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150818

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160809

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee