Proyeksikan untuk mempelajari VHDL


16

Saya seorang siswa EE dan dapat menulis program [setidaknya sederhana] dalam lebih banyak bahasa daripada yang saya miliki. Saya baru saja mulai belajar VHDL dan saya bertanya-tanya apa proyek yang bagus untuk benar-benar mengenal bahasa dan alat yang relevan? Saya mengalami masalah dengan satu karena itu adalah gaya pemrograman yang sangat berbeda bagi saya.

Saya telah membuat hal-hal sederhana seperti adders, tetapi saya mencari proyek jangka panjang (yaitu sekitar satu bulan).

Dalam hal ini relevan, saya memiliki Xilinx Webpack dan papan Digilent Spartan3.

Jawaban:


7

Proyek FPGA "hello world" saya adalah pengontrol array LED dengan input aliran PWM dan serial. Hasil akhirnya bagus ( http://lbw.axe-man.org/led1.wmv ) tetapi saya akui saya telah melakukan sebagian dengan Editor Skema Altera Quartus untuk melihat bagaimana bagian-bagian VHDL dijelaskan.


ini ide yang bagus; Saya baru saja mengambil 16x16 controllerless matrix dan sebuah controller akan lebih bagus. video yang rapi!
penjuin

Video cantik! Dan editor skematis itu ada untuk digunakan.
Monica

10

Karena Anda tampaknya tertarik pada pemrograman, Anda dapat membangun mikroprosesor sederhana.


SANGAT direkomendasikan. Anda akhirnya belajar tentang tidak hanya sisi FPGA dan VHDL, tetapi juga cara kerja prosesor, apa yang dibutuhkan dalam cara pengembangan alat untuk mendukung prosesor, dll.
Chris Stratton


4

Saya menikmati bekerja dengan Hans di hardhack tahun ini pada proyek Rekonstrukt untuk membangun synthisizer dasar dalam FPGA. Proyek LED juga bagus tetapi tidak ada yang seperti memasang FPGA ke stereo. Itu tidak membangun dari bawah ke atas, seperti proyek LED, karena proyek ini didasarkan pada prosesor inti terbuka yang mendukung maju. Jadi pada awalnya Anda belajar bagaimana memuat FPGA pada dasarnya dengan proyek, maka Anda dapat bermain dengan amplop di FORTH. Tetapi di mana Anda mulai belajar lebih banyak tentang internal FPGA adalah ketika Anda ingin menambahkan fungsionalitas, yang kemudian membutuhkan penggalian ke dalam VHDL.


2

Sebuah proyek yang saya senang lakukan adalah menerapkan Permainan Milton Bradley Simon pada FPGA.

Di universitas saya, kelas EDA kami menggunakan papan yang sama dengan yang Anda sebutkan. Beberapa proyek yang dilaksanakan meliputi:

  • Pemrosesan gambar: filter median, peregangan histogram, deteksi tepi
  • Kriptografi: AES, berbagai algoritma hashing, dll.
  • Komunikasi: Ethernet, USB, I2C, dll.
  • Game: Pong, penjajah luar angkasa, dll.

Itu mungkin memberi Anda beberapa ide.

Saya akan mendukung gagasan opencores.org serta mengimplementasikan mikroprosesor Anda sendiri. Karena Anda memiliki Xilinx FPGA, Anda mungkin juga terlihat melakukan sesuatu dengan microblaze atau picoblaze.

Edit: pemformatan.


1

Saya menulis kode vhdl untuk xilinx virtex core beberapa waktu yang lalu. itu adalah implementasi jam alarm. Inilah yang saya lakukan:

  • Baca banyak melalui vhdl manual - saya harus merevisinya sekarang tetapi saya merasa cukup mudah dan mudah digunakan hdl :-)
  • Digunakan xilinx suite (compiler, synthesizer) untuk mendapatkan bitstream
  • Mengunggah bitstream menggunakan jtag

Dibilas, Diulang 1-3. Saya akan menunjukkan bahwa generasi bitstream sangat terintegrasi dalam IDE Xilinx. Anda hanya harus memiliki logika yang jelas untuk diimplementasikan dalam HDL; semua hal lainnya dilakukan oleh IDE.


1

Osilator yang dikendalikan secara numerik akan menyenangkan. Saya baru saja melakukan desain dengan papan kompatibel Arduino saya (lihat http://tinyurl.com/ydmz2su ) tetapi ini akan sempurna untuk FPGA.

Berikut adalah beberapa referensi desain.

Snell, John 1988 "Desain Oscillator Digital Yang Akan Menghasilkan hingga 256 Gelombang Sinus Rendah Distorsi dalam Waktu Nyata" Yayasan Musik Komputer. Cambridge, Mass .: MIT Press

Moore, F. Richard 1988 "Noise Table Lookup for Digital Oscillators Sinusoidal" Yayasan Musik Komputer. Cambridge, Mass .: MIT Press


0

Yang saya lakukan adalah membuat sedikit CPU. Ini adalah cara yang bagus untuk mencakup semua dasar-dasarnya.

Anda akan membahas semua dasar-dasar proyek besar dalam VHDL dan dihadapkan pada semua topik inti dalam desain VHDL (jam, input, output, logika, bus, dan desain sekuensial paling menonjol) serta banyak inti elektronik dan komputer konsep desain dan arsitektur seperti register, operasi data, memori, dan aritmatika komputer.

Anda dapat mulai dengan hanya penambahan dan pengurangan dan kemudian tambahkan lebih banyak fungsi saat Anda belajar, bekerja hingga komputer yang berfungsi penuh (walaupun sederhana ... atau seperti saya lebih suka menyebutnya komputer "retro"). Setidaknya, itulah rencanaku.

Plus, memiliki komputer yang dirancang khusus pada sebuah chip sangat keren :) Seperti Raspberry Pi 16 bit: P

Proyek FPGA umum lainnya:

Synthesizer musik

Generator efek -DSP

-MIDI controller / interrupter

Penambang Bitcoin

Emulator konsol game -Video

Perisai Arduino -Custom

-Prosesor paralel (sangat berguna untuk masalah matematika tertentu yang tidak biasa dimiliki komputer konvensional)

-Robotik / sistem kontrol

Akuisisi data (beberapa desain osiloskop yang adil di luar sana untuk FPGA jika Anda tahu cara bekerja dengan op amp)

VHDL sendiri tidak begitu rumit. Yang paling penting untuk diingat adalah bahwa Anda merancang sirkuit digital elektronik fisik, bukan menulis program untuk mikrokontroler. Simulasi Anda bukan program yang akan dijalankan baris demi baris, pada dasarnya, jadi jangan biarkan kesamaan dangkal dengan C menipu Anda, VHDL adalah paradigma yang sangat berbeda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.