Selasa, 11 Oktober 2011

Catatan FPGA

Mata kuliah pemrograman fgpa
Sedikit curhat tentang matakuliah ini gapapa dong ya?
Matakuliah ini saya dapati di Kampus J3 lantai 1 ruang 8 (J318). Ruangannya dingiinn banget. Sampe panasnya Kota Bekasi yang sangat extrim ini gak terasa kalo udah di dalem. Nama dosennya Ibu Dwi widiastuty. Orangnya asik si, waktu minggu pertama kita perkenalan, kita ketawa2 sambil cari tau karakter masing2. pas bahas masalah nilai, ibunya bilang kalo dia royal akan nilai. Apapun yang kita lakuin dikelas, asal positif pasti dapet nilai. Misalnya jawab pertanyaan, ngapus papan tulis, bantu jelasin, absen, dll yang positif di dalam kelas itu nilai dari dosen buat mahasiswanya. Dalam hati saya “wah, dosennya gokil ni, nilai diobral abis2an.seru seru seru”. Tapi pas dia bil, serajin-rajinnya mahasiswa, nilai maksimal dia ‘B’. Kalo mau dapet ‘A’, caranya ikut perlombaan robotik. Haduuh,bikin leemes. Hahahahaaa ..........
Setelah perkenalan, ibu dwi ngasih sedikit tugas tentang FPGA untuk catetan materi minggu depannya. Soalnya adalah :  
1.   Teknologi FPGA berawal dari teknologi
a. PROM adalah Memory yang dapat deprogram oleh kita, PROM diprogram  dengan cara membakar (burn) yang bersifat permanent. PROM disebut juga OTP (one time Programamble).
b. EPROM  (Erasable Programable ROM) merupakan Chip memori yang dapat ditulis program secara elektris, data yang disimpan didalam EPROM dapat dihapus bila terkena sinar Ultra Violet
c.   EEPROM (Electrically Erasable Programable ROM) Merupakan memori non-volatile, informasi data atau program yang tersimpan didalamnya tidak akan hilang walaupun komputer dimatikan atau turn off.
d.      FLASH Merupakan chip memori yang bisa deprogram, memori ini hanya membutuhkan waktu sedetik untuk proses penghapusan seara listrik, flash memori lebih efisien disbanding EPROM karena untuk menghapusnya kita tidak perlu mencabut chip dari soket system
e.      SRAM Merupakan memori yang bersifat volatile, yang dapat menyimpan data asalkan mendapat sokongan daya listrik, jika listrik dimatikan maka data akan terhapus dengan sendirinya.
2. Untuk komponen-komponen pada FPGA : 
a. Transistor
Merupakan komponen perkembangan FPGA elektronika semi konduktor yang biasa digunakan untuk stabilisasi tegangan, dan juga sebagai saklar/switch dan sebagai penguat
b. IC
Sebuah komponen elektronika yang terintegrasi atau merupakan suatu rangkaian yang sudah terdesain dalam satu kemasan, IC terdiri dari 2 yaitu :# IC digital : digunakan untuk rangkaian-rangkaian digital
# IC analog : digunakan untuk rangkaian-rangkaian elektronik
c. SRAM
Merupakan memori yang bersifat volatile, yang dapat menyimpan data asalkan mendapat sokongan daya listrik, jika listrik dimatikan maka data akan terhapus dengan sendirinya.
d. DRAM
Merupakan memory Chip yang digunakan pada memory utama komputer, DRAM memiliki karakter harus terus menerus di refresh dengan pulse listrik, untuk selalu mempertahankan data yang tersimpan dalam chip.
e. SPLD (simple Programable logi Device)
Merupakan jenis programmable logic yang sederhana, SPLD terdiri dari 2 jenis gate (AND dan OR). SPLD memiliki 2 jenis yaitu DLA(programmable logic Array) dan PAL (programmable Array Logic
f. CPLD (complex programmable logic Device)
Mirip dengan SPLD, tetapi banyak gate yang ditambah dengan flipflop. CPLD terdiri dari lapisan Inter connect, gates, dan flip flop, CPLD dapat deprogram berkali-kali dan bersifat  electrically erasable
g. ASIC (Application Speciffic Integrated Circuit)
Merupakan IC yang hanya digunakan untuk keperluan tertentu, kompleksitas rangkaian dalam IC ini cukup tinggi jadi tidak muat pada CPLD, ASIC Dibuat dalam jumlah yang terbata
h. FPGA (Field Programable Gate Array)
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 laboratoruim 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.

Itulah tugas di minggu pertama.

Di minggu ke-2, ibu Dwi memeriksa 1 per 1 tugas mahasiswanya yang sudah dikerjakan. Tapi Cuma asal diliat doang, gak diperiksain secara mendetail. Jadi klo ada yang ngerjain gak sampe selesai, gak ktauan deh. Hahaha. Tapi cara yang kaya gitu tu yang bikin mahasiswa mikir. Kalo ngerjain sampe selesai, catetannya kumplit, jadi kalo ujian punya catetan sendiri. Kalo ada yang mikir, gak usah ngerjain sampe slesai aja, gak ktauan ini sama dosennya, yang kena resiko mahasiswanya sendiri. Coba pas ujian gak punya catetan, kelabakan deh cari cara Sistem Kebut Semalam. Hayoo, para mahasiswa, pilih yang manaa?

Sekarang ini catetan yang dikasih sama bu Dwi di minggu ke-2.

# sifat-sifat dari FPGA yaitu 
1.       Program dapat disusun ulang berkali-kali 
2.       FPGA dapat didownload berulang ulang tanpa batas 
3.       Bersifat volatile atau memerlukan listrik 
4.       Hamper semua rangkaian terimplementasi kedalam chip 
5.       Harganya lebih murah (ASIC lebih murah jika beli banyak

Sejarah yang singkat padat dan jelas dari 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 punya nama besar dalam dunia FPGA, masih memimpin dalam densitas dan teknologi.
Altera merupakan pemain kedua terkenal di dunia FPGA, terkenal dengan namanya.
Actel, Quicklogic, Lattice adalah perusahaan-perusahaan yang lebih kecil dan punya “pasar khusus”.       

Add caption
Isi dari FPGA ada 3 yaitu :
1. Configure Logic Blocks (CLB). Bisa dikatakan, bagian inilah yang akan memproses segala bentuk
rangkaian logika yang dibuat oleh user/pemakai.
   2. I/O Blocks. Sebagai interface antara external pin dari device dan internal user logic
   3. Programmable Interconnect. Bagian ini berisi wire segments dan programmable swistches, selain itu bagian ini juga akan menghubungkan antara CLB satu dengan CLB lainnya. 

    Sebuah FPGA tersusun dari sebuah bagian yang bernama “logic-cell” (Logic Blocks) yang kemudian pada perkembangannya saling terhubung satu sama lain. Kumpulan-kumpulan darilogic 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. 
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.

Akhir dari materi minggu ke-2, bu Dwi ngasih tugas lagi ni buat minggu ke-3. Soalnya suruh cari pengertian dari :
1.       Antifuse
2.       Fine, medium dan coarsegrained
3.       MUX dan LUT
4.       CLB,LAB,dan Slices
5.       Fost Carry chains
6.       Processor cores
7.       General Purpose
8.       Hard IP, Soft IP, dan form IP
9.       System Gate
10.   Clocking

Dan ini adalah jawaban saya
1.        Antifuse merupakan lawan dari fuse regular atau kebalikan dari sikring/ saklar
2.       - Fine grained architecture Masing-masing logi block dapat digunakan untuk mengimplementasikan sebuah fungsi sederhana saja(and, OR, Flip Flop, dll)
-        Medium grained architecture
Basis LUT FPGA sekarang sering digolongkan sebagai medium grained untuk meninggalkan aplikasi.
-          Coarse Grained architecture
Jumlah logi yang relative besar, contohnya sebuah logic berisi 4 input LUT, 4 MUX, 4 D-flipflop, dan beberapa logic yang lain.
3.       -    MUX  (multiplexer) memiliki banyak input data tetapi hanya memiliki satu output karena memiliki selector yang mengatur outpunya
-          LUT (look up table) sejenis RAM 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.
4.       -    CLB (configure logic block) memproses segala bentuk rangkaian logika yang dibuat oleh user/pemakai.
-          LABS Istilah lain dari CLB atau kumpulan dari CLB
-          Slice Komponen utama yang digunakan pada FPGA yang terdiri dari CLB
5.       Fast carry chains Untuk tujuan jalur inter koneksi yang berfungsi dalam pembuatan fungsi-fungsi logika agar dapat berjalan dengan efisien
6.       Processor Cores Inti dari sebuah processor yang berfungsi melakukan tugas
7.       General purpose I/O Pin generic yang dapat dikontrol melalui software
8.       -      Hard IP(intellectual property) Perwujudan fisik dari design IP
-          Soft IP Biasanya mempunyai performa lebih rendah dan kurang efisien dalam hal pemanfaatan sumber daya
-          Firm IP Implementasi HDL tetapi sudah dioptimalkan untuk sebuah arsitektur FPGA tujuan.
9.       System Gates Sebuah 4 masukan yang dapat digunakan untuk mempersentasikan antara 1 dan lebih 20 gerbang logika sederhana yang mempunyai 2 masukan
10.   Clocking Sebuah clock pada FPGA biasanya buat serempak
itu lah pertemuan di minggu ke 2.
masuk ke minggu ke-3, saya datang ke kampus buru-buru. soalnya kan udah ada perjanjian, kalo dosennya udah masuk, mahasiswanya gak boleh masuk lagi, takut dosennya keganggu waktu jelasin, trs lupa deh. maklum, dosennya juga manusia, bisa lupa juga sama kaya gw. hahahahaa..... tapi udah berangkat buru-buru, Bu Dwi ternyata gak dateng. gak ada kabar pula. alhasil saya ngopi di samping kampus sambil ngobrol2 sama anak kelas lain.
masuk minggu ke-4. dosennya kliatan dateng bawa motor, trs saya langsung masuk kelas, takut gak boleh masuk soalnya. udah bangun pagi, mandi pagi, sampe brangkat pagi2, masa gak masuk kelas cuma gara2 telat masuk.hahahaaa.......
Bu Dwi pun masuk kelas, trus liatin tugas2 di minggu ke-2. abis itu, langsung ada penjelasan dan catatan baru.
    ini adalah alu perancangan jalur FPGA.
1. FPGA diimplementasikan dengan system CAD (computer  Added design)
2. Design Entry
3. Logic optimize : untuk mengoptimalkan penggunaan logic
4. Teknologi mapping : transformasi ekspresi Boolean kedalam bentuk circuit pada FPGA logic block
5. Placement : penempatan algoritma yang digunakan ke masing-masing block
6. Routing software : mengatur wire segment dan menentukan programmable switch untuk penghubung antar block
7. Programming unit : mengkonfigurasi chip setelah placement dan routing tuntas






Tidak ada komentar:

Posting Komentar