informatica:ae:verilogpag
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| informatica:ae:verilogpag [18/10/2013 alle 05:54 (12 anni fa)] – Marco Danelutto | informatica:ae:verilogpag [03/01/2019 alle 15:47 (7 anni fa)] (versione attuale) – [Materiale disponibile online] Marco Danelutto | ||
|---|---|---|---|
| Linea 3: | Linea 3: | ||
| ==== Materiale disponibile online ==== | ==== Materiale disponibile online ==== | ||
| - | * [[http:// | + | ^ Autore ^ Titolo ^ Year ^ Link ^ |
| - | | + | | M. Danelutto |
| - | * [[http:// | + | | Peter M. Nyasulu and J. Knight | Introduction to Verilog | 2005 | [[http:// |
| - | | + | | Deepak Kumar Tala | Verilog |
| - | | + | | Rajeev Madhavan | Verilog quick reference | 1995 | [[http:// |
| + | | Stephen A. Edwards | Slides of a Verilog course | 2002 | [[http:// | ||
| + | | Stuart Sutherland | Verilog | ||
| Una buona trattazione della modellazione di reti combinatorie e sequenziali si trova anche nel Capitolo 4 del libro " | Una buona trattazione della modellazione di reti combinatorie e sequenziali si trova anche nel Capitolo 4 del libro " | ||
| + | La quarta edizione (italiana, corrisponde alla 5a edizione inglese) dell' | ||
| + | |||
| + | ==== Progetti Verilog A.A. 2018-19 (Corso A) ==== | ||
| + | |||
| + | Questo {{ : | ||
| ==== Software utilizzato per il corso ==== | ==== Software utilizzato per il corso ==== | ||
| Linea 26: | Linea 34: | ||
| Segui [[utilizzo_verilog|questo link]] per le istruzioni per l' | Segui [[utilizzo_verilog|questo link]] per le istruzioni per l' | ||
| - | === Immagine Virtual Box === | + | |
| - | Potete scaricare un' | + | ===== Reti combinatorie in Verilog ===== |
| - | Per utilizzare l' | + | Segui [[reti_combinatorie|questo link]] per le istruzioni su come implementare reti combinatorie in Verilog. |
| - | === Utilizzo presso il centro di calcolo (cli.di.unipi.it) === | + | reti combinatorie realizzate con {{https:// |
| - | Al momento il compilatore Verilog (iverilog) e il simulatore (vvp) sono disponibili utilizzando nel PATH la directory | + | ===== Reti sequenziali in Verilog ===== |
| - | / | + | Segui [[reti_sequenziali|questo link]] per le istruzioni su come implementare reti sequenziali in Verilog. |
| - | / | + | |
| - | + | ||
| - | oppure settando opportunamente il PATH nella shell | + | |
| - | export PATH=$PATH:/ | + | [[rdy2.vl|Versione corretta]] del sincronizzatore a transizione di livelli in ingresso. |
| - | setenv PATH $PATH:/ | + | |
| - | + | ||
| - | Non è al momento disponibile gtkwave. | + | |
| - | === Installazione del pacchetto sul proprio computer=== | + | ===== AE Verilog blog ===== |
| - | * Ubuntu: da synaptic manager selezionare iverilog e installare via interfaccia grafica, fare altrettanto per gtkwave. Per dinotrace, vedi sezione Linux (generico) | + | Riporto alcune note a integrazione |
| - | * 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' | + | |
| - | * Windows: scaricare l' | + | |
| - | * Mac OS X: come per Linux generico. C'è anche un pacchetto macports. | + | |
| - | === Shell === | + | ==== Reti sequenziali ==== |
| - | Tutti i comandi vanno dati da riga di comando: | + | Potete realizzare reti sequenziali, |
| + | - realizzando un modulo Sigma e un modulo Omega, utilizzando un modulo Registro (come quello sulla dispensa) e collegandoli come nello schema classico presentato a lezione. Uscita di Omega uguale al wire di uscita del modulo, ingressi di Sigma presi dall' | ||
| + | - utilizzando il modo behavioural. Gli ingressi e le uscite del modulo sono sempre quelli del caso precedente. Vi definite una variabile di nuovo stato che assegnate in uno switch i cui casi dipendono | ||
| - | * Linux: aprite un Terminal | + | ==== Timescale |
| - | * Windows: da Programmi -> Accessori lanciate " | + | Utilizzate |
| - | * Mac OS X: lanciate Terminal (è nella cartella Utility del folder Applications) | + | |
| - | * | + | |
| - | === Compilazione | + | |
| - | Per compilare utilizzare il comando | + | |
| - | + | ||
| - | | + | |
| - | 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 | + | |
| - | + | ||
| - | 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(" | + | |
| - | + | ||
| - | === Visualizzazione === | + | |
| - | Lanciate dinotrace o gtkwave con parametro il nome del file che contiene la traccia da visualizzare. | + | |
| - | + | ||
| - | dinotrace xyz.vcd | + | |
| - | oppure | + | |
| - | + | ||
| - | gtkwave xzy.vcd | + | |
| - | + | ||
| - | ===== Reti combinatorie in Verilog ===== | + | |
| + | ==== Procedimento di realizzazione del progetto ==== | ||
| + | Il metodo corretto per svolgere il progetto è il seguente: | ||
| + | - studiare il problema e progettare l' | ||
| + | - operazioni esterne | ||
| + | - microcodice | ||
| + | - derivazione parte operativa e parte controllo | ||
| + | - tempo di servizio | ||
| + | - realizzare parte operativa e parte controllo in Verilog: | ||
| + | - per la parte controllo, realizzare una rete sequenziale standard (di Mealy) | ||
| + | - per la parte operativa, realizzare una rete come assemblaggio di componenti standard | ||
| + | - per ognuno dei moduli utilizzati (e.g. omegaPC, ALU, RegistroK, ...) preparate un test bench (modulo di test, senza parametri, che general una traccia visualizzabile con GTKwave) e controllarne la funzionalità | ||
| + | - realizzare un programma di prova per l' | ||
| + | - preparare la relazione | ||
| + | Potete anche provare a realizzare un' | ||
| + | ===== Indietro ===== | ||
| + | Torna alla [[http:// | ||
informatica/ae/verilogpag.1382075696.txt.gz · Ultima modifica: 18/10/2013 alle 05:54 (12 anni fa) da Marco Danelutto
