Hızlı Başlangıç Rehberi
Bu rehber, geliştirme ortamını kurmanız ve ilk simülasyonu çalıştırmanız için gereken adımları içerir. Toolchain tutarlılığını sağlamak ve işletim sistemine bağlı bağımlılık hatalarını önlemek için konteyner Docker tabanlı bir ortam kullanıyoruz.
1. Proje Kurulumu
Depoyu klonlayın ve proje ana dizinine girin:
git clone https://github.com/minyatur32/tar32.git
cd tar32
2. Çalışma Ortamını Başlatma
Docker ortamını başlatmak için özel bir kurulum betiği kullanıyoruz. Bu script gerekli imajı indirir ve kalıcı bir konteyner oturumu başlatır.
# Geliştirme ortamını başlatın ve içine girin
./scripts/setup.sh
Tip
Kurulum başarılı olduğunda terminal girişiniz engineer@tar32-dev:/work$ olarak değişecektir. Bu, izole edilmiş geliştirme ortamında çalıştığınızı gösterir.
3. İlk Doğrulama
RISC-V araç zincirinin, RTL simülatörünün ve bağımlılıkların doğru kurulduğunu teyit etmek için genel entegrasyon testini çalıştırın:
python3 tar32.py pipeline
Note
İşlem hatasız tamamlanırsa, yerel ortamınız ana entegrasyon dalı ile uyumlu şekilde çalışıyor demektir.
4. Temel Komutlar
Sistem genelinde tüm işlemler tar32.py üzerinden yönetilir:
| Hedef | Komut | Açıklama |
|---|---|---|
| Statik Analiz | python3 tar32.py lint --all |
Verilator tabanlı kod kalite kurallarını çalıştırır. |
| Birim Testi | python3 tar32.py sim unit --module <modül_adı> |
Belirli bir RTL modülünü test eder. |
| Sistem Testi | python3 tar32.py sim soc |
Yazılımla birlikte tüm SoC simülasyonunu yapar. |
| Yazılım Derleme | make -C sw/ |
RISC-V C kodlarını çapraz derler (cross-compile). |
Sorun Giderme (Troubleshooting)
İzin (Permission) Ayarları
Eğer Docker yetki eksikliği nedeniyle hata verirse, kullanıcınızı docker grubuna ekleyin:
sudo usermod -aG docker $USER
# Grup ayarlarının geçerli olması için oturumu kapatıp açmanız gerekebilir.
Note
Eğer ilk kurulumdan sonra her şeyi doğru yaptığınıza eminseniz ama yinede sorun yaşıyorsanız docker kurulumundan sonra bilgisayarı yeniden başlattığınızdan emin olun.
Sinyal İnceleme (Waveform)
Simülasyon dosyaları konteyner içinde üretilir ancak bilgisayarınızdaki sim/build/ diziniyle eşitlenir. Çıktıları analiz etmek için kendi işletim sisteminizde GTKWave kullanabilirsiniz.