IMPLEMENTASI SERIAL MULTIPLIERS 8 BIT KE DALAM...

11
IMPLEMENTASI SERIAL MULTIPLIERS 8 BIT KE DALAM IC FPGA SEBAGAI PENDUKUNG PERCEPATAN OPERASI PERKALIAN DALAM KOMPRESI CITRA Drs. Lingga Hermanto, MMSi 1 Iman Ilmawan Muharam 2 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 Spartan- 3E 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

Transcript of IMPLEMENTASI SERIAL MULTIPLIERS 8 BIT KE DALAM...

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

3E 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 real-

time.

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]

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]

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]

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.

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

masing CLB berisi 4 slices dan masing-

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

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

baris yang masing mempuyai fungsi masing-

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

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.1 Struktur Rangkaian Serial

Multipliers 4 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.4 FPGA layout Serial

Multipliers 4 bit

Gambar 4.2.5 Struktur Rangkaian

Serial Multipliers 6 bit

Gambar 4.2.6 Blok diagram Serial

Multipliers 6 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.10 Blok diagram Serial

Multipliers 8 bit

Gambar 4.2.11 Bagian skematik RTL 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:

Keterangan:

X = 25 = Kecepatan 25 gambar dalam sekali

eksekusi

M = 106 =

10 Megapixel / citra

5.2 Simulasi Rancangan Array Multipliers

Gambar 5.2.1 Simulasi Array Multipliers 4 bit

Gambar 5.2.2 Simulasi Array Multipliers 6 bit

Gambar 5.2.3 Simulasi Array Multipliers 8 bit

1/X : M = 4 x 10-9

s = 4 ns

Gambar 5.2.4 Simulasi Serial Multipliers 4 bit

Gambar 5.2.5 Simulasi Serial Multipliers 6 bit

Gambar 5.2.6 Simulasi Serial Multipliers 8 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 pada desain dan

implementasi perkalian.

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

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

menggunakan area dari sumber daya dan

masih tersisa bagian yang tersedia yang

dapat dimanfaatkan sehingga dapat

disimpulkan bahwa Serial Multipliers

menunjukan peningkatan yang

signifikan dalam penggunaan sumber

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.

2. Menggunakan algoritma perkalian lain

seperti: Ripple-Carry Multiplier, Carry-

Save Multiplier, Multipliers Based on

Dissymmetric Br _ Bs Cells, Multipliers

Based on Multioperand Adders, Per

Gelosia Multiplication Arrays dan Booth

Multipliers.

Tabel 5.3.1 Pemanfaatan sumber daya untuk Array Multilpiers dan Serial Multilpiers

untuk Spartan-3E

VII. DAFTAR PUSTAKA

[1] http://download1334.mediafire.com/w01zeysrpb6g/mclssfrxlzq8r49

/Digital+Electronics+Principles%2C+Devices+and+Applications+by+Anil+Kumar+Maini.pdf

Lebar

Multipier

Four

Input Occupied CLB

Bonded Total Equivalent Average Connection Maximum Pin

Bit

LUTs Slices IOBs Gate Count delay (ns) delay (ns)

{9312} {4656} {1164} {232}

n = 4x4

Array Multilpiers 47 24 6 18 282 1,593 4,375

Serial Multilpiers 29 23 6 24 345 0.984 4,071

n = 6x6

Array Multilpiers 121 63 16 26 726 1,542 5,684

Serial Multilpiers 46 36 9 34 527 1.196 3.984

n = 8x8

Array Multilpiers 215 110 27 34 1290 1,235 4,916

Serial Multilpiers 62 49 12 44 703 1,255 4,825

[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