EDA란? 칩을 설계하는 소프트웨어는 단계마다 무엇을 할까
EDA는 전자 설계 자동화(electronic design automation)의 줄임말로, 칩 설계에 쓰는 컴퓨터 소프트웨어 일체를 말한다. EDA 툴, 칩 설계 소프트웨어라고도 한다. 칩은 팹에 들어가기 전에 먼저 컴퓨터에서 설계를 마치고 여러 번 검사해야 한다. 회로가 할 일을 적는 단계부터 포토마스크를 만들도록 넘기는 단계까지, 단계마다 한 종류의 소프트웨어가 일을 맡는다. 회로 기판 설계에도 EDA를 쓰지만, 이 글에서는 칩만 다룬다.
설계의 흐름은 ‘칩은 어떻게 설계할까?’에서 다뤘다. 이 글에서는 각 단계에서 어떤 종류의 소프트웨어를 쓰고, 그 소프트웨어가 사람 대신 무엇을 하는지 다룬다.
왜 손으로 그릴 수 없을까?
아주 오래전에는 칩 하나에 트랜지스터가 수천 개뿐이어서, 도면을 정말로 사람이 한 획씩 그렸다. 1970년대쯤 트랜지스터가 너무 많아져 더는 손으로 그릴 수 없게 되자, 컴퓨터가 자동으로 배치하고 배선하는 소프트웨어가 나오기 시작했다.
지금은 휴대폰 칩 하나에 트랜지스터가 백억 개 넘게 있다. 100억 개뿐이라고 해도, 1초에 하나씩 먹지도 자지도 않고 그린다면 300년이 넘게 걸린다. 다 그린 뒤에는 모든 선이 너무 가깝지 않은지, 모든 신호가 제때 도착하는지 검사해야 하는데, 이것은 사람이 더더욱 다 해낼 수 없다.
소프트웨어가 스스로 칩을 설계할까?
그렇지 않다. 칩이 무엇을 할지, 얼마나 빠를지, 전력을 얼마나 아낄지는 사람이 정한다. 엔지니어가 소프트웨어에 목표를 알려 주면, 예를 들어 ‘한 박자에 최대 얼마의 시간을 쓸 수 있는지’(칩은 일정한 박자에 맞춰 동작하는데, 이 박자를 클럭이라고 한다)를 알려 주면, 소프트웨어는 이 제약 안에서 방법을 찾아 보고서를 낸다. 어딘가가 기준에 맞지 않으면, 엔지니어가 그 원인을 이해하고 고친 뒤 다시 돌린다.
소프트웨어는 계산을 아주 잘하는 조수와 같다. 빠르고 지치지 않지만, 칩이 무엇에 쓰이는지는 모른다.
설계의 각 단계에서는 어떤 소프트웨어를 쓸까?
앞의 그림에서 1단계의 사양은 사람이 정한다. 아래에서는 동작을 기술하는 단계부터 세며, ‘검사’를 두 단계로 나누고, 마지막에 포토마스크를 만들기 전의 보정을 더했다.
1단계: 동작 기술하기(하드웨어 기술 언어)
엔지니어는 하드웨어 기술 언어(HDL)로 회로가 할 일을 글로 적는다. 글로 적는 이유는 ‘한 박자마다 이 두 수를 더한다’는 한 줄이면 쓸 수 있지만, 트랜지스터로 그리면 넓은 면적을 차지하기 때문이다. 잘못 적으면 뒤의 소프트웨어는 잘못된 대로 만들 뿐이므로, 다음 단계에서 검증해야 한다.
2단계: 시뮬레이션과 검증(시뮬레이터)
시뮬레이터는 회로가 이미 만들어진 것처럼 컴퓨터에서 흉내 내며, 갖가지 입력을 넣어 출력이 사양과 같은지 본다. 컴퓨터에서 시험하면 글자 한 줄만 고쳐 다시 시험할 수 있지만, 칩을 실제로 한 번 만들면 몇 달이 걸린다. 오류가 테이프아웃까지 그대로 넘어가면 설계를 고치고 포토마스크를 다시 만들어야 한다(‘칩 검증이란?’).
3단계: 논리 게이트로 합성하기(합성 툴)
합성 툴은 기술해 둔 동작을 논리 게이트를 연결한 회로로 옮긴다(‘논리 게이트란?’). 이때 쓰는 것이 셀 라이브러리다. 셀 라이브러리는 이 세대 공정에 맞춰 미리 만들어 둔 갖가지 작은 블록으로, 논리 게이트도 있고 0이나 1을 기억하는 작은 회로(플립플롭 같은 것)도 있다. 블록마다 얼마나 빠른지, 전력을 얼마나 쓰는지를 회로 시뮬레이션으로 미리 계산해 표로 저장해 둔다. 같은 일을 하는 연결 방법은 여러 가지여서, 소프트웨어는 표를 찾아 비교하며 속도, 면적, 전력 사이에서 목표에 맞는 것을 고른다. 사람이 하나하나 연결해서는 다 연결할 수도 없고, 어느 쪽이 나은지 비교할 수도 없다.
4단계: 배치와 배선(배치·배선 툴)
이 종류의 소프트웨어는 논리 게이트를 칩 안에 배치하고, 클럭을 칩 구석구석까지 보내고, 여러 층의 배선 속에 선을 이어, 층마다 도형을 만든다. 이를 레이아웃이라고 한다. 배치를 잘하는 것이 중요하다. 선이 길수록 신호는 느려지고 전력도 더 쓴다. 배치가 나쁘면 선이 지나갈 길이 없거나 신호가 제때 도착하지 못해, 처음으로 돌아가 다시 배치해야 한다.
5단계: 타이밍과 전력 검사(타이밍 분석, 전력 분석)
먼저 레이아웃에서 모든 선의 저항과 커패시턴스를 계산한 뒤, 타이밍 분석으로 모든 경로의 가장 느린 경우를 계산한다. 매 박자마다 신호는 다음 박자 전에 도착해야 한다. 입력을 하나하나 주어 시험할 필요 없이 모든 경로를 한 번에 계산하며, 빠르게 치우친 경우와 느리게 치우친 경우의 코너, 온도가 높은 경우와 낮은 경우를 각각 따로 계산해야 한다. 전력 분석은 이 칩이 전기를 얼마나 쓰는지, 전원선의 전압이 너무 많이 떨어지지 않는지 계산한다. 전압이 너무 많이 떨어지면 회로가 느려지고, 심하면 오동작한다.
6단계: 만들 수 있는지, 잘못 그리지 않았는지 검사(규칙 검사, LVS)
규칙 검사 소프트웨어는 레이아웃의 모든 도형을 팹의 설계 규칙과 하나하나 비교한다. 예를 들어 두 선이 얼마나 가까이 있어도 되는지 같은 규칙이다. 또 다른 소프트웨어는 레이아웃에서 거꾸로 회로를 추출해 원래 회로와 비교한다(LVS). 도형이 사람이 다 볼 수 없을 만큼 많아서, 칩 전체를 비교할 수 있는 것은 소프트웨어뿐이다. 규칙을 어기면 실제로 만들었을 때 단락이나 단선이 생길 수 있고, 연결이 하나만 잘못되어도 칩은 설계대로 동작하지 않는다.
7단계: 테이프아웃(레이아웃 파일 넘기기)
모든 검사를 통과하면 층마다 도형을 파일로 저장해 팹에 넘기는데, 이를 테이프아웃이라고 한다(‘테이프아웃(tape-out)이란?’). 마스크 숍은 이 파일대로 포토마스크를 만들므로, 테이프아웃한 뒤에 고치고 싶으면 포토마스크를 다시 만들어야 한다.
8단계: 포토마스크를 만들기 전의 보정(OPC)
파일이 포토마스크를 만드는 쪽에 넘어가면, 또 한 종류의 소프트웨어로 가장 미세한 층들의 도형을 일부러 고친다. 이를 광 근접 보정이라고 한다(‘OPC란?’). 칩 위의 선이 노광에 쓰는 빛의 파장보다도 가늘어서, 원래 도형 그대로 찍으면 모서리가 둥글어지고 선 끝이 짧아진다. 고치지 않으면 찍힌 선이 서로 이어지지 않을 수 있다.
실제로는 한 단계를 고치면 뒤의 단계를 다시 돌려야 하는 경우가 많아, 여러 번 오가게 된다.
팹의 규칙은 어떻게 설계 소프트웨어에 들어갈까?
설계 소프트웨어는 어느 팹의 어느 세대 공정이 얼마나 미세하게 만들 수 있는지 스스로 알지 못한다. 팹은 이런 내용을 파일 일체로 정리해 설계자에게 넘기는데, 이를 흔히 공정 설계 키트(PDK)라고 한다. 소프트웨어가 읽는 설명서와 같다.
- 설계 규칙과 검사용 규칙 파일: 6단계의 규칙 검사 소프트웨어가 쓴다.
- 트랜지스터 모델: 전압을 얼마나 걸면 전류가 얼마나 흐르는지 나타내는 수식으로, 시뮬레이션 소프트웨어가 쓴다. 보통 중간값과 함께, 빠르게, 느리게 치우친 몇 가지 코너가 있다.
- 층별 자료: 배선이 몇 층인지, 각 층이 얼마나 두꺼운지. 배치·배선과 저항·커패시턴스 계산에 쓴다.
- 셀 라이브러리: PDK에 들어 있을 때도 있고, 다른 곳에서 이 세대 공정에 맞춰 따로 만들 때도 있다.
모델은 팹이 실제로 만든 테스트 구조를 측정해 맞춰 놓은 것이다. 모델이 정확하지 않으면, 소프트웨어가 아무리 꼼꼼하게 계산해도 실제로 만든 결과는 다르게 나온다.
왜 그렇게 많은 컴퓨터가 함께 계산해야 할까?
- 대상이 많다: 백억 개가 넘는 트랜지스터, 그 모든 선을 계산해야 한다.
- 경우가 많다: 빠름과 느림, 저온과 고온, 높고 낮은 전압, 모든 조합을 각각 계산한다.
- 고치면 다시 계산한다: 한 곳을 고치면 타이밍과 규칙을 다시 계산해야 하는 경우가 많다.
그래서 칩을 설계하는 곳에는 이런 소프트웨어만 돌리는 컴퓨터가 대규모로 있는 경우가 많고, 일 하나를 여러 대에 나눠 함께 계산한다. 트랜지스터 하나하나까지 계산하는 회로 시뮬레이션은 가장 정확하지만 가장 느려서, 대개 작은 회로 블록에만 쓴다. 칩 전체는 표를 찾아 계산하는 방법으로 바꿔야 끝까지 계산할 수 있다.
아날로그 회로도 소프트웨어가 자동으로 그릴까?
대부분은 그렇지 않다. 디지털 회로는 높이가 같은 작은 블록으로 나눠 소프트웨어가 배열하게 할 수 있다. 아날로그 회로는 소리나 전압처럼 연속적으로 변하는 신호를 다루며(‘아날로그 칩과 디지털 칩은 무엇이 다를까?’), 트랜지스터 하나하나의 크기와 위치가 결과에 영향을 준다.
그래서 아날로그 회로는 대부분 그림을 그리는 종류의 소프트웨어를 쓴다. 엔지니어가 회로도를 그리고, 회로 시뮬레이션을 거듭 돌리며 조정한다. 레이아웃도 한 획씩 그리는 경우가 많다. 다 그린 뒤에는 마찬가지로 규칙 검사와 LVS를 통과해야 한다. 자동으로 그리는 툴도 발전하고 있지만, 아직은 경험에 크게 기댄다.
fab24hr에서는
게임에는 칩을 설계하는 역할이 없다. 메인 스토리 ‘칩의 일생’은 테이프아웃 이후부터 시작한다. 프롤로그 ‘테이프아웃’에서는 보청기 칩 ‘Glowmere’의 설계가 팹에 넘어가 포토마스크 한 세트로 만들어진다.
챕터 1 ‘12장을 어떻게 나눌까’에서 나는 R&D 라인의 개발 PIE 엔지니어다. 게임에서는 소프트웨어가 어떻게 계산하는지 볼 수 없다. 이 챕터에서는 초도 로트 12장 중 어느 웨이퍼를 일부러 빠르게, 느리게 치우치도록 만들지 정해, 설계 때 모델로 계산한 코너를 실제로 만들어 보고 설계가 버텨 내는지 확인한다. 챕터 10 ‘대기 전류’의 무대는 후공정 공장이다. 테스트 프로그램의 상한은 설계 시뮬레이션을 바탕으로 정한 첫 버전인데, 웨이퍼 가장자리를 한 바퀴 두른 칩들이 공교롭게도 상한 근처에 걸려 있다. 계산한 것과 실제로 만든 것이 늘 같지는 않다.
게임 속 회사, 칩, 인물, 숫자는 모두 가상이다. EDA가 하는 일은 공개된 일반 자료를 바탕으로 썼으며, 회사마다 방식은 다르다. 다른 전문 용어는 ‘반도체 공장 전문 용어, 쉬운 말로 풀이’에서 찾아볼 수 있다.
게임에서 만나는 곳게임에서는 설계 소프트웨어를 볼 수 없다. 메인 스토리 ‘칩의 일생’ 챕터 1 ‘12장을 어떻게 나눌까’에서는 R&D 라인에서 초도 로트 12장 중 어느 웨이퍼를 일부러 빠르게, 느리게 치우치도록(코너) 만들지 정해, 설계가 버텨 내는지 본다. 챕터 10 ‘대기 전류’에서는 테스트 프로그램의 상한이 설계 시뮬레이션을 바탕으로 정한 첫 버전이다.
fab24hr의 메인 스토리 ‘칩의 일생’에서 설계는 이미 컴퓨터로 계산을 마치고 테이프아웃되었다. 나는 R&D 라인에서, 실제로 만들어진 칩이 버텨 내는지 지켜본다.
챕터 1부터 시작해 설계 때 계산한 코너를 실제로 만들어 보기선생님께: 이 글은 ‘수업에서 fab24hr 활용하기’ 페이지와 함께 수업에 쓸 수 있어요.
이 글 인용하기‘EDA란? 칩을 설계하는 소프트웨어는 단계마다 무엇을 할까’, fab24hr, 업데이트. https://fab24hr.com/ko/blog/what-is-eda/
수업과 비영리 목적이라면 무료로 쓸 수 있어요. 화면에 띄우거나, 강의 자료에 넣거나, 학생들에게 인쇄해 나눠 줘도 괜찮아요. 출처(fab24hr)를 밝혀 주세요. 판매하거나 자기 작품으로 바꿔 내놓는 것은 안 돼요. 오류가 있다면 문제 신고
다른 글
칩 검증이란? 테이프아웃 전에 설계가 맞는지 어떻게 확인할까
테이프아웃(tape-out)이란? 칩 설계를 넘긴 뒤에는 무슨 일이 일어날까
후면 전력 공급이란? 칩의 전원선을 왜 웨이퍼 뒷면으로 옮길까
메모리 월이란? 칩은 빨리 계산하는데 왜 데이터는 제때 오지 못할까
이 사이트의 다른 페이지
- fab24hr란?: 두 가지 플레이 방식, 네 가지 근무, 자주 묻는 질문, 자료 출처
- 칩의 일생: 칩 하나가 테이프아웃, 시생산, 양산, 웨이퍼 테스트, 패키징을 거쳐 출하되기까지 단계마다 하는 일
- 반도체 공장 엔지니어의 하루: PE, EE, PIE, 제조부의 역할 분담과 하루 타임라인
- 반도체 공장에는 누가 있을까: 기술자, 제조부, 공정, 장비, 인프라, PIE, 품질, 생산관리, 마스크, 개발, 팀장, 장비사부터 후공정 공장의 테스트와 패키징까지, 직무별 하루
- 반도체 공장 전문 용어, 쉬운 말로 풀이: MO, Hold, Q-time, OCAP 같은 전문 용어를 한 줄씩 쉬운 말로
- 반도체 입문: 칩의 일생 따라가기: 반도체 입문 강의: 칩의 일생을 따라가는 그림 강의 노트, 슬라이드, 필독 글, 3D 장비, 토론 질문(독학·수업용)
- 분해해서 보는 반도체 공장 장비: 반도체 장비 31종이 하는 일(식각 장비, 노광 장비, CMP, OHT, 몰딩 장비…), 모두 3D 모델로 분해해 보기
- 수업에서 fab24hr 활용하기: 반도체 수업 지도안: 20/40분 수업 흐름, 한 챕터·한 구역 한 차시 수업(3D 장비, 게임, 글), 토론 질문, 활동지, 선생님들이 자주 묻는 질문
- 소개 및 미디어 자료: 홍보 영상, 게임 화면, 소개 문구와 기본 정보