Dengan semakin populernya mikrokontroler, insinyur menggunakan mikrokontroler lebih dari FPGA. The Microcontrollers telah menjadi dominan atas FPGA karena biaya murah mereka, dukungan yang baik, ketersediaan mudah, komunitas besar, fleksibilitas, pemrograman dll Tapi selain mikroprosesor yang memiliki beberapa keterbatasan seperti petunjuk yang ditetapkan, eksekusi sekuensial program (pemrosesan sekuensial), kurangnya fleksibilitas dan dapat digunakan kembali, dll. Namun FPGA dapat mengatasi keterbatasan ini karena FPGA memiliki eksekusi program yang paralel dan fleksibel & dapat digunakan kembali sehingga dapat diprogram ulang untuk tugas yang berbeda.
Apa FPGA dan Apa Perbedaannya dengan Mikrokontroler
Sebuah lapangan-Programmable Gate Array adalah sirkuit chip silikon terpadu yang memiliki berbagai gerbang logika dan array ini dapat diprogram di lapangan yaitu pengguna dapat menimpa konfigurasi yang ada dengan konfigurasi baru ditetapkan dan dapat membuat rangkaian digital mereka sendiri di lapangan. FPGA dapat dianggap sebagai batu tulis kosong. FPGA tidak melakukan apa-apa dengan sendirinya sedangkan terserah desainer untuk membuat file konfigurasi yang sering disebut file bit untuk FPGA. FPGA akan berperilaku seperti sirkuit digital setelah dimuat dengan file bit.
Sedangkan pada mikrokontroler, hal ini tidak terjadi karena mikrokontroler tidak dapat diprogram atau direstrukturisasi di lapangan. Pengguna tidak diperbolehkan untuk menimpa konfigurasi yang ada dan tidak dapat membuat sirkuit digital di lapangan. Mikrokontroler mudah diprogram dan komunitasnya juga luas. Mikrokontroler adalah komputer mini yang dibuat khusus yang datang dalam bentuk IC sementara FPGA hanya berisi blok logika yang dapat dihubungkan kembali secara elektrik. Juga dalam hal mikrokontroler, ia mengkonsumsi lebih sedikit daya daripada FPGA. FPGA dikenal mahal dan membutuhkan lebih banyak biaya daripada mikrokontroler saat membuat perangkat apa pun. FPGA membutuhkan lebih banyak waktu untuk pengaturan sementara mikrokontroler tersedia siap dibangun untuk aplikasi tertentu.
Arsitektur FPGA
Sebuah FPGA memiliki struktur reguler sel atau modul logika dan interlink yang berada di bawah kendali penuh pengembang dan perancang. FPGA dibangun dengan tiga blok utama seperti Blok Logika yang Dapat Dikonfigurasi (CLB), Blok atau Bantalan I / O dan Kabel Matriks / Interkoneksi Sakelar. Setiap blok akan dibahas secara singkat di bawah ini.
- CLB (Configurable Logic Block): Ini adalah sel dasar FPGA. Ini terdiri dari satu generator fungsi 8-bit, dua generator fungsi 16-bit, dua register (sandal jepit atau kait), dan kontrol perutean yang dapat diprogram ulang (multiplexer). CLB diterapkan untuk mengimplementasikan fungsi dan makro lain yang dirancang. Setiap CLB memiliki input di setiap sisi yang membuatnya fleksibel untuk pemetaan dan partisi logika.
- Pad atau Blok I / O: Pad Input / Output digunakan untuk periferal luar untuk mengakses fungsi FPGA dan menggunakan pad I / O juga dapat berkomunikasi dengan FPGA untuk aplikasi berbeda menggunakan periferal berbeda.
- Switch Matrix / Interconnection Wires: Switch Matrix digunakan dalam FPGA untuk menghubungkan kabel interkoneksi panjang dan pendek bersama-sama dalam kombinasi yang fleksibel. Ini juga berisi transistor untuk menghidupkan / mematikan koneksi antar jalur yang berbeda.
Saat FPGA dibutuhkan
Seperti disebutkan di atas bahwa mikrokontroler memiliki beberapa batasan dan tidak dapat digunakan untuk melakukan tugas secara paralel karena mikrokontroler dan mikroprosesor berjalan pada eksekusi program secara berurutan yang membuatnya agak lambat di beberapa aplikasi, dalam skenario ini FPGA memiliki keunggulan dan dapat digunakan secara efektif. Juga mikrokontroler dapat melakukan tugas terbatas karena dilengkapi dengan instruksi dan rangkaiannya. Seorang programmer harus mematuhi batasan saat mengembangkan kode. Jadi dalam skenario ini juga, FPGA memiliki keuntungan.
Namun, dalam kasus mikrokontroler, prosesor beralih dari satu kode ke kode lainnya untuk mencapai beberapa tingkat paralelisme. Anda akan merasa lebih mudah untuk menulis kode pada mikrokontroler daripada FPGA. The kemampuan pemrosesan paralel FPGA memungkinkan Anda untuk mengontrol interupsi secara efektif dengan menggunakan Finite State Machines (FSMs).
Dalam kasus mikrokontroler, Anda harus memperhitungkan waktu yang dibutuhkan oleh ISR untuk menyelesaikan gangguan. Anda dapat memasang ulang FPGA dengan mudah hanya dengan memprogram ulang. Konfigurasi dalam FPGA dimuat pada sel logika yang dapat dikonfigurasi saat daya dinyalakan.
Anda tidak perlu melakukan perubahan apa pun pada perangkat keras untuk memprogram ulang FPGA. FPGA cocok untuk pemrosesan data paralel berkecepatan tinggi dan dilengkapi dengan tingkat penyesuaian yang tinggi. Namun, mereka juga memiliki kekurangan operasi prototipe dan kompleksitas konfigurasi. Jadi, FPGA dapat dipilih dengan keunggulan ini dibandingkan mikrokontroler. Mari kita mulai pemrograman FPGA dan tekankan