macOS 환경에서의 Verilog 시뮬레이션: Icarus Verilog부터 VS Code VCD 뷰어까지 완벽 가이드
🖥️ macOS Verilog 개발환경 완벽 구축 가이드 (2026)
Icarus Verilog · Verilator · VS Code 파형 분석까지, 맥북에서 바로 시작하는 하드웨어 설계
macOS는 유닉스 기반의 강력한 개발 환경을 제공하지만, EDA(Electronic Design Automation) 툴 시장에서는 윈도우나 리눅스보다 선택지가 좁습니다. 하지만 오픈소스 생태계를 활용하면 Icarus Verilog, Verilator 같은 강력한 시뮬레이션 환경을 별도의 복잡한 설정 없이 완벽하게 구축할 수 있습니다. 이 가이드에서는 Apple Silicon(M1/M2/M3/M4) 맥북에서 네이티브로 동작하는 하드웨어 설계 환경을 단계별로 소개합니다.
⚡ 1. Icarus Verilog — macOS 표준 Verilog 시뮬레이터
Icarus Verilog(iverilog)는 가장 널리 사용되는 오픈소스 Verilog 시뮬레이터입니다. IEEE 1364 규격을 준수하며, SystemVerilog의 일부 기능도 지원합니다. 학계와 개인 프로젝트에서 사실상 표준으로 자리잡은 툴이며, Homebrew를 통해 명령 한 줄이면 설치가 끝납니다.
📦 설치 방법
Xcode Command Line Tools가 설치되어 있다면, 터미널에서 아래 명령어 하나로 완료됩니다.
$ brew install icarus-verilog
🔄 컴파일 → 실행 2단계 흐름
iverilog는 컴파일 단계와 시뮬레이션 실행 단계가 분리되어 있습니다. 이 구조 덕분에 한 번 컴파일한 결과물을 여러 번 반복 실행할 수 있어 디버깅이 편리합니다.
STEP 1 — 컴파일
iverilog -o dsgn test_bench.v design.v
STEP 2 — 실행
vvp dsgn
🛠️ 자주 쓰는 옵션 정리
| 옵션 | 설명 |
|---|---|
| -o [파일명] | 컴파일 결과물의 출력 이름 지정 |
| -g2012 | SystemVerilog 기능 활성화 (최신 문법 필수) |
| -Wall | 모든 경고 표시 — 잠재적 버그 사전 방지 |
| -I [경로] | include 파일 디렉토리 경로 지정 |
| -s [모듈명] | 최상위(Top-level) 모듈 명시적 지정 |
🔧 2. macOS 무료 시뮬레이션 툴 — 2026년 추천 조합
과거에는 GTKWave가 파형 뷰어의 표준이었지만, 최신 macOS(Apple Silicon)에서는 XQuartz 의존성 때문에 설치가 번거롭고 UI가 불안정합니다. 2026년 현재, 별도의 튜닝 없이 가장 안정적으로 동작하는 조합을 소개합니다.
🚀 Verilator
C++ 기반 고속 시뮬레이터
대규모 설계에서 iverilog보다 수십 배 빠른 속도를 자랑합니다. Linting(코드 정적 분석) 기능이 뛰어나 팀 협업 시 코드 품질 관리에도 유용합니다.
brew install verilator
🌊 Surfer
Rust 기반 현대적 파형 뷰어
최근 각광받는 독립 실행형 VCD 뷰어입니다. XQuartz 설치 불필요, macOS 네이티브로 매끄러운 UI를 제공하며 GTKWave의 완벽한 대체재로 자리잡고 있습니다.
brew install surfer
💡 iverilog vs Verilator, 언제 뭘 쓸까?
| 비교 항목 | Icarus Verilog | Verilator |
|---|---|---|
| 속도 | 보통 | 매우 빠름 ⚡ |
| 학습 난이도 | 쉬움 ✓ | 중간 |
| Testbench 작성 | Verilog 그대로 | C++ Wrapper 필요 |
| 추천 용도 | 학습, 소규모 설계 | 대규모, 성능 중시 |
📊 3. VS Code Extension으로 파형 분석하기
별도 프로그램 없이 VS Code 안에서 바로 VCD 파형을 확인하는 것이 가장 효율적인 워크플로우입니다. 코드 수정과 파형 확인을 하나의 에디터에서 할 수 있어 컨텍스트 스위칭 비용이 사라집니다.
✅ 추천 확장: WaveTrace / TerosHDL
→ VS Code 마켓플레이스에서 WaveTrace 또는 TerosHDL 검색 후 설치
→ .vcd 파일을 에디터에서 클릭하면 즉시 파형 렌더링
→ TerosHDL은 파형 외에도 문서 자동 생성, FSM 시각화 등 부가 기능 제공
⚠️ 참고: GB 단위의 대용량 VCD 파일에서는 로딩이 느려질 수 있으며, 일부 무료 버전에서는 아날로그 파형 표시 등 고급 기능에 제한이 있을 수 있습니다.
📝 4. VCD 파형 덤프를 위한 Testbench 코드 작성법
시뮬레이션 결과를 파형으로 확인하려면 Testbench의 initial 블록 안에 파형 추출용 시스템 태스크를 삽입해야 합니다. 이 부분을 빠뜨리면 시뮬레이션은 돌아가지만 파형 파일이 생성되지 않으니 꼭 확인하세요.
initial begin $dumpfile("test_out.vcd"); // 생성될 VCD 파일 이름 $dumpvars(0, tb_top); // 덤프 범위 지정 end
🔍 $dumpvars 파라미터 이해하기
| 인자 | 값 | 의미 |
|---|---|---|
| 첫 번째 (Level) | 0 | 해당 모듈 + 모든 하위 계층 신호 기록 (가장 많이 사용) |
| 1 | 해당 모듈의 신호만 기록, 하위 계층 무시 | |
| 두 번째 (Scope) | tb_top | 덤프 시작점이 될 최상위 인스턴스 이름 |
💡 팁: 디버깅할 때는 Level을 0으로 설정해서 전체 신호를 먼저 확인하고, 파일 크기가 너무 커지면 필요한 모듈만 선택적으로 덤프하는 전략이 효율적입니다.
🏢 5. Synopsys · Cadence 상용 EDA 툴의 macOS 지원 현황
결론부터 말하면, Synopsys(VCS, Design Compiler)나 Cadence(Xcelium, Genus) 같은 상용 EDA 툴은 macOS를 공식 지원하지 않습니다. 이 툴들은 매우 엄격한 하드웨어 인증 환경을 요구하며, Red Hat Enterprise Linux(RHEL) 기반 서버 환경에서만 동작하도록 빌드됩니다.
macOS에서 상용 툴을 사용해야 한다면?
→ Docker로 리눅스 컨테이너 환경 구축
→ 클라우드 서버(AWS, GCP 등)에 SSH/X11 포워딩으로 원격 접속
→ 단, 이 방법들은 추가 설정이 필요하므로 개인 학습용에는 오픈소스 조합이 훨씬 효율적입니다.
🎯 최종 추천 워크플로우
Apple Silicon 맥북에서 설치부터 시뮬레이션, 파형 확인까지 가장 깔끔하게 동작하는 조합입니다.
IDE
VS Code
→
Compiler
iverilog
→
Simulate
vvp
→
Waveform
WaveTrace
# 1. 전체 설치 (최초 1회) $ brew install icarus-verilog verilator # 2. 컴파일 & 실행 $ iverilog -o sim -g2012 -Wall tb.v design.v $ vvp sim # 3. VS Code에서 생성된 .vcd 파일 클릭 → 파형 확인
이 환경은 M1/M2/M3/M4 칩셋을 탑재한 최신 맥북에서 네이티브 속도로 동작하며, 오픈소스의 유연함과 macOS의 편의성을 동시에 활용할 수 있는 가장 실용적인 세팅입니다. 별도의 가상머신이나 복잡한 환경 설정 없이, Homebrew 명령어 몇 줄이면 프로 수준의 하드웨어 설계 환경이 완성됩니다.
본 글은 정보 제공 목적으로 작성되었으며, 소프트웨어 버전 및 기능은 업데이트에 따라 변경될 수 있습니다.
댓글
댓글 쓰기