Anda di halaman 1dari 12

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. 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 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]

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]

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). 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.

Gambar 3.2 Proses Serial Multipliers 8 bit

Selain itu, LUT ini berciri khas memiliki input sejumlah 4 buah. b. Occupied Slices Merupakan blok dasar pembangun FPGA. Setiap slice berisi sejumlah LUTs, 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.

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.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

Gambar 4.1.3 Komplit skematik RTL Array Multipliers 4 bit

Gambar 4.1.7 Komplit skematik RTL Array Multipliers 6 bit

Gambar 4.1.4 FPGA layout Array Multipliers 4 bit

Gambar 4.1.8 FPGA layout Array Multipliers 6 bit

Gambar 4.1.5 Struktur Rangkaian Array Multipliers 6 bit [10]

Gambar 4.1.9 Struktur Rangkaian Array Multipliers 8 bit [10]

Gambar 4.1.6 Blok diagram Array Multipliers 6 bit Gambar 4.1.10 Blok diagram Array Multipliers 8 bit

Gambar 4.1.11 Komplit skematik RTL Array Multipliers 8 bit

Gambar 4.2.2 Blok diagram Serial Multipliers 4 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.3 Komplit skematik RTL Serial Multipliers 4 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.10 Blok diagram Serial Multipliers 8 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.11 Bagian skematik RTL Serial Multipliers 8 bit

Gambar 4.2.9 Struktur Rangkaian 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 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 Gambar 5.2.2 Simulasi Array Multipliers 6 bit Gambar 5.2.1 Simulasi Array Multipliers 4 bit

Multipliers

Gambar 5.2.5 Simulasi Serial Multipliers 6 bit

Gambar 5.2.3 Simulasi Array Multipliers 8 bit

Gambar 5.2.6 Simulasi Serial Multipliers 8 bit Gambar 5.2.4 Simulasi Serial Multipliers 4 bit 5.3 Desain dan Implementasi pada FPGA 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 implementasi perkalian. pada desain dan

VI. KESIMPULAN DAN SARAN 6.1 KESIMPULAN 1. Serial Multipliers dapat mengurangi penggunaan Four Input LUTs= 1.7%,

Occupied Slices = 1.3%, CLB=1.3% dibandingkan dengan Array Multipliers. 2. Desain dan perancangan Serial

daya

dibandingkan

dengan

Array

Multilpiers baik untuk perkalian empat bit, enam bit dan delapan bit . 6.2 SARAN Berdasarkan kesimpulan simulasi dari algoritma perkalian yang telah dibuat, maka didapatkan beberapa saran untuk penyempurnaan simulasi yaitu: 1. Membuat perbandingan simulasi kembali dengan membandingkan lebih dari dua algoritma perkalian.

Multipiers lebih efektif dibandingkan 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 Maximum Pin delay(ns). 3. Serial Multipliers lebih sedikit

2.

Menggunakan algoritma perkalian lain seperti: Ripple-Carry Multiplier, CarrySave Multiplier, Multipliers Based on Dissymmetric Br _ Bs Cells, Multipliers Based on Multioperand Adders, Per Gelosia Multiplication Arrays dan Booth Multipliers.

menggunakan area dari sumber daya dan masih tersisa bagian yang tersedia yang dapat dimanfaatkan sehingga dapat yang disimpulkan bahwa Serial Multipliers menunjukan peningkatan signifikan dalam penggunaan sumber

Tabel 5.3.1 Pemanfaatan sumber daya untuk Array Multilpiers dan Serial Multilpiers untuk Spartan-3E

Lebar

Four Input LUTs

Occupied Slices {4656} 24 23

CLB

Bonded IOBs

Total Equivalent Gate Count

Average Connection delay (ns)

Maximum Pin delay (ns)

Bit

Multipier Array Multilpiers

{9312} 47 29

{1164} 6 6

{232} 18 24 282 345 1,593 0.984 4,375 4,071

n = 4x4

Serial Multilpiers

Array Multilpiers n = 6x6 Serial Multilpiers

121 46

63 36

16 9

26 34

726 527

1,542 1.196

5,684 3.984

Array Multilpiers n = 8x8 Serial Multilpiers

215 62

110 49

27 12

34 44

1290 703

1,235 1,255

4,916 4,825

VII. DAFTAR PUSTAKA [1] http://download1334.mediafire.com/w01zeysrpb6g/mclssfrxlzq8r49 /Digital+Electronics+Principles%2C+Devices+and+Applications+by+Anil+Kumar+Maini.pdf [2] [3] [4] [5] ttp://elib.unikom.ac.id/files/disk1/468/jbptunikompp-gdl-sindrianil-23378-6-5-arithm-t.pdf http://id.wikipedia.org/wiki/Pengganda_biner http://ece224web.groups.et.byu.net/lectures/MULT.pdf http://images.alfianaceh.multiply.multiplycontent.com/attachment/0/ R@6WbgoKCrwAACqNcX01/Gerbang%20Logika.pdf? key=alfianaceh:journal:1&nmid=88644043 http://journal.mercubuana.ac.id/data/02%20-%20Gerbang gerbang%20sistem%20digital.pdf Widjanarka N,IR.Wijaya.2006.Teknik Digital.Jakarta,Erlangga. http://adit279.wordpress.com/2008/12/04/asic-application-specific-integrated-circuit/ www.freewebs.com/chwijaya132/Resume%20Chapter%201.doc www.scribd.com/doc/38151138/Field-Programmable-Gate-Array http://indoware.com/bagaimanacarakerjafpga.html http://te.ugm.ac.id/~enas/tesis260199.pdf

[6] [7] [8] [9] [10] [11] [12]