플레이하기

← fab24hr 칼럼

칩 입문약 6분

칩 검증이란? 테이프아웃 전에 설계가 맞는지 어떻게 확인할까

칩 검증(설계 검증, 기능 검증이라고도 한다)은 칩을 만들기 전에 설계가 사양대로 동작하는지 확인하는 일이다. 설계자가 회로를 작성하면, 검증 엔지니어가 컴퓨터에서 그 회로에 수많은 문제를 내고 답이 맞는지 본다. 모든 것이 확인되어야 테이프아웃해 팹에 넘긴다. 검증이 확인하는 것은 ‘설계도’가 맞는가이지, 어떤 칩 하나가 잘 만들어졌는가가 아니다.

설계 전체가 어떻게 진행되는지는 ‘칩은 어떻게 설계할까?’에서 다뤘다. 이 글은 그중 ‘검증’ 단계를 풀어서 설명한다.

왜 만들기 전에 먼저 검증하나?

칩은 일단 만들어지면 회로를 고칠 수 없기 때문이다. 설계를 넘긴 뒤에는 먼저 포토마스크 한 세트를 만들고(포토마스크란?), 웨이퍼 투입을 한 뒤 팹에서 몇 달에 걸쳐 공정을 거친다.

이때 가서야 설계 오류를 발견하면 설계를 고치고, 포토마스크를 다시 만들고, 웨이퍼를 다시 투입해야 한다. 돈과 몇 달의 시간을 함께 잃는다(칩은 왜 이렇게 비쌀까?). 게다가 설계가 틀리면 만들어진 칩 하나하나가 모두 똑같이 틀린다.

그래서 차라리 컴퓨터에서 시간을 더 들여 오류를 찾는다. 일반적으로 검증이 설계 업무의 큰 부분을 차지하는 경우가 많다고 말한다.

IC 설계 흐름도: 디지털 칩은 사양에서 출발해 하드웨어 기술 언어로 동작을 작성하고, 검증, 합성, 배치·배선, 검사를 거쳐 테이프아웃(tape-out)하고, 포토마스크 제작으로 넘어간다. 실제로는 여러 번 되돌아가 고치는 일이 많다.
칩은 먼저 컴퓨터에서 설계하고 여러 번 검사한 뒤에야 테이프아웃해 포토마스크 제작으로 넘긴다. 테이프아웃 전에는 여러 번 되돌아가 고치는 일이 흔하고, 테이프아웃 뒤에 고치면 포토마스크를 다시 만들어야 한다.

검증은 어떻게 하나? 단계별로 보기

1단계: 사양을 보고 무엇을 시험할지 정리한다

검증 엔지니어는 먼저 사양을 읽고, 칩이 해야 할 일을 하나하나 목록으로 만든다. 어떤 기능이 있는지, 어떤 상황에서 어떻게 반응해야 하는지다. 문제는 사양을 보고 내야 하며, 설계자가 작성한 회로를 보고 내면 안 된다. 회로를 보고 문제를 내면 잘못 작성된 부분도 맞는 것으로 취급된다. 이 목록이 없으면 ‘검증이 끝났는가’를 말할 수 없다.

2단계: 시뮬레이션: 입력을 넣고 출력이 맞는지 본다

시뮬레이션은 컴퓨터가 이 칩인 척하면서, 박자마다 각 신호선이 0인지 1인지 계산하는 것이다. 검증 엔지니어는 ‘시험장’을 꾸린다. 입력을 넣고 출력을 정답과 비교하는데, 정답은 따로 작성한 간단한 버전으로 계산하는 경우가 많다. 칩은 결국 수많은 논리 게이트가 입력에 따라 출력을 정하는 것이다(논리 게이트란?). 컴퓨터에서는 모든 신호선이 보이므로, 어디서 계산이 틀렸는지 바로 찾을 수 있다.

직접 만든 문제 외에도, 컴퓨터가 규칙에 따라 무작위로 많은 문제를 만들게 해 사람이 생각하지 못한 조합을 건드려 본다. 설계를 한 번 고칠 때마다 이전의 문제를 모두 다시 돌려, 여기를 고치면서 저기를 망가뜨리지 않았는지 확인한다. 이 단계를 건너뛰면 설계 속 오류는 칩이 만들어져 돌아온 뒤에야 발견되고, 그때 고치려면 포토마스크를 다시 만들어야 한다.

3단계: 커버리지: 아직 시험하지 않은 경우는?

시험하는 동안 컴퓨터는 회로의 어느 부분이 동작했는지, 목록의 어떤 상황이 나타났는지를 기록하는데, 이를 커버리지(coverage)라 한다. 모든 문제를 맞혔다고 회로에 오류가 없다는 뜻은 아니다. 틀린 곳을 아직 시험하지 않았을 뿐일 수 있다. 커버리지가 아직 빠진 문제를 알려 주면 그 문제를 보충한다. ‘전부 통과’만 보고 넘기면, 시험하지 않은 그 구석이 나중에 문제가 터지는 곳인 경우가 많다.

