SystemVerilog ve UVM’i bilmeyen kalmasın.
Veri tiplerinden başlayıp bir ALU için uçtan uca UVM testbench kurmaya kadar giden 59 derslik, ücretsiz bir Türkçe kaynak. Derslerin neredeyse hepsinde EDA Playground’da açıp çalıştırabileceğiniz örnek kod var.
7F hatta üç çevrim bekliyor.Dersler
SystemVerilog
51 dersVeri tipleri, sınıflar, randomization, süreçler arası iletişim, assertion ve coverage. Seri, bir ALU için katmanlı bir SystemVerilog testbench projesiyle biter.
- 01Neden SystemVerilog?
- 02Verilog vs SystemVerilog
- 03Veri Tipleri
- 04typedef, enum ve struct
- 05Diziler (Arrays)animasyonlu
- 06Kuyruklar (Queues)animasyonlu
- 07String İşlemleri
- 08Lab 1: Veri Paketleri
- 09Sınıflar ve Nesneler
- 10Metodlar ve Constructor
- 11input, output, inout, ref
- 12this ve static
- 13Kapsülleme (Encapsulation)
- 14Kalıtım (Inheritance)
- 15Çok Biçimlilik (Polymorphism)
- 16Deep Copy vs Shallow Copyanimasyonlu
- 17Lab 2: Hiyerarşik Transaction
- 18rand ve randc
- 19randomize() Metodu
- 20Constraint Blokları
- 21Döngüsel Kısıtlamalar
- 22pre/post_randomize()
- 23constraint_mode
- 24Lab 3: Generator Sınıfı
- 25fork...joinanimasyonlu
- 26wait fork ve disable fork
- 27Events (Olaylar)
- 28wait(event.triggered) ve @(event)
- 29Mailboxanimasyonlu
- 30Semaphore
- 31Lab 4: IPC Veri Akışı
- 32Interface ve Modport
- 33Clocking Block
- 34Virtual Interface
- 35Assertions (SVA)
- 36Fonksiyonel Kapsam
- 37Code Coverage vs Functional Coverageanimasyonlu
- 38Lab 5: Interface + Coverage
- 39Makro Kullanımı (Ek Konu)
- 40ALU Tasarımı (DUT)
- 41ALU Interface Tanımı
- 42Transaction Sınıfı
- 43Generator Modülü
- 44Driver Modülü
- 45Gün 6 Ara Testi: Generator + Driver
- 46Monitor Modülü
- 47Scoreboard
- 48Environment Sınıfı
- 49Test Sınıfları
- 50Coverage Tanımları
- 51Final Testbench
UVM
8 dersBileşen hiyerarşisi, fazlar, TLM, sequence'ler, config_db ve factory. Seri, aynı ALU için UVM testbench'i ve virtual sequence'lerle biter.
- 01UVM'in Temelleri ve Testbench Yapısı
- 02UVM Transaction Modeli ve Agent Bileşenleri
- 03UVM TLM Haberleşmesi - Monitor, Scoreboard ve Coverage Collection
- 04UVM Sequence'ler, uvm_config_db kullanımı
- 05UVM Factory ve Override Mekanizmasıanimasyonlu
- 06Virtual Interface ile DUT'a Bağlanma: Gerçek Driver ve Monitor
- 07Uçtan Uca ALU UVM Testbench'i: Scoreboard, Coverage ve Test Varyantları
- 08Virtual Sequence, Virtual Sequencer ve Çok Agent'lı Ortamlar
Blog
-
Testiniz PASS Verdi, Peki Gerçekten Bir Şey Test Etti mi? UVM'de Yeşil Yalan Söyleyen 7 Sessiz Hata
UVM testbench'inde hiçbir şey doğrulamadan PASS veren yedi sessiz hata: kaldırılmayan objection, bağlanmayan analysis port, kontrol edilmeyen config_db::get ve randomize(), new() yüzünden uygulanmayan override, yanlış yazılan faz adı ve erken biten test. Hepsini yakalayan birkaç satırlık savunma hattı ve FPGA doğrulama ortamınızı sınamak için beş dakikalık bir deney.
-
Üniversite Öğrencileri İçin FPGA ve ASIC Doğrulama Kariyeri Rehberi: UVM Türkiye'de Nerede, Yurtdışında Ne Var?
FPGA doğrulama ne demek, ASIC doğrulama Türkiye'de var mı, UVM hangi sektörlerde kullanılıyor, doğrulama işi yapan firmalar hangileri, yurtdışı imkânları neler ve doğru bilinen yanlışlar: öğrenciler için kısa bir rehber.
-
UVM 1.2'nin Mimarisi: Tasarımcıların İyi Yaptıkları
UVM 1.2'nin yaklaşık 77.600 satırlık kaynağını okuyarak factory, config DB, faz akışı, objection, TLM, raporlama, register katmanı ve DAP'taki tasarım kararlarını; bu kararların bedellerini ve kütüphane tasarımcıları için çıkan dersleri inceledik. Bu desenlerin bir FPGA doğrulama ortamında hangilerinin işe yaradığını da anlattık.
-
FPGA Doğrulama: VHDL Tasarımı Verilator ve UVM ile Doğrulanır mı? DO-254 DAL A Gözünden Bir Değerlendirme
FPGA doğrulama akışında Verilator'ün yeri: VHDL tasarım, SystemVerilog tasarım ve Vivado netlist'i senaryolarında Verilator ile UVM'in emniyet kritik bir DO-254 projesinde ne işe yaradığını; elemental analizi, coverage motorlarının iç işleyişini ve VCD'den coverage çıkarma fikrini inceledik.
UVM Generator
Tarayıcıda çalışan, ücretsiz bir SystemVerilog/UVM testbench üreticisi. Beş driver–sequencer kullanım modelinden birini seçersiniz; agent’lar, scoreboard, coverage ve mimari diyagramıyla birlikte EDA Playground’a yüklenebilecek bir ZIP alırsınız.