Menu

Come installare Icarus Verilog su Windows, macOS e Linux (guida 2026)

Installa Icarus Verilog e GTKWave per compilare e simulare Verilog in locale. Oppure salta l'installazione e usa l'editor nel browser: per questa documentazione vanno bene entrambi.

Prima di tutto, un po' di realismo

Per imparare Verilog non devi installare nulla. Ogni editor interattivo di queste pagine esegue Verilog vero tramite Icarus Verilog in una sandbox, visualizzatore di forme d'onda compreso. Se sei qui per imparare il linguaggio, salta questa pagina e torna quando vorrai lavorare in locale a un progetto più lungo.

Vuoi comunque un'installazione locale? Continua a leggere.

Cosa significa davvero "installare Verilog"

Verilog è un linguaggio, non un programma. Per eseguirlo ti servono:

  1. Un simulatore, lo strumento che compila i tuoi file .v e li esegue. Per la maggior parte di chi impara è Icarus Verilog, che ti dà il compilatore iverilog e il runtime vvp.
  2. Un visualizzatore di forme d'onda, di solito GTKWave, che legge i file .vcd prodotti dal testbench.
  3. Un editor di testo: la scelta più comune è VS Code con un'estensione per Verilog, ma va bene qualsiasi editor.

Esistono toolchain dei produttori (Xilinx Vivado, Intel Quartus, Synopsys VCS, Cadence Xcelium) per la programmazione di FPGA e il lavoro sugli ASIC. Sono pesanti, spesso a licenza, ed eccessive per imparare. Resta su Icarus.

Installazione su macOS

La strada più veloce è Homebrew:

brew install icarus-verilog gtkwave

Questo installa sia il compilatore sia il visualizzatore di forme d'onda. Verifica:

iverilog -V
gtkwave --version

Dovresti vedere i numeri di versione di entrambi. iverilog si aggiunge da solo al tuo PATH. GTKWave installa un'app in /Applications e un comando gtkwave che puoi lanciare dal terminale.

Se Homebrew non è installato, segui prima le istruzioni su brew.sh (basta un comando curl) e poi torna qui.

Installazione su Linux

Sulle distribuzioni basate su Debian (Ubuntu, Mint, Pop!_OS):

sudo apt update
sudo apt install iverilog gtkwave

Su sistemi Fedora / in stile RHEL:

sudo dnf install iverilog gtkwave

Su Arch:

sudo pacman -S iverilog gtkwave

Poi verifica allo stesso modo:

iverilog -V
gtkwave --version

A volte la versione dei pacchetti è indietro di una release rispetto al progetto originale. Per imparare va quasi sempre bene. Se ti serve una release più recente, compila dai sorgenti: il repository GitHub del progetto ha le istruzioni e basta un ./configure && make && sudo make install.

Installazione su Windows

La strada più semplice è l'installer precompilato mantenuto dalla community di iverilog su bleyer.org (cerca "iverilog Windows"). Include Icarus Verilog, GTKWave e la toolchain GCC di cui Icarus ha bisogno internamente.

  1. Scarica l'installer più recente (di solito iverilog-vXX-setup.exe).
  2. Eseguilo. Accetta le impostazioni predefinite, a meno che tu non abbia un motivo per cambiarle.
  3. Quando l'installer lo chiede, lascia selezionato "Add to PATH".
  4. Apri una nuova finestra di PowerShell o del Prompt dei comandi e verifica:
iverilog -V
gtkwave --version

Se hai dimenticato di aggiungerlo al PATH, il binario si trova in un percorso come C:\iverilog\bin\iverilog.exe. Aggiungi C:\iverilog\bin al PATH del tuo utente dalle Proprietà del sistema, oppure riesegui l'installer e spunta la casella.

Anche WSL2 è un'ottima opzione su Windows: installa Ubuntu dal Microsoft Store e al suo interno segui le istruzioni per Linux. Avrai un flusso di lavoro più familiare, in stile Unix.

Compilare ed eseguire il tuo primo file

Una volta installato, il flusso di lavoro è questo. Salva un file come hello.v:

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

Compilalo in un binario di simulazione:

iverilog -o hello hello.v

