Lumina sistemi
Lumina Sim · Simülasyon

SystemVerilog, Verilog ve VHDL için 4 durumlu simülasyon, tek koşuda.

Lumina Sim tasarımınızı ve testbench'inizi tek komutla derler, elaborate eder ve çalıştırır; diğer simülatörlerin kabul ettiği dosya listelerini ve seçenekleri kullanır. Sınıf tabanlı UVM testbench'leri, dokuz mantık değeriyle VHDL, SDF zamanlamalı kapı seviyesi netlist'ler ve analog bloklar aynı simülasyonda çalışır.

lumsimCONNECTED
# OSVVM tabanlı bir VHDL testbench'i ve SystemVerilog RTL
$ lumsim --vhdl-work osvvm osvvm/*.vhd \
--vhdl-work work tb/my_tb.vhd rtl/*.vhd \
rtl/core.sv --top my_tb
# Accellera kütüphanesinden bir UVM testi
$ lumsim +incdir+$UVM_HOME/src $UVM_HOME/src/uvm_pkg.sv \
+incdir+tb tb/top.sv --top top +UVM_TESTNAME=smoke_test
# açılışı bir kez çalıştırın, her testi oradan başlatın
$ lumsim -f tb.f --top tb --checkpoint-at 1000000 --checkpoint-socket /tmp/ck &
$ lumsim --restore /tmp/ck +TEST=a --seed 1 --waves a.fst

Lumina Sim kılavuzundaki komutlar

IEEE 1800-2023
SystemVerilog, tasarım ve testbench
VHDL-2008
std_logic'in dokuz değeriyle
UVM 1.2 · 1800.2 · 2.0
Accellera kaynaklarından
Yerel kod
arka planda derlenir
Yetenekler

Lumina Sim neleri çalıştırır

Standardın tanımladığı gibi 4 durum

Her SystemVerilog biti 0, 1, X ya da Z'dir. Reset almamış bir register ya da iki sürücüsü olan bir bus tahmin edilmiş bir değer değil, X olarak görünür; reset ve çakışma hataları laboratuvarda değil, simülasyonda ortaya çıkar.

Dokuz değerli VHDL

std_ulogic U X 0 1 Z W L H ve - değerlerini korur, çözümleme standardın tablosuna uyar; VHDL'in indis, aralık ve uzunluk için tanımladığı çalışma zamanı denetimleri yapılır. --vhdl-one-bit, hız için dokuz değerden vazgeçer.

Sarmalayıcısız karma dil

Bir VHDL component'i bir SystemVerilog modülünü adıyla örnekler, bir SystemVerilog tasarımı da bir VHDL entity'sini. Integer, std_ulogic ve std_logic_vector portları iki dil arasında geçer.

Elinizdeki testbench

UVM 1.2, IEEE 1800.2-2020 ve 2.0, OSVVM, UVVM, VPI üzerinden cocotb, DPI-C ile C ve C++ modelleri ve bir koşuyu yönetmek için Python modülü.

Zamanlamalı kapı seviyesi

Specify blokları, yol gecikmeleri, notifier'lı ve negatif limitli zamanlama denetimleri, kullanıcı tanımlı ve anahtar seviyesi primitifler ve örnek bazında SDF back-annotation.

İlk andan itibaren hızlı

Koşu, derlenmiş kodla hemen başlar ve arka planda üretilen yerel makine koduna geçer. Checkpoint'ler sayesinde her test uzun bir reset ya da açılış sürecinin sonundan başlayabilir.

Aynı zaman çizgisinde analog

SPICE alt devreleri ve Verilog-A modülleri Lumina Spice'ta çalışır; Verilog-AMS'teki gibi connect modülleriyle dijital net'lere bağlanır.

Planlanıyor

SystemC, VHDL-2019 ve PSL

Aynı çekirdek üzerinde sinyal portları ve TLM-2.0 soketleriyle SystemC modelleri, VHDL-2019 eklemeleri ve PSL assertion'ları.

Teknik ayrıntılar

Diller ve standartlar

  • IEEE 1800-2023 SystemVerilogMevcut

    Sınıflar, arayüzler, clocking blokları, program'lar, kısıtlar, covergroup'lar, eşzamanlı assertion'lar

  • VerilogMevcut

    Tasarımlar ve netlist'ler, kullanıcı tanımlı primitifler, sürüş güçleriyle anahtar seviyesi primitifler

  • IEEE 1076-2008 VHDLMevcut

    Konfigürasyonlar, paket generic'leri, protected tipler, external name'ler, force ve release, std.textio

  • IEEE 1800.2 UVMMevcut

    Register modelleriyle Accellera UVM 1.2, 1800.2-2020 ve 2.0

  • OSVVM · UVVMMevcut

    OSVVM'in tamamı; UVVM'in utility kütüphanesi, VVC çatısı ve doğrulama IP'leri

  • IEEE 1497 SDFMevcut

    IOPATH, INTERCONNECT, PORT ve NETDELAY gecikmeleri ve zamanlama denetimleri

  • IEEE 1735Mevcut

    Şifreli IP; mesajlarda, dalga formlarında, VPI'da, hata ayıklayıcıda ve kapsamda gizli kalır

  • IEEE 1666 SystemCPlanlanıyor

    Sinyal portları ve TLM-2.0 soketleri, tek zamanlayıcı

  • IEEE 1076-2019 VHDLPlanlanıyor

    2019 eklemeleri

Sorular

Sık sorulan sorular

4 durumlu simülasyon ne demek?

Her bit 0, 1, X (bilinmeyen) ya da Z (yüksek empedans) olabilir. İlk değeri verilmemiş bir register ya da iki sürücüsü olan bir net, tahmin edilmiş bir 0 ya da 1 yerine X olarak görünür; böylece reset ve çakışma hataları silikonda değil, simülasyonda ortaya çıkar. VHDL tasarımları varsayılan olarak std_logic'in dokuz değerini korur.

VHDL ve SystemVerilog'u birlikte simüle edebilir miyim?

Evet. Aynı adda bir VHDL entity'si olmayan bir VHDL component'i, o adı taşıyan SystemVerilog modülünün bir örneğidir; SystemVerilog de bir VHDL entity'sini küçük harfli adıyla örnekler. Integer, std_ulogic ve std_logic_vector portları iki dil arasında geçer.

Mevcut UVM testbench'im çalışır mı?

UVM 1.2, 1800.2-2020 ve 2.0, UVM'in C kütüphanesiyle ya da onsuz, Accellera kaynaklarından çalışır. Başka bir simülatörün göz yumduğu kurallara dayanan testbench'ler, en sık çiğnenen kuralları gevşeten --compat all seçeneğini kullanabilir.

Lumina Sim cocotb'yi destekliyor mu?

Evet, VPI üzerinden. cocotb'nin Python runner'ıyla da makefile akışıyla da çalışır.

Hangi platformlarda çalışıyor?

Bugün Linux x86-64. Windows x86-64 ve Apple silicon üzerinde macOS planlanıyor.

Kendi tasarımınızı Lumina'da ilk siz çalıştırın.

Lansmandan önce küçük bir grup tasarım ekibiyle çalışıyoruz. Siz gerçek tasarımlarınızı çalıştırırsınız, bulduğunuz sorunları biz düzeltiriz; test senaryolarınız da her derlemenin geçmesi gereken testlerin parçası olur.

Gizlilik ayarları

Bu sitenin neleri kullanabileceğini seçin. Kararınızı her sayfanın altındaki Gizlilik ayarları bağlantısından dilediğiniz zaman değiştirebilirsiniz.

Sitenin çalışması için gerekenler ve burada yaptığınız seçimin kaydı. Kayıt tarayıcınızda tutulur; çerez kullanılmaz.

Her zaman açık

Ziyaretleri saymamıza ve hangi sayfaların işe yaradığını görmemize olanak tanır; reklam ya da siteler arası takip içermez. Şu anda hiçbir analitik aracı kullanmıyoruz, yani seçiminiz ne olursa olsun hiçbir şey yüklenmez.

Çerez politikası · Gizlilik politikası