Pemula memproyeksikan pada FPGA?

11

Saya dua minggu lagi dari menyelesaikan kursus desain logika digital perguruan tinggi pertama saya, dan tampaknya tidak akan ada tugas akhir - hanya ujian akhir yang membosankan.

Jadi seperti yang dilakukan oleh setiap siswa yang ingin tahu, saya melihat apa sebenarnya FPGA dan apa yang saya makan di kelas. Dan saya telah memutuskan untuk menyelesaikan proyek FPGA sederhana. Saya menggunakan Basys2 Spartan-3E FPGA, dan saya akrab dengan logika digital dan menggunakan ISE untuk mendorong gerbang logika, tapi saya tidak tahu VHDL / Verilog (saya yakin saya bisa mengambilnya dengan mudah).

Adakah yang punya ide proyek untuk pemula? Saya telah melakukan banyak demonstrasi lab, tetapi tidak ada yang terlalu mewah.

Chetan Bhargava
sumber
Wishlist: tampilan video 1080p, ... apa kata saya berhenti di situ :-)
Russell McMahon
1
Periksa situs fpga4fun.com .
armf
3
Waspadalah fpga4fun.com dev-board. Dokumentasi mereka omong kosong, dan mereka menolak untuk merilis skema dev-board .
Connor Wolf

Jawaban:

5

Saya menemukan "FPGA Prototyping By Verilog Pong Chu Contoh: Versi Xilinx Spartan-3" menjadi buku yang sangat membantu. Ini dimaksudkan untuk papan Spartan-3 yang berbeda dari yang Anda sebutkan, tetapi harus tetap membantu.

Ada juga edisi VHDL jika Anda lebih suka menempuh rute itu

Jim A
sumber
4

Anda memiliki VGA pada tampilan itu. Video selalu menarik minat pengalaman saya :)

Berikut adalah paket yang mungkin ingin Anda coba (tidak perlu framebuffer):

  1. Dapatkan tampilan layar VGA warna murni
  2. menampilkan pudar horizontal dari hitam menjadi warna solid
  3. Sekarang pudar secara vertikal dari hitam ke merah dan secara horizontal dari hitam ke hijau 3a. (buat latar belakang yang ditentukan secara algoritmik lebih menarik yang dapat Anda render secara waktu nyata)
  4. buat mesin sprite sederhana yang akan melapisi bentuk sewenang-wenang kecil di lokasi sewenang-wenang - Anda bisa menggunakan 1 BRAM untuk data sprite
  5. perlihatkan beberapa sprite berbeda (masing-masing 1 BRAM)
  6. buat beberapa logika pembaruan untuk membuat sprite memantul (dan mematikan satu sama lain) - tambahkan deteksi tabrakan ke logika sprite.
  7. buat "paddle" sprite yang bisa Anda kontrol dengan sakelar, gunakan untuk menghentikan sprite yang keluar dari layar
  8. Tambahkan beberapa mekanisme penilaian

Saya pikir itu semua harus muat dalam 250E. (Jam VGA lambat dalam hal FPGA, sehingga Anda dapat mengalikannya dengan 4-8x dengan DCM yang akan memungkinkan satu mesin sprite untuk multiplex lebih dari satu contoh sprite)

Martin Thompson
sumber
3

Hal ini tentu saja online gratis yang ditulis oleh Hamster menakjubkan dan ditulis dengan Basys 2 dan Nexys 2 dalam pikiran.

Saya pribadi menggunakan Basys 2 dan belajar banyak dari menjalani kursus ini. Ini melewati semua aspek dewan Basys dan banyak konsep untuk menyelesaikan sebagian besar proyek di luar kursus.

MLM
sumber
2

Seperti yang lainnya, mulailah dengan proyek hello world , dalam hal ini - kedipkan LED - dan buat variabel periodenya hanya untuk bersenang-senang.

Untuk melakukan itu, Anda harus mempelajari cara membuat penghitung di Verilog / VHDL. Itu adalah awal yang baik untuk mempelajari seluk-beluk HDL karena Anda akan belajar cara:

  1. Berikan operasi perangkat keras - gunakan kode RTL alih-alih kode tingkat gerbang. Anda akan belajar cara mendesain penghitung naik / turun yang dapat dimuat ulang, dapat diatur ulang dengan kode RTL.
  2. Pelajari cara melakukan desain sinkron - itulah yang paling baik untuk FPGA dan merupakan dasar dari hampir semua desain sistem digital.
  3. Pelajari cara berinteraksi dengan dunia luar - menggunakan I / O dari FPGA. Ini akan mengajarkan Anda cara mengkonfigurasi dan mengimplementasikan hal-hal pada FPGA.

Setelah selesai, buka opencores dan mulailah meretas proyek yang lebih besar. Anda akan menemukan banyak proyek menyenangkan lainnya oleh beberapa anggota kami di sini, termasuk proyek Anda yang sebenarnya. :)

sybreon
sumber
1

Martin menyarankan Anda memiliki kemampuan VGA.

Bagaimana dengan "bingkai foto" yang layak yang memungkinkan kontrol foto yang lebih baik daripada yang biasanya tersedia.

  • Sebagian besar menangani subdirektori dengan buruk.

  • Tentang tidak ada yang mengizinkan pemesanan tampilan acak - yang merupakan keuntungan besar ketika Anda memiliki banyak foto.

  • Kemampuan untuk membuat tayangan slide berdasarkan foto yang dipilih sebagai bonus. (Lihat Irfanview untuk contoh).

  • Poin ekstra - tambahkan kemampuan memutar MP3. Interleave musik dengan foto.

  • Penyimpanan data SD Flash.

  • USB?

  • 802.11? (terlalu banyak berharap.)

Russell McMahon
sumber
1

Saya telah melakukan beberapa pekerjaan dengan papan NEXYS2 dan teks terkait dari Digilent. Mahal tapi itu pengalaman yang bagus.

Will Ware
sumber
0

Buku Hamblen et al penuh dengan proyek menarik untuk papan Altera Cyclone DE1 dan DE2; Kode VHDL disediakan. Terapkan beberapa dari mereka di papan Spartan-3E Anda.

Leon Heller
sumber
0

Salah satu hal pertama yang harus dilakukan adalah hanya mengunduh (dari vendor atau situs penggemar) dan membangun proyek kerangka yang mengaitkan input ke output - ini bisa sangat menyebalkan untuk bekerja sampai Anda memiliki pengalaman.

Kemudian Anda dapat mulai menempatkan logika di antara mesin negara untuk contoh yang dibuat seperti yang Anda miliki di kelas, atau yang lebih rumit seperti pembuat video yang direkomendasikan orang lain. Blok yang lebih rumit seperti prosesor DIY sederhana, dll ...

Chris Stratton
sumber
0

Ketika saya mengambil kursus VHDL saya, saya membuat mikroprosesor dengan ALU dengan beberapa instruksi, komunikasi memori dan sequencer microinstruction. Dibutuhkan waktu lebih lama daripada yang Anda pikir akan dibutuhkan, khususnya jika Anda ingin membuatnya kuat.

Gorgen
sumber
Ditto (pasti favorit dosen). Itu adalah tantangan yang sangat bagus dan membuat saya benar-benar berpikir tentang cara kerja prosesor.
Al Bennett