iverilog è il compilatore. -o hello dà il nome all'output. hello.v è il tuo sorgente.

Esegui la simulazione:

vvp hello

Dovresti vedere:

hello from verilog

Questo è l'intero ciclo in locale. Da qui puoi dividere il progetto su più file (iverilog -o sim *.v), usare il flag -g2012 per attivare le funzionalità di SystemVerilog-2012 o passare l'output ai tuoi script.

Generare e visualizzare una forma d'onda

Aggiungi $dumpfile e $dumpvars al testbench, eseguilo e apri il VCD risultante in GTKWave:

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

Quando vvp sim termina, accanto al sorgente troverai un dump.vcd. Aprilo:

gtkwave dump.vcd

GTKWave carica il file e mostra l'albero dei segnali. Trascina i segnali che ti interessano nell'area delle forme d'onda. Ne parliamo in dettaglio in Dumpfile and VCD.

Errori comuni

iverilog: command not found: il binario non è nel PATH. Su Windows di solito significa che l'installer è stato eseguito senza l'aggiornamento del PATH. Su macOS/Linux di solito significa che Homebrew/apt non ha terminato, oppure che sei in una shell che non ha ricaricato il PATH (chiudi e riapri il terminale).

syntax error su una riga che sembra corretta: controlla di non usare una funzionalità di SystemVerilog in modalità Verilog semplice. Passa -g2012 a iverilog per attivare SystemVerilog-2012:

iverilog -g2012 -o sim main.v

Unknown module durante la compilazione: il file sorgente del modulo non è stato passato a iverilog, oppure il nome del modulo nell'istanziazione non corrisponde esattamente alla dichiarazione module. Verilog distingue maiuscole e minuscole.

Forma d'onda vuota in GTKWave: il testbench non ha chiamato $dumpfile e $dumpvars, oppure la simulazione ha raggiunto $finish prima che cambiasse qualche segnale. Aggiungi almeno un $dumpvars(0, top) e lascia girare la simulazione abbastanza a lungo da avere delle transizioni.

Cosa viene dopo

Che tu abbia installato in locale o preferito il browser, la prossima pagina ti guida nella scrittura del tuo primo modulo completo da zero: dichiarazione del modulo, porte, un piccolo pezzo di logica combinatoria e un testbench attorno.

Domande frequenti

Come si installa Verilog?

Non esiste un unico programma 'Verilog': è un linguaggio, e quello che installi è un compilatore/simulatore. Per imparare, la scelta standard è Icarus Verilog (i comandi iverilog e vvp), abbinato a GTKWave per visualizzare le forme d'onda. Su macOS usa brew install icarus-verilog gtkwave; su Debian/Ubuntu usa apt install iverilog gtkwave; su Windows scarica l'installer precompilato dal sito di Bleyer.

Devo installare qualcosa per imparare Verilog?

No. L'editor di questa pagina esegue il tuo codice con iverilog e vvp nel cloud e mostra direttamente la forma d'onda VCD. Puoi completare ogni pagina di questi tutorial senza installare nulla. Installare in locale diventa utile quando vuoi salvare file, mettere un progetto sotto controllo di versione o lavorare a un progetto troppo grande per l'editor nel browser.

Qual è la differenza tra iverilog e vvp?

iverilog è il compilatore: trasforma i tuoi sorgenti .v in un binario di simulazione. vvp è il runtime che esegue quel binario. La sequenza tipica di comandi è iverilog -o sim main.v test.v seguita da vvp sim. La maggior parte degli script di lavoro li racchiude entrambi.

Icarus Verilog è gratuito?

Sì. Icarus Verilog è open source con licenza GPL/LGPL. Non ci sono server di licenze né periodi di prova, e funziona sia per imparare sia per uso commerciale. Le alternative commerciali (ModelSim, VCS, Xcelium) sono a pagamento; per tutto ciò che trattano queste pagine, Icarus basta e avanza.

Come controllo la versione di iverilog?

Apri un terminale ed esegui iverilog -V. Dovresti vedere un numero di versione come Icarus Verilog version 12.0. Se ottieni 'command not found', il binario non è nel PATH: riesegui l'installer oppure aggiungi la directory bin alla configurazione della shell.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA