Bir bileşen arasındaki farkın ne olduğunu merak ediyorum. Hangi durumlarda varlıklar yerine bileşenleri kullanmanın daha iyi olacağını bilmek isterim. Çok teşekkür ederim.
Bir bileşen arasındaki farkın ne olduğunu merak ediyorum. Hangi durumlarda varlıklar yerine bileşenleri kullanmanın daha iyi olacağını bilmek isterim. Çok teşekkür ederim.
Yanıtlar:
İşte bazı insanlara yardımcı olacak bir benzetme (özellikle fiziksel elektronik altyapısından olanlar):
component
Derleyiciye, " Bir noktada bu denilen bu tür iğnelerin olduğu bir şey olacak, ama şimdilik endişe etmeyin" diyor. Bir çeşit "soket" tanımlar. Bu "sokete" neyin "kablolar" olduğunu açıklamaya devam edebilirsiniz.
Bir entity
, derleyicinin daha sonra bu "sokete" (ve dolayısıyla "tellere" bağlanabileceği) "takılabildiği" bir isme ve bir dizi iğne ile özgü bir şeydir.
Not olmadığını gerek bir component
zaten derleyici anlamına gelen "soket" ayrıca belirlenmelidir gerekmez böylece bir varlık bilir "doğrudan örnekleme" yapabilirsiniz. Aslında, bu benim önerilen yaklaşımım olurdu, aksi halde component
senkronize tutulacak ilave bir seviyedir.
Sen lüzum sen Verilog ve VHDL ve VHDL içinde Verilog bloğu kullanma ihtiyacı karıştırma eğer bileşenleri kullanmak. O zaman component
soket budur ve çok geçmeden derleyici / çalışmacı Verilog'u sokete takabilir.
Bir işletme , birden fazla mimariye sahip olabilecek bir tasarım birimi için gerçek bir arayüzdür . Bir işletme, malzemelerin nasıl girip çıkacağını, mimarlık ise tasarım biriminin nasıl çalıştığını tanımlar. Böylece, aynı varlık tarafından tanımlanacak olan aynı işlevi uygulamak için birden fazla yolunuz olabilir .
Bir bileşen ideal veya "sanal" bir tasarım birimidir. Yukarıdan aşağıya bir tasarım yaparken (yani daha düşük seviye bloklar tasarlanmadan önce en üst seviyeyi bir araya getiriyorsanız) tasarım birimleriniz için beklediğiniz arayüz tipini tanımlamak için bir bileşen kullanabilirsiniz. Bunu gelecekteki gerçek uygulamalar için bir yer tutucu veya kara kutu olarak düşünebilirsiniz.
Yapılandırmaları kullanarak , belirli bir bileşen örneğini varlık tanımına bağlayabilirsiniz. Buradan, hangi portun hangi portla bağlantı kurması gerektiğini belirleyebilirsiniz. Bu, ideal anlamda tanımlanan bileşenin gerçekte uygulanmış olan varlık ile nasıl eşleştiğini gösterir.
Uygulamada , bileşenlerin tipik olarak gereksiz olduğunu ve genellikle kullanılmayan başka bir soyutlama düzeyi yarattığını buldum. Varlığı doğrudan örneklendirerek ve varlığın bu örneği için hangi mimariyi kullanacağına başvurarak bileşenlerin kullanımını (ve gereksinimini) atlayabilirsiniz.
Örneğin:
MyDesignUnit : entity library_name.entity_name(architecture_name)
port map(
...
Aşağıdaki [1] den:
VHDL'de bir varlık, bir bileşen ve bir bileşen örneği arasında önemli bir ayrım vardır. İşletme bir tasarım arayüzü tanımlar, bileşen bir örnek (veya bir alt blok) olarak kullanılacak olan birimin arayüzünü tanımlar ve bileşen örneği, diğer parçalara ve sinyallere bağlanmış olan bileşenin ayrı bir kopyasıdır . Bunları ekmek tahtası tasarımı işlemi ile kendinden yapılmayan parçalarla karşılaştırmak. Varlık ve mimari, parçanın nasıl çalıştığının arayüzünü ve şemasını tanımlayan veri kitabı gibidir. Bileşen nasıl bağlanması gerektiğini açıklayan parça ile birlikte gelen kısa pim listesi gibidir. Bileşen örneği, her biri bağımsız olarak çalışan birçok kişiye sahip olabileceğiniz gerçek parçadır.
Bağlam ve daha fazla ayrıntı için [1] 'e bakınız.
Hatta çok sayıda VHDL dersi var, örneğin [2] [3] ... Kitap (84 sayfa PDF) [4] Güzel görünüyor [5] Esas olarak bağlantılar için [6]
Bir varlık, giriş-çıkış portları belirlenmiş bir tasarım birimidir. Varlık sadece harici portları tanımlar ve dahili fonksiyonlar ilgili mimari tarafından belirtilir. Bir bileşen, hem varlık hem de mimarlıktan oluşan komple tasarım birimidir. İlk adım, bileşen bildirimi (adını ve bağlantı noktalarını belirterek) ve ardından bileşen örneklemesidir (bağlantı noktası eşlemesi).