Ana içeriğe geç

UVM'de Transaction-Level Modeling (TLM) Nedir?

· loading · loading · ·
Kerim Turak
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog TLM Veri İletişimi
Eğitim UVM Doğrulama
Yazar
Kerim Turak
Digital IC Design & Verification Engineer
Table of Contents
UVM Serisi - This article is part of a series.
Part 26: This Article

🚀 Transaction-Level Modeling (TLM) Nedir?
#

Transaction-Level Modeling (TLM), yüksek soyutlama seviyesinde veri iletişimini modellemek için kullanılan bir yaklaşımdır. Geleneksel sinyal tabanlı bağlantılar yerine, veriyi işlemler (transactions) şeklinde temsil ederek doğrulama ortamlarının daha basit, okunabilir ve ölçeklenebilir olmasını sağlar.

UVM (Universal Verification Methodology) testbench’lerinde TLM, bileşenler arasında port-export-imp yapıları ile haberleşmeyi sağlar. Bu, testbench modülleri arasında daha esnek ve yeniden kullanılabilir bir mimari kurulmasına yardımcı olur.


🔎 TLM Kullanımının Avantajları
#

Soyutlama Sağlar Sinyal seviyesindeki karmaşayı azaltır ve işlemleri basit transaction objeleriyle yönetir.

Kolay Entegrasyon Bağımsız olarak geliştirilen modülleri kolayca bir araya getirerek testbench ortamında kullanabilmenizi sağlar.

Yüksek Okunabilirlik ve Hızlı Geliştirme Veri transferlerini port ve export kullanarak merkezi şekilde yönetmek, test ortamının daha hızlı geliştirilmesini sağlar.


🛠️ TLM Temel Yapıları
#

🔹 Port Veriyi göndermek isteyen bileşenler tarafından kullanılır. Port, bir üst seviyedeki export veya imp’e bağlanarak veri akışını başlatır.

🔹 Export Port’tan gelen veriyi alır ve uygun imp’e veya başka bir export’a iletir. Genelde hiyerarşi geçişlerinde kullanılır.

🔹 Imp Veriyi son olarak işleyen bileşenin arayüzü olup, gelen port çağrılarını kendi metoduna yönlendirir.


🔗 Blocking ve Non-blocking Kavramları
#

🔸 Blocking: Veri transferi sırasında gönderici veya alıcı işlemi tamamlanana kadar bekler (ör. put(), get()).

🔸 Non-blocking: Gönderici veya alıcı, işlemin hemen başarılı veya başarısız olduğunu bildirir ve başka işlere devam edebilir (ör. try_put(), can_put()).


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

Related

UVM'de Blocking ve Non-blocking Put/Get Port Kullanımı
· loading · loading
Kerim Turak
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Blocking Port Non-Blocking Port TLM
Eğitim UVM Doğrulama
UVM RAL (Register Abstraction Layer) Kullanımı ve Özellikleri
· loading · loading
Kerim Turak
Eğitim UVM Doğrulama UVM RAL Register Abstraction Layer Doğrulama SystemVerilog Register Modeling
Eğitim UVM Doğrulama
UVM RAL Modeli ile Sequencer ve Monitor Bağlantısı
· loading · loading
Kerim Turak
Eğitim UVM Doğrulama UVM RAL Sequencer Monitor Predictor Register Verification SystemVerilog Testbench Doğrulama
Eğitim UVM Doğrulama
UVM RAL Predictor Kullanımı: Register Modelini Senkronize Tutma
· loading · loading
Kerim Turak
Eğitim UVM Doğrulama UVM RAL Predictor Register Verification Bus Monitor SystemVerilog Testbench Doğrulama
Eğitim UVM Doğrulama
UVM RAL Register API Kullanımı: Frontdoor ve Backdoor Erişim
· loading · loading
Kerim Turak
Eğitim UVM Doğrulama UVM RAL Register Access Frontdoor Backdoor SystemVerilog Testbench Doğrulama
Eğitim UVM Doğrulama
UVM RAL Register Modeli Oluşturma ve UVM Ortamına Entegrasyonu
· loading · loading
Kerim Turak
Eğitim UVM Doğrulama UVM RAL Register Modeling SystemVerilog Adapter Bus Interface Verification Doğrulama
Eğitim UVM Doğrulama