Menu
Coddy logo textTech

Integer und Real

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

Neben wire und reg verfügt Verilog über weitere Datentypen für Zahlen mit unterschiedlichen Verwendungszwecken.

integer

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

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

Deklarieren von 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 wird für Gleitkommazahlen (Zahlen mit Dezimalstellen) verwendet.

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

Eine reelle Zahl deklarieren:

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: Ganzzahlen und reelle Zahlen werden häufig für Schleifenzähler, Berechnungen und die Überprüfung erwarteter Werte verwendet. Dadurch lässt sich Testcode leichter schreiben und verstehen.

In der Hardware: Diese Typen sind normalerweise nicht synthetisierbar, das heißt, sie können nicht in tatsächliche Schaltungen umgewandelt werden. Für Hardware, die auf einem FPGA oder Chip eingesetzt werden soll, verwende stattdessen reg und wire.

challenge icon

Aufgabe

Vervollständige den Code, damit die Testbench funktioniert.

Was zu tun ist:

  1. Deklariere eine Ganzzahl namens i (für den Schleifenzähler)
  2. Deklariere eine reelle Zahl namens 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

Übe selbstständig: Online-Verilog-Compiler