Menu
Coddy logo textTech

Integer ve Real

Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası — ders 8 / 90.

wire ve reg'e ek olarak, Verilog farklı amaçlara yönelik sayılar için başka veri tiplerine sahiptir.

Integer

integer, sayma ve hesaplamalar için genel amaçlı bir değişkendir.

  • Varsayılan boyut 32 bittir
  • İşaretli (negatif sayıları saklayabilir)
  • Esas olarak testbench'lerde ve for döngülerinde kullanılır

Bir integer tanımlama:

integer i;        // 32-bit işaretli değişken
integer count;    // Negatif sayıları saklayabilir

integer kullanımı:

integer i;

initial begin
  i = 0;           // 0'dan başla
  i = i + 1;       // Yukarı say
  i = -5;          // Negatif değer saklayabilir
  $display("i = %d", i);  // Yazdırır: i = -5
end

Real

real kayan noktalı sayılar (ondalıklı sayılar) içindir.

  • Kesirli değerleri saklar
  • Hesaplamalar için testbench'lerde kullanılır
  • Donanıma sentezlenemez

Bir real tanımlama:

real pi;           // Kayan noktalı değişken
real voltage;

real kullanımı:

real pi;

initial begin
  pi = 3.14159;               // Ondalık değer
  pi = 22.0 / 7.0;            // Bölme sonucu
  $display("pi = %f", pi);    // Yazdırır: pi = 3.142857
end

Nerede Kullanılırlar

Testbench'lerde: Tam sayılar (integers) ve reel sayılar (reals); döngü sayaçları, hesaplamalar ve beklenen değerlerin kontrol edilmesi için yaygın olarak kullanılır. Test kodunun yazılmasını ve anlaşılmasını kolaylaştırırlar.

Donanımda: Bu türler genellikle sentezlenebilir değildir; yani gerçek devrelere dönüştürülemezler. Bir FPGA veya çip üzerine yerleştirilecek donanımlar için bunun yerine reg ve wire kullanın.

challenge icon

Görev

Testbench'in çalışması için kodu tamamlayın.

Yapılması gerekenler:

  1. i adında bir integer bildirin (döngü sayacı için)
  2. value adında bir real bildirin (hesaplama için)

Kopya kağıdı

integer – sayma/hesaplama işlemleri için 32-bit işaretli değişken (testbench'ler, döngüler):

integer i;
integer count;

initial begin
  i = 0;
  i = i + 1;
  i = -5;  // negatif değerleri saklayabilir
end

real – ondalıklı değerler için kayan noktalı değişken (sadece testbench'ler için, sentezlenemez):

real pi;

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

Hem integer hem de real sadece testbench'lerde kullanılır. Sentezlenebilir donanım için reg ve wire kullanın.

Kendin dene

module test;
  
  // i adında bir tamsayı tanımla

  
  // value adında bir reel sayı tanımla

  
  initial begin
    i = 7;
    value = i * 0.5;
    $display("i = %0d, value = %f", i, value);
    
    $finish;
  end
  
endmodule
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler