Ana içeriğe geç

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

· loading · loading · ·
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog TLM Veri İletişimi
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 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
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Blocking Port Non-Blocking Port TLM
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
UVM Utility Field Makroları
· loading · loading
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Utility Makroları
Eğitim UVM Doğrulama
UVM ile Başlarken: Kurulum ve Desteklenen Simülatörler
· loading · loading
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Simülasyon
Eğitim UVM Doğrulama
UVM'de Factory Kullanımı
· loading · loading
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Factory Pattern
Eğitim UVM Doğrulama
UVM'de Konfigürasyon Sınıfları Kullanımı
· loading · loading
Eğitim UVM Doğrulama UVM Doğrulama SystemVerilog Konfigürasyon Sınıfları Randomizasyon
Eğitim UVM Doğrulama