Jumat, 21 Oktober 2011

FPGA


Field Programmable Gate Array (FPGA)
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.
Jadi Field Programable ate Array (FPGA) adalah Komponen elektronika dan semi konduktor yang dirancang sesuai kebutuhan yang terdiri dari gerbang-gerbang digital yang memiliki interkoneksi yang dapat di konfigurasi antara satu dan lainnya.
FPGA
Perlu diingat bahwa FPGA merupakan sebuah IC digital yang bersifat programmable. User/pemakai dapat memakai IC digital ini secara berulang-ulang untuk menyesuaikan program apa yang akan didownload ke dalam FPGA ini. Program tersebut nantinya akan dibuat oleh user menggunakan software yang ada untuk kemudian
disimulasikan. Setelah simulasi berjalan lancar dan berhasil, program tersebut siap untuk didownload ke dalam FPGA, begitu mudah, efisien dan sederhana. Jika program tersebut gagal untuk disimulasikan, maka user/pemakai hanya perlu menyusun ulang program dalam komputer sesuai yang dibutuhkan dan ketika siap, download lagi program tersebut ke FPGA, begitu untuk seterusnya.
Selain itu, perlu diingat juga bahwa FPGA ini bersifat volatile, yang artinya ketika sumber daya yang menyuplainya dicabut maka secara otomatis FPGA akan kehilangan fungsinya. Jadi FPGA ini tidak mampu menyimpan program ketika supply tenaganya dicabut. User/pemakai harus mendownload ulang program ke dalam FPGA lagi untuk mengimplementasikan program tersebut.
Hal-hal yang bisa digunakan dengan FPGA
  1. Anda bisa mengisi-ulang (memprogram-ulang) FPGA sebanyak yang Anda inginkan – tidak terbatas – dengan berbagai macam fungsi logik yang Anda inginkan.
  2. Jika Anda melakukan kesalahan pada rancangan Anda, cukup betulkan kesalahan tersebut, lakukan kompilasi ulang kemudian unduh (download) lagi.
  3. Rancangan Anda bisa bekerja lebih cepat dibandingkan dengan rancangan yang Anda buat dengan komponen-komponen biasa, karena, dengan FPGA, hampir semua rangkaian terimplementasi di dalam chip.
  4. FPGA (secara umum, kecuali yang dilengkapi Flash PEROM) akan kosong saat tidak dikenai catu-daya (seperti RAM). Anda harus mengunduh ulang rangkaian Anda agar bisa berfungsi kembali seperti semula.
  • Sejarah Singkat Field Programable Gate Array (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:
  1. Xilinx yang punya nama besar dalam dunia FPGA, masih memimpin dalam densitas dan teknologi.
  2. Altera merupakan pemain kedua terkenal di dunia FPGA, terkenal dengan namanya. Lattice, Actel, Quicklogic adalah perusahaan-perusahaan yang lebih kecil dan punya “pasar khusus”
  • Sifat-Sifat Field Programable Gate Array (FPGA)
  1. Programnya dapat di program secara berulang-ulang
  2. Field Programable Gate Array (FPGA) dapat di download secara berulang-ulang
  3. Dia bersifat Volatil (dia sangat bergantung pada listrik)
  4. Hampir semua rangkaian Fiel Programable Gate array (FPGA) sudah tergantung pada chip FPGA
  5. Murah (biaya’a murah dalam permodelan)
  • Isi Field Programable GAte Array (FPGA)
Seperti yang diketahui, Field Programmable Gate Array atau yang lebih dikenal dengan FPGA merupakan sebuah IC digital yang dapat diprogram sesuai dengan kehendak pemakainya.
Awal mula dari adanya FPGA ini tidak lepas dari adanya alat elektronik, yaitu transistor. Transistor merupakan alat semikonduktor yang dipakai sebagai penguat, sebagai komponen pemutus dan penyambung(switching), dan stabilisasi tegangan. Pada umumnya, transistor ini berfungsi sebagai saklar arus listrik yang hendak masuk ke suatu rangkaian elektronik.
Perkembangan selanjutnya, adalah munculnya IC (Integrated Circuit) sekitar tahun 1950-an. Komponen elektronik ini lebih dikenal sebagai otak dari sebuah peralatan elektronika seperti televisi, handphone, computer, dsb. Kemudian berturut-turut muncul komponen lain, seperti DRAM, SRAM, microprocessor, ASIC hingga sampai pada FPGA.
Komponen penyusun FPGA
Bila dilihat dari segi bentuknya, FPGA tak berbeda jauh dengan bentuk IC-IC lainnya. Hanya saja, bila dilihat dari isinya FPGA memiliki bagian yang berbeda dengan komponen IC pada umumnya. Berikut isi dari FPGA pada umumnya:
  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 switches, selain itu bagian ini juga akan menghubungkan antara CLB satu dengan CLB lainnya.
  • Cara Mendownload Program ke Dalam FPGA
Sebuah FPGA (Field Programmable Gate Array) dapat terbagi atas dua kondisi yaitu kondisi awal (configuration mode) dan kondisi pemakai (user mode). Ketika pertama kali FPGA dihidupkan, maka otomatis keadaan FPGA ini berada dalam kondisi awal.
Proses mendownload program ke dalam FPGA bertujuan untuk mengirimkan berkas-berkas bilangan biner (0 dan 1) melalui beberapa pin khusus. Setelah proses download dilakukan dan FPGA kemudian telah siap digunakan, maka inilah yang sering disebut kondisi pemakai. Pada kondisi ini FPGA telah aktif dan program yang didownload ke dalamnya dapat digunakan. Inilah yang dinamakan konfigurasi atau pengaturan pada FPGA.
Bila pada kondisi pemakai, maka otomatis di dalam FPGA telah terdapat program. Program tersebut dibuat, diuji dan disimulasikan dahulu menggunakan PC (komputer). Setelah itu baru proses download program dilakukan. Pada umumnya terdapat 3 cara yang biasa digunakan untuk mendownload program ke dalam FPGA yaitu :
  1. Pemakai dapat mendownload langsung program ke dalam FPGA menggunakan kabel yang disambungkan ke PC. Program tersebut dibuat dan diolah menggunakan PC (komputer) dan ketika siap digunakan, baru didownload ke FPGA melalui kabel.
  2. Pemakai dapat menggunakan microkontroller pada board yang ada, dengan firmware yang cukup guna mengirimkan data ke dalam FPGA.
  3. Pemakai dapat menggunakan “boot-PROM” pada board yang ada, yang dihubungkan ke FPGA, dan mengatur FPGA tersebut supaya secara otomatis bekerja tanpa proses download dulu ke dalamnya (Perusahaan-perusahaan FPGA pada umumnya memiliki spesifikasi khusus untuk tambahan boot-PROMS).
Proses Download Program ke Dalam FPGA
  • Cara Kerja Field Programable Gate Array (FPGA)
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. Berikut ini adalah penjelasan masing-masing.
  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.
Logic Cell
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.
Logic Cell Yang Terhubung Satu Dengan Yang Lain
sumber : ndoware.com

Cara Menginstall Xilinx

Apabila mengisntal menggunakan CD Driver, maka pertama-tama masukkan CD Driver Xilinx ISE 9.2i tersebut ke dalam CD ROM. Maka muncullah gambar seperti ini :
Maka pilihlah Setup sesuai pada gambar diatas (double klik). Klik Next seperti pada gambar dibawah :
Sesudah klik next, masukkan serial number. Lihat serial numbernya ada di folder SerialNumber.
CheckList pada kolom Accept lalu Next
CheckList lagi dan Next lagi
Kemudian CheckList dan Next lagi untuk menyetujui
Pilih Directory ingin menyimpan dimana Aplikasi Xilinx ini, misalnya Drive C dan pilih Xilin ISE 9.2i. Lalu Next
ChecList semua pada Select Installation Options. Lalu Next
CheckList semua dan Next
CheckList dan Next lagi
Klik Instal untuk memulai menginstal Software Xilinx ISE 9.2i
Maka akan berjalan proses instalasi Xilinx ISE 9.2i. Tunggu sampai selesai
Kalau proses instalasi sudah selesai, maka jadilah Xilinx ISE 9.2i di komputer anda
Selesai sudah langkah-langkah cara menginstal Xilinx ISE 9.2i ini, semoga bermanfaat untuk semua.

Tugas FPGA

  • Definisi IC
IC adalah singkatan dari Integrated Circuit atau berarti rangkaian terpadu. IC merupakan Rangkaian gabungan dari sejumlah komponen menjadi satu. Dalam IC monolithic, suatu chip tunggal merupakan dasar komponen individual yang dipadukan dengan sejumlah chip atau komponen lain dalam pembuatan. IC hybrid terdiri dari atas satu IC monolithic atau lebih, dipasang pada beberapa komponen yang serupa. IC merupakan Rangkaian gabungan dari sejumlah komponen menjadi satu. Dalam IC monolithic, suatu chip tunggal merupakan dasar komponen individual yang dipadukan dengan sejumlah chip atau komponen lain dalam pembuatan.
  • Definisi Simple Programable Logic Device (SPLD)
SPLD adalah sebuah device yang dapat diprogram secara logika yang mempunyai komplekstivitas dibawah CPLD.
Contoh : GAL 16V8
  • Definisi ASIC
ASIC adalah kependekan dari Application Specific Integrated Circuit Application Specific Integrated Circuitapabila disingkat menjadi ASIC. Berawal dari kelahiran VLSI (Very Lage Scale Integration) orang mulai menyadari kelebihan dari disain IC yang costumized dari pada menggunakan IC standar yang berdiri sendiri. Setelah VLSI dapat digunkan sistem dapat dibangun dari komponen dalam jumlah yang kecil dengan membangun IC standart yang berjumlah relatif banyak dengan IC costum yang berjumlah relative sedikit. Setelah costume integrated Circuits Confrence (CICC). Pertama digelar oleh IEEE, IC costum mendapat nama baru yaitu ASIC.
  • Definisi Transistor
Transistor adalah piranti elektronik dari bahan semikonduktor yang mempunyai tiga elektroda (triode) yaitu dasar (basis), pengumpul (kolektor) dan pemancar (emitor). Piranti ini berfungsi sebagai penguat sinyal. Transistor berasal dari kata “transfer” yang artinya pemindahan dan “resistor” yang berarti pengambat. Transistor berarti pemindahan atau peralihan bahan setengah penghantar menjadi penghantar pada suhu tertentu. Transistor ditemukan oleh William Shockley, John Barden, dan W. H Brattain pada tahun 1948. Mulai dipakai dalam praktik pada tahun 1958. Ada 2 jenis transistor yaitu transistor tipe P – N – P dan transistor jenis N – P – N.
  • Definisi Antifuse
Sebuah open circuit yang dilewati oleh arus pemograman yang mengakibatkan terjadinya difusi dengan silicum link.
  • Definisi Clocking
Suatu usaha waktu yang dibutuhkan komputer anda dalam menyelesaikan perhitungan atau dapat diartikan menjalankan prosesor pada clock dan bus pada setingan yan kita inginkan sehingga mendapat yang kita inginkan pula.
  • Definisi CLB
Memproses secara rangkaian logika yang dibuat oleh user.
  • Definisi Soft Intellectual Property
Netlist dan Syntheziable care disebut soft IP karena keduanya memungkinkan synthensis, placment and route (SPR) design flow chip desainer.
  • Definisi hard IP
Hard IP menawarkan prediktabilitas yang lebih baik dari performa chip dalam hal kinerja waktu dan daerah, disebut hard ip karena fungsi aplikasi inti tidak dapat di modifikasi oleh chip desainer.
  • Definisi Mux
Multiflekser atau disingkat MUX adalah alat atau komponen elektronik yang bisa memilih input (masukan) yang akan di teruskan kebagian output (keluaran). pemilihan input mana yang akan dipilih untuk ditentukan oleh sinyal yang ada pada kontrol kendali (select).
  • Definisi General Purpose I/O
General purpose I/O adalah pin genetic pada chip yang prilakunya (termasuk apakah itu input atau output pin). Dapat di kontrolkan (diprogram) melalui perangkat lunak.
  • Definisi Slices
Merupakan bagian dari CLB, dimana tiap CLB memiliki 4 slice dan tiap slice terdiri dari 2-4 input LUT dan flip flop.


  • Read Only Memory (ROM)
Read-only Memory (ROM) adalah istilah bahasa Inggris untuk medium penyimpanan data pada komputer. ROM adalah singkatan dari Read-Only Memory, ROM ini adalah salah satu memori yang ada dalam computer. ROM ini sifatnya permanen, artinya program / data yang disimpan didalam ROM ini tidak mudah hilang atau berubah walau aliran listrik di matikan atau non volatil.
ROM
Menyimpan data pada ROM tidak dapat dilakukan dengan mudah, namun membaca data dari ROM dapat dilakukan dengan mudah. Biasanya program / data yang ada dalam ROM ini diisi oleh pabrik yang membuatnya. Oleh karena sifat ini, ROM biasa digunakan untuk menyimpan firmware (piranti lunak yang berhubungan erat dengan piranti keras).
Salah satu contoh ROM adalah ROM BIOS yang berisi program dasar system komputer yang mengatur / menyiapkan semua peralatan / komponen yang ada dalam komputer saat komputer dihidupkan.     ROM modern didapati dalam bentuk IC, persis seperti medium penyimpanan/memori lainnya seperti RAM. Untuk membedakannya perlu membaca teks yang tertera pada IC-nya. Biasanya dimulai dengan nomer 27xxx, angka 27 menunjukkan jenis ROM , xxx menunjukkan kapasitas dalam kilo bit ( bukan kilo byte ). Beberapa Jenis ROM:
  1. Mask ROM adalah ROM yang tidak bisa ditulis ulang (non-flashable) sehingga tidak dapat di up-grade.PROM (Programmable Read Only Memory) adalah jenis ROM yang hanya bisa dibaca datanya.
  2. PROM tergolong memori non-volatile, yaitu data/informasi/program yang tidak akan hilang walau komputer dalam keadaan off/mati (tidak mendapat daya listrik). jadi data yang terdapat pada memori ini bersifat permanen.
  3. EPROM (Erasable Programmable Read Only Memory) adalah jenis memori ROM yang dapat ditulisi program/data secara elektris. Data/informasi/Program dapat hilang/dihapus bila terkena sinar ultraviolet. EPROM termasuk memori non-volatile, sama dengan PROM, yaitu data tidak akan hilang ketika komputer kita matikan/ tidak mendapat daya listrik.
  4. EEPROM (Electrically Erasable Programmable Read Only Memory), sama seperti PROM dan EPROM, EEPROM masih tergolong non-vilatile.
EEPROM merupakan komponen yang banyak digunakan pada peralatan elektronik unutk menyimpan konfigurasi data. Kapasitas EEPROM terbatas, pada sistem hardware biasanya digunakan untuk menyimpan data konfigurasi BIOS dan Setting yang berhubungan. proses penghausan data pada Eeprom lebih cepat daripada EPROM karena data dapat dihapus secara elektrik dengan sinar ultraviolet.
  • Perbedaan Rom dan Ram ROM kependekan dari Read Only Memory
Perbedaan Rom dan Ram ROM kependekan dari Read Only Memory, yaitu perangkat keras pada komputer berupa chip memori semikonduktor yang isinya hanya dapat dibaca. ROM tidak dapat digolongkan sebagai RAM, walaupun keduanya memiliki kesamaan yaitu dapat diakses secara acak (random).ROM berbeda dengan RAM. ROM tidak dapat diisi atau ditulisi data sewaktu-waktu seperti RAM. Pengisian atau penulisan data, informasi, ataupun program pada ROM memerlukan proses khusus yang tidak semudah dan se-fleksibel cara penulisan pada RAM. Biasanya, data atau program yang tertulis pada ROM diisi oleh pabrik yang membuatnya. Umumnya ROM digunakan untuk menyimpan firmware, yaitu perangkat lunak yang berhubungan dengan perangkat keras. Contoh ROM semacam ini adalah ROM BIOS. ROM BIOS berisi program dasar sistem komputer yang berfungsi untuk mengatur dan menyiapkan semua peralatan atau komponen yang ada atau yang terpasang pada komputer saat komputer ‘dinyalakan/dihidupkan’.
  1. Informasi/data/program yang tertulis pada ROM (isi ROM) bersifat permanen dan tidak mudah hilang dan tidak mudah berubah walaupun komputer ‘dimatikan’ atau dalam keadaan mati (off). Sedangkan pada RAM, semua isinya (baik berupa data, program atau informasi) akan hilang dengan sendirinya jika komputer ‘dimatikan’ (dalam keadaan off).
  2. ROM dapat menyimpan data tanpa membutuhkan daya. Itulah sebabnya data dalam ROM tidak akan hilang walaupun komputer mati. Sedangkan RAM membutuhkan daya agar dapat menyimpan data, jika RAM tidak mendapatkan daya, dengan sendirinya tidak akan dapat menyimpan data. Hal inilah yang menyebabkan data yang terdapat dalam RAM secara otomatis akan hilang bila komputer mati (off).
  3. ROM modern sering ditemukan dalam bentuk IC (Integrated Circuit), sama seperti RAM yag wujudnya kebanyakan juga berupa IC. Teks atau kode yang tertulis pada kedua jenis IC ini berbeda. IC ROM biasanya memiliki kode tulisan (teks) 27xxx. Angka 27 menunjukkan kode untuk ROM, sedangkan xxx menjunjukkan kapasitas ROM dalan satuan kilo bit. Seperti telah diungkapkan sebelumnya bahwa umumnya ROM digunakan untuk menyimpan firmware. Pada perangkat komputer, sering ditemukan untuk menyimpan BIOS. Pada saat sebuah komputer dinyalakan, BIOS tersebut dapat langsung dieksekusi dengan cepat, tanpa harus menunggu untuk menyalakan perangkat media penyimpan lebih dahulu seperti yang umum terjadi pada alat penyimpan lain selain ROM.
  4. ROM DAN RAM Perbedaan diantara keduanya antara lain:
Umumnya, pada media simpan lain, jika dieksekusi untuk dibaca isi atau datanya, media simpan tersebut harus dinyalakan lebih dahulu sebelum dibaca, yang tentu saja membutuhkan waktu agak lama. Hal seperti ini tidak terjadi pada ROM. Pada komputer (PC) modern, BIOS disimpan dalam chip ROM yang dapat ditulisi ulang secara elektrik yang dikenal dengan nama Flash ROM. Itulah sebabnya istilah flash BIOS lebih populer daripada ROM BIOS.