Questa è una vecchia versione del documento!
Indice
Verilog per AE
Materiale disponibile online
- Pdf delle note sull'utilizzo di Verilog per il corso di architetture (Danelutto 2010. Contiene: Cap. 1: Installazione strumenti. Cap. 2: riferimenti Verilog. Cap. 3: Reti combinatorie. Cap. 4: Automi e Reti sequenziali. Cap. 5: Reti Sequenziali realizzare con componenti standard. Bibliografia (parziale)). (versione con il listato del test rdy corretto qui
- Introduzione al Verilog (Peter M. Nyasulu and J. Knight, 2003)
- Tutorial su Verilog (compatto, con esempi) (Deepak Kumar Tala, 2003)
- Quick reference card Verilog (Rajeev Madhavan, 1995)
- Slides di un corso Verilog della Columbia University (Stephen A. Edwards, 2002)
Software utilizzato per il corso
Utilizziamo iverilog (Icarus Verilog) in quanto è una piattaforma Verilog open source, con port per Linux, Windows e Mac OS X.
Utilizzo di iverilog
Immagine Virtual Box
Potete scaricare un'immagine VirtualBox con Ubuntu 12.04 con tutti gli strumenti già installati (iverilog e gtkwave) da 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'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
Visualizzazione
Lanciate dinotrace o gtkwave con parametro il nome del file che contiene la traccia da visualizzare.
dinotrace xyz.vcd
oppure
gtkwave xzy.vcd