4단계: 정형 검증: 반드시 성립함을 수학으로 증명한다

시뮬레이션을 아무리 많이 해도 시험할 수 있는 문제는 유한하다. 예를 들어 32비트 수 두 개(각각 0 또는 1인 자리 32개로 쓴 수)를 더한다면 입력 조합은 2의 64제곱 가지다. 1초에 10억 가지를 시험해도 500년 넘게 걸린다.

정형 검증(formal verification)은 문제를 내지 않고, 수학으로 모든 가능성을 한꺼번에 따져 어떤 성질이 반드시 성립함을 증명한다. 예를 들면 ‘이 두 신호는 절대 동시에 켜지지 않는다’, 또는 ‘기술한 동작과 합성으로 만든 논리 게이트 회로가 하는 일이 완전히 같다’는 것이다. 정형 검증을 쓰지 않으면 아주 드물어서 시뮬레이션으로는 닿지 않는 조합이 계속 설계 속에 숨어 있을 수 있다. 한계는 회로가 커지면 따져야 할 가능성이 너무 많아 다 계산할 수 없다는 점이다. 그래서 첫 번째 예 같은 증명은 비교적 작고 특히 중요한 부분에 쓰는 경우가 많고, 시뮬레이션과 함께 쓴다.

5단계: 다시 써넣을 수 있는 하드웨어에 올려 더 빨리 돌린다

소프트웨어 시뮬레이션은 박자 하나하나를 계산해야 하므로, 큰 칩 전체를 돌리면 매우 느리다. 그래서 회로를 다시 써넣을 수 있는 칩(FPGA)이나 칩을 흉내 내는 전용 대형 장비에 설계를 올려 회로를 실제로 동작시키기도 한다. 훨씬 빠르다. 이 칩에서 돌아갈 소프트웨어를 미리 돌려 보고 둘이 잘 맞는지 볼 수 있을 만큼 빠르다. 그렇지 않으면 소프트웨어는 칩이 만들어져 돌아와야 시험을 시작할 수 있어 또 몇 달을 더 기다려야 한다.

6단계: 제시간에 도착하는가, 전력은 충분한가, 만들 수 있는가

앞에서 본 것은 ‘하는 일이 맞는가’다. 회로를 층층의 패턴(레이아웃)으로 배치한 뒤에도 확인할 것이 있다. 먼저 신호가 박자마다 제시간에 도착하는지 보는데, 팹에서 트랜지스터가 빠른 쪽, 느린 쪽으로 치우치는 여러 코너에서 모두 통과해야 한다. 외부에서 공급한 전기가 칩 곳곳에 닿을 때 전압이 너무 떨어지지 않는지, 전력을 너무 많이 쓰지 않는지도 본다. 패턴이 팹의 설계 규칙에 맞는지도 확인한다. 기능이 완벽한 회로라도 신호가 조금 늦거나 전압이 조금 낮으면 계산을 틀리고, 규칙에 맞지 않으면 만들 수 없다. 이런 검사는 대부분 설계 소프트웨어로 한다(EDA란?).

7단계: 사인오프, 테이프아웃

모든 검사를 확인한 이 관문을 흔히 사인오프(sign-off)라 한다. 이어서 최종 설계 파일을 팹에 넘기는 것이 테이프아웃이다(테이프아웃(tape-out)이란?). 그 뒤에 고치려면 포토마스크를 다시 만들어야 하므로 ‘여기까지’라는 분명한 선이 있어야 한다.

8단계: 칩이 나오면 실제로 다시 테스트한다

처음 만들어진 칩이 돌아오면 전용 보드에 장착하고 전원을 넣어 실제로 동작시킨다. 기능이 맞는지, 여러 전압과 온도에서 안정적인지, 소프트웨어와 잘 맞는지를 본다. 이를 포스트 실리콘 검증(post-silicon validation)이라 한다. 컴퓨터의 모델이 아무리 정밀해도 모델일 뿐이다. 어떤 문제는 실제 칩이 충분히 빠르게, 충분히 오래 돌아야 나타나고, 앞 단계에서 놓친 문제도 있다. 어려운 점은 칩 안의 신호선이 대부분 보이지 않아 바깥에서 결과만 볼 수 있다는 것이며, 그래서 원인을 찾기가 컴퓨터에서보다 훨씬 어렵다. 설계 오류를 찾으면 설계를 고쳐 다시 테이프아웃한다.

검증은 팹의 계측, 칩 테스트와 무엇이 다른가?

