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)
Una buona trattazione della modellazione di reti combinatorie e sequenziali si trova anche nel Capitolo 4 del libro “Digital Design and Computer Architecture” di D. M. Harris e S. L. Harris, edito da Morgan Kaupfman.
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
Segui questo link per le istruzioni per l'utilizzo dei tool Verilog.
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