Menu
Coddy logo textTech

Integer und Real

Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 8 von 90.

Zusätzlich zu wire und reg verfügt Verilog über weitere Datentypen für Zahlen mit unterschiedlichen Verwendungszwecken.

Integer

integer ist eine Mehrzweckvariable für Zählungen und Berechnungen.

  • Standardgröße ist 32 Bit
  • Vorzeichenbehaftet (kann negative Zahlen speichern)
  • Wird hauptsächlich in Testbenches und for-Schleifen verwendet

Deklarieren eines Integers:

integer i;        // 32-Bit-Variable mit Vorzeichen
integer count;    // Kann negative Zahlen speichern

Verwendung von integer:

integer i;

initial begin
  i = 0;           // Start bei 0
  i = i + 1;       // Hochzählen
  i = -5;          // Kann negative Werte speichern
  $display("i = %d", i);  // Gibt aus: i = -5
end

Real

real ist für Gleitkommazahlen (Zahlen mit Dezimalstellen).

  • Speichert gebrochene Werte
  • Wird in Testbenches für Berechnungen verwendet
  • Kann nicht für Hardware synthetisiert werden

Deklarieren eines real-Typs:

real pi;           // Gleitkomma-Variable
real voltage;

Verwendung von real:

real pi;

initial begin
  pi = 3.14159;               // Dezimalwert
  pi = 22.0 / 7.0;            // Divisionsergebnis
  $display("pi = %f", pi);    // Gibt aus: pi = 3.142857
end

Wo man sie verwendet

In Testbenches: Integers und Reals werden häufig für Schleifenzähler, Berechnungen und die Überprüfung von Erwartungswerten verwendet. Sie machen den Testcode einfacher zu schreiben und zu verstehen.

In Hardware: Diese Typen sind normalerweise nicht synthetisierbar – das bedeutet, sie können nicht in tatsächliche Schaltungen umgewandelt werden. Für Hardware, die auf einem FPGA oder Chip implementiert wird, verwenden Sie stattdessen reg und wire.

challenge icon

Aufgabe

Vervollständige den Code, damit die Testbench funktioniert.

Was zu tun ist:

  1. Deklariere einen integer namens i (für den Schleifenzähler)
  2. Deklariere eine real namens value (für die Berechnung)

Spickzettel

integer – 32-Bit-Vorzeichen-Variable für Zählungen/Berechnungen (Testbenches, Schleifen):

integer i;
integer count;

initial begin
  i = 0;
  i = i + 1;
  i = -5;  // kann negative Werte speichern
end

real – Gleitkomma-Variable für Dezimalwerte (nur Testbenches, nicht synthetisierbar):

real pi;

initial begin
  pi = 3.14159;
  pi = 22.0 / 7.0;
  $display("pi = %f", pi);
end

Sowohl integer als auch real werden nur in Testbenches verwendet. Verwenden Sie für synthetisierbare Hardware reg und wire.

Probier es selbst

module test;
  
  // Deklariere eine Ganzzahl namens i

  
  // Deklariere eine Real-Zahl namens value

  
  initial begin
    i = 7;
    value = i * 0.5;
    $display("i = %0d, value = %f", i, value);
    
    $finish;
  end
  
endmodule
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen