Komponen Programmable

by 18.06 1 comments

Pembagian komponen elektronika berdasarkan sifatnya dapat dibedakan menjadi dua, yaitu : non programmabel dan programmabel.
Komponen non programmabel, adalah komponen elektronika yang fungsinya tetap : pasif (R, L, C, Dioda, IC) dan aktif (Transistor, IC).
Komponen Programmabel, adalah komponen yang fungsinya tergantung pada program yang diberikan. Jenis-jenis bentuk fisik rangkaian komponen programabel diantaranya :
- PLD (Program Logic Device) -> Tidak dapat dipprogram ulang
- PAL (Pragrammble Array Logic) -> Dapat diprogram ulang
- GAL (Generic Array Logic) -> Dapat diprogram ulang
- FPGA (Field Programabel Gae Array) -> Dapat deprogram ulang

PLD (Program Logic Device)
Sifat pemrograman : X artinya terhubung (belum terprogram). Pemrograman dilakukan dengan cara memutus “fuse” yang ada pada tanda X. Tidak dapat diprogram ulang.
Programmable Logic Devices (PLDs) diperkenalkan pada pertengahan tahun 1970-an. Konsep dasar dari PLD sendiri adalah bagaimana membuat sebuah sirkuit logika kombinasional yang bersifat programmable (mampu diprogram). Perlu diingat, sirkuit kombinasional merupakan sirkuit yang di dalamnya tidak memiliki elemen memori. Hal ini berbeda dengan microprocessor yang mampu menjalankan sebuah program, namun nantinya mempengaruhi perangkat keras yang telah sudah ditentukan terlebih dahulu. Sedangkan kemampuan pemrograman PLD sudah direncanakan pada tingkat perangkat keras. Dengan kata lain, PLD adalah sebuah chip yang memiliki tujuan utama agar nantinya mampu mengatur perangkat keras sedemikain rupa sesuai dengan spesifikasinya.
Programmable Logic Devices
Generasi PLD yang pertama dikenal dengan nama PAL (Programmable Array Logic) atau PLA (Progrramable Logic Array), tergantung pada bentuk skema pemrogramannya. PAL/PLA biasanya hanya menggunakan gerbang logika (tidak ada flip flop), serta hanya memperbolehkan implementasi dari sebuah sirkuit kombinasional saja. Untuk menyelesaikan masalah ini, maka dibuatlah PLD yang telah memiliki sebuah flip-flop pada tiap output sirkuitnya. Dengan demikian, fungsi sekuensial sederhana dapat diimplementasikan dengan baik (bukan lagi hanya funsi kombinasional saja).
Selanjutnya, pada awal tahun 1980-an, tambahan untaian logika ditambahkan pada tiap-tiap output PLD. Output baru tersebut diberi nama Macrocell yang diisi flip-flop, gerbang logika dan multiplekser. Selain itu, Macrocell sendiri juga bersifat programmable. Apalagi pada cell tersebut disediakan sinyal feedback yang berasal dari output sirkuit ke progrramable array. Sinyal tersebut nantinya akan memberikan PLD tingkat fleksibilitas yang lebih tinggi. Struktur baru dari PLD inilah yang kemudian secara umum diberi nama PAL (GAL). Arsitektur yang serupa juga dikanal dengan sebutan PALCE (PAL CMOS Electrically erasable/programmable). Semuanya (baik PAL, PLA, PLD, maupun GAL/PALCE) secara umum kini lazim disebut sebagai SPLDs(Simple PLDs)
Macrocell
Berikutnya, beberapa perlangkapan GAL dibuat pada chip yang sama dengan menggunakan penjaluran (routing) yang lebih canggih, menggunakan teknologi silikon yang lebih rumit serta beberapa tambahan yang menjadi ciri khas, seperti dukungan JTAG, dan antarmuka untuk beberapa standar logika. Pendekatan ini kemudian dikenal dengan nama CPLD (Complex PLD). CPLD saat ini lebih tekenal karena kepadatan (density) yang tinggi, hasil yang memuaskan, dan biaya yang cukup rendah (CPLD dapat dibeli dengan harga kisaran 1 dolar saja).
CPLD
Akhirnya, pada pertengahan 1980-an, FPGA(Field Proframmable Gate Arrays) mulai diperkenalkan. FPGA berbeda dari CPLDs dari segi arsitektur, teknologi, ciri khas serta dari segi biaya. FPGA utamanya ditujukan untuk implementasi yang membutuhkan ukuran besar besar, serta  untuk sirkuit yang memiliki kemampuan tinggi.
Dari penjelasan singkat di atas, dapat disingkat sejarah evolusi PLD pada tabel berikut :

