Bagaimana saya belajar HDL

24

Saya memiliki kursus dalam Desain Digital di semester ini dan sangat menyukainya. Sekarang saya tahu bahwa sebagian besar pekerjaan dalam sistem tertanam dan desain digital dilakukan pada simulator komputer terlebih dahulu dan kemudian diimplementasikan menggunakan perangkat keras. Jadi saya bertanya-tanya bagaimana saya harus belajar tentang HDL. Saya punya beberapa pertanyaan

  1. Apa? Saya tidak tahu apa standarnya tetapi ingin belajar mana yang mudah diambil. Saya mengerti bahwa sebagian besar HDL dirancang untuk digunakan dengan FPGA. Saya tidak melakukan itu.
  2. Bagaimana? Haruskah saya mengikuti buku teks dengan contoh independen atau saya harus memulai proyek seperti menerapkan sistem kecil (mungkin sesuatu seperti kontrol lampu lalu lintas).
  3. Dimana? Dari mana saya mendapatkan sumber daya?
Rick_2047
sumber
1
Bisakah Anda mengklarifikasi apa yang Anda inginkan dari HDL Anda? Kebanyakan HDL dirancang untuk digunakan dengan FPGA karena itulah yang dibutuhkan kebanyakan orang untuk FPGA. Secara umum, simulator (bekerja dari skema grafis) digunakan untuk desain sirkuit non-FPGA dan non-ASIC. Apakah Anda ingin membangun: (1) Sirkuit digital diskrit, yaitu komponen 74XX, (2) Sirkuit analog, yaitu pengatur switching, antena / transceiver RF, sirkuit op-amp generik, atau (3) sirkuit sinyal campuran analog, yaitu Antarmuka antara sinyal digital dan analog.
Kevin Vermeer
Saya rasa saya ingin belajar HDL untuk menggambarkan perangkat keras. Itu 1, 2 dan 3. Juga dalam satu saya ingin itu bukan FPGA spesifik karena saya tidak memiliki akses atau keuangan untuk memperolehnya.
Rick_2047
Saya rasa saya ingin belajar HDL untuk menggambarkan perangkat keras. Itu 1, 2 dan 3. Juga dalam satu saya ingin itu bukan FPGA spesifik karena saya tidak memiliki akses atau keuangan untuk memperolehnya. Saya pikir terutama saya ingin menggunakan HDL untuk mensimulasikan apa yang saya pikirkan. Rencana utama saya tahun ini adalah membuat komputer sendiri. Saya pikir saya akan menggunakan 74xx untuk itu. Itulah mengapa untuk menguji teori dan sirkuit saya ide HDL muncul.
Rick_2047

Jawaban:

8

Bisakah Anda mengklarifikasi HDL apa yang ingin Anda gunakan? Pilihannya pada dasarnya adalah Verilog atau VHDL, [EDIT], dan kerabat mereka, Verilog-ASM dan VHDL-ASM (Analog mixed-signal). [/ EDIT] Verilog memiliki beberapa sintaks seperti C, yang membuatnya lebih mudah untuk diambil jika Anda pernah bekerja dengan C sebelumnya, tetapi ini juga membuatnya mudah untuk mengembangkan kebiasaan buruk - Anda tidak dapat memprogram perangkat keras dalam C, karena itu semua paralel! Juga seperti C, itu mengasumsikan Anda tahu apa yang Anda lakukan, dan mudah menembak diri sendiri. VHDL memaksa Anda untuk berpikir dengan cara yang sama sekali berbeda, yang bermanfaat, tetapi sulit. Itu lebih bertele-tele, dan lebih cenderung memperingatkan Anda jika Anda melakukan sesuatu yang aneh. Lihat diskusi Slashdot ini , atau artikel ini .

