Menu

Como instalar o Icarus Verilog no Windows, macOS e Linux (Guia 2026)

Instale o Icarus Verilog e o GTKWave para compilar e simular Verilog localmente. Ou pule a instalação e use o editor do navegador - qualquer um funciona para estes docs.

Primeiro, uma dose de realidade

Você não precisa instalar nada para aprender Verilog. Todo editor interativo nestes docs executa Verilog real através do Icarus Verilog em um sandbox, incluindo o visualizador de forma de onda. Se você está aqui para aprender a linguagem, pule esta página e volte quando quiser trabalhar em um projeto mais longo localmente.

Ainda quer uma instalação local? Continue lendo.

O que "instalar Verilog" realmente significa

Verilog é uma linguagem, não um programa. Para executá-lo você precisa de:

  1. Um simulador - a ferramenta que compila seus arquivos .v e os executa. Para a maioria dos aprendizes esse é o Icarus Verilog, que te dá o compilador iverilog e o runtime vvp.
  2. Um visualizador de forma de onda - geralmente o GTKWave - que lê os arquivos .vcd que seu testbench produz.
  3. Um editor de texto - VS Code com uma extensão Verilog é a escolha comum, mas qualquer um serve.

Toolchains de fornecedores (Xilinx Vivado, Intel Quartus, Synopsys VCS, Cadence Xcelium) existem para programação de FPGA e trabalho com ASIC. São grandes, frequentemente licenciados e excessivos para aprender. Fique com o Icarus.

Instalando no macOS

O caminho mais rápido é o Homebrew:

brew install icarus-verilog gtkwave

Isso instala tanto o compilador quanto o visualizador de forma de onda. Verifique:

iverilog -V
gtkwave --version

Você deve ver números de versão dos dois. O iverilog se coloca automaticamente no seu PATH. O GTKWave instala um app bundle em /Applications e um comando gtkwave de linha de comando que você pode iniciar do terminal.

Se o Homebrew não estiver instalado, siga as instruções em brew.sh primeiro - é um comando curl - e depois volte.

Instalando no Linux

Em distribuições baseadas no Debian (Ubuntu, Mint, Pop!_OS):

sudo apt update
sudo apt install iverilog gtkwave

Em sistemas estilo Fedora / RHEL:

sudo dnf install iverilog gtkwave

No Arch:

sudo pacman -S iverilog gtkwave

Depois verifique da mesma forma:

iverilog -V
gtkwave --version

A versão empacotada às vezes está atrasada em relação ao upstream em um release. Para a maior parte do aprendizado isso está ótimo. Se você precisar de um release mais novo, compile do fonte - o repositório GitHub do projeto tem instruções, e é um ./configure && make && sudo make install de distância.

Instalando no Windows

A rota mais fácil é o instalador pré-compilado mantido pela comunidade do iverilog em bleyer.org (procure por "iverilog Windows"). Ele empacota Icarus Verilog, GTKWave e o toolchain GCC que o Icarus precisa internamente.

  1. Baixe o instalador mais recente (tipicamente iverilog-vXX-setup.exe).
  2. Execute-o. Aceite os padrões a menos que tenha um motivo para não aceitar.
  3. Quando o instalador perguntar, deixe "Add to PATH" marcado.
  4. Abra uma nova janela do PowerShell ou Prompt de Comando e verifique:
iverilog -V
gtkwave --version

Se você esqueceu de adicionar ao PATH, o binário fica em algo como C:\iverilog\bin\iverilog.exe. Adicione C:\iverilog\bin ao PATH do usuário pelo Propriedades do Sistema, ou rode o instalador novamente e marque a caixa.

WSL2 também é uma boa opção no Windows - instale o Ubuntu pela Microsoft Store e siga as instruções do Linux dentro dele. Você terá um fluxo de trabalho Unix mais familiar.

Compilando e rodando seu primeiro arquivo

Uma vez instalado, o fluxo de trabalho fica assim. Salve um arquivo como hello.v:

module hello;
    initial begin
        $display("hello from verilog");
        $finish;
    end
endmodule

Compile-o em um binário de simulação:

iverilog -o hello hello.v