Perlu diingat, semua jenis PLD (baik simpel atau kompleks) bersifat non-volative. Mereka semua bersifat OTP(One-time programmable) atau hanya sekali pemrograman saja. PLD dapat bersifat reprogrammable (dapat diprogram ulang) dengan menggunakan EEPROM atau Flash memory(pada umumnya, sekarang menggunakan flash memory). Di sisi lain, FPGA bersifat volatile sehingga digunakan SRAM untuk menyimpan koneksi. Selain itu, dibutuhkan konfigurasi ROM untuk mengisi koneksi antara satu dengan yang lain saat dihidupkan daya listrik. Bagainampun juga, pilihan non-volatile seperti menggunakan antifuse. Untuk contohnya, akan ditulis pada artikel-artikel mendatang.

PAL (Pragrammable Array Logic)
Sifat pemrograman : dapat diprogram secara manual atau menggunakan bantuan computer. Program PALASM + EPROM (Erasable Programabel Read Only Memory) Porgrammer. Sifat program memutus fuse. Dengan program pada PAL dapat : read/write dan menyimpan intern maupun ekstern (dari ke disket, CD, Hardisk, dll).

GAL (Generic Array Logic)
Sifat pemrograman : termasuk EEPLD (Electrically Erasable PLD). Memiliki Register, Clock, dan Alamat. Dapat diprogram dengan bantuan komputer, untuk menghapus program dapat digunakan universal programmer.
Arsitektur GAL(Generic PAL) diperkenalkan oleh Lattice pada awal tahun 1980-an. GAL berisi beberapa pengembangan penting dari rancangan PAL yang pertama kali, yaitu:
1. Adanya tambahan berupa sel output (dinamakan Macrocell) yang berisi flip-flop, beberapa gerbang logika dasar dan multiplekser. Macrocell sendiri bersifat programmable sehingga bisa dioperasikan dengan beberapa cara.
2. Adanya sebuah sinyal feedback dari Macrocell ke susunan yang bersifat programmable. Hal ini menyebabkan kemampuan sirkuit lebih beraneka ragam.
3. Adanya EEPROM yang lebih baik daripada sekedar PROM atau EPROM. Sebuah penanda elektronik untuk identifikasi juga merupakan salah satu pengembangan chip dari PAL ke GAL.
Pada perkembangan awal, GAL hanya berupa SPLD(Simple PLD) yang masih dihasilkan dalam paket terpisah. Selanjutnya, GAL kemudian dilengkapi dengan berkas dasar yang terdapatsecara umum pada CPLDs(kecuali pada CPLD Cool Runner dimana masih menggunakan standar PLA).
Pada gambar A3 ditunjukkan salah satu contoh GAL, yakni GAL 16V8(V berarti versatile). GAL 16V8 total memiliki 20 pin dimana ada 16 input, 8 output(yang lain berupa VCC dan GND). Sedangkan untuk konfigurasi chipnya sebagai berikut:
8 pin yaitu kaki no 2 s/d 9 adalah pin IN
8 pin yaitu kaki no 12 s/d 19 adalah pin IN/OUT
1 pin yaitu kaki no 1 adalah pin CLK
1 pin yaitu kaki no 11 adalah pin OE/ Output Enable
1 pin yaitu kaki no 20 adalah pin VCC
1 pin yaitu kaki no 10 adalah pin GND
Gambar A3-GAL(Generic PAL)
Pada tiap-tiap output terdapat Macrocell(setelah gerbang OR) yang berisi flip-flop, gerbang logika dasar, dan juga multiplekser. Sebuah sinyal feedback dapat dilihat dari macrocell ke susunan yang bersifat programmable(lebih jelas, silahkan perhatikan gambar). Kemudian, sambungan yang bersifat programmable ditunjukkan dengan bulatan kecil. Perhatikan bahwa arsitektur tersebut menyerupai secara langsung bentuk dari PAL, kecuali adanya macrocell pada tiap-tiap output dan adanya siyal feedback.
GAL menggunakan teknologi CMOS untuk masalah daya yaitu sebesar 3,3 V, adanya teknologi EEPROM atau flash serta maksimum frekuensi sekitar 250 MHz. Beberapa perusahaan yang memproduksi GAL adalah Lattice, Atmel, TI, dsb.

FPGA (Field Programmable Gate Array)
Merupakan komponen programabel yang sudah komplek bentuk fisik rangkaian dan cara pemrogrammannya. FPGA mempunyai beberapa keluarga diantara adalah LCA (Logic Cell Array). Dalam amplikasinya, LCA dapat digabungkan dengan komponen mikrokontroler, dan bertindak sebagai alat bantu untuk meningkatkan kinerja mikrokontroler.
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.

Hilda N' Aulia

Developer

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

1 komentar:

  1. amazing. mbak izin copas ya. sekalian boleh minta refferensinya nggk

    BalasHapus