Veriyolu ve Ara Bağlantı Mimarisi
Çekirdekten bellek ve çevre birimlerine kadar olan veri akışını yönetmek için hiyerarşik bir veriyolu sistemi kullanıyoruz. Ana mimarimiz PULP ekosistemine ait crossbar (çapraz çubuk) topolojisine dayanmaktadır.
OBI-AXI Köprüleri
CV32E40P işlemcisi standart olarak OBI (Open Bus Interface) protokolünü kullanır. Sistemi AXI tabanlı çevre birimlerine ve belleklere bağlamak için OBI-AXI köprüleri kullanmamız gerekti.
En önemli tasarım kararlarımızdan biri, işlemcinin buyruk ve veri yolları için iki ayrı köprü tasarlamak oldu. Bu sayede buyruk okuma ve veri yazma,okuma işlemleri veriyolunda birbirini bloke etmeden paralel olarak çalışabiliyor.
AXI Crossbar (Çapraz Anahtar)
PULP ekosisteminden entegre ettiğimiz AXI4 crossbar yapısı, master ve slave birimleri birbiriyle görüştürür.
Master Birimler
Ana veriyolunda işlemci (iki ayrı port üzerinden) ve Yapay Zeka Hızlandırıcısı master olarak çalışır. Ayrıca UART-Stream de doğrudan belleğe veri basmak için master olarak yapılandırılmıştır. Tüm burst veri aktarımları tam AXI4 üzerinden yapılır.
Slave Birimler
Bellek blokları (IMEM, DMEM, NPU RAM) ve tüm çevre birimleri bağımlı (slave) birim olarak görev alır. Çevre birimleri daha düşük maliyetli olan AXI4-Lite arayüzü ile kontrol edilir.
Veriyolu Doğrulaması
Veriyolu üzerindeki trafiği ve protokol kurallarını denetlemek için simülasyon ortamına passive monitor kullanan UVM agent'lar ekledik. Bu agent'lar herhangi bir müdahalede bulunmadan sadece hattı dinleyerek AXI veya AXI-Lite tarafındaki handshake veya adresleme ihlallerini tespit edip raporlar.