EDIT: "Bahasa Netlist" bukan sesuatu yang saya gunakan untuk pekerjaan desain (dalam editor teks), tapi saya kira Anda bisa. SPICE, format Cadsoft Eagle, dan EDIF adalah contoh (dengan tujuan yang sangat berbeda) yang muncul di pikiran. Saya hanya menggunakan netlist untuk memverifikasi bahwa skema saya benar (apakah setiap koneksi dalam skema Eagle saya masuk akal), untuk mengubah abstraksi yang disediakan oleh simulator (SPICE, mirip dengan cara seseorang menggunakan pernyataan ASM dalam C), atau untuk lakukan ekspor / impor antara berbagai program (EDIF).
The Spectre bahasa netlisting terkait dengan Verilog-A [nalog] dan SPICE, dan dirancang untuk desain dan verifikasi kerja. TIANG KAPALadalah bahasa pemodelan komponen yang kompatibel dengan Verilog-AMS dan VHDL-AMS. Mencari tutorial tentang bahasa-bahasa ini menunjukkan bahwa alat-alat yang terlihat seperti utilitas tangkap skematik sering digunakan, daripada pemrograman dalam bahasa netlisting itu sendiri.

Saya juga akan kedua FPGA Xilinx Spartan, dan papan dev Digilent . Namun, saya akan menggunakan Basys ($ 60) atau Nexys ($ 100) jika Anda tidak memerlukan Ethernet di papan Starter ($ 150) yang disebutkan oleh O Engenheiro (Harga dengan diskon pendidikan). Basys dan Nexys lebih murah dan karenanya lebih populer di sekolah, jadi ada lebih banyak tutorial dan laboratorium online.

Kevin Vermeer
sumber
Saya bertanya-tanya apakah mempelajari bahasa yang disebut "Netlist" akan bermanfaat atau lebih mudah daripada belajar Verilog atau VHDL?
Rick_2047
Sulit untuk dikatakan. Itu tergantung pada apa yang ingin Anda lakukan dengan bahasa Anda. Bisakah kita mendapatkan ide yang lebih baik tentang apa yang ingin Anda lakukan dan bahasa apa yang ingin Anda gunakan sebelum kita mempelajari bagaimana dan di mana untuk setiap permutasi dari setengah lusin bahasa dan banyak kasus penggunaan?
Kevin Vermeer
9

Saya hampir dalam situasi yang sama seperti Anda.

Apa yang aku lakukan:

Saya telah mengambil kursus VHDL yang sangat mendasar gratis di perguruan tinggi yang saya pelajari. Saya sudah bermain dengan papan Spartan 3E .

Jadi, saya membeli papan dan saya akan mulai bermain.

Seorang teman saya menyarankan buku-buku ini:

  1. Prototipe Cepat Sistem Digital , James O. Hamblen, Michael D. Furman
  2. Publikasi Doone - Desain Chip HDL , Douglas J Smith

Dan dia telah menyarankan dokter ini juga:

Panduan Desain Sintesis dan Simulasi Xilinx

Daniel Grillo
sumber
1
Saya akan buku kedua Hamblen dan Furman. Saya mendesain papan Altera Flex 10K10 kecil saya sendiri dan dapat menggunakan sebagian besar kode dalam buku itu. Ini buku masak, tapi tidak ada yang lebih buruk untuk itu.
Leon Heller
4
  1. Ada dua bahasa HDL, mereka VHDL dan Verilog, tanyakan kepada profesor Anda yang bahasa Anda akan belajar dan mencoba untuk melihat cara kerjanya: sintaks dan bagaimana Anda bisa membuat modul tentang ini dan membuat ulasan besar tentang SEMUA sirkuit digital.

  2. Sebelum membuat segala sesuatu menjadi 1, pastikan bahwa Anda benar-benar tahu segalanya tentang sirkuit digital, karena HDL tidak membuat sesuatu yang baru, Anda hanya menggunakan hal-hal ini dengan cara yang berbeda. Jadi Anda dapat menggunakan salah satu dari dua buku di atas, untuk melakukan beberapa latihan, tanyakan pada Anda guru buku yang ia rekomendasikan dan gunakan atau salah satu dari dua buku di atas.

  3. Tanyakan kepada Anda guru mana FPGA yang mereka gunakan di kelas, apakah itu Altera, Xilinx, Lattice atau lainnya, jika Altera membuat unduhan dari Quartus Web Edition, jika Xilinx, ISE Webpack, buat unduhan gratis salah satunya dan cobalah untuk belajar tentang salah satu perangkat lunak dan lakukan beberapa latihan Anda, simulasi salah satunya.