iverilog é o compilador. -o hello nomeia a saída. hello.v é o seu fonte.

Execute a simulação:

vvp hello

Você deve ver:

hello from verilog

Esse é o ciclo local inteiro. A partir daqui você pode dividir seu design em múltiplos arquivos (iverilog -o sim *.v), usar a flag -g2012 para habilitar recursos do SystemVerilog-2012 ou canalizar a saída para seus próprios scripts.

Produzindo e visualizando uma forma de onda

Adicione $dumpfile e $dumpvars ao seu testbench, execute-o e abra o VCD resultante no GTKWave:

initial begin
    $dumpfile("dump.vcd");
    $dumpvars(0, test);
    // ...
end

Depois que vvp sim terminar, você terá um dump.vcd ao lado do seu fonte. Abra-o:

gtkwave dump.vcd

O GTKWave carrega o arquivo e apresenta a árvore de sinais à esquerda. Arraste os sinais que te interessam para a área de wave à direita. Cobrimos isso em detalhes em Dumpfile and VCD.

Erros comuns

iverilog: command not found - o binário não está no seu PATH. No Windows isso geralmente significa que o instalador não foi rodado com a atualização do PATH habilitada. No macOS/Linux geralmente significa que o Homebrew/apt não terminou, ou você está em um shell que não recarregou seu PATH (feche e reabra o terminal).

syntax error em uma linha que parece correta - verifique se você não está usando um recurso do SystemVerilog em modo Verilog puro. Passe -g2012 para o iverilog para habilitar o SystemVerilog-2012:

iverilog -g2012 -o sim main.v

Unknown module durante a compilação - ou o arquivo fonte do módulo não foi passado para o iverilog, ou o nome do módulo na instanciação não bate exatamente com a declaração module. Verilog é case-sensitive.

Forma de onda vazia no GTKWave - seu testbench não chamou $dumpfile e $dumpvars, ou a simulação atingiu $finish antes que algum sinal mudasse. Adicione pelo menos um $dumpvars(0, top) e deixe a simulação rodar tempo suficiente para haver transições.

O que vem a seguir

Se você instalou localmente ou ficou com o navegador, o próximo doc caminha pela escrita do seu primeiro módulo completo do zero - declaração do módulo, ports, uma pequena peça de lógica combinacional e um testbench em volta.

Perguntas frequentes

Como eu instalo o Verilog?

Não existe um único programa chamado 'Verilog' - é uma linguagem, e você instala um compilador/simulador. Para aprender, a escolha padrão é o Icarus Verilog (os comandos iverilog e vvp), junto com o GTKWave para visualizar formas de onda. No macOS use brew install icarus-verilog gtkwave; no Debian/Ubuntu use apt install iverilog gtkwave; no Windows baixe o instalador pré-compilado do site da Bleyer.

Preciso instalar algo para aprender Verilog?

Não. O editor nesta página executa seu código com iverilog e vvp na nuvem e renderiza a forma de onda VCD inline. Você pode completar todos os docs destes tutoriais sem instalar nada. Instalar localmente é útil quando você quer salvar arquivos, versionar um projeto ou trabalhar em um design grande demais para o editor do navegador.

Qual a diferença entre iverilog e vvp?

iverilog é o compilador - ele transforma seus arquivos fonte .v em um binário de simulação. vvp é o runtime que executa esse binário. A sequência de comandos típica é iverilog -o sim main.v test.v seguida de vvp sim. A maioria dos scripts de fluxo envolvem ambos.

O Icarus Verilog é gratuito?

Sim. O Icarus Verilog é open source sob GPL/LGPL. Não há servidor de licença, nem período de avaliação, e funciona tanto para aprendizado quanto para uso comercial. As alternativas comerciais (ModelSim, VCS, Xcelium) são pagas; para tudo que é coberto nestes docs, o Icarus basta.

Como verifico minha versão do iverilog?

Abra um terminal e rode iverilog -V. Você deve ver um número de versão como Icarus Verilog version 12.0. Se aparecer 'command not found', o binário não está no seu PATH - rode o instalador novamente ou adicione o diretório bin ao seu shell config.

Coddy programming languages illustration

Aprenda a programar com o Coddy

COMEÇAR