Skip to content

Proje Yapısı ve Dizin Düzeni

Bu belge, ilgili alt sistemleri kolayca bulabilmeniz için tar32 SoC deposunun dosya düzenini açıklamaktadır.


Kök Dizin

Dosya / Klasör Açıklama
Bender.yml Donanım bağımlılıklarını yöneten (IP yönetim) konfigürasyon dosyası.
tar32.py Sistem otomasyonu, simülasyon ve kod kalite analizini yöneten ana araç.
mkdocs.yml Bu okuduğunuz dokümantasyonun ayar dosyası.

Kaynak Kodlar (rtl/)

Temel donanım kodları işlevlerine göre alanlara ayrılmıştır:

  • rtl/core/: CV32E40P çekirdek entegrasyonu ve üst düzey (top_soc.sv) donanım sarmalayıcısı.
  • rtl/bus/: Ara bağlantı (interconnect) birimleri, özellikle obi-axi-bridge (OBI-AXI köprüsü).
  • rtl/mem/: Bellek kontrolcüleri ve SRAM modülleri.
  • rtl/peripheral/: UART, GPIO ve Yapay Zeka hızlandırıcısı gibi çevre birimleri.

Yazılım Altyapısı (sw/)

RISC-V çekirdeği üzerinde çalışan tüm kodlar burada yer alır:

  • sw/mcal/: Mikrodenetleyici Soyutlama Katmanı (Düşük seviye donanım sürücüleri).
  • sw/common/: Başlatma kodu (crt0.S), hata yakalama (exception) yöneticileri ve Linker (Bağlayıcı) scriptleri.
  • sw/build/: Derlenmiş yazılım dosyaları (.elf, .mem).

Doğrulama ve Test (sim/ & ci/)

Kod kalitesi ve doğruluğu sağlamak için gereken araçlar:

  • sim/tests/: Birim (Unit) ve Sistem test bench dosyaları.
  • sim/build/: Verilator tarafından üretilen ara dosyalar ve .vcd sinyal çıktıları.
  • ci/: GitHub Actions için yazılmış sürekli entegrasyon (CI) süreçleri.

Otomasyon (scripts/ & docker/)

Çalışma ortamının ayarlanması ve işlemlerin otomatikleştirilmesi:

  • scripts/: Simülasyon ve sentez süreçlerinde arka planda çalışan Python/Bash scriptleri.
  • docker/: Konteyner ortamını yapılandıran Dockerfile ve entrypoint.sh dosyaları.

Özet Şema

graph TD
    ProjeKoku --> RTL
    ProjeKoku --> SW[Yazılım - SW]
    ProjeKoku --> SIM[Doğrulama - SIM]
    ProjeKoku --> SCRIPTS[Otomasyon]

    RTL --> Core[Çekirdek]
    RTL --> Interconnect[Ara Bağlantı]
    RTL --> Periphs[Çevre Birimleri]

    SIM --> Testler
    SIM --> Ciktilar[Simülasyon Çıktıları]

    SW --> Suruculer[Sürücüler]
    SW --> Runtime[Çalışma Zamanı]