세 가지 모두 ‘맞는가’를 확인하지만, 확인하는 대상이 다르다.

칩 검증계측과 검사칩 테스트
무엇을 확인하나설계도가 맞는가중요한 공정 단계가 제대로 되었는가(예: 막 두께, 선폭)만들어진 이 칩이 불량인가
언제테이프아웃 전, 대부분 컴퓨터에서팹에서, 공정 도중에보통 웨이퍼 공정이 끝난 뒤와 패키징 뒤에 한 번씩, 모든 칩을
틀리면모든 칩이 똑같이 틀린다이 로트, 이 웨이퍼 몇 장에 문제가 생긴다불량인 그 칩을 골라낸다

집 짓기에 비유하면, 검증은 착공 전에 설계도를 검토하는 것이고, 계측은 짓는 동안 벽이 곧은지 재는 것이며, 테스트는 입주 전에 집마다 물과 전기를 켜 보는 것이다. 설계도가 틀리면 모든 집을 틀린 도면대로 짓는다. 설계도가 맞아도 어떤 집 하나는 잘못 지어질 수 있다. 계측과 테스트를 각각 어떻게 하는지는 ‘팹은 공정이 제대로 됐는지 어떻게 알까?’와 ‘칩은 어떻게 테스트할까?’를 참고하면 된다.

팹과 후공정 공장에서는 ‘검증’이 신제품이 만들어진 뒤의 신뢰성 시험 같은 다른 일을 가리키기도 한다. 이 글이 다루는 것은 설계 검증이다.

fab24hr에서는

게임에는 칩을 설계하거나 검증하는 역할이 없고, 메인 스토리 ‘칩의 일생’은 테이프아웃 뒤에서 시작한다. 처음 플레이하면 먼저 프롤로그 ‘테이프아웃’이 나온다. 보청기 칩 ‘Glowmere’의 설계가 끝나고 검사를 거쳐 팹으로 넘어가 포토마스크 한 세트가 된다.

챕터 1 ‘12장을 어떻게 나눌까’는 웨이퍼 투입 전날이다. 플레이어는 R&D 라인의 개발 PIE 엔지니어다. 같은 설계도라도 팹에서 만들면 반드시 편차가 생기므로, 초도 로트 12장 가운데 몇 장을 일부러 빠른 쪽, 느린 쪽으로 치우치게 만들어 설계가 실제 웨이퍼에서 버텨 내는지 본다. 챕터 10 ‘대기 전류’의 무대는 후공정 공장이다. 시니어 테스트 엔지니어 정 선배는 테스트 프로그램의 상한이 설계 시뮬레이션으로 정한 첫 버전이라고 말한다. 실제 칩이 돌아오자, 가장자리 한 바퀴가 마침 상한 근처에 걸려 있다.

게임 속 회사, 칩, 인물은 모두 가상이다. 검증 방식은 공개된 일반 자료를 바탕으로 썼으며, 회사마다 방식이 다르다. 다른 전문 용어는 ‘반도체 공장 전문 용어, 쉬운 말로 풀이’에서 찾아볼 수 있다.

게임에서 만나는 곳메인 스토리 ‘칩의 일생’을 처음 플레이하면 먼저 프롤로그 ‘테이프아웃’이 나온다. 보청기 칩 ‘Glowmere’의 설계가 끝나고 검사를 거쳐 팹으로 넘어가 포토마스크가 된다. 챕터 1 ‘12장을 어떻게 나눌까’에서는 R&D 라인에서 초도 로트 12장을 어떻게 나눌지 정한다. 일부러 빠른 쪽, 느린 쪽으로 치우치게 만들어 설계가 실제 웨이퍼에서 버텨 내는지 본다.

fab24hr의 메인 스토리 ‘칩의 일생’에서 설계는 이미 검사를 마치고 테이프아웃했다. 플레이어는 R&D 라인에서 이 설계가 처음 실제로 만들어질 때 버텨 내는지 지켜본다.

챕터 1부터 시작하기: 설계가 초도 로트에서 버텨 내는지 보기

선생님께: 이 글은 ‘수업에서 fab24hr 활용하기’ 페이지와 함께 수업에 쓸 수 있어요.

이 글 인용하기‘칩 검증이란? 테이프아웃 전에 설계가 맞는지 어떻게 확인할까’, fab24hr, 업데이트. https://fab24hr.com/ko/blog/chip-verification/
수업과 비영리 목적이라면 무료로 쓸 수 있어요. 화면에 띄우거나, 강의 자료에 넣거나, 학생들에게 인쇄해 나눠 줘도 괜찮아요. 출처(fab24hr)를 밝혀 주세요. 판매하거나 자기 작품으로 바꿔 내놓는 것은 안 돼요. 오류가 있다면 문제 신고

다른 글

이 사이트의 다른 페이지