Come creare un Pulse Delay in Verilog

April 13

Come creare un Pulse Delay in Verilog


Verilog, un linguaggio descrittore hardware usato per generare circuiti digitali per chip programmabili, può essere utilizzato per scrivere il codice che descrive circuiti digitali, simulare il comportamento del circuito e hardware programma. Un buon esempio di un semplice circuito Verilog è quello che crea un impulso dopo un breve ritardo. È possibile scrivere un programma Verilog che compie questo con poche righe di codice senza alcuna esperienza di programmazione precedente.

istruzione

1 Aprire il Verilog IDE e creare un nuovo progetto facendo clic su "File", quindi selezionare "Nuovo progetto Wizard". Viene visualizzata una finestra di creazione del progetto. Selezionare un nome e una directory per questo progetto. Ad esempio, è possibile denominare il progetto "ritardo" e posizionarlo nella directory "C: \ Verilog Projects".

2 Premere il pulsante "Next" per passare attraverso il resto delle pagine, lasciando tutte le impostazioni ai valori predefiniti. Premere il pulsante "Fine" per creare il progetto.

3 Selezionare "File", poi "Nuovo", per aprire una finestra di creazione del file. Selezionare "File Verilog HDL" e premere il tasto "OK" per aggiungere un nuovo file Verilog al progetto. Un file Verilog vuoto viene visualizzato nella finestra principale di editor di testo.

4 Definire un nuovo "modulo" che ha lo stesso nome del progetto. Questo modulo ospiterà tutto il codice del programma pulsazioni ritardo. Quando si definisce un modulo, è anche possibile definire alcuni parametri come ad esempio ingressi e uscite. Il modulo di ritardo necessita di due parametri: un segnale di clock ed una uscita per l'impulso generato. Scrivere la seguente per definire il modulo con questi parametri:

Ritardo modulo (orologio, impulsi);

5 Definire due segnali: un segnale di clock di ingresso ed un segnale di impulso di uscita. Il segnale di clock viene utilizzato per contare una breve sequenza prima di inviare un segnale di impulso attraverso l'uscita. Ciò consente di volta che un ritardo in base al numero di transizioni di clock che si verificano. Scrivere le seguenti definizioni dei segnali:

clock in ingresso;
impulso di uscita;

6 Definire un registro che memorizza l'attuale numero di transizioni di clock che si sono verificati. Poiché questo registro è utilizzato per contare il numero di transizioni, un buon nome è "count." Write seguente per definire e inizializzare questo registro:

conta reg;
iniziare conta iniziale = 0;

7 Scrivi la seguente dichiarazione per eseguire una sequenza di azioni, con ogni tick del segnale di clock:

sempre @ (posedge di clock)

8 Incrementare il "Count" iscriversi ad uno con ogni transizione del clock:

count <= count + 1;

9 Test per vedere se il registro "conteggio" è uguale a 10, o qualche altro valore arbitrario. In questo modo è possibile il tempo il polso ritardo. L'impulso viene emesso solo dopo un determinato numero di transizioni di clock. Se la frequenza di clock è di 10 cicli al secondo, allora l'impulso viene generato dopo un ritardo di un secondo. È possibile verificare la "conta" registro utilizzando un "if", come la seguente:

if (count == 10)

10 Posizionare un singolo bit sul segnale di uscita "pulse" scrivendo:

impulso <= 1'b1;

11 Terminare la dichiarazione "se" con la seguente dichiarazione:

fine

12 Terminare il modulo con la seguente dichiarazione:

endmodule

13 Compilare e testare il circuito. Questo circuito genera un impulso che dura per una singola transizione di clock. L'impulso viene generato solo dopo un ritardo prestabilito, in questo caso 10 transizioni di clock. È possibile modificare questo valore in volta la generazione di impulsi corrisponde ai criteri specificati.