Test Point Insertion Using Functional Flip- Flops to Drive Control Points International Test Conference 2009 Joon-Sung Yang 1, Benoit NaDeau-Dostie 2, and Nur A. Touba 1 1 Computer Engineering Research Center Dept. of Electrical and Computer Engineering University of Texas, Austin, TX Logic Vision, Inc. 25 Metro Drive, Third Floor SanJose, CA 년 07 월 03 일 김인수 1
Background Fault Coverage 가 낮아지는 요인들 중 하나 –Pseudo-Random Resistant Faults 들이 있을 경우 Pseudo-Random Resistant Faults 들을 detection 하기 위한 방법들 –Weighted Pattern Testing –LFSR Reseeding –Pattern Mapping –Bit Flipping –Bit Fixing –Circuit Under Test 의 수정 –Test Point Insertion –… 2
Test Point Insertion Test Point Insertion 사용의 일반적인 목적 –Fault Coverage 를 높이기 위해 –Pseudo-Random Testing 수행 시 Random Pattern Resistant Faults 들에 의해 Fault Coverage 수치가 높지 않을 경우 –r.p.r faults 를 발견해 내기 위해 Test Point Insertion 사용 방법 –Test Point Insertion 은 controllability 와 observability 를 높이기 위해 control points 와 observation points 를 삽입 – 삽입된 cp 와 op 를 통해 Random Pattern Resistant Faults 들을 발견해 내는 확률을 높임 3
Test Point Insertion Test Point Insertion 사용의 단점 –Area Overhead 증가 –Performance Overhead 증가 Ex) Timing Path 에 대한 Constraints 발생 Ex) Timing Path 에 대한 Delay 발생 Test Point Insertion 에서의 고려 사항 –Test Points 들의 개수를 가급적 적게 사용하면서도 테스트 효율을 높 이기 –Test Points 들의 위치 NP-Complete 4
Test Point Insertion Control Point Activation –Control Point 를 활성화 (activation) 시킬 때는 회로 내의 특정 node 를 fixed value 로 고정하는 효과 –Normal Operation 모든 control points 들은 비활성화 (deactivation) –During Testing Random Activation –Pseudo-random generator 에 의해 control points 를 조절 – 단점 ; Control Points 들이 아주 많이 필요 – 단점 ; Control Points 들간의 관계성 ( 간섭현상 ) 으로 인해 Fault Coverage 가 향상되지 못하는 경우가 발생 Deterministic Activation –BIST 동작을 여러 단계 (phase) 로 나누어서 r.p.r faults 를 발견해 낼 필요성이 있다고 판단할 때만 control points 들을 활성화시킴 5
Abstract 일반적으로 Test Point Insertion 이후 area overhead 가 증가하는 것과 달 리 제안하는 논문에서는 area overhead 의 증가가 매우 적음 Control Point 를 제어하기 위해 dedicated flip-flop 을 사용하는 대신 functional flip-flop 을 사용 Logic Cone Analysis 기법을 통해 적절한 functional flip-flop 을 선택 Control Point 를 삽입하더라도 timing Constraints 를 발생시키지 않음 기존 방법과 비교하여 Test Point Area Overhead 의 감소를 확인 기존 방법과 비교하여 Fault Coverage 도 동일 6
1. Introduction BIST 의 장점 –Test Pattern Generator 를 비롯한 테스트 회로가 내장되어 있다는 것 가장 효과적인 BIST 기법 –Pseudo-random Pattern Testing BIST 의 Pseudo-random Pattern Testing 이 가지는 단점 –r.p.r faults 발견의 어려움이 있음 R.p.r faults 를 해결하기 위한 기법 –Weighted Pattern Testing –LFSR Reseeding –Pattern Mapping –Bit Flipping, Bit Fixing –Circuit Under Test 의 수정, Test Point Insertion 7
8 Figure 1. Example of Control Points
9 2. Overview of Proposed Scheme Figure 2. Proposed Design Synthesis Flow with Testability and Area Overhead Minimized Test Point Insertion
10 2. Overview of Proposed Scheme 제안된 아이디어 –Control Points 들을 조절하기 위해 dedicated flip-flops 들을 existing functional flip-flops 들로 교체함으로써 area overhead 를 최소화함 – 처음에는 기존의 방식대로 Test Point Insertion 수행 –Logic Cone Analysis 를 이용하여 그림 2 의 점선 안의 단계를 수행 –Observation Point 는 수정하지 않음 –Control Points 들을 찾아내고, dedicated flip-flop 을 functional flip-flop 으로 교체함 –TP_Enable 신호 제안 : Control Point 의 enable or disable 제어 –TP_Enable =1 ; A control point is driven by a functional flip-flop in the proposed method.
11 2. Overview of Proposed Scheme 제안된 아이디어 –Control Point 로부터 논리적으로 가까운 functional flip-flop 을 선택하여 dedicated flip-flop 과 교체 Control point 와 선택된 functional flip-flop 사이의 거리를 가깝게 하 기 위해 Control point 와 선택된 functional flip-flop 사이의 delay 문제 발생 을 막기 위해 – 약간의 게이트들이 추가되기 때문에 다음의 룰을 주의해야 함 Functional flip-flop 에서 control point 까지의 경로를 따라 opposite path inversion parity 를 유지하라 Candidate Functional Flip-flop 으로부터 Illegal reconvergence 가 있 는지 체크하라
12 3. Details of Control Point Replacement Flow 3.1 Finding Candidate Functional Flip-flops
13 Figure 3. Example of a Circuit with Control Point Insertion (Ctrl) 일반적인 Test Point Insertion 의 모습 A ~ I ; Flop-flops G1 ~ G17, Ctrl ; Combinational elements Control Point ; Ctrl Dedicated Flip-flop ; I, Test mode 에서 control point 를 조절하는 역할 A ~ H ; functional flip-flop in system operation(normal operation) Control Point is activated ; Ctrl 의 출력이 1 로 고정 ; Control-1 Point
Dedicated Flip-flop I 를 교체하기 위해 functional flip-flop 찾기 Logic Cone Analysis 실행 Logical Distance 계산 Control Point 에서 가까운 functional flip-flop 을 선택 Control Point 에서 functional flip-flops 들 중에서 두 가지의 Parity 를 동시에 가지는 functional flip-flop 은 교체 대상에서 제외
Selecting Candidate Flip-flop Figure 4. Conventional and Proposed Control Point TP_Driver 새롭게 control point 를 제어하기 위해 교체된 functional flip-flop TP_Enable = 0 신호 전달이 차단됨, Blocking 됨 TP_Enable = 1 Ctrl 은 TP_Driver 에 의해 제어가능
Testability Consideration Path Inversion and Control Point Structures Figure 5. New Types of Control Point Structure for Different Path Inversion Parity
Illegal Reconvergence Figure 7. Example of a Circuit with Illegal Reconvergence
18 Experimental Results Table 1. Area Overhead Reduction Results 22/24 * 100(%) = % Design A ~ F : Industrial Designs OR1200 : OpenRisc Processor NOC : NOC Design 사용 tool : LogicVision testpointAnalyze tool
19 Table 2. Testability Comparison of Proposed Method with Standard Implementation No TP : No test points are inserted
20 Table 2. Testability Comparison of Proposed Method with Standard Implementation No TP : No test points are inserted
21 Figure 8. Testability vs. TP_Enable Signal Probability