• Tidak ada hasil yang ditemukan

untuk ASIC tinggi, algoritma harus diverifikasi dan dioptimalkan sebelum implementasi. Namun dengan berkembangnya teknologi VLSI, implementasi perangk

N/A
N/A
Protected

Academic year: 2021

Membagikan "untuk ASIC tinggi, algoritma harus diverifikasi dan dioptimalkan sebelum implementasi. Namun dengan berkembangnya teknologi VLSI, implementasi perangk"

Copied!
11
0
0

Teks penuh

(1)

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

(2)

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

(3)

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- masing slices dua Look-Up Tables

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

[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

Gambar

Gambar 3.1 Proses Array Multipliers 8 bit   b.  Serial Multipliers
Gambar 3.2 Proses Serial Multipliers 8 bit  3.2 FPGA XCS500E
Gambar 4.1.1 Struktur Array  Multipliers 4 bit [10]
Gambar 4.2.8 FPGA layout Serial  Multipliers 6 bit
+4

Referensi

Dokumen terkait