Bir FPGA'da acemi projeler?


11

İlk üniversite dijital mantık tasarım kursumu tamamlamaktan iki hafta uzaktayım ve görünüşe göre nihai bir proje olmayacak - sadece sıkıcı bir final sınavı.

Bu yüzden meraklı herhangi bir öğrencinin yaptığı gibi, FPGA'ların gerçekte ne olduğunu ve sınıfta kaşıkla ne beslendiğimi araştırdım. Ve basit bir FPGA projesini tamamlamaya karar verdim. Bir Basys2 Spartan-3E FPGA kullanıyorum ve dijital mantığı tanıyorum ve mantık kapılarını itmek için ISE'yi kullanıyorum, ancak VHDL / Verilog'u bilmiyorum (eminim kolayca alabilirim).

Yeni başlayanlar için herhangi bir proje fikri olan var mı? Birçok laboratuvar gösterimi yaptım, ama çok süslü bir şey yok.


İstek: 1080p video görüntü, ... ne durduğumu söylerim :-)
Russell McMahon

1
Fpga4fun.com sitesini kontrol edin .
armf

3
Fpga4fun.com dev-panolarına dikkat edin. Belgeleri saçmalık ve geliştirici şemalarını serbest bırakmayı reddediyorlar .
Connor Wolf

Yanıtlar:


5

Pong Chu'nun "Verilog'dan FPGA Prototipleme Örnekleri: Xilinx Spartan-3 Sürümü" nin çok yararlı bir kitap olduğunu gördüm. Bu, bahsettiğinizden farklı bir Spartan-3 kartı içindir, ancak yine de yardımcı olmalıdır.

Ayrıca bu yolu tercih ederseniz bir VHDL sürümü de vardır


4

Bunun üzerinde VGA var. Video her zaman deneyimlerime ilgi duyuyor :)

İşte denemek isteyebileceğiniz bir plan (çerçeve tamponlayıcı gerekmez):

  1. Saf renkli VGA ekran görüntüleme elde edin
  2. siyahtan düz renge yatay bir solma gösterme
  3. Şimdi dikey olarak siyahtan kırmızıya ve yatay olarak siyahtan yeşile 3a. (gerçek zamanlı olarak oluşturabileceğiniz daha ilginç algoritmik olarak belirlenmiş bir arka plan oluşturun)
  4. keyfi bir yerde küçük bir keyfi şekli kaplayacak basit bir hareketli grafik motoru oluşturun - hareketli grafik verileri için 1 BRAM kullanabilirsiniz
  5. birkaç farklı sprite göster (her biri 1 BRAM)
  6. spriteların birbiri etrafında sıçramasını sağlamak için bazı güncelleme mantığı oluşturun - ve sprite mantığına çarpışma algılaması ekleyin.
  7. anahtarlarla kontrol edebileceğiniz bir "kürek" hareketli grafiği oluşturun, hareketli ekranların ekrandan çıkmasını durdurmak için kullanın
  8. Biraz puanlama mekanizması ekleyin

Bence bunların hepsi 250E'ye uygun olmalı. (VGA saati FPGA açısından yavaş olduğundan, bir hareketli grafik motorunun birden fazla hareketli grafik örneğinde çoğullamasına izin veren DCM ile 4-8x kadar çarpabilirsiniz)


3

Bu ücretsiz çevrimiçi ders Hamster tarafından yazılmış şaşırtıcı ve ile yazılır BaSYS 2 ve NEXYS 2 aklında.

Şahsen Basys 2'yi kullandım ve bu kurstan geçmekten bir grup öğrendim. Basys yönetim kurulunun tüm yönleri ve kursun ötesinde birçok projeyi elde etmek için birçok kavramdan geçer.


2

Diğer her şeyde olduğu gibi, bir merhaba dünya projesiyle başlayın , bu durumda - bir LED yanıp sönün - ve süre değişkenini sadece eğlence için yapın.

Bunu yapmak için Verilog / VHDL'de bir sayaç oluşturmayı öğrenmeniz gerekir. Bu, HDL'nin inceliklerini öğrenmek için iyi bir başlangıçtır, çünkü şunları nasıl yapacağınızı öğreneceksiniz:

  1. Donanım işlemlerini çıkarın - geçit seviyesi kodu yerine RTL kodu kullanarak. RTL kodu ile önceden yüklenebilir, sıfırlanabilir yukarı / aşağı sayıcı tasarlamayı öğreneceksiniz.
  2. Senkronize tasarımın nasıl yapıldığını öğrenin - çoğu FPGA'nın zaten iyi olduğu şeydir ve neredeyse tüm dijital sistem tasarımının temelini oluşturur.
  3. FPGA'nın I / O'sunu kullanarak dış dünyayla nasıl arayüz kuracağınızı öğrenin. Bu, bir FPGA üzerinde bir şeyin nasıl yapılandırılacağını ve uygulanacağını öğretecektir.

Bu yapıldıktan sonra, açık çekirdeğe gidin ve daha büyük projelerde hacklemeye başlayın. Burada bazı üyelerimiz tarafından sizin de dahil olmak üzere birçok eğlenceli proje bulacaksınız. :)


1

Martin, VGA özelliğiniz olduğunu önerir.

Fotoğrafların tipik olarak mevcut olanlardan daha iyi kontrol edilmesine izin veren iyi bir "fotoğraf çerçevesi" ne dersiniz.

  • Çoğu alt dizinleri kötü işliyor.

  • Hiçbiri rastgele görüntüleme sırasına izin vermez - bu, çok sayıda fotoğrafınız olduğunda çok büyük bir avantajdır.

  • Seçilen fotoğraflara göre bir slayt gösterisi oluşturabilme bonusu. (Örnekler için Irfanview'e bakınız).

  • Ekstra noktalar - MP3 çalma özelliği ekleyin. Fotoğraflarla müzik arası.

  • SD Flash veri deposu.

  • USB?

  • 802.11? (umut etmek için çok fazla.)



0

Hamblen ve arkadaşlarının kitabı Altera Cyclone DE1 ve DE2 panoları için ilginç projelerle doludur; VHDL kodu verilir. Bunlardan bazılarını Spartan-3E tahtanıza uygulayın.


0

Yapılacak ilk şeylerden biri sadece (satıcıdan veya meraklı bir siteden) indirmek ve girdileri çıktılara bağlayan bir iskelet projesi oluşturmaktır - bu, biraz deneyim kazanana kadar çalışmak için son derece sinir bozucu olabilir.

Daha sonra sınıfta olduğu gibi kontrastlı örnekler için durum makineleri arasına mantık koymaya başlayabilir veya başkalarının önerdiği video jeneratörleri gibi daha karmaşık olanlar için. Basit DIY işlemciler gibi daha karmaşık bloklar ...


0

VHDL kursumu aldığımda, ALU ile birkaç talimat, bellek iletişimi ve mikro-yapılandırma sıralayıcı içeren bir mikroişlemci yaptım. Özellikle sağlam olmasını istiyorsanız, düşündüğünüzden daha uzun zaman alır.


Aynen (bir öğretim görevlisi favori olmalı). Bu şaşırtıcı derecede iyi bir meydan okumaydı ve işlemcilerin gerçekte nasıl çalıştığını gerçekten düşündürdü.
Al Bennett
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.