Ana içeriğe geç

Verilog VCD: Simülasyon Analizi İçin Dalga Formu Kaydı

· loading · loading · ·
Kerim Turak
Donanım Tasarımı Verilog VCD Dalga Formu Görüntüleme Simülasyon Analizi Testbench GTKWave
Donanım Tasarımı
Yazar
Kerim Turak
Digital IC Design & Verification Engineer
Table of Contents
Verilog HDL Serisi - This article is part of a series.
Part 22: This Article

📉 VCD – Değer Değişim Dosyası (Value Change Dump)
#

VCD, Verilog simülasyonu sırasında üretilen ve zaman içindeki sinyal değişimlerini kaydeden standart bir dalga formu dosya formatıdır. GTKWave gibi araçlarla görüntülenebilir.

✅ VCD Dosyası Nasıl Üretilir?
#

Testbench içinde:

initial begin
  $dumpfile("wave.vcd");       // Çıktı dosyası adı
  $dumpvars(0, tb_top);        // tb_top hiyerarşisindeki tüm sinyalleri kaydeder
end
  • $dumpfile: dosya adını ayarlar
  • $dumpvars(seviye, kapsam): hangi sinyallerin kaydedileceğini belirler

📊 GTKWave ile Görüntüleme:
#

gtkwave wave.vcd

💡 Ek VCD Görevleri
#

GörevAçıklama
$dumpfileVCD dosyasının adını belirler
$dumpvarsDeğişim kaydını başlatır
$dumpoffGeçici olarak kaydı durdurur
$dumponKaydı yeniden başlatır
$dumpallTüm mevcut değerleri anında kaydeder
$dumpflushVerileri dosyaya anında yazar
$dumpportsSadece port seviyesindeki sinyalleri kaydeder

✅ Özet
#

KavramAmacıKullanım Alanı
İsim AlanıTanımlayıcı kapsamını sınırlarModüller
VCDDalga formu görüntüleme için sinyal kaydıTestbench
$dumpfileVCD çıktısı dosyasını ayarlarSimülasyon
$dumpvarsSinyal değişimlerinin kaydını başlatırSimülasyon

module tb_vcd_demo;

    reg clk = 0;
    reg rst = 1;
    reg [3:0] counter = 0;

    // Clock generation
    always #5 clk = ~clk;

    // Simple counter logic
    always @(posedge clk) begin
        if (rst)
            counter <= 0;
        else
            counter <= counter + 1;
    end

    // VCD dump setup
    initial begin
        $dumpfile("wave.vcd");
        $dumpvars(0, tb_vcd_demo);
        #10 rst = 0;
        #100 $finish;
    end

endmodule

Verilog HDL Serisi - This article is part of a series.
Part 22: This Article

Related

Verilog Gecikme Kontrolleri: #Gecikme, @Olay, Bekleme
· loading · loading
Kerim Turak
Donanım Tasarımı Verilog Gecikme Olay Kontrolü Bekleme İfadesi Simülasyon Testbench
Donanım Tasarımı
Verilog Hiyerarşik Referans: Dahili Sinyallere Erişim
· loading · loading
Kerim Turak
Donanım Tasarımı Verilog Hiyerarşik Referans Force Release Testbench Simülasyon Hata Ayıklama Donanım Doğrulama
Donanım Tasarımı
Verilog Komut Satırı Girişi: Testbench Kontrolü İçin $plusargs
· loading · loading
Kerim Turak
Donanım Tasarımı Verilog Komut Satırı Plusargs Testbench Simülasyon Kontrolü Donanım Doğrulama
Donanım Tasarımı
Verilog Simülasyon Temelleri ve Testbench Tasarımı
· loading · loading
Kerim Turak
Donanım Tasarımı Verilog Simülasyon Testbench Timescale Simülasyon Bölgeleri Donanım Doğrulama
Donanım Tasarımı
Verilog Sistem Fonksiyonları ve Görevleri: Simülasyon İçin
· loading · loading
Kerim Turak
Donanım Tasarımı Verilog Sistem Fonksiyonları Verilog Görevler Simülasyon Testbench Rastgeleleştirme
Donanım Tasarımı
Donanım Tasarımında Soyutlama Seviyeleri
·208 kelime·1 dk· loading · loading
Kerim Turak
Donanım Tasarımı Donanım Soyutlama RTL Tasarımı Kapı Seviyesi Transistör Seviyesi Dijital Tasarım
Donanım Tasarımı