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, özellikleobi-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.vcdsinyal çı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ıranDockerfileveentrypoint.shdosyaları.
Ö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ı]