Skip to content

Çevre Birimleri

Tüm çevre birimleri işlemciyle AXI4-Lite protokolü üzerinden haberleşir. Adres haritasında esneklik sağlamak için her modüle 256 byte'lık sabit bir alan ayırdık ve aralarında boşluklar bıraktık.Optimizasyon seneryolarına göre bu noktalarda değişklikler olabilecektir.


Özel Modüller ve Özellikleri

1. UART ve UART-Stream

Standart UART biriminin yanında şartnamede belirtildiği gibi, NPU'yu beslemesi için UART-Stream adında ikinci bir modül tasarladık.

sequenceDiagram
    participant PC as Dış Cihaz (PC vs.)
    participant UART as UART-Stream
    participant NPURAM as 30kB NPU Belleği
    participant CPU as CV32E40P İşlemci
    participant NPU as Yapay Zeka Hızlandırıcı

    CPU->>UART: AXI-Lite ile başlangıç ayarı (Config)
    PC->>UART: Ses Verisi (Spectrogram)
    UART->>NPURAM: Doğrudan Veri Yazma (Burst)
    UART-->>CPU: Veri aktarımı bitti uyarısı 
    CPU->>NPU: İşlemi başlat
    NPU->>NPURAM: Veriyi oku ve işle
    NPU-->>CPU: İşlem tamamlandı (Interrupt)
    CPU->>NPU: Sonucu oku (CSR üzerinden)
  • UART-Stream bir nevi DMA mantığıyla çalışır. İşlemciye hiç yük bindirmeden, dışarıdan gelen ses verilerini doğrudan 30 kB'lık NPU belleğine yazar.
  • CPU sadece başlangıç ayarlarını yapar. Önemli bir kural olarak, veri yazılırken NPU ve UART-Stream aynı anda belleğe erişemez.

2. QSPI Master

Sistemin dış dünya ve özellikle flash bellek ile iletişimini sağlar.

  • Performans darboğazını önlemek için içinde 64 derinliğinde ve 32-bit genişliğinde TX (verici) ve RX (alıcı) FIFO'lar barındırır.
  • FIFO'ların doluluk durumları, donanımsal flag'ler aracılığıyla QSPI status register'ı üzerinden otomatik güncellenir.

3. I2C Master

I2C modülü için açık kaynaklı hazır bir IP kullandık. Ancak bu modülü sistemin AXI-Lite veriyoluna entegre etmek için özel bir wrapper (sarmalayıcı) yazmamız gerekti.

  • Donanımsal Kısıtlama: Tasarım gereği I2C kontrol register'ında (I2C_CFG) veri okuma (RX enable) ve yazma (TX enable) bitlerinin aynı anda aktif edilmesine donanımsal olarak izin verilmez.

4. GPIO ve Timer

Standart sinyal kontrolleri ve zamanlama görevleri için tamamen projeye özgü olarak ÖTR'de bahsedildiği gibi RTL seviyesinde sıfırdan tasarlanmışlardır. Dışarıdan herhangi bir IP kullanılmamıştır.