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

Integer

integer ist eine allgemeine Variable zum Zählen und für Berechnungen.

  • Standardgröße ist 32 Bits
  • Vorzeichenbehaftet (can store negative numbers)
  • Hauptsächlich in Testbenches und für Schleifen verwendet

Deklarieren eines integer:

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

Verwendung von integer:

integer i;

initial begin
  i = 0;           // Starte bei 0
  i = i + 1;       // Zähle hoch
  i = -5;          // Kann negative speichern
  $display("i = %d", i);  // Gibt aus: i = -5
end

Real

real ist für Fließkommazahlen (Zahlen mit Nachkommastellen).

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

Deklaration eines real:

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 sie verwendet werden

In Testbenches: Integers und Reals werden häufig für Schleifenzähler, Berechnungen und das Überprüfen von erwarteten Werten verwendet. Sie machen Testcode einfacher zu schreiben und zu verstehen.

In hardware: Diese Typen sind gewöhnlich nicht synthetisierbar – das bedeutet, sie können nicht in tatsächliche Schaltkreise umgewandelt werden. Für Hardware, die auf einen FPGA oder Chip gebracht werden soll, verwende stattdessen reg und wire.

challenge icon

Aufgabe

Vervollständigen Sie den Code, damit die Testbench funktioniert.

Was zu tun ist:

  1. Declare einen integer called i (für den Schleifenzähler)
  2. Declare einen real called value (für die Berechnung)

Probier es selbst

module test;
  
  // Deklariere einen Integer namens i

  
  // Deklariere einen Real 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