IEEE 1801 (UVM) Giriş

IEEE 1801, Universal Verification Methodology (UVM), modern FPGA ve ASIC tasarımlarını doğrulamak için endüstri standardıdır.In Digital systems, milyarlarca kapı, karmaşık protokoller ve sıkı performans gereksinimleri olarak bilinen, geleneksel doğrulama yöntemleri, UVM, yarı iletken şirketlerde sistematik, ölçeklenebilir ve yeniden uygulanabilir bir yaklaşım sağlar.

Standart bir metodolojiye ihtiyaç, tasarımların escalating karmaşıklığından ortaya çıktı. 2000'lerin başlarında, mühendisler genellikle verilog veya VHDL'de reklam testlerini yazdılar, tekrarlanan herhangi bir çaba için, kötü yeniden kullanım ve doğrulama boşlukları için gereklidir. UVM bu konuları ortak bir sınıf kütüphanesini ve bir dizi en iyi uygulamaları nesne odaklı, işlem düzeyinde test ortamları oluşturmak için ele aldı.

UVM'nin Temel Kavramları ve Mimarisi

Kalpte UVM, endişeleri ayrı ve modülerliği teşvik eden bir katman mimarisi üzerine inşa edilmiştir. Bu katmanları anlamak UVM'yi etkin bir şekilde kullanmak için anahtardır.

İşlem-Level Modeling (TLM)

UVM, bileşenler arasındaki soyut iletişim için işlem düzeyinde modellemeye büyük ölçüde güveniyor. Bireysel sinyal geçişleri ile uğraşmak yerine TLM, standart TLM arayüzü (put, get, taşıma, vb.) kullanır ve her iki bloklu iletişimin engellenmesi ve desteklenmesini sağlar.

UVM Bileşenler ve Hierarchy

