informatica:ae:reti_sequenziali
Questa è una vecchia versione del documento!
Reti sequenziali in Verilog
Per implementare utilizzando Verilog una rete sequenziale, secondo gli schemi (di Moore o di Mealy) del libro di testo, occorre:
- definire un modulo sigma che implementa la funzione di transizione dello stato interno
- definire un modulo omega che implementa la funzione delle uscite
- definire un modulo che al suo interno contenga la definizione del registro di stato come variabile “reg” e che abbia fra i suoi parametri gli ingressi, il segnale di clock e le uscite. Il modulo:
- dichiare le uscite del modulo come “reg”
- dichiara il registro di stato (variabile di tipo “reg” con il numero di bit necessari per contenere lo stato interno)
- dichiara i wire necessari a collegare l'uscita della rete sigma all'ingresso del registro di stato e l'uscita della rete omega al registro delle uscite
- crea le istanze della rete omega e della rete sigma utilizzando wire e registro di stato definiti nel modulo
- 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'uscita di sigma e al registro delle uscite il valore dell'uscita di omega utilizzando statement
var <= val
Questo statement di assegnamento ha il significato di effettuare l'assegnamento in parallelo agli altri nel blocco.
informatica/ae/reti_sequenziali.1382085735.txt.gz · Ultima modifica: 18/10/2013 alle 08:42 (12 anni fa) da Marco Danelutto