Rabu, 12 Oktober 2011

What Do You Know About FPGA?

Field Programmable Gate Array (FPGA) merupakan sebuah IC digital yang sering digunakan untuk mengimplementasikan rangkaian digital. Bila dilihat dari segi namanya, Field Programmable dapat diartikan bahwa FPGA ini bersifat dapat dirancang sesuai dengan keinginan dan kebutuhan user/pemakai tanpa melalui tahap “burn” di laboratorium atau di “hardwire” oleh pabrik piranti. Sedangkan Gate Array artinya bahwa FPGA ini terdiri atas gerbang-gerbang digital dimana interkoneksi masing-masing gerbang tersebut dapat dikonfigurasikan antara satu sama lainnya.Namun, pada intinya FPGA berfungsi sebagai suatu permodelan. Ada beberapa yang memproduksi FPGA, yaitu Cypress, Latice, Actel, Plessey, Xilinx, Altera, dan QuickLogic. Untuk Universitas Gunadarma memakai produk dari Xilinx, yaitu SPARTAN 3E. Gambarnya dapat dilihat bawah ini.  FPGA terinspirasi dari beberapa teknologi. Teknologi itu sebagai berikut
SPARTAN 3E

1. PROM (Programmable Read Only Memory)
PROM (Programmable Read Only Memory). PROM adalah salah satu jenis ROM, merupakan alat penyimpan berupa memori (memory device) yang hanya bisa dibaca isinya. PROM memang tergolong memori non-volatile, artinya program yang tersimpan di dalamnya tidak akan hilang walaupun komputer dimatikan (tidak mendapatkan daya listrik). Program yang tersimpan di dalamnya bersifat permanen. PROM ini ditemukan oleh Wen Tsing Chow tahun 1965.
2. EPROM (Erasable Programmable Read Only Memory) EPROM diciptakan Dov Frohman dari Intel tahun 1971. EPROM berbeda dengan PROM. EPROM adalah jenis chip memori yang dapat ditulisi program secara elektris. Program atau informasi yang tersimpan di dalam EPROM dapat dihapus bila terkena sinar ultraviolet dan dapat ditulisi kembali. 3. EEPROM (Electrically Erasable Programmable Read Only Memory
Seperti halnya PROM dan EPROM, EEPROM merupakan memori non-volatile. Informasi, data atau program yang tersimpan di dalamnya tidak akan hilang walaupun komputer dimatikan, dan tidak membutuhkan daya listrik untuk mempertahankan atau menjaga informasi atau program yang tersimpan di dalamnya. EEPROM adalah komponen yang banyak digunakan dalam komputer dan peralatan elektronik lain untuk menyimpan konfigurasi data pada peralatan elektronik tersebut. Kapasitas atau daya tampung simpan datanya sangat terbatas. EEPROM diciptakan George Perlegos dari Intel tahun 1978.
4. FLASH
Flash memory yang dikenal pula dengan sebutan memori flash, adalah memori sejenis EEPROM yang memberikan banyak lokasi memori untuk dihapus atau ditulisi dalam suatu operasi pemrograman. Flash memory tetap dapat menyimpan data tanpa memerlukan penyediaan listrik. Penulisan ke dalam flash memori dapat dilakukan dengan menggunakan alat yang disebut EEPROM Writer atau software yang dapat menulisi Flash ROM. Sedangkan penghapusan datanya dapat dilakukan dengan menggunakan alat yang disebut EEPROM Writer, atau langsung secara elektrik dari papan sirkuit dengan menggunakan software Flash BIOS Programmer. Jenis EEPROM terbagi menjadi dua, yaitu NAND dan NOR. Jenis NAND sering digunakan pada kartu memory, USB Flash Drive, solid-state drive, dan produk serupa. Jenis NOR yang memungkinkan akses acak sejati sehingga digunakan sebagai pengganti EPROM dan sebagai alternatif untuk jenis aplikasi tertentu ROM. EEPROM dan memory flash perbedaannya terletak pada kecepatan ketika menulis sejumlah data yang besar.
5. SRAM Memori statis acak-akses
SRAM adalah jenis memori semikonduktor di mana kata statis menunjukkan bahwa, tidak seperti RAM dinamis (DRAM), tidak perlu refresh secara periodik, seperti SRAM menggunakan sirkuit bistable menempel untuk menyimpan setiap bit.
Kemudian, kita membandingkan teknologi FPGA dengan teknologi sebelumnya seperti transistor, IC, SPLD dan sebagainya.
A. IC (integrated cirkuit)
Komponen dasar yang terdiri dari transistor, kapasitor, dioda dll,merupakan otak dalam peralatan elektronik.
B. Transistor
Alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan, modulasi sinyal atau sebagai fungsi lainnya. Transistor dapat berfungsi semacam kran listrik, dimana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya.
C. Random Akses Memori Dinamis (DRAM)
Jenis random akses memori yang menyimpan setiap bit data yang terpisah dalam kapasitor dalam satu sirkuit terpadu. Karena kapasitornya selalu bocor, informasi yang tersimpan akhirnya hilang kecuali kapasitor itu disegarkan secara berkala. Karena kebutuhan dalam penyegaran, hal ini yang membuatnya sangat dinamis dibandingkan dengan memori (SRAM) statik memori dan lain-lain.
D. SPLD
Sebuah device yang dapat diprogram secara logika yang mempunyai komplekstivitas dibawah CPLD. SPLD dapat digunakan dalam papan untuk menggantikan seri 7400 komponen TTL (AND, OR, and NOT gerbang).
E. CPLD
Sebuah CPLD terdiri dari sekelompok blok PLD dimana input dan outputnya dihubungkan oleh sebuah matriks interkoneksi global. Sehingga sebuah CPLD mempunyai dua level kemampuan diprogram: tiap blok PLD dapat diprogram, dan kemudian interkoneksi antar PLD dapat diprogram. CPLD adalah sebuah device yang dapat diprogram secara logika yang mempunyai komplekstivitas diantara PAL dan FPGA.
F. ASIC
Singkatan dari Application-Specific Integrated Circuit.ASIC merupakan IC yang hanya digunakan untuk keperluan tertentu. komplektivitas rangkaian dalam IC ini cukup tinggi, jadi tidak muat pada CPLD. ASIC dibagi mejadi 3 tipe : Full Costum IC, Semi Costum IC, Programmable IC.
Setelah kita membandingkan teknologi sebelum FPGA, berikut ini merupakan arsitektur dasar dalam pembangunan FPGA.
• Clocking
Sebuah clock pada FPGA yang berfungsi sebagai penanda aktif atau tidak aktifnya komponen dalam FPGA.
• System Gates
Sebuah empat masukan yang digunakan untuk mepresentasikan antara satu dan lebih 20 gerbang logika sederhana, yang mempunyai 2 masukan.
• Prosesor Corses
Inti dari sebuah prosesor yang melakukan tugas.
• Fast Carry Chains
Tipe jalur interkoneksi yang berfungsi dalam pembuatan fungsi-fungsi logika agar dapat berjalan dengan efisien.
• General Purpose I/O
Pin generik yang dapat dikontrol melalui software.
• Fine Grained
Arsitektur FPGA pada suatu sistem yang memiliki komponen yang kecil.
• Medium Grained
Arsitektur FPGA pada suatu sistem yang memiliki komponen yang sedang.
• Coarse Grained

• Prosesor Corses
Inti dari sebuah prosesor yang melakukan tugas.
• Antifuse
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).
• MUX (Multiplexer)
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.
• Hard IP
Perwujudan fisik dari desain dan aplikasi terbaik untuk plug play.
• Soft IP
Implementasi processor dalam sebuah bahasa HDL tanpa optimasi yang luas untuk arsitektur tertentu.
• Firm IP
Implementasi HDL yang sudah dioptimalkan untuk arsitektur FPGA tujuan.
FPGA

