Verilator
Verilator, SystemVerilog ve Verilog RTL tasarimlarini C++ veya SystemC koduna donusturmek suretiyle yuksek hizli simulasyon yapabilen acik kaynakli bir HDL simulatorudur. Ticari simulatorlerle karsilastirilebilir performans sunmasi ve ucretsiz olmasi nedeniyle akademik cevrelerde ve acik kaynak donanim projelerinde yaygin olarak kullanilir. Linux, macOS ve Windows (WSL) uzerinde calisir; LGPL lisansiyla ucretsizdir.
Temel Özellikler
- Yuksek performansli Verilog ve SystemVerilog simulasyonu
- C++ veya SystemC cikti uretimi ve derleme
- Testbench ile C++ entegrasyonu
- Kod kapsamı (code coverage) analizi
- Dalga formu (waveform) FST ve VCD formatı cikti
- OpenROAD ve acik kaynak EDA is akislariyla entegrasyon
- CMake tabanli derleme sistemi
- Ucretsiz ve acik kaynak, aktif topluluk gelisimi
Verilator ile basit bir Verilog modulu nasil simule edilir?
Verilator kullanimi icin once Verilog tasarim dosyanizi hazirlayın. Verilator komutuyla modulu C++ koduna donusturun; tipik komut sudur: verilator –cc tasarim.v –exe testbench.cpp –build. Burada testbench.cpp, simülasyonu baslatip giris sinyallerini uretiyor ve cikislari dogrulayan C++ kodu icerir. Derleme tamamlandiktan sonra ureltilen calistirılabilir dosyayi calistirin. Dalga formu goruntulemek icin –trace parametresini ekleyin; VCD veya FST cikti uretilir ve GTKWave ile goruntulenir.
Verilator ticari simulatorler ile karsilastirildiginda nasil?
Cadence Incisive, Synopsys VCS veya Mentor Questa gibi ticari simulatorler tam SystemVerilog standardini destekler; kapsamli lint, formul dogrulama ve kurumsal destek sunar. Verilator ise C++ tabanlı sikistirmali simulasyon modeli sayesinde buyuk tasarimlarda ticari simulatörlere yaklasan veya zaman zaman geçen hizda calisabilir. Desteklenen SystemVerilog alt kumesi sinirli olabilir; ozellikle dinamik diziler ve bazi interface ozellikleri kisitli desteklenir. Ucretsiz olmasi ve acik kaynak yapisi sayesinde akademik cevrelerde ve ucretsiz EDA is akislari (OpenROAD, IceStorm) icin birincil simulator olarak tercih edilmektedir.
Verilator alternatifleri
HDL simulasyon ve sentez arac alternatifleri: Yosys, XSCHEM, MPLAB X IDE.
- Son derece hızlı simülasyon motoru
- SystemVerilog tam desteği
- Aktif geliştirme ve büyük topluluk
- CI/CD entegrasyon uyumlu
- Tamamen ücretsiz ve açık kaynak
- Windows desteği dolaylı (WSL2 gerekli)
- Öğrenme eğrisi yüksek
- Sadece davranışsal simülasyon, timing analizi yok
Introduction to Verilator
Verilator Tutorial - SystemVerilog Simulation
İşletim Sistemi: Linux (birincil), macOS, Windows (WSL2 ile)
RAM: 1 GB minimum
Disk: 500 MB
Diğer: GCC/Clang, Make gerekli