CPLD'lerde veya FPGA'larda şematik tasarım yerine Verilog veya VHDL'yi seçmeme ne sebep olabilir?


13

Programlanabilir mantıkta kesinlikle arka planım yok, projelerimde çoğunlukla mikrodenetleyiciler kullanıyorum, ancak son zamanlarda video ile çalışmam gerekiyordu ve mikrodenetleyici ihtiyacım olan şey için çok yavaş, bu yüzden CPLD'lerle oynamaya başladım.

Sadece şematik tasarım kullanarak CPLD ile iyi sonuçlar elde ettim ancak CPLD'ler hakkında bilgi ararken VHDL ve Verilog kullanarak birçok örnekle karşılaştım. Cihazımı bu dillerden birinde tanımlamamı neyin sağlayabileceğini merak ediyorum. Şematik tasarımın yapamadığı ne yapabilirler? Çoğunlukla işlevler için mi kullanılıyorlar?

Şimdiye kadar sadece CPLD'leri kullandım, FPGA tasarımları CPLD'lerin bu dilleri kullanmasından daha fazla yarar sağlıyor mu?


1
Muhtemelen analog parçalar için hem Verilog hem de VHDL için satıcı tarafından sağlanan sentez araçları bulacaksınız. Bu nedenle seçim tamamen fikirdir. Her ikisine de bakmanızı ve hangisini tercih edeceğinize karar vermenizi öneririm. Xilinx her iki dilde de iyi örnekler sunuyor, diğer satıcıların da yaptığından şüpheleniyorum.
David

3
Mantık tasarımı için şematik yakalamadan kesinlikle uzaklaşmalısınız. Başlangıçta daha kolay geliyor , ama bu yanıltıcı. Benim dillerim 0.02 $: VHDL bir iğrenç, Verilog kullanın.
markt

@markt, neden VHDL'nin bu kadar kötü olduğunu düşünüyorsun?
stanri

2
Verilog'un iğrenç olduğunu söyleyebiliriz, VHDL kullanın. VHDL, tam olarak ne istediğinizi söylemenizi beklerken, Verilog bir tür tahmin yapar. Ama bu sadece 0,02 sterlin.
Brian Drummond

1
@markt, VHDL ile başladım, bu yüzden bir noktada onun güçlü yazı tipini takdir ettim. Beni ne istediğimi düşünmeye ve başladığımda iyi alışkanlıklar yaratmaya zorladı. Şimdi, her iki şekilde de dürüst olmak gerekirse, SystemVerilog kampına çok uzaktayım.
stanri

Yanıtlar:


14

Şematik tasarım yalnızca birkaç hazır modülü (sayaçlar, toplayıcılar, bellek, vb.) Birleştirdiğinizde kullanışlıdır. Ancak gerçek bir algoritmanın (örneğin, bir şifreleme karma algoritması) uygulanması, bir sistemi şematik sembollerle davranış düzeyinde tanımlamanın bir yolu olmadığından, bir HDL (VHDL veya Verilog gibi) olmadan neredeyse imkansızdır.

Çoğu proje davranışsal HDL'de yapılır, çünkü elle sentezlenemeyecek ve mantık ilkelleri kullanılarak şematik olarak çizilemeyecek kadar karmaşıktır.

CPLD'ler genellikle tutkal mantığı için kullanılır ve işleme için daha az kullanılır ve genellikle mantığın şematik olarak uygulanması kolaydır, bu yüzden FPGA tabanlı tasarımların bir HDL kullanmaktan daha fazla faydalandığını önerdiğinizde haklı olduğunuzu düşünüyorum.


Sembolik bir şematik sistemde çok karmaşık şeyler yapabilirsiniz . Bir HDL yapılabileceğini şey söylemek için şimdiye kadar gider olabilir maintainability pahasına da olsa, şematik tabanlı sistemde uygulanabilir. Araç seti tek bir sembol olarak hareket eden sembol bloklarını tanımlayabildiği sürece, hemen hemen her şeyi yapabilirsiniz.
Connor Wolf

1
Burada iyi bir örnek labview. İnsanların tüm fabrikaları otomatikleştiren çok karmaşık sistemler tasarladığı sembolik bir programlama arayüzü. Nihai sonuç neredeyse sürdürülemez, ancak bu mümkün (not: Bunun iyi bir fikir olup olmadığından bahsetmiyorum, sadece temel yaşayabilirlik).
Connor Wolf