Tipik UVM testibench aşağıdaki bina bloklarından oluşur, UVM bileşeni taban sınıfından elde edilen her biri ()):

  • [FONT:0)Test:[Dönetici: [Dönetici:0) Test:[Dönetici:0))Test:[Dönetici: [Dönetici:) Doğru ortamı yapılandıran üst düzey konteyner. Test anında, ayarlı parametreler, ve diziler başlar.
  • [FONT:0)Environment (env): Tüm ajanlar, puanlar ve koleksiyoncular. Bu anlık ve doğrulama bileşenleri bağlar.
  • [FONT:0)Agent:[Dönetici:[Dönetici:[Dönetici:) Bir sürücüyü, monitörü ve bir arayüz için sıralayıcıyı kullanan aktif veya pasif bir birim. Active agents drive stimulus; pasif ajanlar sadece gözlemler.
  • [FONT:0]Sequencer:[Dönetici:[Dönetici:0) İşlemlerin akışını kontrol eder. Bir test dizisinden dizi öğeleri alır ve sürücüye geçer.
  • DUT arayüzünde sinyal seviyesindeki aktiviteye dönüştürülür.DUT arayüzüne dayanan DUT'yi bir protokol-aware döngüsüne yönlendirir.
  • [FONT:0)Monitor:[DUT arayüzünü gözlemler, verileri yakalar ve işlem düzeyinde bilgi gönderirler veya kapsama bileşenleri.
  • [FONT:0)Scoreboard:[DUT davranışı beklenen sonuçlarla gözlemler, genellikle referans modeli veya veri çeker kullanarak gözlemlenir.
  • [FONT:0)Koverage Collector:[Dönetici:[Dönetici:0)[Dönetici:[Dönetici:0) Kontrollü kapak noktalarının doğrulama planında tanımlanmış olduğunu kontrol eder.

Fabrika Deseni ve Yapı Verinleme Veritabanı

UVM iki güçlü tasarım desenlerini kullanır:dbEND:0)[Dönetici:2) ve [[Dönetici[Döneticileri değiştir].The processing database (), test tekrarlama ve esnek test senaryoları olmadan çalıştırılabilir.Bir yapılandırma değişikliği ile, bir test, bir monitörün davranışını farklı bir uygulama ile bir sürücüyü değiştirebilir veya değiştirebilir.The configuration database ()

UVM Fazlar

UVM, bir dizi aşama aracılığıyla yapısal bir yürütme akışını tanımlar. Bu aşamalar, bileşenlerin inşa edildiği, bağlantılı ve öngörülebilir bir sırayla yürütülmesini sağlar.

  • [FONT:0)Önümüz Aşama: [Dönetici: [Dönetici:0)Test hiyerarşisi inşa etmek, tüm bileşenleri yaratmak ve yapılandırmak. Bu aşama üst düzeydir: test, ajanlar inşa eden ortamı inşa eder.
  • [FONT:0)Connect Faz:[Döneticileri bir araya getirir, örneğin bir monitörün analizi portını bir puan panosunun ihracatına kablolayın.
  • [FONT:0) Elaboration Aşaması Bitti:[Dönetici:[Dönetici: 0) Binadan sonra son ayarlamalar ve bağlantı kurmadan sonra, zamanouts veya baskı topoloji olarak.
  • [FONT=0)Run Aşaması: [DFLT:1] Test uyaranları gerçekleştirir. Bu, dizilerin işlem ve sürücü/scheduler DUT ile etkileşim kurduğu bir görev aşamasıdır.
  • [[Düzgeçmiş Aşama:[Döntilmiş:[Döntilmiş: 1) Raporlamadan önce kapsama ve puanlamalardan son verileri toplayın.
  • [FONT:0)Check faz:[Dönem:[Dönem: 1] Son iddiaları ve kontrollerini gerçekleştirir.
  • [FONT:0)Report Aşama:[Dönem:[Dönemli:0] Yazdırlar Özet raporlar ve geçiş / durum.
  • [FONT:0) Son Aşama: [Dönem: [Döntgen: 0,0] Temizleme, kapanış dosyaları, vb.

Bu aşamalar otomatik olarak UVM kökü tarafından çağrılmaktadır, tüm bileşenleri tutarlılık sağlamak. Bu yaşam döngüsü, yanlış aşamada bina bileşenleri gibi ortak tuzaklardan kaçınmak veya limanları çok geç bağlamaya çalışmak için gereklidir.

UVM'yi FPGA ve ASIC Designs'a uygulayın

UVM hem FPGA hem de ASIC tasarım akışları için eşit olarak geçerlidir, ancak bağlam kapanma hedefleri için paha biçilmezdir.In ASIC development, maske maliyetleri milyonlarca dolara kadar çalışır, egzoz doğrulaması mantık hatalarının üstesinden gelme yeteneğinden dolayı daha esnektir.

Örnek: UVM'yi AXI4-Stream Interface'i Doğrulamak için kullanmak

Bir AXI4-Stream protokolü uygulayan bir dijital tasarım düşünün, video işleme ve veri hızlandırıcıları ile ortak. Bu arayüz için UVM testibench şunları içerir:

  • [FONT:0)AXI-Stream Agent: Geçerli el eleklerinin rastgele bekleme eyaletleriyle birlikte çalışmasını sağlayan bir sürücüyü, dizileri kabul eden bir dizi.
  • [FONT:0]Scoreboard:[Dönetici:[Dönetici] Her iki sürücüden de işlem alır (stimulus) ve DUT çıktı monitörü. Bu, veriyi karşılaştırır ve protokol ihlallerini kontrol eder (örneğin, tlast iddia zamanlama).
  • [FONT:0)Koverage Collector:[[Dönetici:[Dönetici:0)Köpücükler:[Döneticiler:[Döneticiler:) Paket uzunluğu dağılımı, Inter-packet boşlukları ve t bakımın hizalanması gibi nesneleri izlemek.
  • [FONT=0]Test Sequences:[Döneticiler:[Dönder:)[Dönderler:0)Test Sequences:[[Dönderler:[Dönderler:[Dönderler:) Bir dizi geri geri geri geri geri iade paketleri, sırt baskı senaryoları veya hata enjeksiyonu (örneğin, eksik tlast).

UVM ile aynı ajan AXI4-Stream üzerinde iletişim kuran birçok tasarım için yeniden kullanılabilir, sonraki projeler için büyük ölçüde doğrulama zamanı azaltılabilir.

Güç-Aware UVM ve UPF ile Doğrulama

Modern tasarımlar genellikle birden fazla güç domaini ve düşük güç tekniğini içerir, ancak UVM testibenches kapanma ve uyanma sıralamalarını, kayıtların uyku sırasında doğru şekilde tutulmasını ve düşük güç arabirim davranışlarında kullanılan ASIC'ler için kritiktir.

UVM'i Doğrulama Akışınızda Kabul Etmek

UVM'nin yararları standartlaşmanın ötesinde genişletilebilir. UVM'ye yatırım yapan Teams, üretkenlik, kalite ve yeniden kullanılabilirlik konusunda ölçülebilir gelişmeler rapor ediyor.

  • [FONT:0)Reusability:[Döneticiler, monitörler, puanlar) projelerde yeniden kullanılabilir, birçok şirket USBM VIPs (Verification IP) standart protokolleri USB, PCIe veya Ethernet gibi tutar.
  • [FONT:0) Bloktan SoC'ye kadar erişilebilirlik: UVM ortamları sorunsuz bir şekilde ölçeklenebilir. Bir blok seviyesinde test, SoC seviyesindeki bir ortamda, en az değişikliklerle anlık olarak yapılır.
  • [FONT:0)Regresyon ve Coverage-Driven Verification: UVM'nin yerleşikleştirilmiş-random dizileri ve fonksiyonel kapsama alanı, kapsama tabanlı doğrulama sağlar.
  • [FONT:0) Endüstri Ekosistemi: [Dönetici: 0,4; çünkü UVM IEEE standart ve yaygın olarak kabul edilir, deneyimli doğrulama mühendisleri, eğitim materyalleri bulmak ve ticari VIP, Synopsys gibi EDA satıcılardan araç desteği, Cadence ve Siemens olgun ve iyi niyetlidir.
  • [FONT:0)Better İşbirliği: [Dönetici:[Dönetici: [Dönetici: [Dönetici: [DüzDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜ: 0,5) Bir UVM ortamı, tasarım takımlarında ortak bir dil ve metodoloji sağlar, doğrulama takımları ve hatta dış IP satıcılar. Başarısız bir testin tamamını takip ettiğinde daha kolay olur.

Meydanlar ve En İyi Uygulamalar

Avantajlarına rağmen, UVM'nin dik bir öğrenme eğrisi ve bazı organizasyonel zorluklar vardır. Deneyimli takımlar bu sorunları azaltmak için en iyi uygulamaları geliştirdiler.

Ortak Pitfalls

  • [FONT:0)Over-mühendislik:[Dönetici:[Dönetici:0)[Dönetici:0)Genellikle, daha sonra, bir ajan ve temel puanla, daha sonra artımlı özelliklerle aşırı derecede karmaşık testler oluşturur.
  • [FONT=0)Phase Order Violations:[Dönetici: 1 ) Örneğin, [[Dönetici aşaması başlamadan önce, ölüleri deneyebilir. Her zaman faz dizisine saygı duyar ve kullanımları gerekir.
  • [FONT=0) Sequence Katmaning: Doğrudan sinyallerin TLM'nin amacını yendiği yazı dizileri.Önemli bilgiler, sinyal seviyesindeki kaçaklar yaratmaz.
  • [FONT:0] Yeterli Coverage Planlaması: [Dönetici: [Dönetici: 0,0] UVM kapsama mekanizmaları sağlar, ancak takımlar anlamlı kapsama binleri tanımlanmalıdır.

En İyi Uygulamaları

  • [FONT:0) Yapılandırma Veritabanını bilgece kullanın:), Temel testte parametreler için varsayılan değerler ayarlayın ve bunları elde edilen testler içinde sabit yapılandırmadan kaçının.
  • [FONT:0]Leverage Callbacks ve Hooks:) UVM, temel sınıf değiştirmeden bileşeni davranışını genişletme mekanizmaları sunar.
  • [FONT:0]Reusable VIP Kütüphanesi Geliştirmek: AHB, I2C ve UART, bu VIPleri açık API'ler ve belgelerle bir kez inşa edilmelidir.
  • [FONT=0)Regresyonlar için Sürekli İntegra (CI):[Döneticiler:[Döneticiler) Run UVM regresyonları otomatik olarak kod taahhütlerinde bulunur. oranları ve kapsamı ölçümleri zaman içinde takip etmek için regresyon panounu kullanın.
  • [FONT:0] Ekibinizi ([Döneticileri) eğitin ve genç mühendisler arasında mentorluk yapmayı teşvik edin.

Diğer Doğrulama Yöntemleri ile UVM'yi Karşılaştırmak

UVM endüstriye hükmedirken, diğer yaklaşımlar var. Ticaretten ayrılanlar, ekiplerin ihtiyaçları için doğru aracı seçmelerine yardımcı oluyor.

  • [FONT:0)Direct Testbenches (VHDL/İlog):[[Dönemli: 1) Basit, ancak yeniden kullanılabilir veya ölçeklenebilir değil. Sadece önemsiz mantıkla küçük bloklar için uygun.
  • [FONT:0)O VM (Open Verification Methodology): ), UVM. O VM'nin önceki eskileri artık eski; UVM en iyi özelliklerini birleştirir ve fabrikayı ekledi, configure DB ve daha geniş standart desteği.
  • [FONT=0)Sistem[değiştir | kaynağı değiştir] ve Kapak: [DKDK 1] Sık sık düşük seviyeli özellikleri kontrol etmek için UVM testbenches içinde kullanılır. SVA tam bir metodoloji değil, UVM'yi tamamlamaktadır.
  • [FONT:0)Formal Verification:[[Dönetici:[Dönetici: 1 ) Eğlenmeli ama tasarım büyüklüğü ile sınırlı.En iyi kullanılan UVM'nin anahtar kontrol mantığı için.
  • [FONT=0)C/C++ ile UVM-SistemC: Sistem düzeyinde doğrulama için, UVM-SistemC daha yüksek soyutlama yöntemlerini genişletmektedir. Ancak, RTL doğrulama sistemi hala SystemTelog-santrik.
  • [FONT:0)Portable Stimulus (PSS): ), birden çok soyutlama seviyesi (sistemden RTL'ye kadar) hareket etmeyi amaçlayan nispeten yeni bir standarttır. PSS, UVM ile karmaşık senaryolar için entegre edilebilir.

Öğrenme UVM

IEEE 1801 (UVM) anlayışını derinleştirmek için, aşağıdaki yazar kaynakları tavsiye edilir:

  • [FONT=0]IEEE 1801-2015 Düşük Güç, Enerji-Aware Electronic Systems ) - hem güç niyeti hem de UVM tanımları içeren resmi standart (note: UVM şu anda IEEE 1800.2).
  • [FONT:0)Accellera UVM Standardı[Dönetici: 1) UVM sınıfı kütüphanesi ve kullanıcı rehberinin kaynağı.
  • [FONT Academy[Dönlendirme Akademisi] [Döneticileri, webinarları ve UVM ve işlevsel doğrulama konularında kapsamlı bir portal.
  • [FONT:0]Doulos UVM[[Dönetici: 1 ) – bir koncise, UVM bileşenleri ve kodlama stiline pratik kılavuz.

Future Yol Tarifi

Doğrulama alanı, makine öğrenimi hızlandırıcılarının, otonom araçların ve 5G/6G iletişiminin artmasıyla, tasarımların daha heterojen elemanlara dahil edilmesi gerekir. UVM, simülasyon ile bu zorluklarına adapte olur:0UVM-SistemC) blok seviyesinde ve sistem düzeyinde modeller için ve 5G/6G iletişim için, tasarımlar, modern yetenek için gerekli olan 183'ü (PSS) ile simülasyonda test etmek için uygun hale getirir.

Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç

IEEE 1801 (UVM) dijital doğrulamayı her iki FPGA ve ASIC tasarımlarından titiz, tekrarlanabilir mühendislik disiplinine dönüştürdü. Standart mimari, TLM tabanlı soyutlama ve ilk yapılandırılmış DB, ekiplerin hem de UVM ve benzeri güçlü test ortamları oluşturmasını sağladı, böylece modern elektroniklerin karmaşıklığına emin bir şekilde, performansları sağlamadan önce, güvenilir bir şekilde üretim hedeflerine ve ilk yatırıma dayalı başarı elde etmeyi garanti altına alıyor.