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