IMPLEMENTASI SERIAL MULTIPLIERS 8 BIT KE DALAM IC FPGA SEBAGAI PENDUKUNG PERCEPATAN OPERASI PERKALIAN DALAM KOMPRESI CITRA Drs. Lingga Hermanto, MMSi1 Iman Ilmawan Muharam2 1. Dosen Universitas Gunadarma 2. Mahasiswa Universitas Gunadarma Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma Abstraksi Multiplier adalah salah satu bagian yang paling penting dalam perangkat yang dapat mempengaruhi kinerja perangkat. Jadi, kecepatan tinggi dan sistem multiplier yang efisien adalah faktor penting bagi para perancang perangkat mikroprosesor, mikrokontroler dan lain-lain digital. Seperti diketahui, operasi perkalian tidak sulit untuk dilakukan di angka desimal. Tapi, untuk melakukan operasi dalam bilangan biner (yang digunakan dalam sistem digital) adalah operasi yang sangat kompleks. Secara khusus, jika pemprosesan harus dilakukan pada kondisi real time, algoritma yang digunakan pada operasi perkalian harus berurusan dengan throughput yang tinggi. Dalam implementasinya banyak menggunakan Application specific integrated circuits (ASICs). Hal ini terutama diperlukan untuk aplikasi pengolahan gambar seperti JPEG dan MPEG dll, karena biaya pengembangan untuk ASIC tinggi, algoritma harus diverifikasi dan dioptimalkan sebelum implementasi. FPGA memungkinkan tingkat paralelisme yang tinggi sehingga dapat meningkatkan sumber daya yang tertanam yang tersedia pada FPGA. FPGA mendapatkan manfaat dari kecepatan hardware dan fleksibilitas perangkat lunak. Tujuan penulisan ini adalah untuk menganalisis algoritma perkalian yang lebih optimal antara Array Multipliers dengan Serial Multipliers yang dibentuk kedalam rangkaian elektonika digital dan mengimplementasi algoritma tersebut pada IC FPGA Spartan3E dengan meminimalisasi penggunaan sumber daya dari perangkat FPGA yang digunakan. Kata Kunci: Field Programmable Gate Array (FPGA), Serial Multipliers, Array Multipliers, Spartan-3E, Xilinx ISE 9.2i .
I.PENDAHULUAN Seperti kita ketahui, sistem digital telah digunakan dalam kehidupan sehari-hari atau bidang industri saat ini karena lebih bermanfaat dibandingkan dengan sistem analog. Karena penting mengembangkan sistem digital, banyak perangkat digital baru yang telah desain secara kompleks. Beberapa perangkat yang disebut mikroprosesor, mikrokontroler atau microchip. Hal ini sangat penting untuk memiliki kinerja kecepatan yang sangat tinggi di semua perangkat. Multiplier adalah salah satu bagian yang paling penting dalam perangkat yang dapat mempengaruhi kinerja perangkat. Jadi, kecepatan tinggi dan sistem multiplier yang
efisien adalah faktor penting bagi para perancang perangkat mikroprosesor, mikrokontroler dan lain-lain digital. Seperti kita ketahui, operasi perkalian tidak sulit untuk dilakukan di angka desimal. Tapi, untuk melakukan operasi dalam bilangan biner (yang digunakan dalam sistem digital) adalah operasi yang sangat kompleks. Secara khusus, jika pemprosesan harus dilakukan pada kondisi real time, algoritma yang digunakan pada operasi perkalian harus berurusan dengan throughput yang tinggi. Dalam implementasinya banyak menggunakan Application specific integrated circuits (ASICs). Hal ini terutama diperlukan untuk aplikasi pengolahan gambar seperti JPEG dan MPEG dll, karena biaya pengembangan
untuk ASIC tinggi, algoritma harus diverifikasi dan dioptimalkan sebelum implementasi. Namun dengan berkembangnya teknologi VLSI, implementasi perangkat keras telah menjadi alternatif yang diinginkan. Percepatan yang signifikan dalam perhitungan waktu dapat dicapai dengan menetapkan secara intensif tugas proses perhitungan dengan menggunakan perangkat keras dan dengan memanfaatkan proses paralel dalam algoritma. Untuk saat ini, field programmable gate arrays (FPGA) telah muncul sebagai platform pilihan untuk implementasi hardware yang efisien. FPGA memungkinkan tingkat paralelisme yang tinggi sehingga dapat meningkatkan sumber daya yang tertanam yang tersedia pada FPGA. FPGA mendapatkan manfaat dari kecepatan hardware dan fleksibilitas perangkat lunak. Tiga faktor utama yang mempunyai peran penting dalam desain berbasis FPGA adalah arsitektur FPGA yang digunakan, perangkat electronic design automation (EDA) dan desain teknik yang digunakan pada tingkat algoritma yang menggunakan hardware description language (HDL). Oleh karena itu FPGA telah menjadi teknologi yang layak dan menarik untuk ASIC.
Connenction delay(ns) dan Maximum Pin delay(ns) III.TINJAUAN PUSTAKA 3.1 Algoritma Perkalian yang digunakan yaitu: a. Array Multipliers Perkalian meliputi pembentukan beberapa perkalian parsial untuk setiap digit dalam multiplier. Perkalian parsial ini kemudian dijumlahkan untuk mendapatkan hasil Perkalian akhir. Bila bit multiplier sama dengan 0, maka hasil Perkalian 0. Bila bit multiplier 1, maka hasil Perkalian sama dengan mutiplicand Hasil pengalian akhir diperoleh dengan menjumlahkan perkalian parsial tersebut. Setiap hasil perkalian parsial yang berurutan digeser satu posisi ke kiri relatif terhadap hasil perkalian sebelumnya. Sebagai pengantar akan ditunjukan operasi perkalian bilangan tak bertanda (unsigned integer) dan sebagai contoh ditunjukkan pada gambar 2.1 operasi perkalian untuk operand Multiplicand (A) = 11010110 dan Multiplier (B) = 00101101. [3]
II.RUMUSAN MASALAH a) Merancang algoritma perkalian yang dapat memenuhi kecepatan proses realtime. b) Membandingkan dua buah algoritma perkalian untuk optimalisasi rancangan. c) Mengimplementasikan operasi aritmetik perkalian dalam kompresi citra secara real-time. d) Rancang bangun perkalian dengan FPGA ini dibatasi oleh beberapa parameter yang dimiliki FPGA Spartan3E, diantaranya: Four Input LUTs, Occupied Slices, Bonded IOBs, Total Equivalent Gate Count, Average
Gambar 3.1 Proses Array Multipliers 8 bit b. Serial Multipliers Perkalian meliputi pembentukan beberapa perkalian parsial untuk setiap digit dalam multiplier. Perkalian parsial ini kemudian dijumlahkan untuk mendapatkan
hasil perkalian akhir. Bila bit multiplier sama dengan 0, maka hasil perkaliannya 0. Bila bit multiplier 1, maka hasil perkaliannya sama dengan multiplicand. Hasil pengalian akhir diperoleh dengan menjumlahkan perkalian parsial tersebut. Setiap hasil perkalian parsial yang berurutan digeser satu posisi ke kiri relatif terhadap hasil perkalian sebelumnya Pada setiap hasil perkalian parsial ditambahkan carry out 0 pada MSB hasil perkalian parsial. [4]
Tabel 3.1 Parameter-parameter FPGA Xilinx XC3S500E.
3.3 Parameter Pemanfaatan sumber daya pada Xilinx Spartan-3E Untuk perancangan dan implementasi pada FPGA memiliki beberapa parameter untuk meminimalkan penggunaan sumber daya dan optimalisasi proses yaitu Four Input LUTs, Occupied Slices, Bonded IOBs, Total Equivalent Gate Count, Average Connenction delay(ns) dan Maximum Pin delay(ns).
Gambar 3.2 Proses Serial Multipliers 8 bit 3.2 FPGA XCS500E XC3S500E merupakan keluarga FPGA dari seri Spartan 3E. Spartan 3E mampu mendukung sistem dengan kecepatan clock hingga 300 MHz. Piranti tersebut dilengkapi dengan RAM di dalam chip dan dekoder input yang lebar sehingga lebih berdaya guna untuk aplikasi-aplikasi sistem digital. Spartan 3E juga dilengkapi dengan blok pengali dengan jumlah berkisar 4 sampai 36. Keluarga Spartan 3E mempunyai beberapa varian dengan kapasitas berkisar 100.000 sampai 1.600.000 gerbang. Pada skripsi ini digunakan XC3S500E yang mempunyai parameter seperti pada Tabel 2.14 berikut. [12]
a. Four Input LUTs 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. b. Occupied Slices Merupakan blok dasar pembangun FPGA. Setiap slice berisi sejumlah LUT’s, flip-flop dan elemen carry logic yang membentuk desain logika sebelum pemetaan. c. Configurable Logic Blocks (CLB) Merupakan sumber daya utama untuk merancang rangkaian kombinasional secara sinkron. Masingmasing CLB berisi 4 slices dan masingmasing slices dua Look-Up Tables (LUTs) untuk merancang logika dan
dua media penyimpanan yang digunakan sebagai flip-flop atau latch. d. Total Equivalent Gate Count Merupakan jumlah total dari gerbang logika yang digunakan baik gerbang dasar maupun gerbang kombinasional. e. Average Connenction delay(ns) Rata-rata waktu tunda yang dibutuhkan untuk menghubungkan Configurable Logic Blocks(CLB). f.
Maximum Pin delay(ns). Maksimal waktu tunda yang dibutuhkan untuk masing-masing pin.
Gambar 4.1.1 Struktur Array Multipliers 4 bit [10]
Gambar 4.1.2 Blok diagram Array Multipliers 4 bit
g. Bonded I/O Sebagai interface antara external package pin dari device dan internal user logic. IV.PERANCANGAN 4.1 Modul perancangan Array Multipliers Dalam perancangan Array Multipliers akan mengambil perkalian dengan lebar 4 bit, 6 bit dan 8 bit. Dalam masing-masing perancangan Array Multipliers ini terdiri dari beberapa unit yaitu Full Adder, Ripple Carry Adder, Gerbang AND, blok Array Multipliers pada baris pertama dan blok Array Multipliers pada baris 2 dan nbaris yang masing mempuyai fungsi masingmasing. Dibawah ini gambar sistem secara keseluruhan baik untuk perkalian 4 bit, 6 bit dan 8 bit.
Gambar 4.1.3 Komplit skematik RTL Array Multipliers 4 bit
Gambar 4.1.4 FPGA layout Array Multipliers 4 bit
Gambar 4.1.5 Struktur Rangkaian Array Multipliers 6 bit [10]
Gambar 4.1.6 Blok diagram Array Multipliers 6 bit
Gambar 4.1.7 Komplit skematik RTL Array Multipliers 6 bit
Gambar 4.1.8 FPGA layout Array Multipliers 6 bit
Gambar 4.1.9 Struktur Rangkaian Array Multipliers 8 bit [10]
Gambar 4.1.10 Blok diagram Array Multipliers 8 bit
Gambar 4.1.11 Komplit skematik RTL Array Multipliers 8 bit
Gambar 4.1.12 FPGA layout Array Multipliers 8 bit
4.2 Modul perancangan Serial Multipliers Dalam perancangan Serial Multipliers akan mengambil beberapa contoh perkalian dengan lebar 4 bit, 6 bit dan 8 bit. Dalam masing-masing perancangan Serial Multipliers ini terdiri dari beberapa unit yaitu Ripple Carry Adder, Gerbang AND, Register Buffer Terkendali (multiplicand), Register Geser Terkendali (multiplier), Register (produk partial), Register Geser (produk partial) dan Pencacah Putar (pengendali) yang masing mempuyai fungsi masing-masing. Dibawah ini gambar sistem secara keseluruhan baik untuk perkalian 4 bit, 6 bit dan 8 bit.
Gambar 4.2.4 FPGA layout Serial Multipliers 4 bit
Gambar 4.2.5 Struktur Rangkaian Serial Multipliers 6 bit Gambar 4.2.1 Struktur Rangkaian Serial Multipliers 4 bit
Gambar 4.2.6 Blok diagram Serial Multipliers 6 bit Gambar 4.2.2 Blok diagram Serial Multipliers 4 bit
Gambar 4.2.3 Komplit skematik RTL Serial Multipliers 4 bit
Gambar 4.2.7 Bagian skematik RTL Serial Multipliers 6 bit
Gambar 4.2.8 FPGA layout Serial Multipliers 6 bit
Gambar 4.2.9 Struktur Rangkaian Serial Multipliers 8 bit
Gambar 4.2.11 Bagian skematik RTL Serial Multipliers 8 bit
Gambar 4.2.10 Blok diagram Serial Multipliers 8 bit Gambar 4.2.12 FPGA layout Serial Multipliers 8 bit
V.SIMULASI Pengujian hasil perancangan perkalian ini salah satunya dilakukan dengan simulasi menggunakan
perangkat lunak Xilinx
ISE
simulator. Simulasi secara perangkat lunak dilakukan pada satu rangkaian perkalian secara utuh. 5.1 Pengaturan clock untuk simulasi Untuk melakukan simulasi tentunya akan dibutuhkan sinyal clock, besarnya clock yang digunakan akan mempengaruhi waktu kecepatan proses dalam eksekusi. Berikut
Gambar 5.2.2 Simulasi Array Multipliers 6 bit
merupakan perhitungan clock yang digunakan pada simulasi rancangan perkalian ini: 1/X : M = 4 x 10-9 s = 4 ns Keterangan: X = 25 = Kecepatan 25 gambar dalam sekali eksekusi M = 106 = 10 Megapixel / citra 5.2 Simulasi Rancangan Array Multipliers
Gambar 5.2.3 Simulasi Array Multipliers 8 bit
Gambar 5.2.1 Simulasi Array Multipliers 4 bit
Gambar 5.2.4 Simulasi Serial Multipliers 4 bit
Gambar 5.2.6 Simulasi Serial Multipliers 8 bit
Gambar 5.2.5 Simulasi Serial Multipliers 6 bit 5.3 Desain dan Implementasi pada FPGA
2. Desain
dan
perancangan
Serial
Desain dari Array Multilpiers dan Serial Multilpiers 4x4,6x6 dan 8x8 telah diselesaikan dengan menggunakan VHDL dan implementasi dalam Xilinx Spartan-3E (package :FG320, speed :-4), dalam proses pembuatan desain ini menggunakan Design tool Xilinx ISE 9.2i . Tabel 5.3.1menunjukan Pemanfaatan sumber daya untuk Spartan-3E pada desain dan implementasi perkalian.
Multipiers lebih efektif dibandingkan
VI. KESIMPULAN DAN SARAN
Maximum Pin delay(ns).
Array Multipliers baik untuk 4 bit, 6 bit dan 8 bit dilihat dari sumber daya yang digunakan dengan parameter Four Input LUTs, Occupied Slices, CLB, Bonded IOBs, Total Equivalent Gate Count, Average Connenction delay(ns) dan
6.1 KESIMPULAN 3. Serial 1. Serial Multipliers dapat mengurangi penggunaan Four Input LUTs= 1.7%, Occupied Slices = 1.3%, CLB=1.3% dibandingkan dengan Array Multipliers.
Multipliers
lebih
sedikit
menggunakan area dari sumber daya dan masih tersisa bagian yang tersedia yang dapat
dimanfaatkan
sehingga
dapat
disimpulkan bahwa Serial Multipliers menunjukan
peningkatan
1. Membuat perbandingan simulasi kembali
yang
dengan membandingkan lebih dari dua
signifikan dalam penggunaan sumber daya
dibandingkan
dengan
algoritma perkalian.
Array
2. Menggunakan algoritma perkalian lain
Multilpiers baik untuk perkalian empat
seperti: Ripple-Carry Multiplier, Carry-
bit, enam bit dan delapan bit .
Save Multiplier, Multipliers Based on Dissymmetric Br _ Bs Cells, Multipliers
6.2 SARAN
Based on Multioperand Adders, Per
Berdasarkan kesimpulan simulasi dari
Gelosia Multiplication Arrays dan Booth
algoritma perkalian yang telah dibuat, maka didapatkan
beberapa
saran
Multipliers.
untuk
penyempurnaan simulasi yaitu:
Tabel 5.3.1 Pemanfaatan sumber daya untuk Array Multilpiers dan Serial Multilpiers untuk Spartan-3E Four Input
Occupied
LUTs
Slices
{9312}
{4656}
{1164}
{232}
Array Multilpiers
47
24
6
Serial Multilpiers
29
23
Array Multilpiers
121
Serial Multilpiers
Lebar
Bit
n = 4x4
n = 6x6
n = 8x8
Bonded
Total Equivalent
Average Connection
Maximum Pin
IOBs
Gate Count
delay (ns)
delay (ns)
18
282
1,593
4,375
6
24
345
0.984
4,071
63
16
26
726
1,542
5,684
46
36
9
34
527
1.196
3.984
Array Multilpiers
215
110
27
34
1290
1,235
4,916
Serial Multilpiers
62
49
12
44
703
1,255
4,825
Multipier
CLB
VII. DAFTAR PUSTAKA [1]
http://download1334.mediafire.com/w01zeysrpb6g/mclssfrxlzq8r49 /Digital+Electronics+Principles%2C+Devices+and+Applications+by+Anil+Kumar+Maini.pdf
[2]
ttp://elib.unikom.ac.id/files/disk1/468/jbptunikompp-gdl-sindrianil-23378-6-5-arithm-t.pdf
[3]
http://id.wikipedia.org/wiki/Pengganda_biner
[4]
http://ece224web.groups.et.byu.net/lectures/MULT.pdf
[5]
http://images.alfianaceh.multiply.multiplycontent.com/attachment/0/ R@6WbgoKCrwAACqNcX01/Gerbang%20Logika.pdf?key=alfianaceh:journal:1&nmid=88644 043
[6]
http://journal.mercubuana.ac.id/data/02%20-%20Gerbang gerbang%20sistem%20digital.pdf
[7]
Widjanarka N,IR.Wijaya.2006.Teknik Digital.Jakarta,Erlangga.
[8]
http://adit279.wordpress.com/2008/12/04/asic-application-specific-integrated-circuit/
[9]
www.freewebs.com/chwijaya132/Resume%20Chapter%201.doc
[10]
www.scribd.com/doc/38151138/Field-Programmable-Gate-Array
[11]
http://indoware.com/bagaimanacarakerjafpga.html
[12]
http://te.ugm.ac.id/~enas/tesis260199.pdf