informatica:ae:reti_sequenziali
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedente | |||
| informatica:ae:reti_sequenziali [18/10/2013 alle 08:50 (12 anni fa)] – Marco Danelutto | informatica:ae:reti_sequenziali [18/10/2013 alle 08:55 (12 anni fa)] (versione attuale) – Marco Danelutto | ||
|---|---|---|---|
| Linea 12: | Linea 12: | ||
| * in uno statement **initial begin ... end** assegna il valore iniziale al registro di stato e al registro delle uscite | * in uno statement **initial begin ... end** assegna il valore iniziale al registro di stato e al registro delle uscite | ||
| * in uno statement **always @(negedge clock) begin ... end** (dove //clock// è il nome della variabile di ingresso che porta il segnale di clock) assegna al registro di stato il valore dell' | * in uno statement **always @(negedge clock) begin ... end** (dove //clock// è il nome della variabile di ingresso che porta il segnale di clock) assegna al registro di stato il valore dell' | ||
| + | |||
| + | ==== Esempio ==== | ||
| + | |||
| + | Supponiamo di voler implementare come rete sequenziale un automa di Mealy che: | ||
| + | * ha due stati | ||
| + | * nel primo stato se riceve uno 0 rimane lì e manda in uscita un 1, se riceve un 1 transita nell' | ||
| + | * nel secondo stato, se riceve un 0 rimane lì e manda in uscita uno 0, se riceve un 1 transita nell' | ||
| + | |||
| + | === Rete Omega === | ||
| + | < | ||
| + | primitive automa_omega(output z, input s, input x); | ||
| + | table | ||
| + | 0 0 : 1; | ||
| + | 0 1 : 1; | ||
| + | 1 0 : 0; | ||
| + | 1 1 : 0; | ||
| + | endtable | ||
| + | endprimitive | ||
| + | </ | ||
| + | |||
| + | === Rete Sigma === | ||
| + | |||
| + | < | ||
| + | primitive automa_sigma(output z, input s, input x); | ||
| + | table | ||
| + | 0 0 : 0; | ||
| + | 0 1 : 1; | ||
| + | 1 0 : 0; | ||
| + | 1 1 : 1; | ||
| + | endtable | ||
| + | endprimitive | ||
| + | </ | ||
| + | |||
| + | === Automa di Mealy === | ||
| + | < | ||
| + | module automa_mealy(output reg z, input x, input clock); | ||
| + | |||
| + | reg stato; | ||
| + | |||
| + | wire uscita_omega; | ||
| + | wire uscita_sigma; | ||
| + | |||
| + | automa_omega omega(uscita_omega, | ||
| + | automa_sigma sigma(uscita_sigma, | ||
| + | |||
| + | initial | ||
| + | begin | ||
| + | stato = 0; | ||
| + | z=0; | ||
| + | end | ||
| + | |||
| + | always @(negedge clock) | ||
| + | begin | ||
| + | stato <= uscita_sigma; | ||
| + | z <= uscita_omega; | ||
| + | end | ||
| + | | ||
| + | endmodule | ||
| + | </ | ||
| + | |||
informatica/ae/reti_sequenziali.1382086224.txt.gz · Ultima modifica: 18/10/2013 alle 08:50 (12 anni fa) da Marco Danelutto
