Apa yang membuat saya memilih Verilog atau VHDL daripada desain skematis pada CPLDs atau FPGAs?

13

Saya sama sekali tidak memiliki latar belakang dalam logika yang dapat diprogram, saya menggunakan sebagian besar mikrokontroler dalam proyek saya, tetapi baru-baru ini saya perlu bekerja dengan video dan mikrokontroler terlalu lambat untuk apa yang saya butuhkan sehingga saya mulai bermain dengan CPLD.

Saya bisa mendapatkan hasil yang baik dengan CPLD hanya menggunakan desain skematik tetapi ketika mencari info tentang CPLD saya menemukan banyak contoh menggunakan VHDL dan Verilog. Saya ingin tahu tentang apa yang membuat saya ingin mendefinisikan perangkat saya dalam salah satu bahasa ini. Apa yang bisa mereka lakukan yang tidak bisa dilakukan desain skematis? Apakah sebagian besar digunakan untuk fungsi?

Sampai sekarang saya hanya menggunakan CPLD, apakah desain FPGA menguntungkan lebih dari CPLD menggunakan bahasa ini?

Bruno Ferreira
sumber
1
Anda mungkin akan menemukan alat sintesis yang disediakan vendor untuk Verilog dan VHDL untuk komponen utama. Karena itu pilihannya murni pendapat. Saya mendorong Anda untuk melihat keduanya dan memutuskan mana yang Anda inginkan. Xilinx memberikan contoh yang baik dalam kedua bahasa, saya curiga vendor lain juga.
David
3
Anda pasti harus menjauh dari penangkapan skematis untuk desain logika. Awalnya terasa lebih mudah, tapi itu ilusi. $ 0,02 saya untuk bahasa: VHDL adalah kekejian, gunakan Verilog.
tandai
@ markt, mengapa menurut Anda VHDL seburuk itu?
stanri
2
Orang juga bisa mengatakan Verilog adalah kekejian, gunakan VHDL. VHDL mengharapkan Anda untuk mengatakan apa yang Anda inginkan, sementara Verilog menebak. Tapi itu hanya £ 0,02 saya.
Brian Drummond
1
@ markt, saya mulai dengan VHDL jadi pada satu titik saya menghargai ketikan-ketikannya. Itu memaksa saya untuk berpikir tentang apa yang saya inginkan dan untuk menciptakan kebiasaan yang baik ketika saya memulai. Sekarang saya terlalu jauh ke kamp SystemVerilog untuk peduli terlalu banyak, jujur.
stanri

Jawaban:

14

Desain skematik hanya berguna ketika Anda hanya menyatukan beberapa modul yang tidak tersedia (counter, adders, memori, dll). Tetapi menerapkan algoritma yang sebenarnya (katakanlah, algoritma hashing kriptografi) hampir tidak mungkin dilakukan tanpa HDL (seperti VHDL atau Verilog), karena tidak ada cara untuk menggambarkan sistem pada tingkat perilaku dengan simbol skematik.

Sebagian besar proyek dilakukan dalam HDL gaya-perilaku karena terlalu rumit untuk disintesis dengan tangan dan digambar menggunakan primitif logika secara skematis.

CPLD umumnya digunakan untuk lem logika dan lebih sedikit digunakan untuk pemrosesan, dan umumnya logika mudah diimplementasikan secara skematis, jadi saya pikir Anda benar ketika Anda menyarankan desain berbasis FPGA lebih diuntungkan dengan menggunakan HDL.

Jay Carlson
sumber
Anda dapat melakukan hal-hal yang sangat kompleks dalam sistem skematik simbolik. Saya akan mengatakan bahwa segala sesuatu yang dapat dilakukan dalam HDL dapat diimplementasikan dalam sistem berbasis skema, meskipun dengan biaya pemeliharaan. Selama toolset dapat mendefinisikan blok simbol yang bertindak sebagai simbol tunggal, Anda dapat melakukan hampir semua hal.
Connor Wolf
1
Salah satu contoh yang baik di sini adalah labview. Ini adalah antarmuka pemrograman simbolis di mana orang telah merancang sistem yang sangat rumit yang mengotomatisasi seluruh pabrik. Hasil akhirnya hampir tidak dapat dipertahankan, tetapi itu mungkin (catatan: Saya tidak berbicara apakah itu ide yang baik , hanya kelayakan dasar).
Connor Wolf
"Sebagian besar proyek dilakukan dalam gaya perilaku HDL ..." tidak didukung dan pada kenyataannya BUKAN cara kerja desain.
placeholder
@ConnorWolf Harus tidak setuju tentang kode Labview yang tidak dapat dipelihara - bukan karena saya penggemar berat. Ada beberapa praktik terbaik yang sangat membantu. Bagi saya, biasanya pengabaian dengan harapan kompatibilitas maju atau mundur yang menyebabkan masalah pemeliharaan, yang bertentangan dengan apa pun yang melekat pada bahasa G;)
Scott Seidman
4

