test point insertion using functional flip- flops to drive control points international test...
TRANSCRIPT
1
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 CenterDept. of Electrical and Computer Engineering
University of Texas, Austin, TX 78712{jsyang,touba}@ece.utexas.edu
2 Logic Vision, Inc.25 Metro Drive, Third Floor
SanJose, CA 95110 [email protected] 2010 년 07 월 03 일
김인수
2
Background• Fault Coverage 가 낮아지는 요인들 중 하나
– Pseudo-Random Resistant Faults 들이 있을 경우
• Pseudo-Random Resistant Faults 들을 detec-tion 하기 위한 방법들– Weighted Pattern Testing– LFSR Reseeding– Pattern Mapping– Bit Flipping– Bit Fixing– Circuit Under Test 의 수정– Test Point Insertion– …
3
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 들을
발견해 내는 확률을 높임
4
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
5
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 들을 활성화시킴
6
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 도 동일
7
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
8
Figure 1. Example of Control Points
9
2. Overview of Proposed Scheme
Figure 2. Proposed Design Synthesis Flow with Testabil-ity and Area Overhead Minimized Test Point Insertion
10
2. Overview of Proposed Scheme• 제안된 아이디어
– Control Points 들을 조절하기 위해 dedicated flip-flops 들을 ex-isting 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 reconver-
gence 가 있는지 체크하라
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 opera-tion)Control Point is activated ; Ctrl 의 출력이 1 로 고정 ; Control-1 Point
14
1
1
2
345
4 3 2
23
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 은 교체 대상에서 제외
15
3.2 Selecting Candidate Flip-flop
Figure 4. Conventional and Proposed Control Point
TP_Driver새롭게 control point 를 제어하기 위해 교체된 functional flip-flop
TP_Enable = 0신호 전달이 차단됨 , Blocking 됨
TP_Enable = 1Ctrl 은 TP_Driver 에 의해 제어가능
16
3.3 Testability Consideration3.3.1 Path Inversion and Control Point Structures
Figure 5. New Types of Control Point Structure for Different Path In-version Parity
17
3.3.2 Illegal Reconvergence
Figure 7. Example of a Circuit with Illegal Reconvergence
18
Experimental Results
Table 1. Area Overhead Reduction Results
22/24 * 100(%) = 91.666%
Design A ~ F : Industrial DesignsOR1200 : OpenRisc ProcessorNOC : 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