Menu
Coddy logo textTech

Funzioni combinatorie

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

Una funzione Verilog function racchiude un calcolo senza durata, riutilizzabile all’interno di un modulo. Dichiarane la larghezza del valore restituito, gli argomenti di input e le variabili locali, quindi assegna il risultato al nome della function usando assign. Le funzioni combinatorie non contengono ritardi né controlli di evento; un ciclo con limiti fissi può descrivere una logica ripetuta.

Estratto pertinente; le dichiarazioni e le connessioni circostanti sono fornite nella sfida.

function [7:0] gray;
    input [7:0] value;
    begin gray = value ^ (value >> 1); end
endfunction

Chiamare la function calcola un’espressione senza aggiungere tempo di simulazione.

Assegna il risultato della function in ogni percorso e mantieni le funzioni combinatorie prive di controlli temporali.

challenge icon

Sfida

Medio

Implementa una function Verilog gray che converte un valore binario senza segno a 8 bit in codice Gray usando value XOR (value shiftato a destra di uno). Pilota y chiamando la function con a. Colonne di output: y. Tutti i valori degli stimoli sono valori binari noti.

Completa design.v e mantieni i nomi dei moduli e delle porte. Il testbench.v bloccato fornisce le variazioni degli ingressi 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. Non aggiungere stampe, ritardi o terminazioni della simulazione al design. L'output previsto è una riga di valori decimali per ogni osservazione, separati da uno spazio e terminati da un carattere di nuova riga.

Provalo tu

module dut (input [7:0] a, output [7:0] y);
    // Sostituisci questo segnaposto con il tuo progetto.
    assign y = 0;
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