Berkenalan dengan FPGA (Field Programmable Gate Array)

FPGA atau Field Programmable Gate Array, kalau kita lihat dari namanya ada Field Programmable  dan Gate Array.  Programmable artinya bahwa piranti ini bisa kita program sesuai dengan rancangan IC yang akan kita buat. Coba kita bayangkan bila membaca datasheet sebuah IC, tentu kita akan melihat kira kira isi dari IC tersebut akan tersusun dari banyak komponen. Dalam FPGA kita bisa mengimplementasikan IC IC dengan fungsi tertentu hanya dengan memprogram FPGA. 

Ada beberapa perangkat yang biasa digunakan untuk memprogram FPGA diantaranya adalah pemrograman dengan menggunakan schematic diagram, hardware description language (HDL) dan finite state machines (mesin keadaan). 

Susahkah untuk memprogram perangkat ini………..??

Pemrograman dengan schematic diagram dilakukan dengan menggambar fungsi logika yang akan kita aplikasikan dalam perangkat. apakah gambar ini yang akan kita tanam ke FPGA…?? secara tidak langsung ya tapi tentu saja melalui proses kompilasi untuk menghasilkan bentuk file yang tentu saja bisa dibaca oleh perangkat. Lalu bagaimana dengan mesin keadaan…..?? Mesin keadaan merupakan ilustrasi dari sebuah proses yang berjalan. Biasanya mesin ini dibentuk dengan menggunakan simbol simbol tertentu untuk menggambarkan masukan, keluaran dan arah perubahan keadaan dalam tiap langkahnya.

Kemudian apa itu Gate Array……??

Gate array artinya deretan gerbang. Jadi dalam FPGA sebenarnya isinya adalah deretan gerbang logika dasar yang biasa digunakan dalam sistem digital yaitu AND, OR dan NOT[6]. Kalau isinya adalah deretan gerbang, bagaimana ya programnya bisa berfungsi dengan baik…?? Jadi program yang ditanam ke FPGA pada dasarnya adalah membuat koneksi atau hubungan hubungan antara gerbang satu dengan gerbang yang lain. 

Kemudian apa sih fungsi dari perangkat ini….???

Dewasa ini FPGA mengalami perkembangan yang sangat pesat. Fungsi dari perangkat ini pun sudah merambah ke berbagai bidang dari komunikasi sebagai contoh aplikasi FPGA pada perancangan convolution encoder [5], programmable DAC [4]. Perangkat ini juga bisa digunakan di bidang ketenagaan contohnya adalah pengendali kecepatan motor induksi 3 fase [7]. Beberapa aplikasi perangkat ini juga ditemukan di bidang kendali. 

 

Referensi

  1. Dubey,  R.,  2009,  Introduction  to  Embedded  System  Design  Using  Field  Programmable Gate Arrays, Springer-Verlag, London.
  2. Frenzel,  Jr.,  L.  E.,  2010, Electronics  Explained  :  The  New  Systems  Approac  to  Learning Electronics , Elsevier Inc, Oxford.
  3. Gr imbleby, J.,B., 2008, Digital to analogue and Analogue to digital conversion. School of Systems Engineering Electronic Engineering, University of Reading, Berksh
  4. Zuhdy, A, Implementasi Programmable DAC pada FPGA Xilink Spartan 6 Berbasis VHDL, International Journal of Electronics and Instrumentation System, IJIES, Vol 4, No. 1, 2014
  5. Wibowo, F, Desain dan Implementasi Convolutional Encoder (2, 1, 8) dalam Field Programmable Gate Array (FPGA), Jurnal Rekayasa Elektrika, Vol. 4 No. 9, 2011
  6. https://ndoware.com/sekilas-tentang-fpga.html
  7. Sutikno, T, Pengendali Kecepatan Motor Induksi 3 Fase dengan Inverter Modulasi Lebar Pulsa Seragam Berbasis FPGA ACEX1K, Telkomnika

Info Penulis

 

Medilla Kusriyanto, S.T., M.Eng.

Electronics, Embedded System, Instrumentation, Control System