Yazılım, silikon hazır olduğunda hazır olsun. Bir yıl sonra değil.
CARME, SoC'nizi ilk bellek haritasından itibaren modeller; boot ROM'u, sürücüleri ve işletim sistemini onun üzerinde çalıştırır ve her bloğun RTL'ini yazıldıkça devreye alır. Yazılım ekibi ilk gün başlar, doğrulama ekibi var olan en gerçekçi uyaranı alır, müşterileriniz de ilk wafer'dan önce bir geliştirme kitine kavuşur.
def on_write_CTRL(p, v): if p.CTRL.START: p.DATA = aes_gcm(p.KEY, p.IN) p.STATUS.DONE = 1 p.irq.done.pulse()
İlk bellek haritasından müşterinin masasına tek model.
- Mimari
CARME ileSoC'yi çevre birimi kütüphanesinden bir .cmsoc olarak kurun. Henüz RTL yokken gerçek iş yüklerini çalıştırın; bellek haritalarını, çekirdekleri ve kesme yönlendirmesini deneyin
- RTL tasarımı
CARME ileHer blok derlenir derlenmez Lumina Sim'de, sistemin tamamının içinde çalışır. Sürücü ekibi aynı gün onun üzerinde çalışır
- Doğrulama
CARME ileUyaran olarak boot kodu, sürücüler ve işletim sistemi. Firmware çalıştırmalarından gelen RTL kapsamı, UVM regresyonlarıyla birleştirilir
- Silikon öncesi yazılım
CARME ileROM, önyükleyici, BSP, Linux ve RTOS portları ilk silikonda değil, model ve RTL üzerinde tamamlanır
- Silikonu ayağa kaldırma
CARME ileAynı testler kartta çalışır. Silikon ile model arasındaki bir fark, bakılması gereken bloğu gösterir
- Müşteri desteği
CARME ileSDK ile birlikte sanal bir geliştirme kiti sunun. Müşteriler numuneden önce onun üzerinde, sonra da numunelerle birlikte geliştirir
Model, RTL ve yazılım uyum içinde.
Tek tanımdan model ve RTL
Bir .cmperiph, bloğun yazmaçlarını bir kez tanımlar. CARME modeli, firmware'in kullandığı C başlık dosyaları ve RTL'e karşı yapılan kontroller hep buradan üretilir; böylece sürücüdeki yazmaç haritası ile silikondaki yazmaç haritası birbirinden kopamaz.
Firmware güdümlü doğrulama
UVM bir bloğun içindeki hataları bulur. Firmware ise bloklar arasındaki hataları bulur: durum güncellenmeden gelen kesme, cache satırını aşan DMA, sürücünün unuttuğu saat kapısı. CARME gerçek boot ve sürücü kodunu RTL'e karşı çalıştırır, Lumina Coverage da nerelere ulaştığını kaydeder.
Kendi CPU'nuz
Çekirdeğinizin RTL'ini döngüye koyun ve üzerinde gerçek yazılım çalıştırın; belleği ve çevre birimlerini CARME sağlar. Emekliye ayrılan her komutu CARME'nin ISA başvuru modeliyle karşılaştırın ve ilk farkta durun. CARME modeline birkaç satırla özel komutlar ekleyin; derleyici, model ve RTL aynı şeyi söylesin.
Tasarım kazanımları numuneden önce başlar.
SoC'niz, değerlendirme kartınız, SDK'nız ve örnekleri, müşterilerinizin kurduğu bir CARME platformu olarak paketlenir. Müşteriler numunelerden aylar önce firmware yazar ve test eder, saha mühendisleriniz donanım göndermeden müşteri sorunlarını yeniden üretir ve tasarım kazanımları daha erken başlar.
Tek yazmaç tanımı, tek zaman ekseni, tek kapsam veritabanı.
Lumina Sim
Döngüdeki RTL; 4 durumlu SystemVerilog, Verilog ve VHDL.
Coverage
Firmware çalıştırmalarından RTL kapsamı.
Debug
Firmware izi ve dalga biçimleri tek zaman ekseninde.
Lumina Reg
RTL, başlık dosyaları ve CARME modeli için tek yazmaç tanımı.
Lumina Blocks
CARME modelleriyle gelen güvenlik ve sıkıştırma IP'leri.
Sık sorulan sorular.
Ne kadar erken başlayabiliriz?
Bir bellek haritası olduğu anda. Çoğu SoC kütüphanedeki bilinen çekirdekleri ve çevre birimlerini yeniden kullanır; yeni bloklar Python modeli olarak başlar ve RTL yazıldıkça ona geçer.
SoC modelini kim kurar?
Ekibiniz, çevre birimi kütüphanesi ve .cmsoc biçimiyle; ya da hizmet ekibimiz sizinle birlikte. Modeli her RTL sürümüyle uyumlu tutarız.
Müşterilerimiz modeli RTL'imiz olmadan kullanabilir mi?
Evet. Sanal geliştirme kiti yalnızca modeli içerir. RTL sizde kalır.
FPGA prototiplemenin yerini alır mı?
Ondan önce ve onunla birlikte gelir. CARME projenin ilk gününden çalışır; FPGA daha sonra gelir ve aynı testleri çalıştırır.
Gömülü ve silikon ekipleri için tam sistem emülasyonu
Gömülü geliştiriciler için
Donanım olmadan geliştirin, hata ayıklayın, test edin
Döngüde RTL
HDL ve firmware birlikte test edilir
Lumina entegrasyonu
RTL'den çalışan firmware'e tek akış
Test ve CI
Her test, her kart, her commit
Kartlar ve SoC'ler
250+ kart ve SoC, açılmaya hazır
CPU'lar
Arm, RISC-V, SPARC, Power, x86, Xtensa, MSP430, TriCore
Çevre birimleri
Yazmaç düzeyinde birebir 650+ model