Yongadaki her çekirdek, tek emülasyonda.
Modern bir SoC; bir Cortex-A kümesi, gerçek zamanlı bir çekirdek, bir güvenlik çekirdeği ve bir güç yöneticisinden oluşur, çoğu zaman iki farklı ISA ile. CARME hepsini birlikte, her birini kendi firmware'iyle ve tek zaman çizgisinde çalıştırır.
- Arm M profiliCortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M85, Cortex-M52, Cortex-M55, Cortex-M85 with Helium (MVE) · TrustZone-M, MPU, FPU, DSP, lockstep çiftleri
- Arm R profiliCortex-R5F, Cortex-R8, Cortex-R52 · SMP ve split-lock kümeleri, MPU, hypervisor (R52)
- Arm A profili, 32 bitARM926EJ-S, Cortex-A7, Cortex-A9, Cortex-A15 · SMP, TrustZone, VFP ve NEON
- Arm A profili, 64 bitCortex-A53, Cortex-A55, Cortex-A78, Armv8-A generic, Cortex-A72, Cortex-A76, Armv9-A (Cortex-A520, Cortex-A720) · EL0'dan EL3'e, GICv2 ve GICv3, SMMUv3, SMP
- RISC-V, 32 bitIbex, CV32E40P, RI5CY, PicoRV32, VexRiscv, Minerva, VeeR EL2, Andes N25, SiFive E31, generic RV32, Hazard3 · I, M, A, F, D, C, B ve Zicsr, Zifencei; PMP; özel komutlar
- RISC-V, 64 bitSiFive U54, SiFive U74, Kendryte K210, generic RV64GC, RVA23 profile, SiFive P550, T-Head C906, NOEL-V · S modu ve MMU, V 1.0 vektör, SMP
- SPARC V8LEON3, LEON3FT, LEON4FT
- Power Architecturee200z6, Microwatt (64-bit POWER)
- x86Intel Quark, x86 (i386 to Atom N270), x86-64 · Linux'ta ana makine hızlandırmalı
- XtensaXtensa configurable core, Xtensa LX7
- MSP430MSP430X
- TriCoreTriCore 1.6.2 (AURIX TC3xx)
- Kendi çekirdeğinizAny CPU in RTL, co-simulated in Lumina Sim · firmware'i kendi çekirdeğinizin RTL'inde çalıştırın, SoC'nin geri kalanı emüle edilir
| Mimari | Çekirdekler | Notlar |
|---|---|---|
| Arm M profili | Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M85, Cortex-M52, Cortex-M55, Cortex-M85 with Helium (MVE) | TrustZone-M, MPU, FPU, DSP, lockstep çiftleri |
| Arm R profili | Cortex-R5F, Cortex-R8, Cortex-R52 | SMP ve split-lock kümeleri, MPU, hypervisor (R52) |
| Arm A profili, 32 bit | ARM926EJ-S, Cortex-A7, Cortex-A9, Cortex-A15 | SMP, TrustZone, VFP ve NEON |
| Arm A profili, 64 bit | Cortex-A53, Cortex-A55, Cortex-A78, Armv8-A generic, Cortex-A72, Cortex-A76, Armv9-A (Cortex-A520, Cortex-A720) | EL0'dan EL3'e, GICv2 ve GICv3, SMMUv3, SMP |
| RISC-V, 32 bit | Ibex, CV32E40P, RI5CY, PicoRV32, VexRiscv, Minerva, VeeR EL2, Andes N25, SiFive E31, generic RV32, Hazard3 | I, M, A, F, D, C, B ve Zicsr, Zifencei; PMP; özel komutlar |
| RISC-V, 64 bit | SiFive U54, SiFive U74, Kendryte K210, generic RV64GC, RVA23 profile, SiFive P550, T-Head C906, NOEL-V | S modu ve MMU, V 1.0 vektör, SMP |
| SPARC V8 | LEON3, LEON3FT, LEON4FT | |
| Power Architecture | e200z6, Microwatt (64-bit POWER) | |
| x86 | Intel Quark, x86 (i386 to Atom N270), x86-64 | Linux'ta ana makine hızlandırmalı |
| Xtensa | Xtensa configurable core, Xtensa LX7 | |
| MSP430 | MSP430X | |
| TriCore | TriCore 1.6.2 (AURIX TC3xx) | |
| Kendi çekirdeğiniz | Any CPU in RTL, co-simulated in Lumina Sim | firmware'i kendi çekirdeğinizin RTL'inde çalıştırın, SoC'nin geri kalanı emüle edilir |
Yazılımınızın dayandığı çekirdek özellikleri.
Ayrıcalık ve yalıtım:Arm EL0'dan EL3'e ve TrustZone, TrustZone-M, RISC-V M, S ve U modları, PMP ve MPU, Linux'un kullandığı sayfa tablosu biçimleriyle MMU'lar.
Kayan nokta ve vektör:VFP, NEON, Helium, RISC-V F, D ve V 1.0.
Çok çekirdek:SMP kümeleri, asimetrik çok işlemcilik, lockstep çiftleri, paylaşılan ve özel bellek, işlemciler arası kesmeler.
Kesme denetleyicileri:NVIC, GICv2 ve GICv3, PLIC, CLINT, CLIC ve AIA; üreticiye özgü olanlar SoC modellerinde.
Tam hızda özel komutlar.
RISC-V özel komutları ve CSR'ler birkaç satırla tanımlanır ve tam hızda çalışır; Python ile yazılır ya da RTL'inizle desteklenir. Derleyicinin ürettiğini donanımın yapacağıyla, daha çekirdek yokken karşılaştırın.
# custom-0 üzerinde özel bir çarp-topla komutu@cpu.instruction("0000000 ----- ----- 000 ----- 0001011")def mac(cpu, rd, rs1, rs2): cpu.x[rd] = (cpu.x[rd] + cpu.x[rs1] * cpu.x[rs2]) & 0xFFFF_FFFFFarklı olan ilk komutta durun.
CPU'nuzun RTL'ini Lumina Sim'e koyun, sistemin geri kalanını CARME sağlasın. Emekliye ayrılan her komut, CARME'nin aynı ISA için başvuru modeliyle karşılaştırılabilir ve çalıştırma ilk farkta durur.
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()
Sık sorulan sorular.
Farklı ISA'lar tek sistemde çalışabilir mi?
Evet. Bir Arm uygulama kümesi, bir RISC-V güvenlik çekirdeği ve M sınıfı bir güç yöneticisi, her biri kendi firmware'iyle, tek zaman çizgisinde birlikte çalışır.
Bir çekirdeğe komut ekleyebilir miyim?
Evet. RISC-V özel komutları ve CSR'ler birkaç satır Python ile tanımlanır ya da RTL'inizle desteklenir.
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
Silikon ekipleri için
Silikon hazır olduğunda yazılım da hazır
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
Çevre birimleri
Yazmaç düzeyinde birebir 650+ model