Skip to content

Sistem Mimarisi ve Özeti

Tasarladığımız sistem, çip tasarım yarışmasının gerekliliklerine göre şekillendirilmiş modüler bir RISC-V platformudur. Sensörlerden gelen ses verilerini donanım seviyesinde sınıflandırabilmek için özel bir yapay zeka hızlandırıcısı içerir.


Genel Mimari

Veriyolu mimarisi PULP ekosistemine ait crossbar (çapraz çubuk) topolojisi üzerine kuruludur. Sistemde işlemci ve NPU ana birim (master) olarak, çevre birimleri ve bellekler ise bağımlı birim (slave) olarak görev yapar.

Çekirdeğin donanım komut ve veri erişimlerinin birbirini tıkamaması için iki ayrı OBI-AXI köprüsü tasarladık.

graph TD
    subgraph "Çekirdek Bölgesi"
        Core[CV32E40P]
        IBridge[Buyruk OBI-AXI Köprüsü]
        DBridge[Veri OBI-AXI Köprüsü]

        Core -- "Buyruk (OBI)" --> IBridge
        Core -- "Veri (OBI)" --> DBridge
    end

    subgraph "Ana Veriyolu (AXI4 Crossbar)"
        Xbar[AXI XBAR]
        IBridge -- "Master 0" --> Xbar
        DBridge -- "Master 1" --> Xbar
        NPU[Ses Sınıflandırma NPU] -- "Master 2" --> Xbar
        UARTStream[UART Stream] -- "Master 3" --> Xbar
    end

    subgraph "Çevre Birimleri ve Bellekler"
        IMEM[8kB Buyruk Belleği]
        DMEM[8kB Veri Belleği]
        NPURAM[30kB Çift Portlu NPU Belleği]
        Periphs[GPIO, Timer, I2C, QSPI, UART]

        Xbar --> IMEM
        Xbar --> DMEM
        Xbar --> NPURAM
        Xbar -- "AXI4-Lite" --> Periphs
    end

Temel Bileşenler

1. CV32E40P Çekirdeği

Açık kaynaklı OpenHW Group projesinden alınan, 4 aşamalı boru hattına (pipeline) sahip 32-bit RISC-V işlemcidir. Veriyolu olarak doğal OBI arayüzünü kullanır.

2. OBI-AXI Köprüleri

Çekirdek tarafındaki OBI iletişimini sistem genelindeki AXI4 protokolüne çeviririz. Ayrık komut ve veri köprüleri sayesinde işlemcinin bellek darboğazı yaşamasını önleriz.

3. Çevre Birimleri

Standart donanım kontrolü için GPIO, Timer ve standart UART modüllerini doğrudan RTL seviyesinde sıfırdan tasarladık. I2C master için açık kaynaklı bir IP kullanıyoruz, ancak bunu AXI-Lite arayüzüne bağlayabilmek için özel bir sarmalayıcı (wrapper) yazdık. Sistem ayrıca 64 derinlikli TX/RX FIFO'ya sahip özel bir QSPI master içerir.

4. Ses Sınıflandırma NPU ve UART-Stream

Yapay zeka birimimiz TFLite Micro Speech modelini donanım seviyesinde çalıştırır. Dışarıdan gelen ses verisini NPU'ya doğrudan yazabilmek için UART-Stream adlı özel bir modül kullanıyoruz. Bu modül DMA mantığıyla çalışıp CPU'yu meşgul etmeden 30 kB'lık NPU belleğine doğrudan veri basar. NPU işlemi tamamladığında işlemciye kesme (interrupt) gönderir. İşlemci sadece işlemin sonucunu NPU registerlarından (CSR) okur.


Veriyolu Kararları

Tüm çevre birimlerinin yapılandırma işlemleri AXI4-Lite üzerinden yapılır. Veri taşıma (özellikle UART-Stream'den NPU belleğine) işlemleri ise tam AXI4 üzerinden burst (çoklu paket) şeklinde gerçekleştirilir.