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 veri tiplerine ek olarak Verilog, farklı amaçlara sahip sayılar için başka veri tiplerine de sahiptir.

Integer

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

  • Varsayılan boyut 32 bit'tir
  • signed (negative numbers store edebilir)
  • Esas olarak testbenches ve for döngülerinde kullanılır

Bir integer bildirme:

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 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 bildirme:

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 ve gerçel sayılar döngü sayaçları, hesaplamalar ve beklenen değerleri kontrol etmek 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 sentezlenemez—yani gerçek devrelere dönüştürülemezler. Bir FPGA veya çip üzerinde yer alacak donanımlar için bunun yerine reg ve wire kullanın.

challenge icon

Görev

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

Ne yapılmalı:

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

Kendin dene

module test;
  
  // i adında bir integer bildir

  
  // value adında bir real bildir

  
  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