ASIC 설계 플로우 완벽 가이드: 요구사항부터 양산까지
일반적인 ASIC(Application Specific Integrated Circuit) 설계 플로우는 여러 단계로 구성되며, 일부는 병렬로, 일부는 순차적으로 진행됩니다. 업계에서 통용되는 전형적인 프로젝트 설계 사이클을 단계별로 살펴봅니다.
1. 요구사항 분석 (Requirements)
반도체 기업의 고객은 보통 해당 칩을 자사 시스템/제품에 탑재할 타 기업입니다. 고객 요구사항을 수집하고, 최종 제품의 시장 가치를 추정하며, 프로젝트에 필요한 리소스(인력, 일정, 예산)를 평가합니다.
2. 사양 정의 (Specifications)
칩의 기능, 인터페이스, 전체 아키텍처를 추상적으로 기술하는 사양서를 작성합니다. 예시:
- VR 지원을 위한 이미징 알고리즘 연산 성능 요구
- ARM Cortex-A53 2개, 코히어런트 인터커넥트, 600MHz 동작
- USB 3.0, Bluetooth, PCIe 2세대 인터페이스 탑재
- 1920×1080 디스플레이 컨트롤러 지원
3. 아키텍처 설계 (Architecture)
시스템 레벨에서 칩 동작 방식을 정의합니다. 필요한 서브 블록, 클럭 주파수, 전력/성능 타겟, 데이터 플로우(예: 프로세서가 시스템 RAM에서 이미징 데이터 패치, 그래픽 엔진이 이전 배치 후처리 데이터 처리 등)를 결정합니다.
4. 디지털 설계 (Digital Design / RTL Coding)
현대 칩의 복잡도상 모든 것을 트랜지스터부터 설계할 수 없으므로, Verilog/VHDL 같은 HDL로 행동적 모델링(RTL, Register Transfer Level)을 수행합니다. 검증된 IP(예: FlexCAN)를 라이선스하거나 직접 구현하며, 디지털 설계자는 하드웨어 지식을 갖춘 고수준 프로그래머 역할을 합니다.
5. 기능 검증 (Functional Verification)
RTL이 사양대로 동작하는지 EDA 시뮬레이터로 검증합니다. 설계팀이 RTL 버전을 릴리스하면 검증팀이 테스트벤치와 테스트케이스를 개발해 병렬로 검증하며, 실패 시 버그 리포트를 설계팀에 전달해 다음 RTL 릴리스에서 수정합니다. 기능적 확신이 들 때까지 반복합니다.
6. 논리 합성 (Logic Synthesis)
검증된 RTL을 게이트 레벨 넷리스트(조합 게이트·플립플롭 및 연결)로 변환합니다. 합성 도구는 타이밍, 면적, 파워 제약을 만족하도록 기술 라이브러리(파운드리 제공 표준 셀)에서 최적 셀을 선택·배치합니다.
// 합성 후 넷리스트 예시
and_2_0 u_and2_0 (.in_a(_net_112), .in_b(_net_56), .out(_net_222));
ff_lt u_ff_lt_122 (.d(_net_222), .clk(_net_11), .q(_net_76));
7. 논리 동등성 검사 (Logic Equivalence Checking, LEC)
게이트 레벨 넷리스트가 원본 RTL과 논리적으로 동등한지 수학적으로 증명합니다. 게이트 레벨 시뮬레이션(백어노테이트 지연 포함)도 병행해 타이밍 검증을 보강합니다.
8. 배치 및 배선 (Place & Route, PnR)
넷리스트를 물리 레이아웃으로 변환합니다. 표준 셀을 행에 배치, I/O 볼 맵 정의, 메탈 레이어 생성, 타이밍 충족을 위한 버퍼 삽입 등을 수행합니다. 완료된 레이아웃(GDSII)은 파운드리로 전송되어 팹리케이션됩니다. Cadence Innovus, Synopsys IC Compiler II 등이 대표 도구입니다.
9. 실리콘 검증 (Post-Silicon Validation)
파운드리(TSMC, GlobalFoundries 등)에서 샘플 칩을 받아 테스터에서 패턴을 돌리며 검증합니다. 프리실리콘 검증보다 내부 노드 가시성이 낮고, 수백만 클럭 사이클이 1초에 지나가므로 디버깅이 극도로 어렵습니다. 치명적 버그 발견 시 RTL 수정 → 재검증 → 전체 플로우 재수행(리스핀)의 악순환이 발생하므로 프리실리콘 단계에서 철저한 검증이 필수입니다.
핵심 성공 요인
- RTL 최적화와 검증에 전체 공정의 70~80% 리소스 집중
- EDA 도구 자동화에만 의존하지 않고 설계자의 의식적 판단 개입
- 초기 아키텍처 단계에서 전력/타이밍/면적 트레이드오프 명확히 정의
- IP 재사용 전략 수립(자체 개발 vs 라이선스 vs 오픈소스)