Beberapa aspek praktis di samping jawaban sempurna Jay:

  • Bug. Alat skematis cenderung buggier * dari pada set alat lainnya. Ini mungkin karena preferensi Verilog / VHDL dibandingkan skema dalam industri, dan dengan demikian entri skematik kurang diperhatikan oleh pengembang perangkat lunak.
  • Kecepatan. Skema perlu dikonversi terlebih dahulu ke HDL sebelum meneruskannya ke alat sintesis. Ini dapat berdampak negatif pada waktu pembangunan. HDL yang dihasilkan juga mungkin tidak terlalu mudah dibaca jika Anda perlu memeriksanya karena alasan tertentu.
  • Portabilitas. Tergantung pada jumlah vendor khusus primitif yang digunakan Verilog dan VHDL lebih atau kurang portabel antar perangkat. Skema porting Anda harus menggambar ulang semuanya atau mengandalkan kemampuan impor / ekspor yang disediakan (jika ada).

* Bug favorit saya di Xilinx ISE adalah ketidakmampuan untuk memilih kabel vertikal.

wailashi
sumber
2

Ada banyak keuntungan dari HDL (Bahasa Deskripsi Perangkat Keras) sebagai standar Entri Desain.

Deskripsi fungsionalitas dapat berada pada level yang lebih tinggi, desain berbasis HDL dapat disintesis menjadi deskripsi level gerbang dari teknologi yang dipilih, desain HDL lebih mudah dipahami daripada net-list gerbang level atau deskripsi skematik dan HDL. mengurangi kesalahan karena pemeriksaan tipe yang kuat.

Bahasa deskripsi perangkat keras VHDL dan Verilog dirancang untuk pemodelan perangkat keras dengan tujuan pemodelan pada tingkat abstraksi yang lebih tinggi yang mencakup fitur seperti, konkurensi, waktu, hierarki, penggunaan kembali komponen, perilaku negara, perilaku sinkron, perilaku asinkron, sinkronisasi, dan paralelisme yang melekat. .

Masalah muncul selama sintesis, memetakan deskripsi desain ke proses tertentu dan implementasi gerbang. Ini mengharuskan Anda tidak dapat menggunakan fitur HDL tingkat tinggi - Anda harus menghasilkan "Verilog / VHDL yang dapat disintesis"

Jadi Anda memiliki HDL untuk sintesis dan HDL untuk Simulasi dan bagian yang dapat disintesis adalah alat khusus.

Anda tidak dapat beralih dari deskripsi desain Perilaku ke daftar / tata letak net. Tetapi Anda dapat menyusun desain Anda untuk memiliki komponen perilaku yang juga memiliki aspek yang dapat disintesis yang dapat dibandingkan satu sama lain. Anda mulai dengan perilaku dan kemudian setelah itu berfungsi Anda menulis ulang untuk sintesis (yang merupakan subset). Anda pergi dari umum ke spesifik dan membangun bangku tes di sepanjang jalan.

placeholder
sumber
1

Satu lagi kelebihan adalah bahwa HDL mendapatkan semua keuntungan yang sama dengan bahasa pemrograman biasa karena HDL dapat digunakan dalam sistem kontrol versi standar, berbeda untuk memeriksa perubahan, dll.

mhz
sumber
0

Selain apa yang sudah dikatakan: representasi teks jauh lebih mudah dikelola, terutama dalam proyek-proyek besar. Anda dapat (meskipun dengan kesulitan besar) mengubah HDL yang dapat disintesis menjadi skematis, tetapi ratusan baris teks biasa lebih mudah digunakan daripada ratusan elemen skematik.

valplo
sumber