Menu
CoddyTech

Interi e reali

Fa parte della sezione Fondamenti del percorso Verilog di Coddy. Lezione 8 di 90.

Oltre a wire e reg, Verilog dispone di altri tipi di dati per i numeri, con scopi diversi.

Intero

integer è una variabile generica usata per contare e fare calcoli.

  • La dimensione predefinita è di 32 bit
  • Con segno (può memorizzare numeri negativi)
  • Usato principalmente nei testbench e nei cicli for

Dichiarare un intero:

integer i;        // Variabile con segno a 32 bit
integer count;    // Può memorizzare numeri negativi

Utilizzo di integer:

integer i;

initial begin
  i = 0;           // Inizia da 0
  i = i + 1;       // Incrementa il conteggio
  i = -5;          // Può contenere valori negativi
  $display("i = %d", i);  // Stampa: i = -5
end

Reale

real si usa per i numeri in virgola mobile (numeri con cifre decimali).

  • Memorizza valori frazionari
  • Utilizzato nei banchi di prova per i calcoli
  • Non può essere sintetizzato in hardware

Dichiarare un real:

real pi;           // Variabile a virgola mobile
real voltage;

Usare real:

real pi;

initial begin
  pi = 3.14159;               // Valore decimale
  pi = 22.0 / 7.0;            // Risultato della divisione
  $display("pi = %f", pi);    // Stampa: pi = 3.142857
end

Dove usarli

Nei banchi di prova: Gli interi e i numeri reali sono comunemente usati per i contatori dei cicli, i calcoli e il controllo dei valori previsti. Rendono il codice dei test più facile da scrivere e da capire.

Nell'hardware: Il tipo real non è sintetizzabile, ovvero non può essere trasformato in un circuito reale. Il tipo integer può essere sintetizzato e viene spesso usato come contatore di ciclo, ma per i segnali hardware destinati a un FPGA o a un chip, usa reg e wire.

challenge icon

Sfida

Completa il codice per far funzionare il banco di prova.

Cosa fare:

  1. Dichiara un intero chiamato i (contatore del ciclo for)
  2. Dichiara un numero reale chiamato value (per il calcolo)

Provalo tu

module test;
  
  // Dichiara un intero chiamato i

  
  // Dichiara un numero reale chiamato value

  
  initial begin
    i = 7;
    value = i * 0.5;
    $display("i = %0d, value = %f", i, value);
    
    $finish;
  end
  
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 Fondamenti

Esercitati da solo: Compilatore Verilog online