Home

Rabu, 12 Oktober 2011

FPGA (Field Programmable Gate Array)


Berkaitan dengan judul, pada kesempatan ini saya ingin mencurahkan apa yang sudah saya pelajari dan yang sudah saya rangkum dari catatan saya tentang FPGA. Untuk lebih jelasnya tentang FPGA, Tafadhol di baca......... hhee

Definisi FPGA

      FPGA (Field Programmable Gate Array) mengandung makna, yaitu Field Programmable yaitu Rangkaian yang dapat diprogram ulang. Sedangkan, Gate Array dapat dikatakan sebagai rangkaian logika yang memiliki interkoneksi sehingga dapat dikonfigurasi antara yang satu dengan yang lain. 
      Sehingga didapatkan definisi FPGA (Field Programmable Gate Array) yaitu Rangkaian Digital yang dapat diprogram ulang yang terdiri dari gerbang logika yang memiliki interkoneksi, sehingga dapat dikonfigurasi antara yang satu dengan yang lain.

 Market FPGA
  • ASIC (Application Specific Integrated Circuit) dan Custom Silicon, 
  • DSP (Digital Signal Processing),
  • Embedded Microcontroller, melakukan tugas khusus yaitu sebagai saklar dan penghitung daya, 
  • PLC (Physical Layer Communication) sebagai penjembatani antara layer protocol dengan layer yang lain,
  • Reconfigurable Computing  -Akselerasi Hardware yaitu kinerja software yang dipakai hardware  
    -Hardware Simulation yaitu untuk menganalisa kriptografi

 Sifat / Kelebihan dari FPGA
  • Program dapat disusun ulang berkali-kali,
  • FPGA dapat di download berulang-ulang tanpa batas,
  • Bersifat Volatile (bergantung dengan catu daya),
  • Hampir semua rangkaian terimplementasi di dalam chip,
  • Lebih murah.

Kekurangan / Kelemahan FPGA
  • Belum bisa menggantikan prosesor saat ini


Bentuk FPGA




FPGA tak berbeda jauh dengan bentuk IC-IC lainnya. Hanya saja, bila dilihat dari segi isinya FPGA memiliki bagian yang berbeda dengan komponen IC pada umumnya. Berikut isi dari FPGA pada umumnya :
  • CLB (Configure Logic Block), untuk memproses segala bentuk rangkaian logika yang dibuat oleh user/pemakai.
  • I/O Blocks, yaitu sebagai interface antara external pin devices dan internal user logic.
  •  Programmable Interconnect, berisikan wire segment dan sebagai penghubung antara CLB yang satu dengan CLB yang lainnya. 

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 satuan fungsi yang kompleks
Sebuah logic cell pada dasarnya terdiri dari : 
  • LUT (Look Up Table) merupakan sejenis RAM yang berkapasitas kecil, yang memegang peranan penting dalam proses implementasi fungsi-fungsi logika. Dimana LUT ini memiliki ciri khas yaitu dengan 4 buah inputan.
  • D Flip-flop  merupakan rangkaian sel biner yang memiliki 2 buah output yang keadaannya saling berkebalikan ( 0 atau 1 ). D Flip-flop ini berfungsi sebagai rangkaian sekuensial yang di dalamnya terdapat peralatan memori dan pewaktu.
  • Multiplekser 2 ke 1 merupakan piranti digital yang bekerja sebagai switch (saklar) yang menghubungkan data dari n masukan ke sebuah saluran output. Multiplekser 2 ke 1 ini berfungsi untuk memilih beberapa input untuk hanya 1 output.
Jika pada bentuk FPGA memiliki CLB, I/O Block dan Programmable Interconnect. Sedangkan dari CLB memiliki isi tersendiri yang terdiri dari LUT, D Flip-flop dan Multiplekser 2 ke 1. Ternyata LUT yang terdapat pada CLB juga memiliki isi, yang terdiri dari :
  • 4 buah slice, 
  •  Dalam 1 slice terdiri dari :
              -  SR (Shift Register), 
              -  RAM (Random Access Memory),
              -  Informasi Input


Perbandingan Teknologi FPGA yang sudah ada

  1. PROM (Programmable Read Only Memory) merupakan salah satu jenis ROM. PROM merupakan memory yang hanya bisa dibaca isinya, tergolong non volatile. Program yang tersimpan didalamnya bersifat ditulis kembali.
  2. EPROM (Erassable Programmable Read Only Memory) merupakan jenis chipset memory yang dapat ditulis secara elektris. Program yang ada didalamnya dapat dihapus dengan menggunakan sinar ultraviolet dan dapat ditulis kembali.
  3. EEPROM (Electrically Erassable Programmable Read Only Memory) erupakan memory sama seperti PROM dan EPROM tapi penghapusan program yang ada di dalamnya dilakukan secara elektris dari papan circuit dengan menggunakan perangkat lunak EEPROM programmer.
  4. Flash adalah sejenis memory EEPROM yang memberikan banyak memory untuk dihapus atau ditulis suatu operasi pemrograman.
  5. SRAM (Static Random Access Memory) merupakan memory yang bersifat volatile dan dapat melakukan penyegaran otomatis. Memory ini hanya berlaku apabila satu arahan bertulis saja.



