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
-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,
4 buah slice,
·
Dalam 1 slice terdiri dari :
- SR (Shift Register),
- RAM
(Random Access Memory),
-
Informasi Input
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.
amazing. mbak izin copas ya. sekalian boleh minta refferensinya nggk
BalasHapus