Menu
Coddy logo textTech

Integer And 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.

  • Standardgröße beträgt 32 Bits
  • Vorzeichenbehaftet (can store negative numbers)
  • 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 ist für Gleitkommazahlen (Zahlen mit Dezimalstellen).

  • 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: Integer und Real-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.

Aufgabe:

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