2009-02-28 19 views
2

VHDL'de yığının veya sıranın davranışını nasıl taklit edebilirim? Herhangi bir işaretçi?VHDL'de yığın/sıra gibi veri yapıları nasıl uygulanır?

Bitlerin mantıksal kaydırma işlemi gibi bazı şeyleri kullanmayı düşünmüştüm, ancak yığının boş olduğu veya yığın taşması durumunun kısıtlarını nasıl kontrol edeceğimi nasıl kontrol ettim?

+3

"Davranışı benzetimini" sorgularsınız. Sentezlenebilir kod yazmak istiyor musunuz (bu donanıma gider) veya simülasyonunuz için kod ister misiniz? Bu, VHDL yapılarının kullanabileceği büyük bir fark yaratır. – Philippe

cevap

4

Peter Ashenden adlı kitap "The Designer's Guide to VHDL" kitabını kullanarak başlayabilirsiniz. Bölüm 19'da bir Queuing Network'ü uygular ve VHDL'de kuyrukların nasıl uygulanacağını açıklamak için uzun bir süre geçer. Bu kitap için VHDL dosyalarını alabilirsiniz: http://www.csee.umbc.edu/help/VHDL/ashenden/ch_19/

1

bir yığın uygulamak etmeyin ... OpenCores de iyi gelişmiş uygulamasını kontrol edin. FPGA satıcısının çekirdeğini kullanın.

+3

Satıcıların çekirdeklerini kullanmamaya itiraz ediyorum. Çıkarılan mantık, bir tedarikçi çekirdeği kadar verimli olma potansiyeline sahiptir. Ayrıca tasarım teknolojinizi bağımsız hale getirerek, FPGA satıcılarını değiştirme veya farklı ASIC teknolojilerini hedefleme seçeneği sunar. – Philippe

0

Bir RAM Bileşeni oluşturabilir ve FIFO, LIFO veya istediğiniz her tür veri yapısını kullanabilirsiniz.

Yığına ihtiyacınız varsa, RAM Bileşenini yaptıktan sonra bunun için Adres veriyolu kullanmıyorsanız, Yığın Üstü adresi içeren bir değişken oluşturun. daha sonra POP ile düşürün (önce çıkışı Veri Veri Yolu'na gönderin) ve PUSH ile arttırın (daha sonra girişi TOS'a [yığınının üstüne] Değişkendir) kaydedin.

Daha fazlasına ihtiyacınız varsa size daha fazla bilgi verebilirim ...

İlgili konular