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 명령어 몇 줄이면 프로 수준의 하드웨어 설계 환경이 완성됩니다.

본 글은 정보 제공 목적으로 작성되었으며, 소프트웨어 버전 및 기능은 업데이트에 따라 변경될 수 있습니다.

댓글

이 블로그의 인기 게시물

📚 SDC 마스터 클래스 시리즈 | Chapter 1

📚 SDC 마스터 클래스 시리즈 | Chapter 2

📚 SDC 마스터 클래스 시리즈 | Chapter 3