Apa Sih Bedanya FPGA (Field Programmable Gate Array) dan Mikrokontroler 1?

Contoh FGPASecara umum, FPGA (Field Programmable Gate Array) dan Mikrokontroler mempunyai konsep yang sama, yaitu sebagai pemroses sinyal (input dan output) dan pengendali. Hanya saja, kapan kita lebih baik (jadi bukan keharusan) menggunakan FPGA dan kapan lebih baik menggunakan mikrokontroler adalah penting untuk diketahui. Tentu tetap sesuai kebutuhan.Dalam embedden system dikenal dengan pemrograman berbasis software (C, C++, BASIC, pascal, dll) dan pemrograman berbasis hardware (VHDL, verilog dan SystemC). Pemrogram mikrokontoller merupakan pemgrogram software. Artinya, hardware sudah ada dan disedikaan oleh pabrik. Kit dan mikrokontroler bentuk dan spesifikasinya ditentukan oleh pabrik. Artinya, jumlah memori dan fasilitas dan IC mikrokontroler seperti ADC, pencacah, dll tidak bisa kita tambah atau ubah. Kita hanya bisa menggunakan atau tidak menggunakan fungsi tersebut. Kita sebagai pemrogram hanya merangkai kit tersebut kemudian mengisinya dengan program. Nah, ini lah yang disebut pemrograman berbasis software.Contoh IC MikrokontrolerApakah fungsinya sama antara FPGA dan Mikrokontroler?Tentu dari segi fungsi sama, tpi dari segi design berbeda. Perlu diingat bahwa FPGA (field programable gate array) hanya gate-gate logic yang bisa diprogrmable. karena berbasis gate (harware) tentu dari segi kecepatan berbeda dengan berbasis programabe software. Dalam perancangan embedded device terbagi menjadi dua pilihan, real time atau non realtime. Pilihan ini lah yang mempengaruhi seberapa cepat embedded device kita merespon terhadap input dan output.Kapan kita menggunakan FPGA atau Mikrokontroler?Tergantung dari aplikasi yang kita buat. Kalau aplikasi yg dibuat tidak memerlukan kecepatan dan kepresisian tinggi, kita cukup dengan mikrokontroler. Untuk aplikasi besar kita membutuhkan FPGA untuk perancangan arsistekturnya yang bisa dicombine dengan mikro atau yang bisa disebut SoC (System on Chip).Misalnya aplikasi (alat) untuk signal dan image processing yang membutuhkan proses aritmatika yang rumit dan butuh kecepatan tinggi, kita membutuhkan FPGA. Pembuatan aplikasi RF dengan orde MHz atau GHz, semisal sistem GSM, CDMA, LTE, dan WIMAX, lebih bagus juga jika menggunakan FPGA. Untuk aplikasi pesawat luar angkasa yang membutuhkan presisi tinggi dan tahan terhadap reduksi ionosfir, juga lebih baik menggunakan FPGA. Jadi kalau untuk kontrol standar dan sederhana, lebih baik menggunakan mikrokontroler untuk efektifitas.Apa saja produsen FPGA dan Mikrokontroler?Kalau mikrokontoler, ada Atmel AVR (AT89* , ATMega, ATTiny, dll), PIC. Kedua jenis mikrokontroler tersebut paling banyak dipakai di Indonesia.  Sedangkan untuk FPGA yang biasa dipakai adalah Xilinx (biasa include prosesro Microblaze, LEON, ARM), Altera (biasa include procesor ARM cortex), Actel(include NIOS II), dll.Perbedaan lain tentang FGPA dan Mikrokontroler bisa dibaca juga di Apa Sih Bedanya FPGA (Field Programmable Gate Array) dan Mikrokontroler 2.