디지털 회로 설계 과정에서 Netlist는 논리 회로와 물리적 레이아웃을 이어주는 핵심 연결 고리입니다. 시뮬레이션을 통해 기능 검증을 마친 HDL 코드가 Logic Synthesizer를 거쳐 게이트 수준(Gate-Level)의 Netlist로 변환되고, 이 Netlist는 실제 레이아웃 설계에 사용됩니다.
이번 글에서는 Netlist의 정의와 구성 방식, 그리고 디지털 레이아웃 자동화 툴에서 어떻게 활용되는지를 실무 중심으로 정리해봅니다.
1. Netlist란?
Netlist(네트리스트)는 회로 내의 논리 게이트, 셀, 블록 등의 연결 관계를 나열한 파일입니다. 쉽게 말해, 전자 회로에서 무엇이 무엇과 연결되어 있는지를 정의한 목록입니다.
- Logic Synthesizer는 시뮬레이션을 통과한 HDL 코드를 바탕으로 Netlist를 생성합니다.
- 이 Netlist는 설계자가 만든 논리 구조를 게이트 수준의 회로 구성으로 표현합니다.
예를 들어, 다음 Verilog Netlist는 간단한 AND 게이트 연결을 설명합니다:
AND2_2X U1 ( .Z(out1), .A(in1), .B(in2) );
이 의미는 다음과 같습니다:
U1
: 인스턴스 이름AND2_2X
: 두 입력을 갖는 AND 게이트 (출력 드라이브 강도 2배).A
,.B
,.Z
: 입력/출력 핀 이름
Netlist는 회로의 블루프린트 역할을 하며, Layout Tool이 물리적 배치와 배선을 진행하는 기준이 됩니다.
2. Netlist의 구조와 계층
Netlist는 계층적(hierarchical) 구조로 구성됩니다. 즉, 블록 안에 또 다른 하위 블록이 존재하는 모듈 기반 설계 방식을 따릅니다.
- Top Module: 회로의 최상위 모듈 (ex. 전체 시스템)
- Sub Module: 하위 기능 단위 (ex. ALU, Counter 등)
- Leaf Cell: 실제 셀 라이브러리에 있는 기본 논리 셀
이런 구조 덕분에:
- 설계 재사용이 용이하고
- 블록 단위 최적화가 가능하며
- 레이아웃 도구도 블록 기반 배치가 가능합니다.
Netlist는 단순한 나열이 아니라, 설계자의 의도를 계층 구조로 반영한 설계 지도입니다.
3. Netlist와 물리적 레이아웃의 연결
Netlist가 레이아웃 도구로 전달되면, 자동화 설계 흐름은 다음과 같은 과정을 거칩니다:
- Floorplanning: Netlist 상의 모듈 배치를 위한 공간 계획 수립
- Placement: 각 논리 셀을 실제 실리콘 위에 배치
- Routing: Netlist에서 정의된 연결(Net)을 기준으로 배선
이때 Netlist 정보는 다음과 같은 작업에 필수적입니다:
- 핀 정보를 통해 셀 간 연결선 배치
- 게이트 종류를 통해 셀의 크기, 형태 판단
- 드라이브 강도를 통해 버퍼 삽입 여부 판단
Netlist가 부정확하거나 누락되면, DRC 오류나 LVS 불일치가 발생할 수 있습니다.
4. 실무에서 자주 발생하는 Netlist 이슈
Netlist는 자동 생성되지만, 다음과 같은 오류가 자주 발생합니다:
- Unconnected Net: 연결이 빠진 핀 존재 → 시뮬레이션 실패 or LVS 오류
- Instance Name 중복: 두 셀이 같은 이름 → 툴이 충돌하거나 인식 오류 발생
- 포맷 오류: 도구마다 요구하는 문법이나 포맷이 달라 오류 발생 가능
- 라이브러리 미일치: Netlist에 사용된 셀이 라이브러리에 없거나 버전이 다름
따라서 다음을 반드시 확인해야 합니다:
- 생성된 Netlist 파일을 텍스트 에디터로 직접 열어보기
- Gate-level 시뮬레이션으로 동작 확인
- 레이아웃 도구의 LVS 결과 비교
Netlist는 자동화 설계의 출발점이지만, 실무자는 항상 사람이 직접 검토하는 과정을 거쳐야 합니다.
한 줄 요약
"Netlist는 논리 설계의 청사진이며, 레이아웃 도구를 움직이는 설계의 뼈대다."
다음 글 예고
👉 [Chapter1. Digital Layout] 드라이브 강도와 버퍼 셀: 신호 품질을 지키는 핵심 개념
드라이브 강도(Drive Strength)란 무엇이며, 왜 논리 셀마다 출력 능력이 다른지, 그리고 신호 품질을 유지하기 위해 버퍼 셀이 어떻게 쓰이는지 알아봅니다.