Anda benar, sekitar 90% pekerjaan pada HDL menggunakan simulator, jadi pelajari tentang simulator Modelsim, dan / atau simulator ISIM di xilinx, mereka memerintahkan dan bagaimana melakukan testbench.

Zork
sumber
Dua HDL utama. Ada banyak yang kurang populer, seperti CUPL, MyHDL dan Lava. Kursus Desain Digital di universitas saya menyebutkan VHDL tetapi menggunakan CUPL di laboratorium. Lebih lanjut tentang wikipedia: en.wikipedia.org/wiki/…
Yann Vernier
3

di mana pun Anda akhirnya bekerja, Anda harus menggunakan HDL yang sama dengan yang sudah mereka gunakan - jadi untuk meningkatkan peluang disewa coba dan habiskan sedikit waktu dengan Verilog dan VHDL. Dulu cukup sederhana: Verilog digunakan di AS dan VHDL di Eropa - hari ini itu tidak sederhana.

Upthread seseorang yang disebutkan belajar untuk 'berpikir secara berbeda' untuk VHDL - Anda harus melakukannya untuk Verilog juga sepertinya C tetapi tidak - tempat yang baik untuk memulai adalah untuk melihat dan melihat di mana kabel dan jepit dibuat selama sintesis - setelah Anda mencapai titik di mana Anda bisa melihat itu, dan hanya bisa 'melihat' bahaya waktu di kepala Anda, Anda sebagian besar jalan ke sana

Taniwha
sumber
2

icarus Verilog atau verilator adalah apa yang saya sarankan untuk belajar atau bermain dengan Verilog. ghdl adalah apa yang akan saya gunakan untuk bermain dengan vhdl. Jauh dari arus utama tetapi saya juga akan merekomendasikan cyclicity-cdl.sf.net yang memiliki lingkungan sim sendiri, dll dan menghasilkan Verilog yang dapat disintesis. gunakan dan pelajari gtkwave untuk memeriksa file .vcd yang dihasilkan oleh simulator.

old_timer
sumber
1

Saya belajar Verilog di perguruan tinggi dalam satu kursus. Puncak dari kursus itu adalah penerapan prosesor Superscalar MIPS 2 arah (30% kelas membuatnya benar-benar berfungsi; saya berada di 70% lainnya). Saya pikir hal-hal dalam industri secara umum bergerak menjauh dari Verilog dan menuju VHDL. Yang sedang berkata, ada banyak tutorial online untuk kedua bahasa. Ini satu di VHDL dan satu lagi di Verilog .

Anda mungkin ingin menggunakan ModelSim dan Anda mungkin dapat menggunakan edisi siswa (saya pikir ini gratis; mungkin dengan batasan). Kebetulan mereka merekomendasikan menggunakan Desain Sistem Digital Menggunakan VHDL 2nd Edition sebagai Buku Teks.

vicatcu
sumber
1

Ini kit pengembangan FPGA murah yang mungkin tepat untuk Anda. Namun, saya tidak yakin tentang tingkat alat sumber terbuka yang bekerja dengannya. Rantai toolkit vendor tersedia untuk diunduh gratis. Saya telah mendengar bahwa pada titik harga kit ini tersedia untuk, layak untuk pergi dan mendapatkannya.

Sushrut J Mair
sumber