Apa perbedaan antara CPLD dan FPGA? [Tutup]

10

Apa perbedaan antara CPLD dan FPGA?

Sanjeev Kumar
sumber
1
CPLD hanya menggunakan istilah produk (dan satu DFF per pin output); FPGA memiliki blok LUT, carry / shift, DFF yang dapat dikonfigurasi secara internal, serta perutean yang lebih fleksibel, RAM blok, dan blok khusus lainnya seperti PLL atau MAC.
MarkU
1
... dan biasanya CPLD menggunakan memori non-volatile untuk menyimpan konfigurasinya sedangkan FPGA menggunakan volatile memory (RAM), yaitu FPGA harus diinisialisasi setiap kali setelah power-up.
Curd
6
Jawaban sudah tersedia menggunakan Google - pertanyaan harus ditutup.
Leon Heller
4
@Leon Heller Saya tidak tahu mengapa Anda ingin memanggil orang lain untuk menutup pertanyaan ini. Jika Anda merasa bahwa pertanyaan ini harus ditutup, Anda bebas memilih untuk menutup tetapi benar-benar mengerikan untuk berkomentar "pertanyaan harus ditutup" dan mencoba untuk memohon orang lain untuk ikut dengan Anda. Jika pertanyaan ini dapat ditutup, pertama-tama Anda harus menutup pertanyaan electronics.stackexchange.com/questions/1092/…
Sanjeev Kumar
1
@LeonHeller (et al), pertanyaan ini juga muncul sebagai jawaban untuk pencarian Google itu. (Saya mendapatkannya sebagai tautan kedua, bersama dengan yang lain yang benar-benar bermanfaat.)
ilkkachu

Jawaban:

5

CPLD umumnya hanya digunakan untuk mengganti sejumlah kecil logika diskrit. Yaitu, hal-hal seperti sekelompok decoder alamat dan sirkuit antarmuka bus. CPLD mengandung sangat sedikit memori; secara umum jumlah sandal jepit memiliki urutan yang sama besarnya seperti pin I / O (yaitu 32 macrocell CPLD memiliki ~ 30 pin dan ~ 30 sandal jepit). Logika kombinatorial dalam CPLD diimplementasikan pada array logika yang dapat diprogram, yang umumnya tidak berguna pada kecepatan yang sangat tinggi. CPLD juga biasanya berbasis flash atau memiliki memori flash internal, menyederhanakan persyaratan desain papan dan meningkatkan perlindungan terhadap rekayasa balik. CPLD juga tidak dibangun dengan proses logika 'edge edge'.

FPGA dirancang untuk komputasi kinerja sangat tinggi dan interfacing bandwidth tinggi. Secara internal, mereka menggunakan arsitektur yang sangat berbeda dari CPLD. FPGA memiliki lebih banyak status internal (register dan block RAM) daripada mereka memiliki pin I / O. Logika kombinatorial diterapkan pada tabel pencarian berkecepatan tinggi yang dapat dijalankan hingga beberapa ratus MHz. LUT dan komponen lainnya saling berhubungan dengan jaringan perutean kinerja tinggi. FPGA juga mengandung inti keras khusus yang menyediakan implementasi efisien dari berbagai komponen. Blok RAM dan pengganda / irisan DSP sangat umum. FPGA juga dapat berisi MAC ethernet, inti prosesor keras, antarmuka PCI express, dan blok khusus lainnya. Transciever multi-gigabit juga merupakan fitur umum dari FPGA high-end yang memungkinkan transfer data hingga 50 Gbit / detik per pasang pin. FPGA pada umumnya tidak mengandung memori yang tidak mudah menguap, sehingga memori flash eksternal diperlukan untuk memuat konfigurasi. Enkripsi dapat diterapkan untuk meningkatkan keamanan desain dengan kunci yang didukung baterai yang disimpan dalam FPGA.

alex.forencich
sumber
10

Perbedaan:

  1. Kapasitas - CPLD biasanya memiliki kapasitas logika yang lebih sedikit. CPLD terbesar mungkin berada pada level yang sama dengan FPGA terkecil di pasar mainstream.

  2. Penyimpanan gambar - CPLD dapat boot dengan sendirinya sementara sebagian besar FPGA perlu mengambil bitstream konfigurasi dari penyimpanan non-volatile karena berbasis SRAM. Ini berdampak pada keamanan sistem.

  3. Fitur - CPLD hanya menyediakan gerbang, atau kata, sel-sel logika, yang dapat melakukan semua jenis algoritma logika. Selain itu, FPGA juga menyematkan banyak blok keras seperti BlockRAM, DSP, TEMAC, PCIe, MGT, mikroprosesor, dll untuk membuat satu chip FPGA yang mampu membangun sistem fitur lengkap yang terintegrasi.

Yash
sumber
3
Mengenai # 3, perlu disebutkan bahwa selama bertahun-tahun karena CPLD telah menjadi lebih canggih, garis antara CPLDs dan FPGAs telah kabur. Misalnya, CPLD modern cukup besar untuk mengimplementasikan mikrokontroler. Ini ke titik sekarang di mana beberapa keluarga chip yang secara historis dipasarkan sebagai CPLD sekarang ditandai sebagai FPGA (keluarga Altera Max, misalnya)
David Gardner