Donanım açıklaması dilleri (HDLs), dijital sistemin tasarımının arka kemiğini oluşturur, mühendislerin modellemesine, simülasyona ve sentezleme kompleks devrelerine olanak sağlar.Bugün en yaygın kullanılan HDLs arasında VHDL ve SystemReallog. Her iki dil de donanım davranışını çeşitli soyutlama seviyelerinde tanımlamalarına izin verir, özellikle de VHDL Sistemi ile ilgili olarak farklı şekillerde farklı şekillerdeki değişiklikleri sağlar.

VHDL'nin Genel Bakışı

VHDL (VHSIC Hardware Description Language) 1980 yılında ABD Savunma Bakanlığı Çok Yüksek Hız Entegre Devre (VHSIC) programına ek olarak, dijital sistemler için standartlaştırılmış, titiz bir yönteme ihtiyaç duyuldu. VHDL, 1987 yılında IEEE 1076 olarak standartlandı, daha sonra revizyonlar (1993, 2002 ve 2019) VHDL'nin temel özelliklerini ekledi:

  • [FONT:0]Strong tipleme: [Dönetici: [Dönetici: 0,0]Strong tipleme:[Dönetici: 0,0)Strong|törüntü:[Dönetici: 0,0)) VHDL, sabit bir zamanda kontrol eder, istenmeyen veri yanlış eşleşmelerinin olasılığını azaltır. Bu, hataların ciddi sonuçları olduğu güvenlik-kritik uygulamalar için ideal kılar.
  • [FONT:0)Verbose syntax:[Dönetici:[Dönetici:0) VHDL, açık, kendi kendine teslim edici tarzı için bilinir.Her port, sinyal ve süreç tam tür bilgilerle açıklanmalıdır, bu büyük takımlarda okunabilirlik ve kullanılabilirlik sağlar.
  • [FONT=0)Package ve kütüphane desteği: [Dönetici: VHDL'nin paketi mekanizması, tasarımcıların veri türlerini, sabitleri ve alt programlarını gruplamalarına, tekrar modülerliği teşvik etmesine izin verir.
  • [FONT=0]Simulation-cent özellikler: [Dönetici: 0 [Dönetici:0])[FONT=0)) ve kullanıcı tanımlı tipler dahil olmak üzere ayrıntılı simülasyonu desteklemek için tasarlanmıştır.

Bu özellikler VHDL'yi havacılık, savunma, tıbbi cihazlar ve demiryolu sinyalleme gibi endüstrilerde seçim dili haline getirir, doğruluk ve izlenebilirlik önemli ölçüde önemlidir. Birçok hükümet ve uluslararası standartlar (örneğin, hava yoluyla sistemler için DO-254) açıkça VHDL'nin donanım geliştirmesini tavsiye eder veya güçlü bir şekilde tavsiye eder.

SistemlogMesajı Genel Bakış

Sistemlog, Verilog dilinin (IEEE 1364) uzantısının genişletilmesi olarak 2000'lerin başlarında ortaya çıktı ve dijital tasarımların artan karmaşıklığına ve daha güçlü doğrulama yeteneklerine ihtiyaç duyuldu. Dil, 2009 yılında serbest bırakılan güncelleştirmelerle IEEE 1800'de standartlandı ve 2017. SistemMelog Verilog'un koncise, C-likeli sözcüzmleri üzerine inşa etti:

  • [FONT:0)Object-program programlama (OOP) desteği: [Dönetici: Sınıflar, miras ve polimorphism yeniden kullanılabilir, ölçeklenebilir test parçaları yaratılması sağlar.
  • [FONT:0)Assertions:[[Dönler:[Dönler:) Sistem[DKDK) Tasarımcıların zamansal özellikleri belirtmelerine ve simülasyon sırasında kontrol etmelerine izin verir, fonksiyonel böcekleri yakalamayı kolaylaştırır.
  • [FONT:0)Randomization and constraint solution:) Dil, karmaşık protokolleri ve vakalarını doğrulamak için gerekli olan rastgele stiller oluşturmak için inşa edilmiş yapılar içerir.
  • [FONT:0) Geliştirilmiş veri türleri:[Dönetici:[Dönetici:0) Sistemalog, sentez ve simülasyon için kullanılan 3 boyutlu olarak tanıtılır.)
  • [FONT:0) Interfaces ve modports:) Bu yapılar birden fazla modülle bağlantılarını basitleştirir ve ilgili sinyallerin erişim kuralları ile ilgili olmasına izin verir.

Sistemlog, yarı iletken endüstride doğrulama için baskın dil haline geldi, özellikle de kapsamlı işlevsel doğrulama gerektiren SoC tasarımları için. C'ye konciz ve benzerliği, bir yazılım geçmişi ile tasarımcılara hitap etti ve UVM için doğrudan desteği (Universal Verification Methodology) gelişmiş doğrulama ortamları için standart yaptı.

VHDL ve SystemReallog arasındaki temel farklar

VHDL ve SystemReallog her iki donanımı tarif ederken, tasarım felsefeleri ve tipik uygulamaları birkaç önemli şekilde farklılaşır. Aşağıdaki tablo birincil ayrımları özetliyor, ancak aşağıdaki tartışma daha derin bir görünüm sağlar.

  • [FONT=0]Syntactic Style:[Dönetici: [Dönetici:0]Syntactic Style:[Dönetici: 0,9|Döneticileri, Verilog'nun C benzeri sözcülüğü, her bloklar ve benzeri olmayan antropologlar için, anlık atamalar için gerekli olan atamalar için daha kompakttır. Sistemİlginç listeleri zorunludur.
  • [FONT=0]Type System and Safety:[Dönetici:[Dönetici:0)Type System and Safety:[Dönetici:[Dönetici: 0,9|Döntgen|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|düşük dönüşümler birçok bağlamda izin verilmez.Bu esneklik hızları bir araya getirir, ancak simülasyona kadar ince yanlışlıklara izin verebilir.
  • [FONT=0)Verification Özellikler: [Dönetici: 0,3|Döneticiler, sınıflar, sınıflar dahil olmak üzere, sınıflar için önemli ölçüde zengin yapılar sunar. Gelişmiş test, işlevsel kapsama ve iddialar için, VHDL genellikle yenilenen VOP desteğinden yoksundur - VHDL-2008 revizyonu bazı nesne odaklı yetenekleri korumalı türlerle ve aliaslar ekledi, bunlar Systemlog'un gerektirdiği projeler için olgun değildir.For Projects that require advanced testbench development, SystemReallog is usually the choice.
  • [FONT:0] Endüstri ve Araç Desteği: Her iki dil de tüm büyük EDA satıcıları tarafından destekleniyor (Siemens EDA, Synopsys, Cadence, Aldec, vs.). Ancak, SystemMelog'un doğrulama altyapısı - özellikle UVM ve iddia kütüphaneleri - modern simülasyon ortamları için daha sıkı bir şekilde entegre ediliyor. VHDL yüksek çözünürlükte, araç olgunluğu ve sertifikasyon kanıtlarının kritik olduğu yerlerde güçlü kalıyor.
  • [FONT:0]Learning Curve: [Döneticiler C veya Java'da bir arka planla genellikle SystemTelogu, aşina sözcülüğü nedeniyle başlamak için daha kolay bulur. VHDL'nin/frekansiyonelliği ve katı tipleme başlangıçta zorlanabilir, ancak proponeersler büyük tasarımlarda daha iyi disiplini teşvik ettiğini iddia eder. Birçok eğitim kurumu VHDL'yi elektrik mühendisleri için giriş HDL'yi öğretirken, bilgisayar mühendisliği programları veri/loga doğru eğilebilir.

VHDL ve Systemhtlog'u Karma Projelerde Kullanın

İdeal bir dünyada, her tasarım tek bir HDL. Real-world kısıtlamaları kullanır - Bu iki tasarım ve doğrulama için Sistem sertifikası kullanır - örneğin, VHDL'de yazılı bir proje, bu iki dili kullanarak sertifikalandırmak için Sisteme giriş yapın.

Diller Arasında İletişim

Karmaşık bir dil tasarımının temel zorluğu, VHDL ve SystemReallog modüllerinin iletişim kurmasıdır. Modern EDA araçları otomatik olarak port tipi ve yönlerle uyumlu olarak, VHDL bileşeni anlık veya SystemReallog anlık modülasyon sözlüğüne dayanarak, bazı kurallar takip edilmelidir:

  • [FONT:0)Data types:[Dönetici: [Dönetici: 0,15|) ve [[Gönetici:0))) ve [[Gönetici:0)))))))))))))

    Platt:||||||s.

  • [FONT=0]Sekizlik yönündedir: [Dönder: [Dönder: 0:2|Dönder:)))) <>[B][/FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT
  • [FONT:0] Zaman çözümü ve zamanlama: [Dönetici: ] VHDL, SystemReallog'un bölge zamanlamasından farklı olan bir delta-delay modeli kullanır. Simulators bu farklılıkları çözmek için tasarlanmıştır, ancak ince zamanlama yanlış bir simülasyonu geri ayarlayabilirsiniz.

Resmi Hareketlilik Standartları

VHDL ve SystemReallog'un sorunsuz bir şekilde karıştırılması için, IEEE birkaç mekanizma belirledi:

  • [FONT:0)VHDL2008- Doğrudan VHDL Aniasyon (DVI): [DVI: ) Bu özellik, VHDL tasarım ünitesini, VHDL özelliklerini sarmadan Sistema Davet Etmeden Bir Sistemden Çıkarmalı PopDL Kuruluşlarına İzin Vermeye Yardımcı Olabilir.
  • [FONTI:0)Sistemİhraman Doğrudan Programlama Arayüzü (DPI): ) DPI öncelikle C/C++ entegrasyonu için, Sistema Girişçiden yabancı işlevleri de çağırabilir. Bazı mühendisler VHDL-toC paketleriyle arayüze bağlanır, ancak bu yaklaşım modül anında yaygın değildir.
  • [FONT=0]Üyetim-style VHDL ithalat:[DÜye Olmayanlar İçin Tıklayınız: Bir Sistemlog modülünde bir VHDL varlığına bir sistem içi bir sistemden ayırabilirsiniz: Direktif veya özel bir anlık belgeniz – örneğin, Synopsys VCS ve Cadence Xcelium her ikisi de karma yeteneklerinden ayrılmıştır.

Meydanlar ve düşünceler

VHDL ve SystemReallog'u birleştirmek her zaman basit değildir. Mühendisler aşağıdaki pratik konuların farkında olmalıdır:

Synthesis Support Support

Modern sentez araçları (örneğin, Synopsys Design Compiler, Cadence Genus) VHDL ve SystemReallog ile karıştıran tasarımları sentezleyebilir, ancak tüm projeksiyonlar için sentezlenebilir (örneğin, sınıflar, iddialar simülasyon-sadece uçları, puan türleri ve bazı paket işlevleri tüm mantık sentezleyicileri tarafından desteklenmez.Projenin sadece sentezlenebilir alt kümesini kullanmak önemlidir.

Simülasyon Performansı

Karma dil simülasyonu homojen simülasyondan daha yavaş olabilir, çünkü araç iki farklı tip sistemi ve zamanlama modellerini yönetmek zorundadır. Ancak, modern yüksek performanslı simülatörü ile, yüksek performanslı sistemlerle, genellikle birkaç milyon kapı kadar tasarımlar için uygun değildir. çok büyük tasarımlar için, tüm tasarımı tek bir dilde yazmayı ve diğerleri sadece doğrulama bileşenleri için kullanmalıdır ( DPI veya sarmalayıcı modüller).

Takım Becerileri ve Dokümantasyon

Tüm mühendisler VHDL ve SystemReallog'da akıcı değildir. karışık bir dil projesi, modül sınırlarını açıklayan açık belgeyi sürdürmeli, ve anlık sözleşmeler oluşturabilir. Örneğin, limanlar için (bazı takımlar ek VHDLİLMİŞ) sipariş etmek için kodlar oluşturun.

Karma-El Tasarımı için En İyi Uygulamalar

Birçok endüstriyel karışık dil projelerinden deneyim dayanarak, burada eylem edilebilir öneriler:

  1. [FONT=0)Açık bir arayüz standardının erken bir şekilde tanımlanması; doğrudan sınırda bulunan bir dizi temel türüne karar verin (örneğin, [[DÜŞÜNCÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞ
  2. [[Döneticileri:0) ⁇ VHDL blokları için, bunları Sistemalog arayüz modüllerinde tür dönüşümleri ele alan ve tasarım geri kalanı için basit bir API sağlar.Bu, karışık-dilli bir noktaya kadar ayırır.
  3. [FONT:0]Leverage hierarchical design.[DÜT:1]GaDL ve Sistemalog modülleri ayrı yönetmenler veya kütüphanelerde ortak üst düzey bir tasarım kullanın, tüm bileşenleri – bu üst düzeyin ya da dilde yazılabilir, ancak çoğu araç, projenin “sağlık” dilinde tercih eder.
  4. [FONT:0] Tüm doğrulama için aynı simülatörü kullanın.[DDDD:0) Projeye başlamadan önce, seçilmiş simülasyon ortamınızın hem dil simülasyonunu hem de tüm diller ile desteklediğini sağlamak. Çoğu ticari simülatörün yaptığı, ancak ücretsiz veya akademik araçlar, akışın son bulması için projenin erken bir şekilde karışık bir karma tasarım test edebilir.
  5. [FONT:0] sentezleme için plan ([FONTD)[0))[FONT][/FONT][/FONT)))))[ÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜN
  6. [FONT:0)Maintain tek bir test yaklaşımına göre; Genellikle bir dilde tüm testbench yazmak daha kolaydır (Sistemİhraman, gelişmiş doğrulama özellikleri nedeniyle önerilir) ve sonra içinde karışık dil tasarım birimlerini kısaltmak için.

Donanım tasarımı endüstrisi gelişmeye devam ediyor. Her iki VHDL (IEEE 1076-2019) ve SystemReallog (IEEE 1800-2017) gibi dış isimler ve SystemReallog'un desteği gibi, VHDL'nin standartlaştırılmış kullanıcı arayüzü ve dosya formatları üzerinde çalışıyor (örneğin, Glator ile birlikte) gibi, karma-posta entegrasyonu daha kolay hale getiriyor.

Daha fazla okuma için resmi IEEE standartlarına bakınız: 03.05.2019 VHDL) ve ) 1800-2017 SystemReal log) ek olarak, birçok EDA satıcısı, karma-bulunma üzerine başvuru notları sunar.

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

VHDL ve SystemReallog arasındaki seçim, modern SoC gelişimi için iyi bir karar olmalıdır.Seks'in sıkı tipleme ve fiilzimi güvenli-kahkadar ve yüksek kullanılabilirlik tasarımları için güçlü bir aday haline getirirken, Systemlog'in gelişmiş doğrulama özellikleri ve koncise stili iyi bir şekilde uygun fiyatlı bir sistemle çalışır ve çeşitli tasarım olanaklarını dikkatlice planlayın - her zaman en iyi uygulamaları birleştirerek, mühendislik takımları her iki dili de aynı projede başarıyla bir araya getirebilir.