FPGA vs Mikrokontroler: Memilih Chip Pemrograman Tepat untuk Proyek Anda
Pendahuluan:
FPGA dan mikrokontroler adalah akar dasar dari hampir semua proyek listrik. Di hampir semua perangkat listrik Anda pasti akan menemukan chip pemrograman yang terinstal yang membantu perangkat tersebut berfungsi dengan baik. Namun apa perbedaan antara FPGA dan mikrokontroler? Dan bagaimana Anda dapat mengetahui mana yang lebih baik untuk Anda?
FPGA (Field Programmable Gate Array) adalah jenis IC yang dapat Anda program setelah manufaktur sedangkan mikrokontroler memiliki sirkuit dan set instruksi-nya sendiri sebelumnya. Kami akan membahas karakteristik yang membedakan keduanya dan cara memilih yang satu untuk proyek Anda.
Perbedaan antara Mikroprosesor dan Mikrokontroler:
Pertama, Anda harus mengetahui perbedaan antara mikroprosesor dan mikrokontroler karena keduanya sering disalahpahami. Mikroprosesor adalah sirkuit terpadu yang datang dengan perangkat listrik seperti CPU dan dibangun untuk pemrosesan. Chip-chip ini tidak memiliki periferal seperti RAM atau ROM yang disertakan pada chip tetapi malah disediakan di luar chip yang cenderung membuatnya lebih besar. Di sisi lain, mikrokontroler adalah komputer itu sendiri dengan periferal yang tersemat dan relatif lebih kecil. Mikrokontroler dirancang untuk melakukan tugas tertentu dan kebutuhan akan periferal, oleh karena itu, lebih kecil karena tugasnya telah ditentukan. Mikroprosesor dapat dianggap sebagai jantung sistem sementara mikrokontroler adalah yang menggerakkan sistem tertanam.
Mikroprosesor biasanya digunakan untuk tugas seperti editing video, pengembangan game, dll. sedangkan mikrokontroler mencakup tugas yang lebih kompleks. Mikroprosesor biasanya dapat melebihi 1GHz sedangkan mikrokontroler dapat mencapai 30-50 MHz Juga mikrokontroler biasanya lebih murah dari mikroprosesor. Anda dapat menggunakan mikrokontroler alih-alih mikroprosesor namun cukup mahal.

Mikroprosesor
Mikroprosesor relatif lebih mahal karena banyak komponen eksternal yang diperlukan. Mikrokontroler dapat dibangun dengan sistem hemat energi sementara mikroprosesor tidak memiliki fitur tersebut. Mikrokontroler didasarkan pada arsitektur Harvard dengan memori pemrograman dan informasi spesifik sementara mikroprosesor dibangun pada model von Neumann dan data serta pemrograman disimpan dalam modul memori yang sama.
Perbedaan antara FPGA dan Mikrokontroler:
Mikrokontroler dan FPGA keduanya digunakan untuk memantau nilai output dan mengontrol pemrosesan sistem. Namun mereka memiliki perbedaan yang sangat mencolok. Mikrokontroler seperti komputer dengan memori, port I/O, dan timer-nya sendiri. Itu dapat melakukan tugas sederhana atas nama perangkat keras lain. FPGA adalah jenis IC dengan jutaan gerbang logika dan dapat melakukan tugas melalui gerbang logika yang diprogram, mereka juga membutuhkan periferal eksternal untuk berfungsi. Mikrokontroler dapat diprogram menggunakan C, C++ sementara gerbang logika pada FPGA diprogram menggunakan VHDL atau Verilog. Mikroprosesor memiliki daya pemrosesan yang terbatas sementara FPGA memiliki ruang yang terbatas.

Mimas V2 Spartan 6 FPGA Development Board
FPGA menunjukkan fleksibilitas karena mereka dapat melakukan tugas apa pun yang diprogramkan untuk dilakukan di gerbang logika, dan bahkan dapat dihubungkan ulang untuk melakukan tugas yang berbeda. Mikrokontroler, di sisi lain, terbatas pada tugas yang dihubungkannya. Mikroprosesor juga akan mengkonsumsi program baris demi baris secara berurutan sementara FPGA dapat memproses berbagai perintah secara bersamaan.
Salah satu hal yang relatif lebih mudah untuk menulis kode untuk mikrokontroler daripada FPGA. Anda dapat dengan mudah mengontrol gangguan di FPGA dengan menggunakan FSMs (Finite State Machines), sedangkan di mikrokontroler diperlukan waktu untuk mengatasi gangguan. Anda dapat dengan mudah memprogram ulang FPGA tanpa mengubah hardware sementara tata letak mikrokontroler perlu dimodifikasi dalam sirkuit terpadu silicon.
Konfigurasi FPGA lebih kompleks karena Anda harus mengkompilasi semua kode dari awal lalu mengonversinya ke bahasa mesin. Di sisi lain mikrokontroler sudah jadi untuk melakukan tugas dan lebih mudah digunakan serta dikonfigurasi. Jika kita berbicara dalam hal pemrograman, mikrokontroler relatif lebih fleksibel tetapi tidak dapat disesuaikan secara akurat melalui hardware.
Konsumsi Daya di FPGA dan Mikrokontroler:
FPGA relatif menggunakan lebih banyak daya dibandingkan mikrokontroler dan oleh karena itu tidak cocok untuk semua sistem. FPGA juga tidak seefisien komponen seperti ASICs (Application Specific Integrated Circuits). Pemrograman ulang FPGA juga berarti ketidakefisian karena utilizasi logika menjadi rendah. Sebaliknya transistor yang tidak digunakan mengakibatkan konsumsi daya lebih banyak.
Namun kecepatan FPGA lebih tinggi dari mikrokontroler. Mikrokontroler memiliki kecepatan pemrosesan yang lebih rendah tetapi juga mengkonsumsi daya lebih sedikit dan bahkan menawarkan mode hemat daya. Beberapa memungkinkan arus tidur kurang dari 1 µA dan dapat berfungsi pada beberapa µA selama kecepatan jam lambat. Dalam beberapa kasus, sistem FPGA mungkin menggunakan mikrokontroler pada papan untuk meningkatkan efisiensi daya.
Kesimpulan:
Proyek Anda dapat menggunakan baik mikrokontroler maupun FPGA. Namun jika Anda ingin pilihan yang lebih terjangkau maka Anda harus memilih mikrokontroler. Demikian pula, jika Anda ingin opsi yang lebih fleksibel dan dapat diprogram ulang maka Anda harus memilih FPGA.