FPGA or Microcontroller ?

Perbedaan utama dan yang paling mendasar antara mikrokontroller dan FPGA adalah pada struktur hardware. Chip FPGA tidak mempu-nyai struktur hardware yang tetap, akan tetapi struktur hardware ber-sifat programmable dan diprogram berdasarkan kebutuhan pengguna. Mikroprosesor atau mikrokontroller mempunyai struktur yang tetap. Hal tersebut dapat diartikan semua fitur yang meliputi port I/O (Inpt Output), memory, prosessor, dan peripheral lainya bersifat tetap (fixed). Operasi – operasi yang dilakukan oleh prosessor (misal : pen-jumlahan, pengurangan, pembagian , perkalian, I/O control, dsb) telah didefinisikan oleh vendor. Pengguna hanya membuat prosessor melakukan operasi-operasi tersebut secara sekuensial atau berurutan dengan menggunakan software – software yang juga telah disediakan oleh vendor.
Microcontroller / Microprocessor | FPGA / CPLD |
Mempunyai struktur hardware (dalam artian : struktur transistor, memory, peripheral dan koneksinya bersifat statis(unprogrammable)). | Struktur hardware bersifat programmable |
Operasi yang dilakukan oleh microprosesor telah didefinsikan(pre-defined). | Operasi tidak didefinisikan secara manufaktur akan tetapi didefinisikan oleh pengguna. |
Operasi "parallel processing" tergantung dari jenis prosesor. | Dapat melakukan operasi “parallel processing”. |
Struktur hardware pada FPGA bersifat tidak tetap (not fixed) atau dapat berubah sesuai dengan kebutuhan pengguna. Meskipun logic cell (sel logika) pada FPGA bersifat tetap, akan tetapi fungsi inter-koneksi antar logic cell ditentukan oleh pengguna. Dengan menggunakan chip FPGA memungkinkan pengguna untuk membuat sebuah process yang dieksekusi secara parallel atau simultan dengan menggunakan bahasa pemrograman HDL (Hardware Description Language). Kemampuan untuk melakukan eksekusi process secara parallel adalah salah satu fitur unggulan FPGA dibandingkan dengan microcontroller atau microprocessor. Fitur unggulan tersebut yang membuat implementasi FPGA sangat cocok di terapkan diberbagai bidang.
Microprocessor atau microcontroller pada umumnya lebih digunakan untuk tujuan pengendalian. Sebagai contoh, implementasi FPGA untuk sebuah fungsi sederhana seperti menyalakan atau mematikan peralatan dengan menggunakan komputer, mungkin dinilai suatu hal yang relatif berlebihan, tidak efektif dan kurang relevan. Fungsi terse-but dapat dengan mudah jika dimplementasikan dengan menggunakan microcontroller (misalkan: menggunakan modul mikrokontroller Ar-duino). Berbeda halnya, jika kebutuhannya adalah membuat sebuah projek yang melibatkan video beresolusi tinggi. Karena pemrosesan video membutuhkan pemroses data kecepatan tinggi dan membuat jenis aplikasi ini sangat cocok untuk FPGA yang memliki kemampuan parallel processing. Karena pengguna dapat menentukan struktur hardware dari FPGA, serta mampu memproses data yang lebih besar dengan minimum clock cycles. Dimana hal ini tidak mungkin dil-akukan oleh microprocessor atau microcontroller. Hal tersebut dikarenakan aliran data processor dibatasi oleh lebar data bus processor (8bit,16 bit atau 32 bit) dan kecepatan processor.
Terlepas dari perbedaaan arsitektur dan
perbandingan fitur antara FPGA dan microcontroller/microprocessor, performa
keduanya dapat dikolaborasikan karena pada dasarnya kedua jenis perangkat
tersebut merupakan perangkat berjenis logic
circuit (rangkaian
logika). Dengan mengkolaborasikan FPGA dan MCU (Microcontroller Unit) /MPU (Microprocessor Unit), sangat memungkinkan sekali untuk
mendefinisikan dan menggunakan fungsi user-spesific hardware MCU/MPU pada sebuah chip menggunakan FPGA. Solusi tersebut
memberikan keuntungan bagi perancang
(insinyur) untuk mengendalikan hardware karena fleksibilitasnya. Pengguna dapat mengubah dan
memperbaharui keseluruhan desain (FPGA, processor dan circuit logic lainnya)
hanya dengan mengubah kode FPGA dan tanpa mengubah jalur pada layout PCB dari
sebauh rangkaian. Dengan menggunakan metode kolaborasi ini, pengguna dapat
membuat sebuah fungsi yang berbeda pada hardware
yang sama, meningkatkan performa rangkaian dan memperpanjang masa pakai
rangkaian.
Leave your comment