Come analizzare la vostra asserzioni sistema Verilog

March 4

Verilog è un linguaggio di programmazione che descrive hardware digitale. Le asserzioni sono dichiarazioni che definiscono le condizioni previste all'interno di un programma. In Verilog, affermazioni sono utilizzati per definire gli stati che il circuito dovrebbe verificarsi durante il normale funzionamento. Queste affermazioni possono essere utilizzati per analizzare il circuito per guasti. Eventuali errori di programmazione possono portare a una asserzione fallita, che vi aiuta a rintracciare un bug al suo causa principale. Si dovrebbe aggiungere asserzioni al vostro programma Verilog per aiutare il debug del sistema, e come strumento per aiutare altri programmatori per la revisione del codice.

istruzione

1 Aprire il Verilog IDE facendo clic sulla sua icona. Creare un nuovo progetto facendo clic su "File", quindi selezionare "New Project Wizard." Viene visualizzata una nuova finestra di progetto. Selezionare un nome e una directory per questo progetto. Premere il pulsante "Next" per passare attraverso il resto delle pagine, lasciando tutte le impostazioni al loro valore predefinito. Premere il pulsante "Fine" per creare il progetto.

2 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.

3 Creare un modulo che prende il nome del progetto. Ad esempio, se il progetto è denominato "asserzioni", è possibile scrivere la seguente definizione del modulo:

Asserzioni modulo;

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 in questo modo:

A cominciare iniziale = 0;
iniziale iniziano B = 1;

6 Supponiamo di avere un "if" che verifica se "A" non è uguale a "B." A questo punto del programma, questo dovrebbe sempre essere vero, dal momento che "A" e "B" sono stati solo inizializzati a valori diversi. Questo sarebbe un ottimo posto per mettere una dichiarazione di "assert". Scrivi la seguente "if", seguito da un "affermare la" dichiarazione:

if (A! = B)
affermare (A = B!);

7 Scrivi una più dettagliata "affermare" l'istruzione che stampa i messaggi ogni volta che un "assert" dichiarazione viene elaborato. Sostituire il "assert (A = B!)," Dichiarazione con il seguente:

affermare (A = B!) Display $ ( "Asserzione passati A non è uguale a B.");
altro $ errore ( "Asserzione non riuscita A è uguale a B.");

8 Eseguire il programma premendo il tasto verde "Play" che si trova sulla barra degli strumenti in alto. Il programma deve stampare il seguente messaggio: "Asserzione passato. A non è uguale 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. A è uguale apparirà B. ".

9 Utilizzare i messaggi affermazione per analizzare lo stato del programma e verificare tutte le ipotesi circa la progettazione. Quando un'asserzione fallisce più volte, c'è un bug nel programma che non riesce a soddisfare i tuoi criteri di progettazione. È possibile lavorare la strada dal asserzione indietro per la causa principale di questo bug.