informatica:ae:reti_combinatorie
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:reti_combinatorie [18/10/2013 alle 07:53 (12 anni fa)] – Marco Danelutto | informatica:ae:reti_combinatorie [18/10/2013 alle 08:26 (12 anni fa)] (versione attuale) – [Test di una rete combinatoria] Marco Danelutto | ||
|---|---|---|---|
| Linea 12: | Linea 12: | ||
| < | < | ||
| | | ||
| - | end primitive | + | endprimitive |
| </ | </ | ||
| Il nome del modulo è una stringa qualunque. La lista dei parametri dichiara un parametro come | Il nome del modulo è una stringa qualunque. La lista dei parametri dichiara un parametro come | ||
| Linea 25: | Linea 25: | ||
| primitive commutatoreADueVie32(output z, input x, input y, input alpha); | primitive commutatoreADueVie32(output z, input x, input y, input alpha); | ||
| ... | ... | ||
| - | end primitive | + | endprimitive |
| </ | </ | ||
| - | La parola chiave che definisce il tipo del parametro, in input o in output, può essere indicata una sola volta prima della lista dei parametri formali che hanno quel tipo. Ad esempio, l' | ||
| - | < | ||
| - | primitive commutatoreADueVie32(output z, input x, y, alpha); | ||
| - | ... | ||
| - | end primitive | ||
| - | </ | ||
| Per prassi, i parametri di output si indicano prima di quelli di input. | Per prassi, i parametri di output si indicano prima di quelli di input. | ||
| Linea 39: | Linea 33: | ||
| === Corpo del modulo === | === Corpo del modulo === | ||
| - | Si definisce una tabella di verità di n variabili di ingresso e una variabile di uscita elencando righe di n valori delle variabili separate da spazi seguite dai due punti, dal valore corrispondente della variabile di uscita e dal punto e virgola fra le parole chiave " | + | Si definisce una tabella di verità di n variabili di ingresso e una variabile di uscita elencando righe di n valori delle variabili separate da spazi seguite dai due punti, dal valore corrispondente della variabile di uscita e dal punto e virgola fra le parole chiave " |
| < | < | ||
| table | table | ||
| Linea 46: | Linea 40: | ||
| 1 0 : 1 ; | 1 0 : 1 ; | ||
| 1 1 : 1 ; | 1 1 : 1 ; | ||
| - | end table | + | endtable |
| </ | </ | ||
| definisce l'OR di due variabili da un bit. | definisce l'OR di due variabili da un bit. | ||
| Linea 54: | Linea 48: | ||
| Ad esempio: | Ad esempio: | ||
| < | < | ||
| - | primitive k(output z, input alpha, x, y); | + | primitive k(output z, input alpha, |
| table | table | ||
| 0 1 ? : 1; | 0 1 ? : 1; | ||
| Linea 60: | Linea 54: | ||
| 1 ? 1 : 1; | 1 ? 1 : 1; | ||
| 1 ? 0 : 0; | 1 ? 0 : 0; | ||
| - | | + | |
| - | end primitive | + | endprimitive |
| </ | </ | ||
| definisce il commutatore a due vie da un bit. | definisce il commutatore a due vie da un bit. | ||
| Linea 142: | Linea 136: | ||
| < | < | ||
| - | module | + | module |
| - | wire zz[1: | + | wire [1:0]zz; // Parte I |
| | | ||
| - | reg a, x1[1:0], x2[1: | + | reg a; // Parte II |
| + | reg [1:0]x1; | ||
| + | reg [1:0]x2; | ||
| | | ||
| commutatoreADueVie2bit K1(zz, | commutatoreADueVie2bit K1(zz, | ||
| Linea 158: | Linea 154: | ||
| - | x = 2' | + | x1 = 2' |
| - | y = 2' | + | x2 = 2' |
| - | a = 0; | + | // per via del 2' con valore xx |
| + | // 2'hff denoterebbe 255 in decimale (due cifre esadecimali (h)) | ||
| + | | ||
| + | a = 0; // 0 è inteso come decimale | ||
| #5 a = 1; // PArte VII | #5 a = 1; // PArte VII | ||
| - | # | + | # |
| - | | + | #10 $finish; // Parte VIII |
| end | end | ||
| | | ||
| Linea 184: | Linea 183: | ||
| Si visualizzano i risultati invocando gtkwave sul file indicato nella dumpfile | Si visualizzano i risultati invocando gtkwave sul file indicato nella dumpfile | ||
| < | < | ||
| + | |||
| + | In particolare, | ||
| + | |||
| + | {{: | ||
informatica/ae/reti_combinatorie.1382082815.txt.gz · Ultima modifica: 18/10/2013 alle 07:53 (12 anni fa) da Marco Danelutto
