Menu
Coddy logo textTech

Aritmetik Sağa Kaydırmalar

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

Aritmetik sağa kaydırma, sol işleneni signed olduğunda işaret bitini yineler ve >>> kullanır. Mantıksal sağa kaydırma >> kullanır ve sıfırlarla doldurur. Negatif tek bir değer için sağa aritmetik kaydırma, sıfıra doğru kesme yapan integer bölmeyle aynı değildir.

İlgili alıntı; çevredeki bildirimler ve bağlantılar görevde sağlanmıştır.

reg signed [7:0] value;
value = -3;
$display("%0d", value >>> 1);

Sonuç eksi ikidir, çünkü işaret genişletme negatif ikinin tümleyeni yorumunu korur.

İşaret genişletmesi gerektiğinde >>> ile işaretli bir sol işlenen kullanın.

challenge icon

Görev

Orta

Bir miktarı (0 ile 7 arasında) signed 8 bitlik değere aritmetik sağa kaydırma uygulayın. signed 8 bitlik sonuç y değerini döndürün. Negatif değerler işaret bitleriyle doldurulur. Çıktı sütunları: y. Tüm uyarıcı 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 girdi gerekmez. Tasarıma yazdırma, gecikme veya simülasyon sonlandırma eklemeyin. Beklenen çıktı, her gözlem için bir satır ondalık değer olup tek bir boşlukla ayrılmalı ve bir satır sonuyla bitmelidir.

Kendin dene

module dut (input signed [7:0] value, input [2:0] amount, output signed [7:0] y);
    // Bu yer tutucuyu kendi tasarımınızla değiştirin.
    assign y = 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