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ı saklayabilirinteger 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
endReal
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
endNerede 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.
Görev
Testbench'in çalışmasını sağlamak için kodu tamamlayın.
Ne yapılmalı:
- i adında bir integer bildirin (döngü counter için)
- 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
endmoduleBu 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
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüKarşılaştırma OperatörleriÖzet - Basit MatematikBitsel Operatörler7Atama ve Kapılar
Sürekli AtamaOperatörlerle AtamaYerleşik Kapı PrimitifleriAND OR NOT KapılarıXOR XNOR KapılarıÖzet - Mantık Kapısı Devresi10Karar Yapıları
If İfadesiIf - ElseÖzet - Basit KarşılaştırıcıCase İfadesiCasex ve CasezÖzet - ALU Tasarımı5Operatörler Bölüm 2
Mantıksal Operatörlerİndirgeme OperatörleriKaydırma OperatörleriBirleştirme OperatörüKoşullu OperatörÖzet - Operatör Meydan Okuması11Döngüler
For DöngüsüWhile DöngüsüRepeat DöngüsüSonsuz DöngüDevre Dışı Bırakma İfadesiÖzet - Döngü Kalıpları3Sayı Sistemleri
İkilik GösterimBoyutlandırılmış SayılarBoyutlandırılmamış SayılarNegatif SayılarÖzel Değerler X ve ZÖzet - Sayı Formatları6Modüller
Modül YapısıGiriş ve Çıkış PortlarıInout PortlarıModül Örneklendirmeİsme Göre Port EşlemeSıraya Göre Port EşlemeÖzet - Bir Modül Oluşturun9Prosedürel Bloklar
Always BloğuInitial BloğuDuyarlılık ListesiEngelleyici AtamaEngelleyici Olmayan AtamaÖzet - Always vs Initial15Trafik Işığı Kontrolcüsü
Durumları TanımlamaDurum Makinesi Mantığı