Nwlapcug.com


Come analizzare le asserzioni di Verilog sistema

Verilog è un linguaggio di programmazione che descrive hardware digitale. Le asserzioni sono istruzioni che definiscono le condizioni previste all'interno di un programma. In Verilog, asserzioni vengono utilizzate per definire gli Stati che il circuito dovrebbe verificarsi durante il normale funzionamento. Queste asserzioni consente di analizzare il circuito per guasti. Eventuali errori di programmazione possono portare a un'asserzione non riuscita, che aiuta a tenere traccia di un bug torna alla sua causa radice. È necessario aggiungere asserzioni al programma Verilog per aiutarvi a eseguire il debug del sistema e come strumento per aiutare altri programmatori durante la revisione del codice.

Istruzioni

1

Aprire l'IDE di Verilog facendo clic sulla sua icona. Creare un nuovo progetto facendo clic su "File" e poi selezionando "Creazione guidata nuovo progetto." Viene visualizzata una nuova finestra di progetto. Selezionare un nome e una directory per questo progetto. Premere il pulsante "Avanti" per spostarsi tra il resto delle pagine, lasciando tutte le impostazioni sui valori predefiniti. Premere il pulsante "Fine" per creare il progetto.

2

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

3

Creare un modulo denominato dopo il progetto. Ad esempio, se il progetto è denominato "Asserzioni", è possibile scrivere la seguente definizione di modulo:

modulo asserzioni;

4

Dichiarare due registri che contengono i valori, denominati "A" e "B" come questo:

reg A, B;

5

Impostare il valore iniziale per ogni registro come questo:

iniziale cominciano A = 0;
iniziale iniziare B = 1;

6

Si supponga di che avere un'istruzione "if" che verifica se "A" non è uguale a "b". A questo punto nel programma, questo dovrebbe sempre essere vero, dal momento che "A" e "B" sono stati inizializzati solo valori diversi. Questo sarebbe un ottimo posto per inserire un'istruzione di "affermare". Scrivere la seguente istruzione di "se", seguita da un'istruzione di "affermare":

Se (A! = B).
affermare (A! = B);

7

Scrivere un più dettagliato "affermare" la dichiarazione che stampa i messaggi ogni volta che viene elaborata un'istruzione "affermare". Sostituire la "affermare (A! = B);" istruzione con il seguente:

affermare (A! = B) $display ("asserzione passato. A non è uguale a B.");
altro $error ("asserzione non riuscita. A è uguale a B.");

8

Eseguire il programma premendo il pulsante "Play" verde situato sulla barra degli strumenti superiore. Il programma deve stampare il seguente messaggio: "asserzione passato. A non è uguale a B." Tuttavia, se si verifica qualche bug che imposta il valore di "B" a zero, l'asserzione avrà esito negativo e il messaggio di errore "asserzione non riuscita. Apparirà un uguale a B.".

9

Utilizzare messaggi di asserzione per analizzare lo stato del programma e verificare tutti i presupposti circa la progettazione. Quando un'asserzione non riesce ripetutamente, c'è un bug nel programma che non soddisfano i criteri di progettazione. Si può lavorare il vostro senso dall'asserzione all'indietro per la causa principale di questo bug.