A. Pengertian FPGA
FPGA (Field Programmable Gate Array) merupakan sebuah IC digital sering digunakan untuk implementasi rangkaian digital. IC digital ini pada umumnya terdiri atas 3 bagian yaitu configure logic blocks (CLB), I/O Blocks, dan Programmable Interconnect. Baik FPGA buatan Xilinx maupun Altera memiliki 3 bagian seperti yang disebutkan di atas.
FPGA (Field Programmable Gate Array) merupakan sebuah IC digital sering digunakan untuk implementasi rangkaian digital. IC digital ini pada umumnya terdiri atas 3 bagian yaitu configure logic blocks (CLB), I/O Blocks, dan Programmable Interconnect. Baik FPGA buatan Xilinx maupun Altera memiliki 3 bagian seperti yang disebutkan di atas.
Sebuah
FPGA tersusun dari sebuah bagian yang bernama “logic-cell” (Logic
Blocks), yang kemudian pada perkembangannya saling terhubung satu sama lain.
Kumpulan-kumpulan dari logic cell ini berjumlah ratusan bahkan ribuan
dan membentuk sauatu fungsi yang kompleks. Sebuah logic cell pada dasarnya
terdiri atas sebuah lookup table(LUT), D flip-flop, dan sebuah
multiplekser 2 ke 1.
1.
Look Up Table (LUT) merupakan sejenis RAM (Random Acces Memory)
yang berkapasitas kecil. Di dalam FPGA, LUT ini memegang peranan penting dalam
proses implementasi fungsi-fungsi logika. Selain itu, LUT ini berciri khas
memiliki input sejumlah 4 buah.
2.
D Flip Flop. Seperti yang diketahui, flip-flop (Bistable
Multivibrator) dalah suatu rangkaian sel biner yang memiliki dua buah
output yang saling berkebalikan keadaannya (0 atau 1). Di dalam FPGA, terdapat
sebuah jenis flip-flop yaitu D flip-flop atau Data flip flop. Rangkaian D
flip-flop ini berfungsi sebagai rangkaian logika sekuensial dimana di dalamnya
terdapat peralatan memori dan pewaktu.
3.
Multiplekser 2 ke 1. Sebuah multipleser adalah piranti digital yang
bekerja sebagai switch (saklar) yang menghubungkan data dari n masukkan ke
sebuah keluaran. Multiplekser berfungsi untuk memilih beberapa input untuk
hanya menjadi 1 output saja. Di dalam FPGA, terdapat rangkaian multiplekser 2
ke 1 yang artinya, multiplekser tersebut memiliki 2 buah input dan 1 buah
output.
Setiap
logic cell tersebut dapat dihubungkan dengan logic cell lainnya melalui
jalur/koneksi yang ada. Setiap cell hanya mampu bekerja secara sederhana dan
ringkas, Namun bila antara satu cell saling terhubung satu sama lain sebuah
fungsi-fungsi logika yang kompleks pun dapat terbentuk.
B. Proses
Suatu
ketika ingin mengimplementasikan rangkaian sederhana, misalnya rangkaian Full
Adder ke dalam FPGA. Seperti yang diketahui, rangkaian full adder biasanya
terdiri atas gerbang logika AND, gerbang logika OR dan gerbang logika XOR. Lalu
bagaimana proses implementasinya ke dalam FPGA? Bahwa telah disebutkan bahwa
setiap FPGA terdiri atas ratusan bahkan ribuan logic cell. Rangkaian
Full Adder tadi akan didownload ke dalam FPGA untuk menempatkan masing-masing
bagian dari Full Adder ke dalam logic cell. Kemudian antara satu logic
cell yang satu dengan yang lain saling terhubung melalui jalur interkoneksi
membentuk fungsi logika layaknya seperti rangkaian full adder.
Hal
yang sama juga terjadi pada rangkaian-rangkaian rumit lainnya seperti rangkaian
jam digital, scan key, dsb. Sebagai tambahan untuk tujuan jalur
interkoneksi antar cell, FPGA memiliki jalur penghubung singkat diantara
cell-cell yang saling berdekatan. Tipe jalur interkoneksi ini
sering disebut “carry chains”. Carry chains berfungsi dalam
pembuatan fungsi-fungsi logika agar dapat berjalan dengan efisien (minim
penggunaan dan tingkat operasi yang tinggi).
Dengan
demikian, dalam menggunakan cary chains apabila rangkaian yang hendak
diimplementasikan ke dalam FPGA adalah rangkaian digital yang sederhana, maka
logic cell yang digunakan pun akan minimun dan memiliki lokasi yang saling
berdekatan satu sama lain. Hal yang sebaliknya pun berlaku. Sehingga penggunaan
logic cell di dalam FPGA akan efektif dan efisien.
sumber : http://id.wikipedia.org/wiki/FPGA
Tidak ada komentar:
Posting Komentar
comment