Perbandingan Teknologi FPGA
  1. Transistor merupakan alat semikonduktor yang dipakai sebagai penguat, switching, dll.
  2. IC (Integrated Circuit) merupakan komponen dasar yang terdiri dari resistor, transistor, dll. IC merupakan komponen yang dipakai sebagai otak peralatan elektronika.
  3. DRAM (Dynamic Random Access Memory) merupakan memory, sama seperti SRAM tetapi DRAM memerlukan referesh untuk mengekalkan nilainya.
  4. SPLD (Simple Programmable Logic Device) merupakan bentuk dari PLD yang paling simple. Kebanyakan SPLD digunakan untuk mereconfigurable circuit dari keduanya.
  5. CPLD (Complex Programmable Logic Device) merupakan bentuk PLD dengan kompleksitas antara PAL dan FPGA dan arsitektur fitur dari keduanya.
  6. FPGA (Field Programmable Gate Array) adalah chip logic digital yang dapat diprogram berulang – ulang. Block – block komponen didalam FPGA mengandung register mulai flipflop sampai RAM.
  7. ASIC (Application Spesific Integrated Circuit) adalah IC yang dimodifikasi untuk tujuan tertentu. Contohnya Chip yang di desain untuk RAM PC.
 
 
Arsitektur FPGA
  1. Antifuse merupakan lawan dari fase regular. Antifuse normalnya merupakan sebuah rangkaian terbuka sampai kita memaksakan suatu programing current melaluinya. Antifuse merupakan kebalikan dari sekring yaitu akan open circuit bila dilewati arus (saklar 5 mA).
  2. Fine Grained adalah arsitektur FPGA pada suatu sistem yang memiliki komponen yang kecil.
  3. Medium Grained adalah arsitektur FPGA pada suatu sistem yang memiliki komponen yang sedang.
  4. Coarse Grained adalah arsitektur FPGA pada suatu sistem yang memiliki komponen yang besar.
  5. MUX (Multiplexer) merupakan suatu komponen yang fungsinya sebagai penyeleksi data berdasarkan perintah untuk menampilkan data yang diinginkan. MUX memiliki benyak input data tetapi hanya memiliki sebuah output karena memiliki selector yang mengatur outputnya.
  6. LUT (Look Up Table) merupakan sejenis RAM yang berkapasitas kecil, yang memegang peranan penting dalam proses implementasi fungsi-fungsi logika. Dimana LUT ini memiliki ciri khas yaitu dengan 4 buah inputan.
  7. CLB (Configure Logic Block), untuk memproses segala bentuk rangkaian logika yang dibuat oleh user/pemakai.
  8. LAB merupakan kumpulan dari CLB
  9.  Slices merupakan bagian isi dari LUT
  10. Fast Carry Chains adalah tipe jalur interkoneksi yang berfungsi dalam pembuatan fungsi-fungsi logika agar dapat berjalan dengan efisien.
  11. General Purpose I/O adalah pin generik yang dapat dikontrol melalui software.
  12. Prosesor Corses adalah inti dari sebuah prosesor yang melakukan tugas.
  13. Hard IP merupakan perwujudan fisik design IP yang terbaik untuk aplikasi plug and play
  14. Soft IP merupakan implementasi prosesor dalam sebuah bahasa HDL tanpa optimasi yang luas untuk arsitektur tujuan
  15. Firm IP merupakan implementasi HDL, tetapi sudah dioptimalkan untuk sebuah arsitektur FPGA tujuan
  16. System Gates adalah sebuah masukan yang digunakan untuk mepresentasikan antara satu dan lebih 20 gerbang logika sederhana, yang mempunyai 2 masukan.
  17. Clocking adalah sebuah clock pada FPGA, biasanya dibuat serempak bahwa setiap detak yang dihasilkan pada sebuah FPGA terjadi serentak akan mempengaruhi kondisi yang ada.



Alur Perancangan FPGA
Keterangan :
  1. Text entry / desain entry memiliki 2 cara, yaitu dengan schematic atau dengan bahasa pemrograman. Bahasa pemrograman yang dapat digunakan yaitu VHDL, Verilog, ABEL, CUPL, JEDEC, PALASM.
  2. Gabungan dari merge & translate dengan optimize equations bisa disebut dengan Logic Optimize, karena pada fungsi ini terjadi konversi dari lambang ke logic.
 
Proses Implementasi pada FPGA :
  1. FPGA di implementasi dengan cara sistem CAD (Computer Added Design), yaitu perancangan yang dibantu oleh komputer.
  2. Mulai dengan Design Entry.
  3. Masuk dengan optimisasi logic memodifikasi ekspresi boolean untuk mengoptimalkan penggunaan logic.
  4. Teknologi Mapping yaitu mentransformasi dari ekspresi boolean ke dalam bentuk sirkuit pada FPGA logic block.
  5. Placement yaitu penempatan algoritma yang digunakan ke masing-masing block.
  6. Routing Software untuk mengatur wire segment (Programmable Interconnect) dan menentukan programmable switch untuk menghubungkan antar block.
  7. Programming Unit mengkonfigurasi chip setelah placement dan di routing tuntas. string pada routing dipindahkan dan di download oleh FPGA.
Adapun perusahaan yang memproduksi FPGA :
  • Xilinx,
  • Altera,
  • Lattice,
  • Quick Logic,
  • Cypress,
  • Actel,
  • Plessey.
 
 
Sekian mengenai FPGA, jika ada / banyak kekurangan dan kesalahan dalam penulisannya, 'Afwan minkum.. Jazakumullah ... 
Referensi tulisan : Catatan perkuliahan 
Referensi gambar :
  • Bentuk FPGA (www.ndoware.com)
  • Bentuk CLB (www.google.com)

1 komentar:

metz mengatakan...

wew rapi sekali catetannya ...