"Çoğu proje davranış tarzı HDL'de yapılır ..." desteklenmez ve aslında tasarım akışları böyle DEĞİLDİR.
yer tutucu

@ConnorWolf Labview kodunun bu kadar sürdürülemez olduğu konusunda aynı fikirde değilim - çok büyük bir hayran değilim. Gerçekten yardımcı olabilecek bazı en iyi uygulamalar var. Benim için, genellikle G dilinin doğasında olan herhangi bir şeyin aksine, bakım sorunlarına neden olan ileri veya geri uyumluluk umudundaki terk;)
Scott Seidman

4

Jay'in mükemmel cevabına ek olarak birkaç pratik yön:

  • Hatalar. Şematik araçlar, araç setinin geri kalanından daha becerikli * olma eğilimindedir. Bu muhtemelen Verilog / VHDL'nin sektördeki şemalara göre tercih edilmesinden kaynaklanmaktadır ve bu nedenle şematik girişe yazılım geliştiricileri tarafından daha az dikkat edilmektedir.
  • Hız. Şematik, sentez aracına geçirilmeden önce bir HDL'ye dönüştürülmelidir. Bunun üretim süreleri üzerinde olumsuz bir etkisi olabilir. Herhangi bir nedenle incelemeniz gerektiğinde, oluşturulan HDL çok okunabilir olmayabilir.
  • Taşınabilirlik. Kullanılan tedarikçiye özgü ilkellerin miktarına bağlı olarak Verilog ve VHDL, cihazlar arasında az çok taşınabilirdir. Taşıma şemaları, her şeyi yeniden çizmeniz veya sağlanan alma / verme yeteneklerine (varsa) güvenmeniz gerekir.

* Xilinx ISE'deki en sevdiğim hata, dikey tel seçememe idi .


2

DesignBir Tasarım Giriş standardı olarak HDL'nin (Donanım Tanımlama Dilleri) birçok avantajı vardır.

İşlevselliğin tanımı daha yüksek bir seviyede olabilir, HDL tabanlı tasarımlar seçilen bir teknolojinin kapı seviyesi açıklamasına sentezlenebilir, HDL tasarımı kapı seviyesi ağ listesinden veya şematik bir açıklamadan ve HDL'lerden daha kolay anlaşılır güçlü tür denetimi nedeniyle hataları azaltın.

Donanım açıklama dilleri VHDL ve Verilog, eşzamanlılık, zamanlama, hiyerarşi, bileşenlerin yeniden kullanımı, durum davranışı, eşzamanlı davranış, eşzamansız davranış, senkronizasyon ve doğal paralellik gibi özellikleri içeren daha yüksek bir soyutlama modelleme amacıyla donanımı modellemek için tasarlanmıştır. .

Sentez sırasında ortaya çıkan sorunlar, tasarım tanımını belirli bir süreç ve kapı uygulamasına eşleme. Bu, HDL'nin üst düzey özelliklerini kullanamamanızı gerektirir - "sentezlenebilir Verilog / VHDL"

Yani sentez için HDL ve Simülasyon için HDL'ye sahipsiniz ve sentezlenebilir alt küme araca özeldir.

Davranışsal bir tasarım açıklamasından bir net listeye / düzene geçemezsiniz. Ancak tasarımınızı, birbiriyle karşılaştırılabilecek sentezlenebilir bir yönü olan davranışsal bileşenlere sahip olacak şekilde yapılandırabilirsiniz. Davranışla başlıyorsunuz ve daha sonra işe yaradığında sentez için yeniden yazıyorsunuz (bir alt küme). Genelden özelliğe gidersiniz ve yol boyunca test tezgahları inşa edersiniz.


1

Bir başka avantaj, HDL'lerin standart programlama kontrol sistemlerinde kullanılabilmeleri, değişiklikleri incelemek için farklılaştırılmaları vb.


0

Daha önce söylenenlere ek olarak: metin gösterimi, özellikle büyük projelerde çok daha yönetilebilir. Senkronize edilebilir herhangi bir HDL'yi şematik haline dönüştürebilirsiniz (büyük zorluklarla da olsa), ancak yüzlerce düz metin satırının çalışması yüzlerce şematik öğeden daha kolaydır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.