Menu
Coddy logo textTech

Taşma ve Doygunluk

Coddy'nin Verilog Journey'sinin RTL Tasarımı ve Doğrulama bölümünün bir parçası. Ders 9 / 38.

İşaretli taşma, matematiksel sonucun seçilen signed genişliğe sığmadığı anlamına gelir. İşaretsiz elde durumundan farklıdır. signed toplamada, işaretleri aynı olan girdilerde sonuç işareti değiştiğinde taşma gerçekleşir. Doygunluk, sarmak yerine değeri temsil edilebilir bir uç noktaya sınırlar.

İlgili alıntı; çevredeki tanımlar ve bağlantılar meydan okumada sağlanmıştır.

assign overflow = (a[7] == b[7]) && (sum[7] != a[7]);

Farklı işaretli girdiler signed toplamında taşmaya neden olamaz; aynı işaretli girdiler sonuç işaretinin kontrol edilmesini gerektirir.

signed taşmasını carry’den bağımsız olarak kontrol edin; saturation uygulamadan önce genişletin.

challenge icon

Görev

Orta

signed 8 bitlik a ve b değerlerini toplayın. Sarılmış signed sonuç y değerini döndürün ve yalnızca kesin matematiksel toplam -128 ile 127 aralığının dışındaysa overflow=1 yapın. Çıktı sütunları: y, overflow. Tüm uyarım değerleri bilinen ikili değerlerdir.

design.v dosyasını tamamlayın ve modül adlarıyla portlarını koruyun. Kilitli testbench.v, giriş değişikliklerini sağlar ve çıktıları kararlı hâle geldikten sonra yazdırır. +CASE=1 gibi bir simülatör bağımsız değişkeni kullanarak bir senaryo seçer; standart girdiye gerek yoktur. Tasarıma yazdırma, gecikme veya simülasyon sonlandırma eklemeyin. Beklenen çıktı, her gözlem için bir satır ondalık değerden oluşmalı, değerler tek bir boşlukla ayrılmalı ve satır yeni satır karakteriyle bitmelidir.

Kendin dene

module dut (input signed [7:0] a, input signed [7:0] b, output signed [7:0] y, output overflow);
    // Bu yer tutucuyu kendi tasarımınızla değiştirin.
    assign y = 0;
    assign overflow = 0;
endmodule
quiz iconKendini test et

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

RTL Tasarımı ve Doğrulama bölümündeki tüm dersler

Kendi başına pratik yap: Online Verilog derleyicisi