Menu
Coddy logo textTech

Copertura dei limiti e dei controlli

Fa parte della sezione Progettazione e verifica RTL del percorso Verilog di Coddy. Lezione 29 di 38.

Superare alcuni test è diverso dal verificare gli scenari importanti. Tieni traccia dei test eseguiti sui valori minimi, massimi e ordinari e del fatto che i controlli concorrenti siano stati applicati insieme. Un flag di copertura registra che è stato osservato un case; non dimostra che il progetto abbia reagito correttamente. Affianca la copertura a verifiche dei risultati.

Estratto pertinente; le dichiarazioni e i collegamenti circostanti sono forniti nella sfida.

if(value==0) seen[0]=1;
else if(value==15) seen[1]=1;
else seen[2]=1;

La maschera di bit ricorda quali categorie sono apparse senza sostituire quelle precedenti.

Combina la copertura dei confini e delle combinazioni di controllo con verifiche indipendenti della correttezza.

challenge icon

Sfida

Medio

Registra tre categorie di copertura degli input in seen senza azzerare i rilevamenti precedenti: il bit 0 registra value=0, il bit 1 registra value=15 e il bit 2 registra i valori da 1 a 14. Gli input contengono bit noti. Il chiamante inizializza seen=0 prima di uno scenario. Questo modulo contiene un task utilizzato solo nella simulazione e chiamato dal testbench bloccato. Colonne di output: seen in formato decimale.

Completa design.v e conserva i nomi e le porte del modulo. Il testbench.v bloccato fornisce le modifiche degli input e stampa gli output dopo che si sono stabilizzati. Sceglie uno scenario usando un argomento del simulatore come +CASE=1; non è richiesto alcun input standard. Mantieni la stampa e il controllo dello scenario nel testbench bloccato; implementa solo il corpo del task. L'output previsto è una riga di valori decimali per ogni osservazione, separati da uno spazio e terminati da un a capo.

Provalo tu

module dut;
    task observe;
        input [3:0] value;
        inout [2:0] seen;
        begin
            // Completa il task di verifica.
            seen=seen;
        end
    endtask
endmodule
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Progettazione e verifica RTL

Esercitati da solo: Compilatore Verilog online