Menu
Coddy logo textTech

Liczby całkowite i rzeczywiste

Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 8 z 90.

Oprócz wire i reg Verilog ma inne typy danych dla liczb, przeznaczone do różnych celów.

Liczba całkowita

integer to zmienna ogólnego przeznaczenia, służąca do zliczania i obliczeń.

  • Domyślny rozmiar to 32 bity
  • Ze znakiem (może przechowywać liczby ujemne)
  • Używany głównie w testbenchach i pętlach

Deklarowanie liczby całkowitej:

integer i;        // 32-bitowa zmienna ze znakiem
integer count;    // Może przechowywać liczby ujemne

Używanie typu integer:

integer i;

initial begin
  i = 0;           // Zacznij od 0
  i = i + 1;       // Zwiększaj wartość
  i = -5;          // Może przechowywać wartości ujemne
  $display("i = %d", i);  // Wyświetla: i = -5
end

Liczby rzeczywiste

real służy do przechowywania liczb zmiennoprzecinkowych (liczb z częścią dziesiętną).

  • Przechowuje wartości ułamkowe
  • Używane w testbenchach do obliczeń
  • Nie można ich zsyntetyzować do sprzętu

Deklarowanie liczby rzeczywistej:

real pi;           // Zmienna zmiennoprzecinkowa
real voltage;

Używanie typu real:

real pi;

initial begin
  pi = 3.14159;               // Wartość dziesiętna
  pi = 22.0 / 7.0;            // Wynik dzielenia
  $display("pi = %f", pi);    // Wyświetla: pi = 3.142857
end

Gdzie ich używać

W stanowiskach testowych: Liczby całkowite i rzeczywiste są często używane jako liczniki pętli, do obliczeń i sprawdzania oczekiwanych wartości. Dzięki nim łatwiej pisać i rozumieć kod testowy.

W sprzęcie: tych typów zazwyczaj nie można syntezować, co oznacza, że nie da się ich przekształcić w rzeczywiste układy. W przypadku sprzętu, który ma działać na układzie FPGA lub chipie, użyj zamiast nich reg i wire.

challenge icon

Wyzwanie

Uzupełnij kod, aby testbench działał.

Co zrobić:

  1. Zadeklaruj liczbę całkowitą o nazwie i (licznik pętli)
  2. Zadeklaruj liczbę rzeczywistą o nazwie value (do obliczeń)

Spróbuj swoich sił

module test;
  
  // Zadeklaruj zmienną całkowitą o nazwie i

  
  // Zadeklaruj zmienną rzeczywistą o nazwie value

  
  initial begin
    i = 7;
    value = i * 0.5;
    $display("i = %0d, value = %f", i, value);
    
    $finish;
  end
  
endmodule
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Verilog online