들어가며
전자, IT 등 하이테크 산업의 근간이 되는 반도체는 현존하는 모든 최첨단 기술이 집약된 제품이라 해도 과언이 아니다. 이는 반도체를 생산하기 위한 공정, 장비, 소재 등 물리적인 영역뿐만이 아니라 설계·검증을 위한 소프트웨어 분야도 마찬가지이다. 반도체 설계·검증은 EDA(Electronic Design Automation) 도구들을 이용하여 많은 부분 자동화되었다. 시장 또한 성장세를 보이고 있는데 전세계 기준 2020년 11조원 규모에서 2027년까지 연평균 9.6% 성장하여 23조원에 이를 것으로 전망되고 있다.
반도체 산업은 글로벌 기업 간의 기술 및 투자 경쟁이 매우 치열한 분야이다. 이러한 경쟁에서 가장 중요한 요소는 Time-To-Market과 수율이다. 제품을 시장에 빨리 내놓을 수록 일종의 선점·독점 효과를 누리게 되며 양산 수율은 그대로 이익과 직결된다. 얼마나 빨리 제품을 생산해 경쟁력 있는 수율을 달성하는가에 모든 사활이 걸려 있는 것이다.
반도체 공정은 갈수록 미세화가 진행되어 메모리 용량이나 CPU 속도가 18개월마다 2배씩 증가한다는 무어의 법칙이 여전히 유효함을 보여주고 있다. 이렇게 집적도가 증가하면서 EDA 도구들이 처리해야 할 데이터의 양과 복잡도도 같이 증가하고 있으며 생산 가능한 설계(DFM : Design For Manufacturability)를 도출하는 것이 갈수록 어려워지고 있다. 이를 극복하고자 반도체 산업은 다양한 혁신을 시도하고 있으며 최신 IT 트렌드와도 큰 연관성이 있다.
반도체 설계 과정
반도체 설계 과정은 많은 부분에서 소프트웨어 개발과 유사하다. 반도체 칩의 사양(Specification)을 정하고 HDL(High-Level Description Language)로 불리는 프로그래밍 언어를 사용하여 칩의 동작 방식을 기술한다. HDL은 VHDL, Verilog, System C가 대표적이며 소프트웨어 개발용 프로그래밍 언어와 크게 다르지 않다. 이렇게 개발된 소스 코드는 컴파일러를 통하여 RTL(Register Transfer Level)로 변환되며 이는 일종의 IL(Intermediate Language) 혹은 목적 코드(Object Code)에 해당한다. RTL 코드는 최종적으로 넷리스트(Netlist)로 변환되는데 이는 반도체의 기본 소자인 게이트(Gate) 간의 연결 관계를 표현하는 것으로 결국 논리적인 회로도(Schematic)를 나타낸다. HDL에서 넷리스트로 변환하는 과정을 논리 합성(Logical Synthesis)이라고 한다.
논리 합성을 거쳐 생성된 넷리스트는 의도한 대로 동작하는지 검증 (Verification)하는 단계를 거친다. 검증이 완료된 넷리스트는 P&R(Placement & Route) 과정을 거쳐 물리적인 도면(Physical Layout) 으로 변환된다. P&R은 넷리스트 상의 단위 소자인 라이브러리(Library)를 배치(Placement)하고 핀(Pin)들이 연결되도록 배선 (Route) 하는데 이때 주어진 디자인 제약조건(Design Constraint)을 충족하는 배치와 배선 경로를 탐색해야 하기 때문에 매우 복잡한 문제를 풀어야 한다. 디자인 제약조건은 예를 들면 칩의 면적을 한정하거나 배선의 최대 길이를 제한하거나 하는 규칙들이다. 배선이 길면 핀 간 배선의 저항에 의해 전입이 떨어져 회로가 정상 동작을 하지 못하며 신호가 지연되어 타이밍 문제를 일으킨다.
P&R 과정을 거치면 물리적인 도면이 생성되며 이는 GDS(Graphics Design System) 형식의 파일로 저장되는데 이 과정을 물리 합성(Physical Synthesis)이라고 한다.
GDS 파일은 반도체의 물리적인 형상을 레이어(Layer)와 폴리곤(Polygon)을 이용하여 표현한다. GDS 파일은 70년대에 제정된 표준으로 현재는 OASIS라고 불리는 새로운 형식의 파일로 점차 대체되고 있지만 실무에서는 구분 없이 통칭하여 GDS라고 부른다. GDS 파일은 PDF와 같은 벡터 그래픽 파일과 유사한 형식이지만 베지에 곡선(Bezier Curve)이나 폰트(Font) 같은 복잡한 요소는 배제되고 Rectangle, Polygon, Path 같은 기본적인 도형 요소들로 구성된다. 이러한 요소들의 집합이 셀(Cell)이라고 불리는 단위로 정의되어 있으며 셀을 반복 배치하거나 계층으로 구성하여 작은 크기의 데이터로 복잡한 도면을 표현한다. 최신 반도체 칩의 경우 수 조개 이상의 폴리곤이 저장될 정도로 대용량인 경우가 많고 용량은 수백GB에 이르기도 한다. 때문에 이러한 파일을 처리하기 위해서는 Out-Of-Core 알고리즘에 대한 고려가 필요하며 효율적인 Spatial Acceleration 아키텍처를 설계하여 요소에 대한 접근을 최적화 해야 한다.
이렇게 생성된 GDS 파일은 DRC(Design Rule Check) 및 LVS(Layout vs. Schematic) 검증 과정을 거친다. DRC는 물리적인 형상이 만족해야 할 규칙을 검증하는 과정으로 예를 들면 Gate와 Metal이 Contact과 영역이 겹치는지 (따라서 물리적으로 접촉되었는지) 검사하는 규칙 등이 있다. LVS는 물리적인 형상으로부터 거꾸로 논리적인 회로 (Schematic)를 재건(Reconstruction)하여 원래의 회로와 같은지 검증하는 과정이다.
물리적인 설계 이후에는 생산 가능한 설계(DFM : Design For Manufacture)를 도출하기 위한 단계를 거친다. P&R을 통하여 산출한 도면은 웨이퍼 표면에 형성되어야 하는 타깃 패턴(Target Pattern)이며 실제로 웨이퍼에 이러한 타깃 패턴을 형성하는 것은 또 다른 험난한 과정이다.
웨이퍼 패터닝은 감광 물질(Photo resist)을 도포한 후 포토마스크라고 불리는 패턴이 새겨진 유리판에 빛을 통과시켜 빛을 받은 부분과 받지 못한 부분이 다르게 화학 반응을 하도록 현상하고 (Develop) 선택적으로 패턴을 녹여내는 에칭(Etching) 과정을 거쳐 생성된다. 이 때 빛의 회절 현상이나 포커스 값과 화학 반응의 정도에 따른 변수 등이 작용하여 의도한 패턴 형성을 방해하게 된다. 이러한 현상을 극복하기 위해서 OPC(Optical Proximity Correction) 같은 기법을 동원하여 타깃 패턴에 가깝게 형성되도록 하는 포토마스크 패턴을 역으로 계산하는 과정을 거치기도 한다.
양산에 들어가기 전 마지막 단계를 MTO(Mask Tape Out) 라고 하며 모든 검증이 완료된 후 생산에 들어간다. 양산 과정에서도 수율 확보를 위한 다양한 활동을 하는데 대표적인 예로 MI(Metrology & Inspection)를 들 수 있다. MI는 광학 현미경이나 SEM/TEM (Scanning/Transmission Electronic Microscope) 같은 전자 현미경을 동원하여 불량 발생을 모니터링 한다. 발견된 불량은 이물질이나 공정 외적인 요소로 인해 발생한 불량(Random Defect) 인지 설계상 취약점으로 인해 발생하는 불량(Systematic Defect) 인지 판별하고 근본 원인(Root Cause)에 대한 분석을 진행한다.
EDA 소프트웨어의 장벽
EDA 소프트웨어는 실로 오랜 역사를 가지고 있는 분야이다. 대표적으로 EDA 빅3로 불리는 시놉시스(Synopsys), 케이던스(Cadence), 지멘스EDA(구 Mentor Graphics)와 같은 회사는 30년 이상의 역사를 가지고 있다. EDA 소프트웨어를 개발하기 위해서는 반도체 산업에 대한 전문 지식이 필요하며 최고 수준의 소프트웨어 개발 역량도 갖춰야 한다. 또한 컴파일러 기술부터 Physical Layout을 처리하기 위한 Computational Geometry, 물리 시뮬레이션을 위한 광학이나 전자기학 등 실로 다양한 기술이 요구된다. EDA 빅3의 제품들은 오랜 기간 사용되면서 발전해왔고 반도체 산업의 표준 도구로 자리잡고 있다.
이러한 환경에서 후발 주자가 새로운 소프트웨어 제품을 보급하는 것은 쉬운 일이 아니다. 기술 격차를 극복하는 것도 어렵거니와 반도체 업체가 새로운 소프트웨어를 사용함으로써 발생하는 리스크를 감수할 이유가 없기 때문이다. 그렇기 때문에 EDA 분야의 신생 업체들은 새로운 혁신적인 기술을 기반으로 하는 경우가 많다. EDA 빅3는 이러한 매력적인 소규모 업체들을 인수하여 자사 제품에 반영함으로써 기술적 우위를 유지하는 전략을 사용하고 있다.
EDA 소프트웨어 트렌드
EDA 분야는 새로운 혁신적인 방식들을 도입해가면서 지속적인 발전을 이루고 있다. 전통적인 직선 위주의 포토마스크 패턴에서 곡선 형태(Curvilinear)의 패턴을 사용하여 해상도를 더욱 높이는 시도는 상용화가 머지 않은 기술이다. 포토마스크 제작은 크롬 코팅된 유리판에 레이저 빛을 이용하여 패턴을 새기는데 기존 방식으로는 복잡한 패턴의 마스크를 제작하는데 한계가 있었다. 보통 Manhattan Geometry라고 불리는 직각 패턴만 가능했으나 VSB(Variable Shaped Beam)나 Multi-Beam Mask Writer가 등장하면서 다양한 모양의 패턴을 마스크에 프린트하는 게 가능해졌다. 이에 따라 기존 직각 위주의 설계 방식에서 Any Angle 더 나아가 곡선 형태의 패턴을 지원하는 새로운 설계 방식이 연구되고 있다.
ILT(Inverse Lithography) 기술은 이러한 Curvilinear 마스크를 위한 가장 중요한 기술에 속한다. ILT는 OPC(Optical Proximity Correction) 방식 중 하나이다. Conventional한 OPC는 패턴의 Edge를 잘게 쪼개어 상하 좌우로 이동하거나 사각형 형태의 Assist Feature를 규칙 기반으로 삽입하여 회절에 의한 왜곡을 보정하는 방식으로 동작한다. 포토마스크에서 웨이퍼 표면으로 전사되는 이미지를 계산하는 것은 광학계를 수학적으로 표현하여 얻을 수 있다. 이를 Forward Function이라고 하며 ILT는 이 Forward Function의 Inverse Function을 구하려는 시도이다. ILT는 이미 구현되어 있는 기술이지만 매우 많은 연산을 필요로 하기 때문에 전체 칩(Full Chip ILT)에 적용하기보다는 국소적으로 패턴이 복잡한 곳에 사용하는 방식으로 활용되었다. 하지만 최근 GPU 클러스터를 기반으로 기존 OPC 수준의 처리 속도를 확보한 Full Chip ILT 기술이 등장하면서 Curvilinear 마스크 활용이 더욱 가까워지고 있다.
설계 과정 곳곳에서 AI를 활용하려는 노력도 지속되고 있다. 구글은 강화학습(Reinforcement Learning)을 P&R 및 Floor Planning에 적용한 결과를 발표하기도 하였으며 시놉시스, 케이던스에서도 딥러닝을 활용한 제품들이 출시되고 있다. 반도체 설계에 AI 활용이 점차 활성화 되면서 그에 필요한 데이터를 체계적으로 관리/분석하기 위한 플랫폼, 컴퓨팅 클러스터에 대한 요구사항도 지속적으로 증가하고 있다.
반도체 설계 과정에서는 실제 물리적인 공정을 그대로 표현하는 모델을 생성하여 주어진 설계에 대한 결과값을 예측하는 화이트 박스 모델링 기법을 주로 사용한다. 대표적으로 OPC에서는 포토마스크 패턴이 웨이퍼 표면에 형성되는 광학계를 모델링 하거나 감광 물질이 빛과 반응하는 과정, 에칭 과정을 모델링 하게 되는데 이러한 모델과 실제 물리적인 공정간의 오차를 줄이기 위해 테스트 패턴을 웨이퍼로 제작한 후 CD-SEM(Critical Dimension Scanning Electronic Microscope)으로 관측하여 오차를 보정(Calibration) 하는 과정을 거치게 된다. 이렇게 생성된 촬영 이미지는 주어진 공정 값에 대한 설계 패턴의 실제 물리적인 웨이퍼 형태를 표현하는 것으로 AI 활용 가능성이 큰 데이터이다.
또 하나의 중요한 트렌드는 오픈화이다. 오픈화 경향은 반도체 설계 자산에 대한 오픈화 및 반도체 설계 과정에 대한 오픈화가 모두 이루어 지고 있다. 대표적인 오픈 반도체 설계 자산은 RISC-V가 있다. RISC-V는 ARM, 인텔, AMD 등의 전유물이었던 CPU에 새로운 명령어 체계(Instruction Set Architecture) 및 설계 IP, 그에 따른 표준 공정들을 제공한다. 오픈소스 소프트웨어와 유사한 형태로 하드웨어 설계에서의 오픈화 시도이며 RISC-V 기반의 업체들이 활발하게 생겨나고 인수/합병도 이루어지고 있다. 또한 이에 대한 공정을 개발하기 위한 오픈소스 PDK(Process Development Kit)도 구글에 의해서 실험적으로 진행되고 있다. 오픈화 자산들은 반도체 제조의 진입 장벽을 낮추기 위한 꾸준한 노력을 통하여 오픈소스 소프트웨어처럼 중요한 역할을 할 것으로 기대된다.
HPC에 대한 요구사항도 중요한 문제이다. 반도체 설계가 갈수록 복잡해지고 이에 필요한 컴퓨팅 파워 및 스토리지 요구 사항도 지속적으로 증가하는 추세이다. 최신 칩 설계의 경우 OPC 과정을 수행하는데 수천 코어를 사용하여 수십 시간이 걸리기도 한다. 이러한 컴퓨팅 자원들을 효율적으로 관리하고 유지하는데 매우 큰 비용이 들어간다. 클라우드 전환은 자연스러운 것처럼 보이지만 사실 반도체 분야는 보안이 매우 중요하게 작용하고 있다. 자신의 설계 데이터가 클라우드에 업로드 되는 것을 고객들은 원하지 않는다. 보안 문제가 가장 큰 걸림돌이지만 그럼에도 불구하고 클라우드를 활용하는 움직임은 실제로 일어나고 있다. 주요 반도체 제조사들은 클라우드 상에서 설계/검증 할 수 있는 서비스를 제공한다.
마치며
반도체 산업이 많은 주목을 받고 있는 것에 비해 EDA 소프트웨어는 다소 생소한 분야이다. 하지만 갈수록 치열해지는 기술 경쟁 속에서 EDA 소프트웨어의 역할이 더욱 중요해지고 혁신적인 기술에 대한 요구도 높아지고 있다. 본 아타클을 통하여 EDA 소프트웨어에 대한 이해를 넓히고 그 속에서 다양한 관점과 인사이트를 얻을 수 있기를 기대해본다.
# References
- VLSI Physical Design: From Graph Partitioning to Timing Closure / 2011 / Springer
- https://github.com/google/skywater-pdk
- https://www.alliedmarketresearch.com/electronic-design-automation-software-market
김태균 프로
에스코어㈜ 소프트웨어사업부 기술그룹
Computational Geometry & Graphics 기반 역량과 반도체 도메인 지식을 바탕으로 다양한 EDA 관련 프로젝트를 진행하고 있습니다.
Register for Download Contents
- 이메일 주소를 제출해 주시면 콘텐츠를 다운로드 받을 수 있으며, 자동으로 뉴스레터 신청 서비스에 가입됩니다.
- 뉴스레터 서비스 가입 거부 시 콘텐츠 다운로드 서비스가 제한될 수 있습니다.
- 파일 다운로드가 되지 않을 경우 s-core_mktg@samsung.com으로 문의해주십시오.