Menu
Coddy logo textTech

Integer And Real

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

wire ve reg türlerine ek olarak Verilog, farklı amaçlarla kullanılan sayılar için başka veri türlerine de sahiptir.

Tamsayı

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

  • Varsayılan boyut 32 bittir
  • Signed (negative numbers saklayabilir)
  • Çoğunlukla testbench'lerde ve for döngülerinde kullanılır

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 saklayabilir
  $display("i = %d", i);  // Yazdırır: i = -5
end

Real

real, kayan noktalı sayılar (ondalık basamakları olan sayılar) içindir.

  • Kesirli değerleri depolar
  • Hesaplamalar için testbençlerinde 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

Bunlar Nerede Kullanılır?

Testbench'lerde: Tamsayılar ve gerçek sayılar genellikle döngü sayaçları, hesaplamalar ve beklenen değerlerin kontrolü için kullanılır. Test kodunu yazmayı ve anlamayı kolaylaştırırlar.

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

challenge icon

Görev

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

Yapılacaklar:

  1. Bir integer Declare et; adı i olsun (for döngüsü counter'ı için)
  2. Bir real Declare et; adı value olsun (calculation 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

Kendi başına pratik yap: Online Verilog derleyicisi