Ana içeriğe geç

UVM'de Testbench Top Modülü ve Adder Örneği

· loading · loading · ·
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Testbench Top Modülü Adder
Eğitim UVM Doğrulama
Axolot Logic
Yazar
Axolot Logic
Sayısal Tasarım Mühendisi
Table of Contents
UVM Serisi - This article is part of a series.
Part 20: This Article

🛠️ UVM Testbench Top
#

🎯 Amaç
#

Bu sayfa, Adder tasarımı için testbench’in top module‘ünü açıklar. Bu modül:

✅ Clock ve reset üretir ✅ Adder DUT’u örnekler ✅ UVM config database kullanarak virtual interface ayarlar ✅ UVM testini başlatır ✅ Waveform kayıt işlemlerini başlatır


📜 Kod Örneği
#

module top;
  import adder_pkg::*;
  import uvm_pkg::*;

  adder_if vif();
  adder DUT (
    .clk(vif.clk),
    .rst(vif.rst),
    .num1(vif.num1),
    .num2(vif.num2),
    .out(vif.out)
  );

  initial begin
    uvm_config_db #(virtual adder_if)::set(null, "*", "vif", vif);
    uvm_top.enable_print_topology = 1;
    run_test("adder_test");
  end

  // Clock üretimi
  always #5 vif.clk = ~vif.clk;
  initial vif.clk = 0;

  // Reset üretimi
  initial begin
    vif.rst = 1;
    #20 vif.rst = 0;
  end
endmodule

🔍 Açıklamalar
#

adder_if: Adder DUT’a veri süren ve virtual interface ile UVM testbench’ine bağlanan arayüz. ✅ uvm_config_db: Virtual interface’i UVM bileşenlerine atamak için kullanılır. ✅ run_test(“adder_test”): adder_test isimli testi başlatır. ✅ $dumpfile() ve $dumpvars(): Simülasyon sırasında waveform kaydını etkinleştirir.


💡 Özet
#

  • Bu top module, UVM testbench’in giriş noktasıdır.
  • Tüm sinyaller ve reset burada kontrol edilir.
  • Virtual interface bağlantısı, driver ve monitor bileşenlerinin DUT ile iletişim kurmasını sağlar.
  • Varsayılan test senaryosu adder_test‘tir.
  • Waveform kaydı, simülasyon analizini kolaylaştırır. 📈

UVM Serisi - This article is part of a series.
Part 20: This Article

Related

UVM'de uvm_agent Kullanımı ve Adder Örneği
· loading · loading
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Uvm_agent Testbench Yapısı
Eğitim UVM Doğrulama
UVM'de uvm_monitor Kullanımı ve Adder Örneği
· loading · loading
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Uvm_monitor Coverage
Eğitim UVM Doğrulama
UVM'de uvm_scoreboard Kullanımı ve Adder Örneği
· loading · loading
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Uvm_scoreboard Test Sonuçları
Eğitim UVM Doğrulama
UVM'de uvm_sequence Kullanımı ve Adder Örneği
· loading · loading
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Uvm_sequence Stimulus Generation
Eğitim UVM Doğrulama
UVM'de uvm_test Kullanımı ve base_test Örneği
· loading · loading
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Uvm_test Test Senaryosu
Eğitim UVM Doğrulama
UVM Temel Sınıfları
· loading · loading
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Sınıf Hiyerarşisi
Eğitim UVM Doğrulama