IBM Corporation {haoxing, eleve, kravets, ryaari}@us.ibm.com Low Cost Test Point Insertion without Using Extra Registers for High Performance Design International Test Conference 2009 Haoxing Ren, Mary Kusko, Victor Kravets, and Rona Yaari IBM Corporation {haoxing, eleve, kravets, ryaari}@us.ibm.com 2010년 07월 21일 김인수
Abstract random resistant nets에 대하여 testability를 향상시키기 위해 test point insertion을 수행 기존의 일반적인 방법은 control points 또는 observation points로서 extra registers를 추가하는 방법을 사용 단점 : 고성능 회로에서 단점들을 가짐 power와 timing 면에서 성능 저하 가능성이 있음 테스트 성능을 저하시킬 가능성이 있음
Abstract 본 논문에서 제안하는 방법 본 논문에서 제안하는 방법의 장점 추가적인 registers가 없음 회로내의 신호들을 이용하여 test point로 이용함 logic path 중에서 timing non-critical path로 부터 test points를 설정 logic path 중에서 물리적으로 가급적 가까운 곳으로 부터 test points를 설정 본 논문에서 제안하는 방법의 장점 area 증가 폭이 적음 power 소모 감소 design 변화를 최소화 함 physical synthesis 과정에서 자동화 처리가 가능 성능 감소가 거의 없음 unreachable states에 대하여 access 가능
1. Introduction Random pattern resistant logic의 해결 방법 TPI 삽입 방법 pattern stimulus를 조정 회로를 수정 : ex) test point insertion(TPI) TPI 삽입 방법 combinational circuit의 signal lines을 선택 TPI의 3가지 카테고리 exact fault simulation approximate testability measure simulation based methods
1. Introduction TPI insertion 기술은 일반적으로 새롭게 추가되는 register points의 삽입이 요구됨 register points : control point 또는 observation point로 이용 추가되는 registers로 인한 단점 약간의 gates 의 삽입과 비교 - 더 많은 전력 소모 약간의 gates 의 삽입과 비교 - clock network가 추가됨 dynamic power 증가 고성능의 회로일수록 최적화된 상태에서 추가적인 registers를 삽입한다는 것은 매우 어렵거나 성능저하의 원인이 됨 처음 설계 단계에서 부터 여분의 registers를 미리 삽입해 둔다고 해도 timing 문제, 필요한 수의 불분명성 때문에 쉽지 않음 추가되는 register를 피하는 것이 가장 좋은 방법
2. Background 2.1 Random Testability Analysis SCOAP-Sandia Controllability/Observability Analysis Program COP-Controllability Observability Program PREDICT-Probabilistic Estimation of Digital Circuit Testability Cutting Algorithm BDD based signal probability method
2. Background 2.2 Test Point Insertion Cost Function Testability Cost Function U F : the fault set of a total of M faults Pdj : the detection probability of a fault j 1/pdj : the expected test length of the fault
2. Background Detection Probability Pdj Cj : the controllability of j Oj/0 : the observability of j, when j=0 Oj/1 : the observability of j, when j=1
3. Test Point Insertion 3.1 Testability Computation 논문에서 제안하는 방법의 순서 logic/physical synthesis process 과정에서 자동으로 test point 삽입 test point 후보 위치들을 찾음 test point 후보 위치들의 testability gain을 계산 최적의 위치를 선정 적절한 test point 를 찾음 미리 정의되어 있는 template를 이용하여 test 삽입을 수행 TPI에 의해 생성될 수 있는 timing violations / electrical violations 해결
Figure 7. Test Point Insertion Flow
3. Test Point Insertion 3.1 Testability Computation controllability와 observability 계산- Simulation based method 이용 Controllability 계산 functional simulation은 vectors of random inputs을 이용하여 조절함 각 node에서 functional simulation을 통해 simulation signature를 기록
3. Test Point Insertion 각 node에서의 signature : SIG(j) : 그림 1 처럼 하나의 bit vector N 은 일반적으로 10K 보다 큰 수 N이 클수록 testability 측정 정확도가 높아짐 N이 클수록 runtime cost 증가 simulation signature를 이용하여 controllability를 계산 Ones(SIG(j)) : the number of '1' bits in the signature of fault j Figure 1. Simulation Signature
3. Test Point Insertion Observability 계산 Observability ODC mask(Observability Don't cares) 개념을 근간으로 observability 계산 ODC mask : 하나의 bit vector simulation signature와 동일한 길이 만일 simulation signature 에 대응하는 비트가 observable 하면 1 만일 simulation signature 에 대응하는 비트가 not observable 하면 0 Observability j가 0 또는 1일 때 observable bits의 총 수의 비율을 계산
3. Test Point Insertion ODC mask 계산 각 input pin의 ODCL(local ODC mask) 을 계산 각 net의 global ODC mask 를 계산하기 위해서, primary output 으로 부터 ODCL을 전달 Local ODC 계산은 input pin signature 안에서의 비트가 gate의 output에서 즉시 observable 하는지 아닌지에 달려있다.
Figure 3. Signature and ODC Example
3. Test Point Insertion 3.2 Gain Computation j : net a에서 test point insertion 후에 변화된 nets에 속하는 net Pdj : test insertion 전의 detection probability Pdj : test insertion 후의 detection probability TFI : transitive fanin TFO : transitive fanout
3. Test Point Insertion 3.3 Test Point Insertion Template test point insertion templates는 gates의 set test enable(TE), test point(TP), random resistant net에 연결 test insertion template의 목적은 테스트동안 random resistant net의 controllability를 향상시키는 것
3. Test Point Insertion 3개의 templates를 제시함 test enable 신호 off : original circuit과 동일한 기능 test enable 신호 on : 테스트 동안 random testability를 enable 함 Z : random resistant net gate A and B : TPI에 의해 생성된 gates template가 삽입될 때 Z의 fanout을 Z*에 연결 Figure 6. Test Point Insertion Templates
3. Test Point Insertion template (a) : Z가 0-random-resistant일 때 사용 Z는 stuck-at-1 성격을 매우 빈번하게 가진다는 의미 TE = 0 , disable TP의 값과 상관없이 A의 output = 1 Z* = Z , original circuit과 동일한 기능 TE = 1 , enable A의 output은 TP에 의해 결정됨 ==> Z의 controllability가 향상됨
3. Test Point Insertion template (b) : Z가 1-random-resistant일 때 사용 Z는 stuck-at-0 성격을 매우 빈번하게 가진다는 의미 개념은 template (a)와 유사함
3. Test Point Insertion template (c) : Z가 0-random-resistant 또는 1-random-resistant 일 때 사용 Z의 observability를 유지하는 장점이 있음 ((a)와 (b)에서는 A의 값이 0,1 일 때 Z는 not observable) 단점 : template (a)와 (b)에 비해 더 많은 gate delay가 생성됨 template (c)가 우선적으로 사용되어야 좋지만 delay, timing문제가 있을 경우에는 template (a),(b)를 사용
Figure 7. Test Point Insertion Flow template (a) : 0-random-resistant net에 사용 template (b) : 1-random-resistant net에 사용 Figure 7. Test Point Insertion Flow
4. Sequential Approach 4.1 Sequential Template Figure 8. Generic template for TP insertion to improve net controllability (here OR gaet was used)
4. Sequential Approach 4.2 Use of Unreachable States 회로에는 functional mode에서는 동작하지 않는 unreachable states가 있다. 회로의 random testability를 높이기 위해 test mode에서 unreachable states를 이용한다. Figure 9. Illustration of improving signal controllability using unreachable states
5. Experimental Results 논문의 실험용 회로 : high performance IBM server microprocessor circuits using 45nm technology
5. Experimental Results B : baseline M : manual A : automatic 8.6% 증가 0.6% 증가
5. Experimental Results
5.1 Contribution of Unreachable States 논문의 실험용 회로 : subset of high performance IBM server microprocessor macros