Pages

Kamis, 20 November 2014

Tulisan 3: FPGA (Field Programmable Gate Array)



Sejarah FPGA

FPGA ini dikembangkan sejak tahun 1984 oleh perusahaan Xilinx yang berbasis di San Jose, CA. Perkembangan selanjutnya, FPGA ini mulai diproduksi oleh beberapa perusahaan misalnya, Altera, Lattice, dan Quicklogic. Diantara perusahaan-perusahaan tersebut, terdapat 2 perusahaan yang mendominasi produksi FPGA di seluruh dunia yaitu Xilinx dan Altera.
Ada 5 perusahaan besar yang memproduksi FPGA. Dua yang pertama merupakan pemain utama di pasar FPGA:
·         Xilinx yang punya nama besar dalam dunia FPGA, masih memimpin dalam densitas dan teknologi.

·         Altera merupakan pemain kedua terkenal di dunia FPGA, terkenal dengan namanya.

·         Lattice, Actel, Quicklogic adalah perusahaan-perusahaan yang lebih kecil dan punya “pasar khusus”.


Pengertian FPGA

Rangkaian digital (terdiri dari gerbang-gerbang logika) yang terinterkoneksi sehingga dapat terhubung satu dengan lainnya. FPGA sejenis dengan prototype, yaitu untuk membuat sebuah design permodelan. Intinya, PFGA ini merupakaan sebuah chip yang bisa diisi program dan bisa dijalankan dengan software khusus. Dilab kampus saya menggunakan FPGA merk Xilinx. Awal mula melihat bentuknya, saya agam bingung. Semacem rangkaian dengan banyak komponen diatas papan PCB. Berikut penampakan wujud PFGA Xilinx jenis Spartan 3E.

                                                                Xilinx Spartan 3E

Biasanya aplikasi PFGA dapat dikategorikan dalam 5 bagian, yaitu :
  • ASIC (Application Specific Integrated Circuit) dan custom silicon, biasa digunakan di trafo.
  • DSP (Digital Signal Processing), atau biasa disebut mikroprosessor.Embedded Microcontroller, untuk melakukan tugas khusus. Contohnya : sebagai saklar atau sebagai penghitung daya pada trafo.
  • Physical Layer Communication, untuk interkoneksi layer fisik denga layer protokol.
  • Reconfigurable Computing, terdiri atas 2 yaitu : akselerasi hardware dan hardware simulation.

Sifat – Sifat FPGA

FPGA mempunyai beberapa sifat, yaitu antara lain :
  • Program dapat disusun kembali berulang ulang. Jadi intinya, program yang telah kita buat dalam FPGA bisa kita ubah atau kita edit.
  • FPGA bersifat dapat didownload berulang-ulang tanpa batas. Inilah kelebihan FPGA yang paling dikenal. Jadi kita bisa menimpa program lama dengan program baru yang sudah diedit.
  • Bersifat volatile. FPGA ini bersifat volatile, maka dari itu untuk menyimpan datanya, FPGA harus terus diberi daya. Bila kehilangan daya pada saat ingin mendownload, maka datanya pun bisa hilang.
  • Hampir semua rangkaian terimplementasi didalam chip. PFGA terdiri dari banyak CLB (Configuable Logic Block) yang bisa menyimpan rangkaian-rangkaian logika dalam setiap blocknya. Jadi dalam satu chip bisa tertanam banyak rangkaian digital.
  •  Lebih murah walaupun dalam produksi kecil dan lebih cepat dalam hal design rangkaian.


Isi Dari FPGA

Dalam satu chip FPGA terdapat :



Isi dari FPGA:
a)      CLB (Configurable Logic Blocks)
CLB merupakan bagian dari FPGA yang akan memproses segala bentuk rangkaian logika yang dibuat oleh user.

b)      I/O Blocks
Sebagai interface antara external pin dari device dengan internal user logic.

c)      Programmable Interconnect
Merupakan wire-wire yang menghubungkan antara satu CLB dengan CLB lain.

d)     RAM (Random Access Memory)
Merupakan tempat penyimpanan pada FPGA.


Isi CLB (Configurable Logic Block)

Diatas sudah dijelaskan tentang FPGA yang berisi banyak CLB. Selanjutnya saya akan menjelaskan apa isi dari CLB tersebut.


Isi dari CLB
a)      LUT (Look Up Table)
Sejenis RAM yang berkapasitas kecil. Dalam FPGA, LUT berperan penting dalam proses implementasi fungsi-fungsi logika. LUT berciri khas mempunyai 4 buah inputan.

b)      D-Flip Flop
Merupakan jenis 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.

c)      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.


Isi Dari LUT (Look Up Table)

LUT yang terdapat pada setiap CLB, terbagi lagi misinya menjadi 4 slices. Masing-masing slice berisi Shift Register, RAM, dan informasi input.

LUT berisi 4 slices


Misalnya 16×8 bit. Angka 16 menjelaskan tentang beasr RAMnya, dan 8 bit menjelaskan tentang shift registernya (banyaknya pencacahan).

Alur Perancangan FPGA

FPGA diimplementasikan dengan sistem CAD (Computer Added Design). Berikut adalah jalur perancangan FPGA.

Jalur Perancangan FPGA

·         Design Entry
Bisa dalam bentuk text yaitu bahasa pemrograman VHDL (Very High Speed Integrated Hardware Description Language), maupun dalam bentuk shematic capture berupa gambar-gambar simbol gerbang logika yang disatukan sehingga menjadi rangkaian yang utuh.

·         Logic Implementation (Gabungan dari Merge & Transalate dan Optimize Equation)
untuk mengoperasikan bilangan boolean untuk mengoptimalkan penggunaan logic.

·         Mapping
Transformasi ekspresi boolean ke dalam bentuk circuit pada FPGA logic block.

·          Placement
Setelah mapping, dilakukan penempatan algoritma yang digunakan ke masing-masing block.

·         Routing Software
Mengatur programmable interconnect / wire segment dan menentukan programmable switch untuk menghubungkan antar block.

·         Programming Unit
Mengkonfigurasi setelah placement dan routing tuntas.

Kesimpulan:
Xilinx ISE sebagai perangkat lunak pengembangan FPGA mempunyai kemampuan untuk melakukan optimalisasi penggunaan kapasitas pada desain. Simulasi atas perancangan dan implementasi sistem memberikan hasil yang mendekati perhitungan. Perbedaan hasil perhitungan dan hasil perancangan disebabkan karena sistem yang dirancang hanya menggunakan format bilangan bulat, sementara hasil perhitungan menggunakan format bilangan real.

Sumber:
http://agfi.staff.ugm.ac.id/blog/index.php/2008/11/pengenalan-fpga/WIKIPEDIA










Tidak ada komentar:

Posting Komentar