Ana içeriğe geç

Verilator

· loading · loading · · ·
HDL Verilog HDL
Axolot Logic
Yazar
Axolot Logic
Sayısal Tasarım Mühendisi
Table of Contents

Verilator Nedir?
#

Verilator, Verilog HDL (Hardware Description Language) kodunu yüksek performanslı simülasyonlar yapmak için C++ veya SystemC koduna dönüştüren bir açık kaynaklı simülatördür. Özellikle donanım doğrulama ve modelleme için kullanılır. Verilator, döngüsel olmayan simülasyonlar için tasarlanmıştır ve diğer HDL simülatörlerinden farklı olarak synthesizable Verilog kodunu destekler.


Verilator’un Temel Özellikleri
#

  • Verilog kodunu hızlı çalışan C++/SystemC modeline dönüştürür.
  • Çok büyük tasarımlar için yüksek performans sunar.
  • Açık kaynaklıdır (GNU GPL).
  • Debugging ve dalga formu oluşturma (waveform) desteği sunar.
  • FPGA veya ASIC tasarımlarında kullanılabilir.

Verilator Kurulum Rehberi
#

Verilator’u kurmak için birkaç farklı yöntem vardır: önceden derlenmiş bir sürüm yükleme, kaynak koddan derleme veya paket yöneticileriyle kurulum.

1. WSL (Ubuntu) veya Linux’ta Kurulum
#

Adım 1: Gerekli Bağımlılıkları Yükleme
#

Terminalde şu komutları çalıştırarak bağımlılıkları yükleyin:

sudo apt update
sudo apt install git make autoconf g++ flex bison libfl2 libfl-dev zlib1g zlib1g-dev

Adım 2: Verilator’un Kaynak Kodunu İndirin
#

Verilator’u resmi GitHub deposundan klonlayın:

git clone https://github.com/verilator/verilator.git
cd verilator

Adım 3: Sürüm Belirtin ve Kurulum Yapın
#

  • En son kararlı sürümü indirmek için:
    git checkout stable
    

Bu hata, Verilator’un kaynak koddan kurulumu sırasında help2man aracının eksik olmasından kaynaklanıyor. help2man, Verilator gibi uygulamalar için manuel sayfaları (man pages) oluşturmak için kullanılır. Ancak bu araç eksik olduğunda, make işlemi tamamlanamaz ve belirtilen hata ile karşılaşırsınız.

Sorunu çözmek için şu adımları izleyin:


1. Gerekli Paketlerin Yüklenmesi
#

help2man aracını yükleyerek sorunu çözebilirsiniz:

sudo apt update
sudo apt install help2man -y

  • Kaynak koddan derlemek ve yüklemek için:
    autoconf
    ./configure
    make -j$(nproc)
    sudo make install
    

Adım 4: Kurulumu Doğrulayın
#

Kurulumu kontrol etmek için:

verilator --version

2. Windows (WSL ile) Kurulum
#

  1. WSL Kurulumu:

  2. Linux İçin Adımları İzleyin:

    • WSL terminalinde yukarıdaki Linux adımlarını tekrarlayın.

3. macOS’ta Kurulum
#

Homebrew Kullanarak Verilator Kurulumu
#

  1. Homebrew’i Güncelleyin:

    brew update
    
  2. Verilator’u Yükleyin:

    brew install verilator
    
  3. Kurulumu Doğrulayın:

    verilator --version
    

4. Windows (Yerel) Üzerinde Kurulum
#

Windows üzerinde doğrudan Verilator kurmak için bir Linux ortamına (örneğin WSL veya Cygwin) ihtiyaç vardır. Alternatif olarak, bir sanal makine veya Docker kullanabilirsiniz.


Verilator Kullanım Örneği
#

Adım 1: Verilog Tasarımı Hazırlama
#

Bir Verilog dosyası oluşturun:

// hello.v
module hello(input logic clk, output logic led);
    always @(posedge clk) led <= ~led;
endmodule

Adım 2: Verilog Kodunu Simüle Etme
#

  1. C++ Modeli Oluşturun: Verilog dosyasını C++ modeline dönüştürmek için:

    verilator --cc hello.v --exe sim_main.cpp
    
  2. Simülasyonu Derleme:

    make -j -C obj_dir -f Vhello.mk Vhello
    
  3. Simülasyonu Çalıştırma:

    ./obj_dir/Vhello
    

Adım 3: Waveform (Dalga Formu) Oluşturma
#

Waveform (dalga formu) dosyasını oluşturmak için --trace bayrağını kullanabilirsiniz:

verilator --cc hello.v --exe sim_main.cpp --trace

Faydalı Komutlar
#

Komut Açıklama
verilator --version Verilator sürümünü kontrol eder.
verilator --lint-only file.v Verilog dosyasını sadece hata ve uyarılar için kontrol eder.
verilator --trace Simülasyonda dalga formu oluşturmayı etkinleştirir.
verilator --cc file.v Verilog dosyasını C++ koduna çevirir.

Sıkça Sorulan Sorular
#

1. Verilator yalnızca synthesizable Verilog’u mu destekler?
#

Evet, Verilator sadece synthesizable (sentetiklenebilir) Verilog kodlarını destekler. Testbench veya döngüsel olmayan simülasyonlar için kullanılamaz.

2. Verilator neden hızlıdır?
#

Verilator, Verilog kodunu doğrudan C++/SystemC’ye dönüştürür ve simülasyonu bir yazılım programı olarak çalıştırır, bu da geleneksel HDL simülatörlerine kıyasla daha yüksek hız sağlar.


Eğer daha fazla yardıma ihtiyacınız olursa, sorularınızı sorabilirsiniz! 😊

Related

i3wm Kurulumu
· loading · loading
HDL Verilog HDL
Blocking ve Non-Blocking Atamalar
· loading · loading
HDL Verilog HDL
Derleyici Yönergeleri ve Makrolar
· loading · loading
HDL Verilog HDL
Gecikme Kontrolleri
· loading · loading
HDL Verilog HDL
Görev (Task) ve Fonksiyon (Function)
· loading · loading
HDL Verilog HDL
Hiyerarşik Referans
· loading · loading
HDL Verilog HDL