===== Utilizzo strumenti Verilog per AEb ===== === Immagine Virtual Box === Potete scaricare un'immagine VirtualBox con Ubuntu 12.04 con tutti gli strumenti già installati (iverilog e gtkwave) da [[http://backus.di.unipi.it/~marcod/AE1213/iverliog-ubuntu.tgz|questo link]] (attenzione sono 1.7G!) Per utilizzare l'immagine, scompattatela, quindi lanciate Virtual Box e importatela. Virtual Box può essere installata seguendo le indicazione dall'[[https://www.virtualbox.org/|home page]] VirtualBox. === Utilizzo presso il centro di calcolo (cli.di.unipi.it) === Al momento il compilatore Verilog (iverilog) e il simulatore (vvp) sono disponibili utilizzando nel PATH la directory /home/m/marcod/verilog/bin, o alternativamente utilizzando il path completo dei comandi /home/m/marcod/verilog/bin/iverilog /home/m/marcod/verilog/bin/vvp oppure settando opportunamente il PATH nella shell export PATH=$PATH:/home/m/marcod/verilog/bin (per la bash) setenv PATH $PATH:/home/m/marcod/verilog/bin (per la tcsh) Non è al momento disponibile gtkwave. === Installazione del pacchetto sul proprio computer=== * Ubuntu: da synaptic manager selezionare iverilog e installare via interfaccia grafica, fare altrettanto per gtkwave. Per dinotrace, vedi sezione Linux (generico) * Linux (generico): scaricare i pacchetti dai loro siti (vedi sopra). Tutti e tre i pacchetti (iverilog, dinotrace e gtkwave) si installano scompattando il tar.gz, entrando nella sottodirectory e dando i comandi 1) ./configure 2) make e 3) make install (per quest'ultimo servono i diritti da superutente, oppure dovete modificare la directory di installazione (normalmente con un parametro passato al ./configure) * Windows: scaricare l'installer dal sito e farlo girare (installa sia iverilog che gtkwave) * Mac OS X: come per Linux generico. C'è anche un pacchetto macports. === Shell === Tutti i comandi vanno dati da riga di comando: * Linux: aprite un Terminal * Windows: da Programmi -> Accessori lanciate "Prompt dei comandi" * Mac OS X: lanciate Terminal (è nella cartella Utility del folder Applications) * === Compilazione === Per compilare utilizzare il comando iverilog -o nomeFileOggetto fileSorgente1.vl fileSorgente2.vl ... fileSorgenteN.vl dove i vari file .vl contengono i moduli utilizzati e il nomeFileOggetto alla fine della compilazione conterrà il codice oggetto. === Per eseguire una simulazione === Una volta compilato, utilizzare il comando vvp nomeFileOggetto Il programma viene fatto girare, vedrete a terminale le stampe dei comandi $monitor e $display. Se avete richiesto un $dumpvars con un $dumpfile("xyz.vcd") verrà creato il file xzy.vcd Potete anche lanciare il file ottenuto dalla compilazione digitandone il nome da riga di comando: ./nomeFileOggetto === Visualizzazione === Lanciate dinotrace o gtkwave con parametro il nome del file che contiene la traccia da visualizzare. dinotrace xyz.vcd oppure gtkwave xzy.vcd