Namun, arsitektur yang terpenting terdapat tiga komponen, yaitu CLB( Configure Logic Block), I/O Block, dan programable interconnect. Berikut ini penjelasan dari tiga komponen tersebut.
Isi CLB
1. CLB (Configure Logic Block)
       Sejenis RAM yang berkapasitas kecil. Dalam FPGA, LUT berperan penting dalam proses implementasi fungsi-fungsi logika. LUT berciri khas mempunyai 4 buah inputan. Di dalam LUT terdapat empat slice yang berisi logic cell dimana tiap logic sell terdapat sebuah multiplexer, RAM, SR (shift register) dan empat masukan. Untuk Xilinx XC 7000 terdapat dua multiplexer. Sebagai catatan tambahan teknologi CLB ini yang membedakan antara famili antara yang satu dan lain dalam xilinx. Komponen lain di dalam CLB adalah D-flip flop dan multiplexer 2 to 1. D-flip flop adalah 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. Sedangkan multiplexer 2 to 1 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.

 2. I/O Block
     Sebagai interface antara external pin dari device dengan internal user logic.
 3. Programmable Interconnect
      wire-wire yang menghubungkan antara satu CLB dengan CLB lain. 
Alur Perancangan FPGA

FPGA diimplementasikan dengan sistem CAD (Computer Added Design). Berikut adalah jalur perancangan FPGA.
Alur 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.


Tidak ada komentar:

Posting Komentar