이상석
(Sangseok Lee)
1iD
이성제
(Sungjae Lee)
1iD
안진호
(Jin-Ho Ahn)
†iD
-
(School of Electronic Convergence Engineering, Hoseo University, Asan, Chungnam, Korea.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Antirandom Test, Hamming Distance, Pseudorandom Test, Fault Coverage, LFSR
1. 서 론
반도체 테스트는 반도체 제조 공정에서 발생한 결함을 찾기 위한 검사 및 진단, 그리고 수리까지 진행하는 대표적인 후공정 기술이다. 과거 설계 및 공정
기술 중심으로 발전하던 반도체 산업은 그림 1 (a)와 같이 28nm 이하에서는 공정 기술의 변화가 가격 경쟁력에 미치는 효과가 크게 줄어든 반면 초미세 공정에서 야기한 새로운 유형의 결함과 이를 검출하기
위한 테스트 비용이 과거 대비 몇 배 이상 늘어난 것을 확인할 수 있다(그림 1 (b) 참조). 이러한 테스트 비용은 향후 기하급수적으로 늘어날 것으로 예상되므로 테스트 비용 절감을 위한 다방면의 노력이 요구된다.
반도체 테스트를 위해서는 테스트 대상 반도체(Device Under Test: DUT) 내 고장을 식별할 수 있는 테스트 패턴을 DUT에 입력하고
출력되는 데이터를 무고장 출력값과 비교하여 고장 여부를 판정한다. 이러한 테스트 패턴을 얻기 위해서는 회로 내 특정 위치에서 발생 가능한 고장을 검출할
수 있는 입력 패턴 값을 알고리즘적으로 구하는 방식과 회로 정보와 고장모델 없이 무작위로 입력 값을 결정하는 방식이 있다. 후자의 경우를 블랙박스
테스트라고 하며 가장 널리 사용하는 방식은 LFSR (Linear Feedback Shift Register)이나 CA(Cellular Automata)와
같은 로직을 사용하는 의사랜덤 테스트이다(3).
그림 1 반도체 산업 트랜드의 변화
Fig. 1 Changes in IC industry trends
LFSR은 그림 2와 같이 플립플롭과 XOR 게이트로 구성되며, 매 주기신호마다 플립플롭에 저장되는 값의 조합이 일정 규칙 없이 랜덤한 형태가 된다. 예를 들어 그림 2의 4비트 LFSR의 초기값(seed)을 ‘0001’으로 하면 매 주기신호마다 X1에서 X4까지 플립플롭에 저장된 값이 우측으로 이동하게 되고 마지막
X4의 값은 다시 X1의 출력값과 XOR되어 X1의 입력값이 된다. 각 단계별로 플립플롭에 저장되는 4비트 값을 10진수로 표시하면 1, 8, 4,
2, 9, ...., 7, 3까지 불규칙하게 변하고 다시 1로 초기화된다. 다만, 그림 2의 예에서 볼 수 있듯이 한 주기 내 플립플롭의 값은 모든 수가 단 한 번씩만 출력되며, 주기별로 반복되기에 완전한 랜덤 신호가 아닌 의사랜덤(pseudorandom)
형태가 된다. LFSR을 이용한 의사랜덤패턴 생성 방식은 간단한 로직으로 구현이 가능하여 칩에 내장되는 자체 테스트(Built- In Self Test:
BIST) 또는 보드 수준 하드웨어로 널리 사용됐다(4). 그러나, 의사랜덤 형태로 만들어진 테스트 패턴은 주기별 반복성 및 연속패턴의 유사성으로 인하여 랜덤저항성 고장(random resistant fault)에
취약하고, 목표 고장검출률(Fault Coverage: FC)에 도달하기 위해서는 많은 패턴이 필요하여 테스트시간이 크게 늘어나게 된다.
그림 2 4비트 LFSR의 구조와 동작
Fig. 2 4bit LFSR structure and its operation
반랜덤(antirandom) 방식(5)은 이웃하는 패턴 간 유사도를 해밍거리(hamming distance)나 카테전거리(cartesian distance)와 같은 거리 함수(distance
function)을 사용하여 측정하고, 패턴 간 거리가 최대화되도록 패턴 순서를 조정하는 방식이다. 반랜덤테스트는 패턴 간 중복성을 줄여서 고장 검출의
확률을 높일 수 있는 장점이 있지만 거리를 계산하는 시간이 너무 오래 걸리는 문제가 있다. 반랜덤 방식의 복잡성을 줄이고 고장검출률을 높이기 위한
다양한 문헌이 발표되었는데 먼저 FAR(Fast Antirandom)(6)는 전체 테스트패턴을 정렬하고 각 패턴의 orthogonal 패턴을 찾는 방식이다. Adaptive Random Testing(ART)(7)은 테스트 패턴 후보 그룹 중 일부만을 선택하여 해밍거리를 적용하는 방식이며 계산량 감소의 효과는 있지만, 선택 결과에 따라 고장검출 효과가 달라지는
문제가 있다. Scalable Test Pattern Generation(STPG)(8)은 패턴 간 거리를 미리 정하고 테스트 패턴 순서를 조정하는 방식이며 거리와 검출률과의 관계가 명확하지 않기에 그 효과는 제한적이다. Scalable
Antirandom Testing (SAT)(9)에서는 입력 패턴의 비트를 주기적으로 교환하며 새로운 패턴을 생성한다. Iterative Antirandom(IAR)(10)은 고장검출률을 기반으로 해밍 거리를 가변적으로 조정하며 계산 시간을 줄이기 위해 주기별 생성 패턴 수를 제한하는 방식이다. 상기 패턴 개수는 수
개에서 2(log2N+1)개(N: DUT 입력 수)까지 다양한 방식이 소개되었다(11). Multiple Controlled Antirandom Testing (MCAT)(12)은 생성 주기별로 카테전거리를 사용한 반랜덤 패턴을 생성하여 초기값(seed)으로 사용하였다.
정리하면, 해밍거리는 패턴 간 이질성, 즉 다양성을 가리키며, 카테전거리는 이러한 이질성이 전체 패턴에 고루 분포되어 있는지를 가리키는 항목이다.
반랜덤테스트 패턴을 구하는데 필요한 계산의 복잡성은 카테전거리 연산에서 야기되며, 기존 문헌들은 대부분 카테전거리 계산의 복잡도를 낮추는 것에 중점을
두고 있다. 하지만, 이러한 패턴의 다양성과 고른 분포가 실제 고장검출 효과에 어느 정도 영향을 미치는가를 분석한 문헌은 없다. 패턴이 다양할수록
궁극적으로 고장검출 확률이 높아지는 것은 당연하겠지만 제한된 시간 내 목표 고장검출률을 달성하는데 필요한 테스트패턴 수와 입력 순서가 랜덤방식보다
반랜덤방식이 항상 우수하다는 것을 보장하는 것은 아니기 때문이다. 그리고, 반도체 테스트 장비(ATE)에 내장되는 테스트패턴은 DUT 회로 정보를
기반으로 사전에 결정된 패턴(deterministic pattern)이며, 이러한 패턴들은 랜덤패턴으로 검출이 어렵거나 오래 걸리는 고장을 검출하기
위해 알고리즘적으로 생성되고 그 수 또한 많지 않다. 그에 반하여, 랜덤패턴은 보통 메모리에 저장하지 않고 하드웨어 로직을 사용하여 실속도로 생성
후 회로에 입력하고 그 결과를 분석하는 형태로 사용된다. 따라서, 반랜덤테스트 역시 우선적으로 하드웨어를 고려하여 알고리즘을 개발해야 하지만 지금까지
중요하게 논의된 적이 없다. 본 논문에서는 실험을 통하여 반랜덤테스트 패턴의 고장검출 효과를 분석하고 이를 개선할 수 있는 거리 함수 기반 테스트패턴
생성 알고리즘을 소개한다.
2. 반랜덤테스트의 성능 개선 및 한계
지금까지 발표된 다양한 반랜덤테스트 방법들은 공통적으로 성능 개선의 방향을 알고리즘 속도 개선에 맞추고 있다. 그 이유는 최적의 반랜덤패턴을 구하기
위한 해집합의 범위가 회로에 입력되는 신호 수에 따라 지수함수 크기 수준으로 커지기 때문이다. 그림 3에서 입력 비트 수가 N개인 회로의 반랜덤테스트 패턴을 구하는 전체 과정을 나타내었다(5). 먼저, 초기값을 랜덤하게 결정하고 패턴 메모리에 저장한다. 그리고 나머지 2N-1개의 후보 중 초기값과의 거리함수, 즉 해밍거리와 카테전거리를
모두 구하고 2개 모두 가장 큰 값을 후보 패턴을 메모리에 저장한다. 만약 동일한 값을 가지는 후보가 복수인 경우는 임의로 결정한다. 나머지 패턴
역시 이미 결정된 패턴과 남은 후보 중 거리의 합이 최대가 되는 것을 구하며, 메모리에 저장한 패턴이 원하는 수(NP)에 도달할 때까지 상기 과정은
반복된다.
그림 3 반랜덤테스트 패턴의 계산 과정
Fig. 3 Calculation of antirandom test patterns
그림 4 거리 비교를 통한 패턴 결정
Fig. 4 Pattern selection by distance comparison
보다 자세한 설명을 위해 5비트 크기의 반랜덤테스트 패턴을 구하는 과정을 그림 4에서 설명하였다. 초기값을 ‘00000’ 패턴으로 하면 두 번째 패턴은 해밍거리가 최대값(5)을 갖는 ‘11111’ 패턴으로 결정된다. 세 번째 패턴은
먼저 ‘00000’과 ‘11111’ 패턴과의 해밍거리를 비교하여 1차 후보군을 선정하게 되는데 ‘00001’부터 ‘11110’까지의 모든 값이 동일한
해밍거리(5)를 가지는 것을 확인할 수 있다. 해밍거리가 동일한 후보들은 다시 카테전거리를 계산하여 그 중 최대값인 3.14를 갖는 후보를 선정한다.
최종적으로 선정된 후보가 2개 이상이면 그 중 하나를 임의로 선택하여 세 번째 패턴으로 결정한다.
상기 방식은 패턴 간 거리가 최대가 되는 장점은 있지만 모든 패턴 간 상호 비교가 필요하므로 계산 시간의 복잡도가 지수함수 수준이 되어 실제 사용이
불가능하다. 이러한 문제를 해결하기 위하여 비교 대상의 수를 제한하거나 횟수를 제한하는 방법 등이 발표되었지만 그 효과는 크지 않았다. 그러나, 해밍거리만을
고려하는 경우 패턴 간 비트 단위로 0과 1의 수가 동일하도록 비트 값을 결정하고, 그 결과를 합하는 형태로 해밍거리가 최대인 패턴을 구할 수 있다(13). 본 방식은 기존 패턴과 패턴 후보들 간의 상호 비교없이 기존 결정된 패턴들을 이용하여 다음 패턴을 생성하는 형태이기 때문에 회로 크기에 관계없이
실시간으로 패턴 그룹을 생성할 수 있고 하드웨어 형태로도 구현할 수 있다. 그림 5에서 상기 방식을 이용하여 5비트 패턴을 만드는 과정을 설명한다. 그림에서 1번 패턴이 ‘00000’, 2번 패턴이 ‘11111’, 그리고 3번 패턴이
‘10101’이라고 할 때 비트별로 1의 수를 나타내는 레지스터(None register)는 ‘21212’ 값이 저장된다. 4번째 패턴의 0번 비트는
None 레지스터의 값이 2, 즉 이전 3개의 패턴 중 0번 비트는 두 번이 1이고 한 번이 0이기 때문에 4번째는 0으로 하면 해밍거리가 가장 커지게
된다. 그리고, 1번 비트의 경우 이전까지 1의 개수가 1이기 때문에 4번째는 1로 한다. 이러한 방식으로 4번째 패턴을 구하게 되면 ‘01010’이
되며 최종 해밍거리는 5가 된다.
그림 5 비트 단위 연산을 통한 반랜덤패턴 생성
Fig. 5 Antirandom patterns by a bit-level operation
그림 6 랜덤패턴의 고장검출 효과
Fig. 6 Fault coverage of random patterns
반랜덤패턴은 패턴 간 거리함수, 즉 이웃하는 패턴 사이의 유사성을 최소화시키도록 알고리즘적으로 생성되는 일종의 deterministic 패턴이며 회로의
형태와 특성은 반영하지 않고 오로지 패턴 사이의 관계로만 새로운 패턴을 결정한다. 그러나, 다양한 벤치마크 회로에 대하여 반랜덤패턴의 고장검출 효과를
분석한 결과 그림 6에서 확인할 수 있듯이 의사랜덤패턴과 비교하여 초기에는 더 높은 고장검출률을 보여주지만 검출률이 90% 이상 도달하는 시간은 더 느린 경우가 많음을
확인하였다. 이러한 실험을 통하여 회로에서 발생하는 임의 고장을 검출하기 위해서는 패턴의 다양성도 필요하지만 랜덤성 또한 중요하며 두 가지 특성이
모두 반영되는 새로운 패턴 생성 방법이 필요함을 알 수 있었다.
3. 반랜덤테스트 방법의 고장검출률 향상 방안
기존에는 거리 함수를 기반으로 테스트패턴을 구할 때 해밍거리가 동일한 경우 카테전거리(5)나 패턴 내부 비트 간 해밍 거리(13) 등을 반영한 새로운 기준을 만들어서 후보군을 줄이는 방식을 사용하였다. 본 논문에서는 해밍거리가 중복되는 경우 새로운 기준을 지정하지 않고 랜덤하게
다음 패턴을 정하고 해당 패턴을 기준으로 다시 해밍거리를 적용하는 방식을 제안한다. 예를 들어 그림 7과 같이 1번 패턴이 ‘00000’, 2번 패턴이 ‘11111’인 경우를 가정하면 2번 패턴이 결정되면 None 레지스터의 값은 ‘11111’이 된다.
따라서, 3번 패턴은 모든 비트에서 0과 1 어떤 것을 선택해도 전체 해밍거리가 동일하다. 이런 상태에서는 LFSR과 같은 의사랜덤패턴 생성기에서
출력되는 값을 입력받아서 5비트 전체를 대체한다. 그렇게 결정된 3번 패턴이 ‘10101’이면 None 레지스터의 값은 ‘21212’이 되므로 4번
패턴은 ‘01010’이 생성된다. 4번 패턴 생성 이후 None 레지스터의 값은 다시 ‘22222’가 되므로 5번 패턴 역시 의사랜덤패턴으로 대체하며
상기 과정은 생성된 패턴 수가 NP에 도달하면 종료된다. 그림 8에서 제안하는 패턴 생성 방법을 의사 코드 수준에서 나타내었다.
그림 7 반랜덤패턴과 의사랜덤패턴의 혼합 과정
Fig. 7 Mixing of both random patterns
그림 8 제안하는 거리 함수 기반 테스트패턴 생성 과정
Fig. 8 Proposed method for test pattern generation
본 방식은 반랜덤테스트의 장점(테스트패턴의 다양성)과 의사랜덤테스트의 장점(회로 특성에 대한 유연성)을 모두 제공할 수 있으며, 회로 크기에 관계없이
실시간으로 테스트패턴을 생성할 수 있기에 칩 및 보드 수준의 하드웨어로 구현 가능하다. 그리고, 반랜덤패턴과 의사랜덤패턴이 혼합되는 형태이기 때문에
의사랜덤패턴의 상호 의존성(dependency)을 줄이기 위한 추가적인 로직, 즉 위상 천이기(phase shifter)와 같은 하드웨어도 제거할
수 있다.
4. 실험 및 결과
제안한 방식은 ISCAS’85, ISCAS‘89 벤치마크 회로를 대상으로 LFSR을 이용한 의사랜덤패턴과 해밍거리를 사용한 반랜덤패턴 그룹과의 C
시뮬레이션 기반 고장검출률 비교를 통하여 성능을 검증하였으며, 고장 시뮬레이션은 Atalanta v2.0(14)을 사용하였다.
표 1에서는 의사랜덤패턴(PR), 반랜덤패턴(AR), 그리고 제안한 방식으로 구한 패턴(Proposed)의 고장검출률 비교 결과를 보여준다. 표 1의 첫 번째 열은 사용한 벤치마크 회로의 번호이며, 두 번째 열은 실험회로의 PI(Primary Input: 주입력) 수를 보여준다. 표의 나머지
열은 사용한 패턴 생성 방식(PR, AR, Proposed)과 각 방식별로 인가한 패턴 수, 그리고 고장검출률 평균값을 나타내었다. 50개와 200개
패턴 수는 기존 문헌들에서 많이 사용되는 값을 적용하였다. 실험 결과 전체 고장검출률 평균값은 Proposed(81%) > AR(65%) > PR(59%)
순서이며, 제안한 방식이 기존 방식보다 평균 30% 정도 고장검출률이 상승하는 효과를 보였다. 또한, 실험에 사용된 모든 회로에서 제안한 방식으로
생성한 패턴의 고장검출률이 가장 높았고, 50개 패턴이 인가된 초기 고장검출률 역시 AR보다 높은 고장검출률을 달성하는 우수한 성능을 보여주었다.
표 1 고장 시뮬레이션 결과
Table 1 Fault simulation results
Circuit Name
|
# of PI
|
PR(Pseudo-Random)
|
AR(Anti-Random)
|
Proposed
|
50
|
200
|
Avg
|
50
|
200
|
Avg
|
50
|
200
|
Avg
|
c5315
|
178
|
22
|
57
|
40
|
40
|
71
|
56
|
86
|
96
|
91
|
c7552
|
207
|
47
|
70
|
59
|
59
|
77
|
68
|
82
|
89
|
86
|
c2670
|
233
|
30
|
57
|
44
|
48
|
61
|
55
|
73
|
81
|
77
|
s510
|
25
|
71
|
91
|
81
|
79
|
91
|
85
|
82
|
98
|
90
|
s641
|
54
|
65
|
86
|
76
|
66
|
78
|
72
|
80
|
90
|
85
|
s713
|
54
|
63
|
82
|
73
|
65
|
76
|
71
|
77
|
85
|
81
|
s953
|
45
|
40
|
65
|
53
|
45
|
60
|
53
|
54
|
75
|
65
|
s1423
|
91
|
48
|
82
|
65
|
64
|
81
|
73
|
81
|
92
|
87
|
s5378
|
214
|
39
|
67
|
53
|
55
|
67
|
61
|
74
|
85
|
80
|
s13207
|
700
|
33
|
54
|
43
|
50
|
62
|
56
|
67
|
71
|
69
|
평균 고장검출률(%)
|
46
|
71
|
59
|
57
|
72
|
65
|
76
|
86
|
81
|
표 2 고장검출률 90% 달성에 필요한 테스트패턴 수 비교
Table 2 Pattern size for achieving over 90% coverage
Circuit Name
|
고장검출률 90% 기준
|
PR
|
AR
|
Proposed
|
감소율(%)
|
PR
|
AR
|
c5315
|
1,250
|
1,500
|
70
|
94.4
|
95.3
|
c7552
|
800
|
1,400
|
220
|
72.5
|
84.3
|
s510
|
200
|
200
|
80
|
60.0
|
60.0
|
s641
|
400
|
1,500
|
200
|
50.0
|
86.7
|
s713
|
1,200
|
9,000
|
850
|
29.2
|
90.6
|
s953
|
1,400
|
5,000
|
1,500
|
-7.1
|
70.0
|
s1423
|
400
|
1,100
|
120
|
70.0
|
89.1
|
s5378
|
800
|
13,000
|
400
|
50.0
|
96.9
|
s13207
|
200,000
|
130,000
|
7,000
|
96.5
|
94.6
|
평균 감소율(%)
|
57.3
|
85.3
|
표 2에서는 90% 수준의 높은 고장검출률을 얻기 위해 필요한 테스트패턴 수를 비교하였다. 실험 결과 제안한 방식이 PR보다 평균 57%, AR보다 평균
85% 적은 양의 패턴만으로도 90% 이상의 고장검출률을 얻을 수 있었다. 그러나, 회로별로 분석하면 필요 패턴 수가 90% 이상 감소되는 회로도
있지만, 유사하거나 도리어 증가하는 회로도 있었다. 그 이유는 해당 회로(s953)가 반랜덤패턴의 고장검출률이 매우 낮은 회로이기 때문에 다수의 반랜덤패턴과
소수의 의사랜덤패턴으로 테스트패턴 그룹을 구성하는 제안 방식의 효과가 제한적이었기 때문이다. 상기 문제는 반랜덤과 랜덤패턴의 생성 비율을 조정하는
후속 연구를 통해서 개선할 계획이다.
5. 결 론
본 연구에서는 거리 함수를 기반으로 생성되는 테스트패턴의 고장검출률 향상을 위한 새로운 방안을 제안하였다. 제안 방식은 반랜덤 방식을 활용하여 패턴
간 중복성을 최대한 줄이면서도 중간에 랜덤 패턴을 추가하여 회로 특성에 따라 고장검출률의 편차가 크지 않도록 하였다. 실험 결과 제안한 방식은 기존
의사랜덤 패턴 그룹과 반랜덤 패턴 그룹 대비 최대 200개 기준 약 30% 이상 고장검출률이 향상되는 우수한 결과를 보여주었다. 또한, 목표 고장검출률을
90%로 하고 필요한 패턴 수를 비교하였을 때 기존 대비 약 57~85% 감소하는 것을 확인하였다. 이를 통하여 제안한 방식은 더 적은 수의 패턴으로
더 빠르게 고장검출률을 높일 수 있으며 달성 가능한 최대 고장검출률 역시 기존 랜덤테스트 대비 유사하거나 그 이상으로 판단된다. 특히, 제안하는 방식은
기결정된 패턴 사이의 관계만을 이용하여 새로운 패턴을 생성하기 때문에 온칩 하드웨어로 쉽게 구현 가능하므로 기존 LFSR과 함께 고효율 랜덤테스트용
DFT (Design for Testability) 기술로 널리 활용될 수 있다.
Acknowledgements
본 연구는 산업통상자원부(MOTIE)와 한국에너지기술평가원(KETEP)의 지원을 받아 수행한 연구과제입니다. (No. 20215410100 030)
References
Oct. 2020, Moore’s law slowing down, Slide of Marvell Investor Day
2020, Test costs rise as process nodes shrink, Technical Brief of Cadence Modus DFT
Software Solution
L.-T. Wang, C.-W. Wu, X. Wen, 2006, VLSI Test Principles and Architectures: Design
for Testability, Morgan Kaufmann Series in Systems on Silicon
B S. K. Reddy, B. Papachari, G. Pravallika, K. Panduga, Dec 2022, Design and Implementation
of Novel FPGA Based LFSR for IOT and Smart Applications, Proc. of IEEE WIECON- ECE
S. H. Wu, 2008, Antirandom Testing: A Distance-Based Approach, VLSI Design, Vol. 2008,
pp. 1-9
T. Chen, A. Bai, A. Hajjar, A.K.A. Andrews, C. Anderson, 2002, Fast Anti-Random(FAR)
Test Generation to Improve the Quality of Behavioral Model Verification, Journal of
Electronic Testing, Vol. 18, pp. 583-594
T. Y. Chen, F.-C. Kuo, R. G. Merkel, T. H. Tse, Jan 2010, Adaptive Random Testing:
The ART of test case diversity, Journal of Systems and Software, Vol. 83, No. 1, pp.
60–66
D.B.Y. Yiunn, A.K.B. A’ain, Khor, J. Ghee, 2010, Scalable test pattern generation(STPG),
Proc. IEEE Symp. on Industrial Electronics & Applications(ISIEA)
M. S. Sahari, A. K. A’ain, I. A. Grout, Mar 2015, Scalable antirandom testing(SAT),
International Journal of Innovative Science and Modern Engineering, Vol. 3
I. Mrozek, V. N. Yarmolik, Jun 2012, Iterative antirandom testing, Journal of Electronic
Testing, Vol. 28
I. Mrozek, V. Yarmolik, 2016, Methods of synthesis of controlled random tests, Proc.
IFIP International Conference on Computer Information Systems and Industrial Management
A. Alamgir, 2019, Multiple Controlled Antirandom Testing(MCAT) for High Fault Coverage
in a Black Box Environment, IEEE Access
A. Alamgir, 2018, Horizontal diversity in test generation for high fault coverage,
Turkish Journal of Electrical Engineering and Computer Sciences, Vol. 26
Atalanta v. 2.0, https://github.com/hsluoyz/Atalanta
저자소개
2024년 2월: 호서대학교 전자융합공학부(공학사)
2024년 3월 ~ : 호서대학교 전자공학과 석사과정
2024년 2월: 호서대학교 전자융합공학부(공학사)
2024년 3월 ~ : 호서대학교 전자공학과 석사과정
1995년 2월: 연세대학교 전기공학과(공학사)
1997년 2월: 연세대학교 전기공학과(공학석사)
2002년 8월: 엘지전자 DTV연구소 연구원
2006년 8월: 연세대학교 전기전자공학과(공학박사)
2007년 3월 ~ 현재 : 호서대학교 전자공학과 교수
관심분야 : SOC 설계 및 응용, 반도체 테스트