Özel X ve Z Değerleri
Coddy'nin Verilog Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 17 / 90.
X ve Z, simülasyon sırasında donanım durumu hakkında bilgi sağlayan özel değerlerdir.
Hata Ayıklama için X (Bilinmeyen)
X, tasarımınızdaki sorunları belirtmek için simülasyonda görünür.
X'i gördüğünüzde, bu genellikle şu anlama gelir:
- Başlatılmamış yazmaç: kullanmadan önce bir değer ayarlamayı unuttunuz
- Birden çok sürücü: iki farklı şey aynı kabloyu aynı anda kontrol etmeye çalışıyor
- Zamanlama ihlali: bir sinyal yanlış zamanda değişerek kararsız bir durum oluşturdu
X gerçek donanımda mevcut değildir. Tasarımınızda bir sorun olduğunu belirten bir simülasyon aracıdır; böylece asıl çipi üretmeden önce sorunu düzeltebilirsiniz.
X olmadan rastgele 0'lar veya 1'ler görebilir ve bir sorun olduğunu fark etmeyebilirsin. X, hataları görünür kılar.
Yaygın nedenler:
reg a; // Başlangıçta X (bilinmeyen)
reg b;
assign b = a; // b, a X olduğu için X olurZ (Yüksek Empedans)
Z, yüksek empedanslı veya bağlantısı kesilmiş bir durumu temsil eder.
- Bir sinyal, herhangi bir şey tarafından sürülmüyorsa Z'dir
- Z, "bu kablonun bağlantısı kesilmiş" anlamına gelir
- Üç durumlu tamponlar ve paylaşılan veri yolları için kullanılır
Yaygın nedenler:
wire c; // Başlangıçta Z (bağlı değil)
assign c = 1'bZ; // Explicitly set to ZVerilog'da X ve Z Yazma
X ve Z değerlerini 0 ve 1 gibi atayabilirsiniz:
reg [3:0] data;
data = 4'b10X0; // Bit 1 is unknown (0-indexed from the right)
data = 4'b01Z1; // Bit 1 yüksek empedanslı
data = 4'bXXXX; // All bits unknown
data = 4'bZZZZ; // Tüm bitler yüksek empedanslıDalga Biçimlerinde X ve Z
Simülasyon dalga biçimlerinde:
- X kırmızı bir çizgi veya "X" olarak görünür
- Z ortada bir çizgi veya "Z" olarak görünür
Bunlar, sinyallerin bilinmediği veya bağlantısının kesildiği yerleri göstererek tasarımınızda hata ayıklamanıza yardımcı olur.
Önemli Notlar
- X mantık boyunca yayılır (X AND 0 = 0, ancak X AND 1 = X)
- Z genellikle üç durumlu veri yolları için kullanılır
- Sentez sırasında X ve Z farklı şekilde ele alınabilir
- Simülasyonda X oluşmasını önlemek için reg sinyallerini her zaman başlatın
Görev
X ve Z içeren doğru değerleri yazarak kodu tamamlayın.
Yapılacaklar:
adeğerini, bit 1 bilinmeyen (diğerleri 0) olacak şekilde 4 bitlik bir değere ayarlayıncdeğerini tüm bitler bilinmeyen (4 bit) olacak şekilde ayarlayınddeğerini tüm bitler yüksek empedanslı (4 bit) olacak şekilde ayarlayın
Kendin dene
module xz_challenge;
wire [3:0] a, c, d;
assign a = 4'b______; // Bit 1 is X (others 0)
assign c = 4'b______; // Tüm bitler X
assign d = 4'b______; // All bits Z
initial begin
$display("a = %b", a);
$display("c = %b", c);
$display("d = %b", d);
$finish;
end
endmoduleBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temel Bilgiler bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerMod Alma OperatörüKarşılaştırma OperatörleriTekrar - Basit MatematikBit Düzeyi Operatörleri7Atama ve Kapılar
Sürekli AtamaOperatörlerle AtamaYerleşik Kapı PrimitifleriAND, OR ve NOT KapılarıXOR ve XNOR KapılarıÖzet - Mantık Kapısı Devresi10Karar Verme
If İfadesiIf - ElseTekrar - Basit KarşılaştırıcıCase İfadesiCasex ve CasezTekrar - ALU Tasarımı2Veri Türleri
Wire TürüReg TürüTamsayı ve GerçelVektörlerDizilerParametrelerÖzet - Sinyalleri Tanımlama5Operatörler Bölüm 2
Mantıksal Operatörlerİndirgeme OperatörleriKaydırma OperatörleriBirleştirme OperatörüKoşullu OperatörTekrar - Operatör Meydan Okuması11Döngüler
For DöngüsüWhile DöngüsüTekrar DöngüsüSonsuz DöngüDevre Dışı Bırakma İfadesiTekrar - Döngü Kalıpları3Sayı Sistemi
İkili GösterimBoyutlu SayılarBoyutsuz SayılarNegatif SayılarÖzel X ve Z DeğerleriTekrar - Sayı Biçimleri6Modüller
Modül YapısıGiriş ve Çıkış PortlarıÇift Yönlü PortlarModül ÖrneklendirmeAda Göre Port EşlemeSıraya Göre Port EşlemeTekrar - Bir Modül Oluşturma9Prosedürel Bloklar
Always BloğuInitial BloğuDuyarlılık ListesiBloklayıcı AtamaBloklamayan AtamaTekrar - Always ve Initial Karşılaştırması15Trafik Işığı Denetleyicisi
Durumları TanımlamaDurum Makinesi MantığıKendi başına pratik yap: Online Verilog derleyicisi