Skip to content

Tar32 SoC — Yeni Modül Ekleme Rehberi

Projeye yeni bir RTL modülü (RAM, çevre birimi, ara bağlantı, vb.) eklemek için aşağıdaki adımları izleyin. Sistem Python tabanlı tar32.py altyapısı üzerinden yönetilmektedir.

Adım 1 — RTL Dosyasını Doğru Klasöre Ekleyin

Modül türüne göre rtl/ altındaki ilgili klasöre yerleştirin:

Modül Türü Hedef Klasör
Bus / Bridge rtl/bus/<alt-klasör>/
Çevre Birimi (UART, SPI vb.) rtl/peripheral/<modül-adı>/
Bellek (RAM, ROM vb.) rtl/mem/
Core Bileşenleri rtl/core/

Important

Dosya adı ile modül adı aynı olmalıdır (Örnek: tar32_<isim>.sv).

Adım 2 — Bender.yml'e Kaydedin

Bender.yml içindeki sources listesine dosya yolunu ekleyin. Bu sayede modül derleme sürecine otomatik dahil olur.Eğer python scripti yardımı ile modül oluşturduysanız bu süreç otomatik olarak gerçekleştirilir.

sources:
  # ... diğer dosyalar

  - rtl/bus/yeni-kategori/tar32_yeni_modul.sv   # Eklenen dosya

Important

Eğer modül bir paket (_pkg.sv) kullanıyorsa, paket dosyasını modülden önce listelemelisiniz.

Adım 3 — Testbench Dosyası Oluşturun

sim/tests/unit/ dizini altına tb_<modül_adı>.sv adıyla testbench dosyasını oluşturun.Bu yapı verilator için sağlanmakta olunup kapsamlı test seneryoları UVM ile sağlanmaktadır.

Important

Testbench içindeki modül adı, dosya adıyla birebir aynı olmalıdır.

// Doğru kullanım
module tb_tar32_yeni_modul;
  // ...
endmodule

Adım 4 — Simülasyonu Çalıştırın

Projedeki Python scriptini kullanarak birim testini çalıştırın:

python3 tar32.py sim unit --module tar32_yeni_modul

Bu script otomatik olarak bağımlılıkları çözer ve simülasyonu çalıştırır. Eğer tüm sistemi (SoC) simüle etmek isterseniz:

python3 tar32.py sim soc

Adım 5 — (Opsiyonel) Pipeline ve Linting İşlemleri

Yazdığınız modülün statik analizini (linting) yapmak için:

python3 tar32.py lint --module tar32_yeni_modul

Tüm CI/CD pipeline'ı (simülasyon + sentez) test etmek için:

python3 tar32.py pipeline

Derleme ve simülasyon çıktılarını temizlemek isterseniz:

python3 tar32.py clean all