Menu
Coddy logo textTech

온라인 Verilog 컴파일러

코드 스니펫을 작성, 실행, 공유하세요 — 별도 설치가 필요 없습니다.

main.v
출력을 보려면 실행을 클릭하세요.
Plusargs시뮬레이터에 전달되는 런타임 매개변수 — 테스트벤치에서 $value$plusargs 또는 $test$plusargs로 읽으세요.

Verilog HDL을 브라우저에서 작성, 컴파일, 시뮬레이션

무료 온라인 Verilog 컴파일러 및 시뮬레이터입니다. Verilog나 SystemVerilog 모듈을 작성하고, 테스트벤치를 붙여 Run을 누르면 stdout 출력과 렌더링된 VCD 파형을 바로 확인할 수 있습니다. 설치도, Vivado도, Quartus도, 별도의 툴체인 설정도 필요 없습니다. 에디터는 클럭 기반 카운터 테스트벤치와 함께 열려 있어, 몇 초 만에 수정하고 Run할 수 있습니다.

코드는 Icarus Verilog(iverilog)로 컴파일되고 샌드박스 컨테이너 안에서 vvp로 실행되므로, 진짜 Verilog HDL 시맨틱을 그대로 사용할 수 있습니다 — 클럭 always 블록, 논블로킹 할당, 계층적 모듈 인스턴스화, $display, $finish까지. 테스트벤치에 $dumpfile과 $dumpvars를 추가하면 파형 탭에서 단일 비트 신호와 다중 비트 버스를 드래그 가능한 커서, 전이, 신호별 값 표시와 함께 렌더링해 줍니다. Plusargs(+KEY=VALUE / +FLAG)는 $value$plusargs와 $test$plusargs를 통해 테스트벤치로 전달되므로, 소스를 건드리지 않고도 클럭 주기, 실행 길이, 기능 플래그를 자유롭게 바꿔가며 돌려볼 수 있습니다.

이 Verilog 컴파일러의 장점

  • 즉시 컴파일 및 시뮬레이션 — Verilog HDL을 작성하고 실행을 누르면 표준 출력과 VCD 파형이 몇 초 만에 표시됩니다.
  • Verilog 및 SystemVerilog 구문 강조 — VS Code와 같은 에디터 엔진, module/endmodule 스코핑, 키워드 자동 완성.
  • 내장 파형 뷰어: 테스트벤치에서 $dumpfile과 $dumpvars를 내보내면 Waveform 탭이 신호, 버스, 전이를 렌더링하고, 이동식 커서와 신호별 값 표시까지 보여줍니다.
  • 테스트벤치 파라미터를 위한 Plusargs 패널: $value$plusargs / $test$plusargs로 +CYCLES, +PERIOD, +VERBOSE를 넘겨 소스를 고치지 않고 재실행하세요.

Verilog 플레이그라운드에서 만들 수 있는 것

  • 조합 논리 — 가산기, 멀티플렉서, ALU — 를 $display 체크와 즉각적인 피드백이 있는 테스트벤치에서 연결합니다.
  • 클럭 기반 순차 회로 — 카운터, 시프트 레지스터, 유한 상태 기계를 always @(posedge clk)로 구동하고, VCD 파형으로 신호 전이를 확인합니다.
  • 매개변수 스윕: iverilog/vvp 명령줄에서처럼 +CYCLES, +PERIOD, +VERBOSE plusargs로 실행마다 동작을 바꿔보세요.

온라인 Verilog 컴파일러 FAQ

Verilog란 무엇인가요?
Verilog는 단순한 조합 게이트부터 완전한 프로세서까지, 디지털 회로를 모델링하고 시뮬레이션하는 데 쓰이는 하드웨어 기술 언어(HDL)입니다. 코드로 모듈, 와이어, 레지스터를 기술하고 Verilog 컴파일러로 컴파일한 뒤 테스트벤치를 돌려 동작을 검증하죠. SystemVerilog는 여기에 검증 기능을 더한 Verilog의 상위 집합이고, 플레이그라운드는 둘 다 지원합니다.
온라인 Verilog 컴파일러는 무료인가요?
네, Verilog 컴파일러와 시뮬레이터는 무료로 사용할 수 있습니다. 가입도, Vivado나 Quartus 라이선스도, 설치할 툴체인도 필요 없습니다 — 모듈을 작성하고 실행을 누르세요.
Icarus Verilog나 EDA 도구를 설치해야 하나요?
아니요. 코드는 서버의 샌드박스 컨테이너에서 iverilog로 컴파일되어 vvp로 실행됩니다. Verilog 소스를 작성하고 Run을 누르면, 나머지는 컴파일러와 시뮬레이터가 알아서 처리합니다.
Verilog 코드의 파형은 어떻게 보나요?
테스트벤치의 initial 블록 안에서 $dumpfile("dump.vcd")와 $dumpvars(0, your_module)을 호출하세요. Run 이후에 Waveform 탭이 신호를 그려줍니다 — 트레이스 아무 곳이나 클릭하면 커서가 놓이고 그 시점의 신호별 값을 확인할 수 있습니다.
plusargs로 Verilog 테스트벤치를 어떻게 작성하나요?
Plusargs 패널에 행을 추가하면 (예: CYCLES=10, VERBOSE) 명령줄에서 +CYCLES=10 +VERBOSE로 시뮬레이터에 전달됩니다. 테스트벤치에서는 정수 값은 $value$plusargs("CYCLES=%d", n)으로, 불리언 플래그는 $test$plusargs("VERBOSE")로 읽으면 됩니다. 기본 스타터 코드에 두 패턴이 모두 들어 있습니다.