Field Programmable Gate Arrays (FPGA) dan mikrokontroler unit (MCU) adalah dua jenis sirkuit terintegrasi (IC) yang sering dibandingkan dan biasanya digunakan dalam sistem tertanam serta desain digital. FPGA dan mikrokontroler keduanya dapat dianggap sebagai "komputer kecil" yang dapat diintegrasikan ke dalam perangkat atau sistem yang lebih besar.
Sebagai prosesor, FPGA dan mikrokontroler memiliki perbedaan utama dalam hal kemampuan pemrograman dan pemrosesan. Meskipun FPGA lebih kuat dan lebih serba guna, harganya juga lebih mahal. Mikrokontroler kurang dapat disesuaikan, tetapi juga lebih murah. Dalam banyak aplikasi, mikrokontroler sangat mumpuni dan hemat biaya. Namun, untuk aplikasi tertentu yang membutuhkan kinerja tinggi atau pemrosesan paralel, seperti yang sering diperlukan dalam pemrosesan data yang intensif, FPGA menjadi pilihan yang diperlukan.
Berbeda dengan mikrokontroler, FPGA memungkinkan pemrograman ulang langsung pada tingkat perangkat keras. Desain unik FPGA memungkinkan pengguna untuk mengonfigurasi dan mengubah arsitektur chip sesuai dengan kebutuhan tugas. Desain FPGA memungkinkan pemrosesan input paralel secara bersamaan, sementara mikrokontroler hanya dapat mengeksekusi satu instruksi kode pada satu waktu. FPGA dapat diprogram untuk menjalankan fungsi yang biasanya dilakukan oleh mikrokontroler. Namun, mikrokontroler tidak memiliki fleksibilitas yang sama dan tidak dapat diprogram ulang untuk menjalankan fungsi yang lebih kompleks seperti FPGA.
FPGA pertama kali diperkenalkan oleh pabrikan Xilinx pada tahun 1985 dan sangat dihargai karena keserbagunaan serta kemampuan pemrosesannya yang tinggi. Akibatnya, FPGA menjadi pilihan utama dalam berbagai aplikasi, seperti komputasi kinerja tinggi (HPC), pemrosesan sinyal digital (DSP), dan pembuatan prototipe.
Berbeda dengan sirkuit terintegrasi khusus aplikasi (ASIC) tradisional, FPGA dirancang agar dapat dikonfigurasi (dan dikonfigurasi ulang) “di lapangan” setelah proses manufaktur selesai. Walaupun kemampuan kustomisasi adalah nilai utama FPGA, perlu dicatat bahwa FPGA bukan hanya dapat diprogram, tetapi memang harus diprogram agar dapat berfungsi. Berbeda dengan ASIC, FPGA bukanlah solusi "siap pakai" dan harus dikonfigurasi terlebih dahulu menggunakan bahasa deskripsi perangkat keras (HDL), seperti Verilog atau VHDL, sebelum dapat digunakan. Pemrograman FPGA membutuhkan pengetahuan khusus, yang dapat meningkatkan biaya dan menunda penerapan. Walaupun beberapa FPGA memiliki memori non-volatil yang dapat menyimpan instruksi pemrograman saat perangkat dimatikan, umumnya FPGA tetap perlu dikonfigurasi ulang setiap kali dinyalakan.
Meskipun memiliki tantangan, FPGA tetap menjadi pilihan ideal untuk aplikasi yang memerlukan kinerja tinggi, latensi rendah, dan fleksibilitas dalam waktu nyata. FPGA sangat cocok untuk aplikasi yang membutuhkan hal berikut:
Untuk mendukung kemampuan konfigurasi ulang, FPGA terdiri dari susunan blok logika yang dapat diprogram dan dihubungkan melalui jaringan perutean yang juga dapat diprogram. Komponen utama dari FPGA khas adalah sebagai berikut:
Karena sifatnya yang serbaguna, FPGA umum digunakan di berbagai industri dan aplikasi:
Mikrokontroler adalah jenis ASIC yang ringkas dan siap pakai, berisi inti prosesor (atau inti), memori (RAM), dan memori hanya-baca yang dapat diprogram ulang (EPROM) untuk menyimpan program khusus yang dijalankan oleh mikrokontroler. Dikenal sebagai solusi 'system-on-a-chip' (SoC), mikrokontroler pada dasarnya adalah komputer mini yang terintegrasi dalam satu perangkat keras dan dapat digunakan secara mandiri atau dalam sistem tertanam yang lebih besar.
Mikrokontroler kelas konsumen, seperti Arduino Starter Kit atau Microchip Technology PIC, dapat diprogram menggunakan bahasa assembly atau bahasa pemrograman umum ( C dan C++). Mikrokontroler ini populer di kalangan penghobi dan pendidik karena aksesibilitasnya yang terjangkau. Mikrokontroler juga mampu menangani tugas-tugas yang kompleks dan penting, sehingga banyak digunakan dalam berbagai aplikasi industri. Namun, keterbatasan daya pemrosesan dan sumber daya memori dapat membatasi kemampuan mikrokontroler untuk menangani aplikasi yang lebih menuntut.
Terlepas dari keterbatasannya, mikrokontroler menawarkan banyak keuntungan, termasuk hal berikut:
Jika kemampuan pemrograman ulang bukanlah prioritas, mikrokontroler mandiri dapat menjadi pilihan yang ringkas dan efektif. Berikut ini adalah komponen-komponen utama dari mikrokontroler:
Berbeda dengan FPGA, mikrokontroler yang berukuran kecil, terjangkau, dan non-volatil banyak digunakan dalam elektronik modern untuk menjalankan berbagai tugas khusus, seperti:
Saat membandingkan FPGA dan mikrokontroler, penting untuk mempertimbangkan beberapa perbedaan utama, seperti arsitektur perangkat keras, kemampuan pemrosesan, konsumsi daya, dan kebutuhan pengembang.
Apakah Anda mencari prosesor FPGA yang serbaguna dan bertenaga, atau mikrokontroler yang ringkas dan hemat biaya, pertimbangkan bagaimana IBM dapat membantu mengembangkan bisnis Anda dengan solusi infrastruktur canggih. IBM FlashSystem 5300 baru memberikan peningkatan kinerja danketahanan siber. IBM Storage Assurance yang baru menyederhanakan manajemen penyimpanan dan membantu Anda mengatasi tantangan dalam siklus hidup TI.