Menu
Coddy logo textTech

Kombinasyonel Fonksiyonlar

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

Bir Verilog function modül içinde yeniden kullanılmak üzere sıfır zamanlı bir hesaplamayı paketler. Dönüş genişliğini, giriş bağımsız değişkenlerini ve yerel değişkenleri tanımlayın, ardından sonucu function adına assign edin. Kombinasyonel işlevler gecikme veya olay denetimleri içermez; sabit sınırlara sahip bir döngü, tekrarlanan mantığı tanımlayabilir.

İlgili alıntı; çevreleyen bildirimler ve bağlantılar alıştırmada sağlanmıştır.

function [7:0] gray;
    input [7:0] value;
    begin gray = value ^ (value >> 1); end
endfunction

function çağrısı, simülasyon süresi eklemeden bir ifade hesaplar.

Her yolda function sonucunu ata ve kombinasyonel fonksiyonları zamanlama kontrollerinden arındır.

challenge icon

Görev

Orta

Bir işaretsiz 8 bitlik ikili değeri, value XOR (value bir bit sağa kaydırılmış) kullanarak Gray koduna dönüştüren bir Verilog function gray uygulayın. y değerini function öğesini a ile çağırarak sürün. Çıktı sütunları: y. Tüm uyaran değerleri bilinen ikili değerlerdir.

design.v dosyasını tamamlayın ve modül adlarını ve portlarını koruyun. Kilitli testbench.v dosyası 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 giriş 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; değerler tek bir boşlukla ayrılmalı ve satır yeni satır karakteriyle bitmelidir.

Kendin dene

module dut (input [7:0] a, output [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