robotics-university.com | FPGA (field programmable gate array) adalah sebuah peranti (device) yang mengandung ribuan atau bahkan jutaan transistor yang saling terhubung yang dapat digunakan untuk membangun suatu fungsi-fungsi logika [Smith, 2010]. FPGA dapat dikatakan juga sebagai salah satu instrumen dalam pembangunan sistem kendali otomatis tertanam (embedded automatics control systems), yang biasanya dibangun dengan menggunakan piranti seperti mikrokontroler atau mikroprosesor. Dibandingkan dengan mirokontroler/mikroprosesor, FPGA memiliki kelebihan yang tidak dimiliki oleh mirokontroler/mikroprosesor, yaitu pada FPGA, fungsi logikanya dapat diubah-ubah oleh user (pengguna) baik secara hardware maupun software. Dengan lain perkataan, FPGA memiliki tingkat fleksibilitas dan kesempatan yang tinggi dalam hal perubahan fungsi logika yang cepat.
Gambaran mudahnya, apabila seorang engineer membangun embedded systems menggunakan mikrokontroler/mikroprosesor maka engineer tersebut hanya dapat memrogram fitur-fitur yang dimiliki oleh mikrokontroler/mikroprosesor dan ia tidak diizinkan untuk merubah fungsi logika mikrokontroler/mikroprosesor baik secara software maupun secara hardware. Akan tetapi, apabila engineer tersebut membangunnya dengan menggunakan FPGA, maka ia diizinkan untuk merubah fungsi logikanya baik secara software maupun secara hardware.
Hardware yang dimaksud dalam hal ini adalah jalur masukan/keluaran (pin I/O) pada FPGA yang dapat digunakan untuk melakukan antarmuka (interface) dengan peranti eksternal yang lain. Misalnya dengan sensor, LED, driver motor, saklar push-button, dan sebagainya. Sedangkan software yang dimaksud dalam hal ini adalah pengaturan transistor-transistor di dalam FPGA supaya membentuk fungsi logika tertentu.
Tabel 1. Mikrokontroler/mikroprosesor Vs FPGA
Pengaturan Hardware & Software FPGA
Pengaturan hardware dan fungsi logika sebuah FPGA dapat dilakukan dengan menggunakan bahasa pemrograman berbasis hardware yang sering disebut dengan hardware description language (HDL). Ada dua jenis HDL, yaitu Very High Speed Integrated Circuits (VHSIC) HDL dan Verilog HDL. Keduanya sama-sama disingkat dengan VHDL.
Gambar 1. Sistem elektronika digital sederhana
Berikut ini akan penulis berikan contoh pemrograman sistem fungsi logika menggunakan VHSIC-HDL (VHDL) yang dapat diaplikasikan pada sebuah FPGA. Program VHDL terdiri atas dua bagian utama, yaitu:
Bagian 1:
Bagian yang mendeklarasikan sinyal masukan (input) dan keluaran (output) disebut Entity
Bagian 2:
Bagian yang menjelaskan spesifikasi fungsi rangkaian logika disebut Architecture
Berdasar skematik sistem elektronika digital pada gambar 1 di atas, ekspresi fungsi logikanya dapat dituliskan sebagai berikut:
f = x1 AND x2 OR NOT x2 AND x3
f = (x1 AND x2) OR ((NOT x2) AND x3)
Program VHDL untuk fungsi logika tersebut adalah sebagai berikut:
Program 1: contoh1
Contoh Aplikasi FPGA
Beberapa sistem otomatis dalam kehidupan sehari-hari yang menggunakan FPGA sebagai peranti kendalinya adalah seperti pesawat, radar, komputer, sistem robot, dan lain sebagainya.
Sumber Pustaka:
[Smith, 2010] Smith, Gina R., 2010, “FPGAs 101: Everything you need to know to get started”, Elsevier Inc., UK/USA
[Brown, 2005] Brown, Stephen and Vranesic, Zvonko, 2005, “FUNDAMENTALS OF DIGITAL LOGIC WITH VHDL DESIGN”, McGraw-Hill, Amerika
0 comments:
Post a Comment