칩 설계 추상화 계층 완벽 이해: 시스템부터 레이아웃까지
Verilog 언어 세부 사항을 다루기 전에, 칩 설계의 추상화 계층을 이해하는 것이 필수입니다. 각 계층은 다른 세부 수준에서 설계를 바라봅니다.
추상화 계층 피라미드
1. 시스템 레벨 아키텍처 (최상위)
기능별로 서브 블록을 그룹화하고 최상위 블록으로 캡슐화합니다. 예: 프로세서 클러스터(멀티 코어, 캐시, 코히어런스 로직)를 단일 블록으로 표현, 입출력 신호만 노출.
2. RTL / 행동 모델링 (Hardware Description Language)
각 서브 블록의 기능을 Verilog/VHDL로 기술합니다. 회로도, 기술 라이브러리 등 저수준 구현은 무시합니다. 컨트롤러 블록이 여러 Verilog 파일로 분해되어 각기 다른 기능을 구현합니다.
3. 게이트 레벨 넷리스트 (Logic Synthesis 결과)
HDL이 조합 게이트·플립플롭 등 기술 라이브러리 셀로 변환된 상태입니다. 예: D 래치는 NAND 게이트 조합으로 구현되며, 진리표 → 불 대수 → K-맵 → 회로도 유도 가능하지만 복잡한 블록(프로세서 등)에는 비현실적입니다.
4. 트랜지스터 레벨 (Circuit Design)
NAND 게이트를 CMOS 트랜지스터로 구현합니다. 트랜지스터 채널 폭(W/L), Vdd, 출력 커패시턴스 드라이브 능력 등 아날로그적 특성을 고려합니다.
5. 물리 레이아웃 (Physical Design / GDSII)
트랜지스터를 실리콘 위에 배치·배선합니다. 레이아웃에 따라 기생 저항/캐패시턴스, 매칭, 래치업 내성 등이 달라지므로 공정/소자 지식이 필요합니다. EDA 도구(Calibre 등)로 DRC/LVS 검증 후 마스크 데이터 생성.
설계 방법론: 탑다운 vs 보텀업
| 방법론 | 특징 | 적용 단계 |
| 탑다운 (Top-Down) |
최상위 블록 정의 → 서브 모듈 분해 → 리프 셀까지 재귀적 분해 |
아키텍처 → RTL 설계 단계 |
| 보텀업 (Bottom-Up) |
가용 빌딩 블록 식별 → 조합해 상위 블록 구성 → 최상위까지 구성 |
표준 셀 라이브러리 개발, IP 통합 단계 |
실제로는 혼합 플로우 사용
아키텍트는 탑다운으로 시스템 뷰 정의, 설계자는 각 기능 블록 RTL 구현 → 합성(탑다운). 하지만 표준 셀 자체는 보텀업으로 개발됨(트랜지스터 레이아웃 최적화 → 회로도 → 타이밍/파워 라이브러리 추출 → 합성 도구가 셀 선택). 이 둘이 합성 단계에서 만납니다.
요약
- 추상화 계층을 알면 "어느 수준에서 작업 중인가?"를 항상 인지 가능
- RTL 설계자는 게이트/트랜지스터 세부사항을 몰라도 되지만, 합성 결과가 어떻게 나올지 직관 필요
- 검증은 각 계층에서 수행: RTL 시뮬 → 게이트 시뮬(백어노테이트) → 실리콘 검증