LAPORAN TAHUNAN
PENELITIAN HIBAH BERSAING
METODE EFISIENSI AREA INTEGRATED CIRCUIT (IC) DENGAN
REDUKSI WORDLENGTHS UNTUK MENINGKATKAN KINERJA
PERANGKAT KOMPUTASI ELEKTRONIK
Tahun ke 1 dari rencana 3 tahun
Zulfikar, S.T., M.Sc.
NIDN. 0020077507
Hubbul Walidainy, S.T., M.T.
NIDN. 0026087301
UNIVERSITAS SYIAH KUALA
NOVEMBER 2014
LAPORAN TAHUNAN
PENELITIAN HIBAH BERSAING
METODE EFISIENSI AREA INTEGRATED CIRCUIT (IC) DENGAN
REDUKSI WORDLENGTHS UNTUK MENINGKATKAN KINERJA
PERANGKAT KOMPUTASI ELEKTRONIK
Tahun ke 1 dari rencana 3 tahun
Zulfikar, S.T., M.Sc.
NIDN. 0020077507
Hubbul Walidainy, S.T., M.T.
NIDN. 0026087301
UNIVERSITAS SYIAH KUALA
NOVEMBER 2014
i
RINGKASAN
Perkembangan teknologi integrated circuit (IC) yang kian pesat dan kebutuhan akan bertambahnya informasi yang dapat disajikan dalam sebuah perangkat komputasi elektronik dewasa ini telah mendorong para peneliti untuk menemukan cara menghemat area yang terpakai oleh rangkaian komputasi dalam sebuah IC. Penelitian ini bertujuan menerapkan metode baru dengan cara reduksi wordlengths untuk menghemat area dari suatu IC guna meningkatkan kinerja dari perangkat komputasi elektronik. Dengan berkurangnya wordlengths, maka area yang dibutuhkan dalam sebuah IC untuk rangkaian komputasi akan semakin kecil.
Pada penelitian ini, untuk tahun pertama dipilih rangkaian pembangkit bilangan random jenis berdasarkan algoritma Linear Congruential Generator (LCG) sebagai target untuk diefisiensikan. Rangkaian tersebut dirancang dengan menggunakan blok-blok dasar operasi aritmatika seperti penambah, pengurang dan pengali. Tahapan awal dari teknik reduksi wordlength yang diajukan telah berhasil diaplikasikan pada rangkaian tersebut. Rangkaian pembangkitan bilangan random 8 bit dan teknik perancangannya disajikan secara detail. Hasil simulasi behavior, synthesis, simulasi waktu dan perbandingan penerapan terhadapa beberapa chip FPGA dari Xilinx dipaparkan pada bab 5.
Hasil awal dari penelitian ini telah dipublikasikan pada jurnal internasional IJECCE edisi Juli-Agustus 2014. Dan hasil lanjutan telah diterima pada seminar internasional ICCEI 2015. Hasil lanjutan ini lebih efisien dari rancangan sebelumnya. Dengan demikian penelitian ini telah mencapai tujuan keseluruhan.
Keywords: Integrated Circuit, Penghematan Area, Reduksi Wordlengths, VHDL, FPGA, Linear Congruential Generator
ii
PRAKATA
Penelitian ini bermaksud untuk menghemat area suatu IC dari perangkat komputasi elektronik dengan harapan kinerja perangkat tersebut semakin meningkat. Penelitian ini memakai menerapkan teknik reduksi/ pengurangan wordlength dari rangkaian pembangkitan bilangan random. Diharapakan area yang dibutuhkan dalam sebuah IC untuk rangkaian bilangan random semakin kecil.
Adapun Metode dan tahapan penelitian yang digunakan adalah sebagai berikut:
Studi Literatur, mempelajari beberapa rangkaian aritmatika kompleks yang akan dijadikan sasaran penelitian.
Implementasi Software, pemodelan rangkaian-rangkaian target ke dalam hardware melalui program VHDL akan dilakukan. Beberapa program simulasi telah dipilih, antara lain Xilinx ISE dan Quartus Altera.
Perbandingan, bersama dengan rancangan metode baru, akan disimulasikan juga rangkaian-rangkaian aritmatika konvensional yang telah dipakai saat ini. Jika area dari rangkaian dengan metode baru tidak lebih hemat, maka akan dilakukan pemrograman ulang. Perbandingan akan dilakukan melalui software dari Xilinx dan Altera.
Pengembangan Lanjut, setelah diimplementasikan ke FPGA, akan dikaji kemungkinan penghematan lebih lanjut terhadap rangkaian yang dipilih. Jika memungkinkan akan dilakukan dan dimulai pemrograman ulang.
Penulis mengucapkan terima kasih yang sebesar-besarnya kepada pihak-pihak yang telah membantu terlaksananya penelitian ini.
iii
DAFTAR ISI
RINGKASAN i
PRAKATA ii
DAFTAR ISI iii
DAFTAR TABEL v
DAFTAR GAMBAR vi
DAFTAR LAMPIRAN vii
BAB I. PENDAHULUAN 1
BAB II. STUDI PUSTAKA 3
2.1 VHDL 3
2.2 Paket Library IEEE untuk Konversi Bilangan 3
2.3 Linear Congruential Generator 4
BAB III. TUJUAN DAN MANFAAT PENELITIAN 5
3.1 Tujuan Penelitian 5
3.2 Mamfaat Penelitian 5
BAB IV. METODE PENELITIAN 6
BAB V. HASIL YANG DICAPAI 8
5.1 Desain Rangkaian LCG 8
5.1.1 Rangkaian Umum dari LCG 8
5.1.2 Reduksi Wordlengths 9
5.2 Implementasi dan Analisa 10
5.2.1 Simulasi Behavior 10 5.2.2 Hasil Synthesis 11 5.2.3 Simulasi Waktu 12 5.2.4 Perbandingan 13 5.3 Desain LCG Efisien 14 5.3.1 Rangkaian 14 5.3.2 Perbandingan 15
BAB VI. RENCANA TAHAPAN BERIKUTNYA 18
iv
v
DAFTAR TABEL
Tabel I. Daftar perintah konversi bilangan antara integer, signed dan unsigned 4 Tabel II. Daftar perintah konversi bilangan antara standard logic vector, signed dan
unsigned 4
Tabel III. Perbandingan frekuensi maksimum diantara chip-chip Xilinx 13 Tabel IV. Perbandingan area yang dibutuhkan diantara chip-chip Xilinx 14 Tabel V. Perbandingan area yang diperlukan diantara chip-chip Xilinx 15 Tabel VI. Perbandingan maksimum frekuensi diantara chip-chip Xilinx 16 Tabel VII. Perhitungan area berdasarkan hasil synthesis untuk modulus 8 bit (desain
sebelumnya) 16
Tabel VIII. Perhitungan area berdasarkan hasil synthesis untuk modulus 8 bit (desain
baru) 16
Tabel IX. Perhitungan area berdasarkan hasil synthesis untuk modulus 16 bit (desain
sebelumnya) 17
Tabel X. Perhitungan area berdasarkan hasil synthesis untuk modulus 16 bit (desain
baru) 17
Tabel XI. Perhitungan area berdasarkan hasil synthesis untuk modulus 32 bit (desain
sebelumnya) 17
Tabel XII. Perhitungan area berdasarkan hasil synthesis untuk modulus 31 bit (desain
vi
DAFTAR GAMBAR
Gambar 4.1 Fishbone diagram metode penelitian 6
Gambar 5.1 Blok diagram operasi LCG 8
Gambar 5.2 Rangkaian umum dari LCG 9
Gambar 5.3 Rangkaian sinyal pengendali untuk rangkaian LCG 9
Gambar 5.4 Reduksi wordlength pada blok pengali 10
Gambar 5.5 Reduksi wordlength pada blok penambah 10
Gambar 5.6 Hasil dari simulasi behavior dengan m=255, seed=7, a=3, c=1 11 Gambar 5.7 Hasil dari simulasi behavior dengan m =216-1, seed=7, a=3, c=1 11 Gambar 5.8 Hasil dari simulasi behavior dengan m = 231-1, seed=7, a=3, c=1 11
Gambar 5.9 Pegamatan lebih dekat dari simulasi waktu 12
Gambar 5.10 Desain rangkaian yang di ajukan untuk efisiensi area lebih lanjut (n=8) 14
Gambar 5.11 Desain wordlengths pada blok pengali 15
vii
DAFTAR LAMPIRAN
LAMPIRAN I: BIODATA KETUA TIM PENELITI 21
LAMPIRAN II: BIODATA ANGGOTA TIM PENELITI 24
LAMPIRAN III: Publikasi Artikel pada Jurnal Internasional 26 LAMPIRAN IV: Publikasi Artikel pada Seminar Internasional 32
1 BAB 1 PENDAHULUAN
Sekarang ini banyak rangkaian elektronika diimplementasikan kedalam sebuah Integrated Circuit (IC). Kecendrungan untuk masa yang akan datang semakin banyak rangkaian elektronika diimplementasikan kedalam IC, hal ini dikarenakan faktor biaya produksi yang murah jika diproduksi dalam jumlah yang banyak. Seiring dengan itu, tuntutan akan semakin besarnya rangkaian elektronika ntuk suatu aplikasi tertentu mendorong para peneliti untuk menemukan cara yang lebih efisien untuk merealisasikan suatu rangkaian elektronika kedalam sebuah IC.
Salah satu faktor efisiensi yang sangat penting dalam merealisasikan suatu rangkaian elektronika kedalam sebuah IC adalah area (besarnya ukuran IC). Sebagai contoh, sebuah telepon genggam produksi sekarang ini mempunyai kemampuan berlipat ganda jika dibandingkan dengan telepon genggam produksi 10 tahun yang lalu dengan ukuran yang sama tentunya, hal ini salah satunya dikarenakan efisiensi area pada IC. Kapasitas IC di dalam telepon genggam produksi sekarang ini jauh lebih besar walaupun dengan ukuran (dimensi) yang sama dengan sebelumnya. Hal ini bergantung dari teknologi terbaru pembuatan rangkaian terintegrasi.
Penghematan area dari suatu IC lebih lanjut juga bisa dicapai dengan menyederhanakan rangkaian komputasi elektronik. Rangkaian tersebut digunakan untuk perhitungan-perhitungan seperti penjumlahan, pengurangan, pembagian, perkalian dan lain-lain. Penghematan rangkaian ini akan lebih terasa jika diterapakan pada perhitungan lebih dari satu tingkatan (komplek). Metode yang akan digunakan adalah reduksi wordlengths (lebar kata). Dengan diterapkannya metode ini, diharapkan area yang terpakai didalam suatu IC menjadi lebih kecil. Sehingga suatu IC dengan ukuran yang sama bisa menampung lebih banyak rangkaian untuk aplikasi lain.
Pada penelitian ini, untuk tahun pertama dipilih rangkaian pembangkit bilangan random sebagai target untuk diefisiensikan.
Bilangan random telah digunakan dalam kehidupan sehari-hari sejak jaman dahulu kala. Sekarang ini, sebuah mainan anak-anak yang harganya murah pun sudah terdapat rangkaian bilangan random didalamnya. Sebagai contoh, sebuah telepon mainan akan berbunyi berbeda-beda jika tombol yang sama di tekan lebih dari satu kali.
2
Beberapa teori bilangan random telah diperkenalkan sejak bebrapa dasawarsa terakhir. Sebuah teori tentang Linear Congruential Generator (LCG) telah diperkenalkan oleh Lehmer (D H Lehmer.1954). Teori ini merupakan salah satu teori tertua dan sangat banyak dipakai dengan prinsip Pseudorandom Number Generator (PNG) (Wikipedia.org. Linear....2014). Park dan Miller memberikan suatu kontribusi yang sangat bagus untuk LCG (S K Park dkk. 1988). Berkat kontribusi ini, teknik pembangkitan bilangan random ini digunakan pada MATLAB (Numerical Computing.2008).
Banyak pembangkit bilangan random lain yang telah diperkenalkan dan digunakan dalam berbagai aplikasi. Beberapa teknik tersebut adalah Blum Shub, Wichmann-Hill, Complementary multiply with carry, Inversive congruential generator, ISAAC (cipher), Lagged Fibonacci generator, Linear feedback shift register, Maximal periodic reciprocals, Mersenne twister, Multiply-with-carry, Naor-Reingold Pseudorandom Function, RC4 PRGA, Well Equidistributed Long-period Linear, dan Xorshift (wikipedia.org. List of ...2014, N Harald. 1992, A Note of .... 2009, Wolfram Mathematica. 2008).
Hardware (perangkat keras) untuk pembangkitan bilanagan random tersedia sebagaimana tersedianya algoritmanya. Hardware tersebut telah digunakan sejak tahun 2008. Produk hardware keluaran LETech adalah yang tercepat diantara semua hardware untuk pembangkitan bilangan random. Produk ini telah dikembangkan sejak tahun 2008 (www.letech.jpn.com. 2014, wikipedia.org. Comparison.... 2014).
Penelitian untuk menemukan algoritma yang sesuai dalam hal pembangkitan bilangan random merupakan bidang yang eksis sampai sekarang. Banyak peneliti menggunakan Field Programmable Logic Array (FPGA) untuk pengetesan dan pengujian ide-ide baru. Beberapa diantaranya telah direalisasikan kedalam hardware dan dijual di pasaran (wikipedia.org. List of ...2014, wikipedia.org. Comparison.... 2014).
Pada awalnya, algoritma dari LCG digabungkan dengan teknik Monte Carlo telah digunakan untuk membangkitkan bilangan random non uniform menggunakan MATLAB (Zulfikar. 2009). Setelah itu, kami mengembangkan rangkaian pembangkit bilanagn random dan mengimplementasikan kedalan FPGA (Zulfikar. 2014). Pada publikasi tersebut faktor increment c diabaikan (c=0). Pada tahap awal penelitian ini telah berhasil dikembangkan teknik pembangkitan bilangan random tanpa mengabaikan faktor increment c (Zulfikar dan H Walidainy. 2014).
3 BAB 2
TINJAUAN PUSTAKA
2.1 VHDL
Very High Speed Integrated Circuit Hardware Description Language (VHDL) adalah suatu bahasa pemrograman untuk menjelaskan penggunaan hardware (perangkat keras) pada perangkat electronic design automation (EDA). Bahasa ini digunakan untuk menjelaskan sistem pensinyalan digital dan pensinyalan gabungan seperti IC dan Field Programmable Gate Arrays (FPGA) (M Anis dkk. 2009, P P Chu. 2006, S Hauck dkk. 2007, S Kilts. 2007).
Secara umum, program VHDL digunakan untuk menuliskan modul-modul berbasis teks yang menjelaskan sebuah rangkaian logika. Kemudian diperlukan suatu simulasi untuk menguji rancangan logika tersebut. Untuk hal ini, dibutuhkan file tambahan yang disebut dengan testbench. Beberapa vendor FPGA menyediakan fitur testbench yang lebih mudah digunakan yang disajikan dalam bentuk Graphical User Interface (GUI) (P P Chu. 2006, S Hauck dkk. 2007).
Xilinx ISE, Altera Quartus, Synopsys Symplify dan Menthor Graphic adalah sebagian software (perangkat lunak) yang sering digunakan untuk FPGA. Paket software ini hanya memerlukan program VHDL dan testbench nya saja.
2.2 Paket Library IEEE untuk Konversi Bilangan
Setiap program VHDL harus mempunyai paling tidak satu library. Library tersebut merupakan library dasar yang berisikan informasi dari semua gerbang-gerbang dasar yang dibutuhkan untuk pengimplementasian FPGA. Untuk rangkaian yang besar dan melibatkan perhitungan aritmatika yang komplek, akan lebih baik dan mudah jika semua operasi perhitungan dilakukan dalam format bilangan integer. Namun hal ini membutuhkan perhatian khusus dalam memprogram koneksi-koneksi antar blok rangkaian dasar. Jika dilakukan dengan tepat, penghematan area yang optimal akan didapatkan. Banyak vendor pihak ketiga menyediakan paket/ library untuk mempermudah perhitungan aritmatika. IEEE juga menyediakan library tersebut yang diberi nama Numeric_std 1076.3 (IEEE.NUMERIC_STD.ALL).
Paket library tersebut menyediakan dua cara mengkonversi bilangan antara integer dan standard logic vector baik melalui format signed atau unsigned. Untuk tujuan perhitungan aritmatika tertentu, operasi-operasi perhitungan juga dapat dilakukan hanya dalam format signed
4
atau unsigned saja. Tabel I menunjukkan perintah-perintah pengkonversian bilangan-bilangan antara format integer, signed dan unsigned. Sementara itu, tabel II menampilkan daftar perintah untuk mengkonversi antara format unsigned, signed dan standard logic vector. Dengan menggabungkan perintah-perintah yang ada pada kedua table tersebut, kita bisa melakukan konversi langsung antara format standard logic vector dengan integer (www.doulos.com. 2013). Table I. Daftar perintah konversi bilangan antara integer, signed dan unsigned
Dari/ ke Integer Signed Unsigned
Integer - to_signed( ,length) to_unsigned( ,length)
Signed to_integer( ) - unsigned( )
Unsigned to_integer( ) signed( ) -
Tabel II. Daftar perintah konversi bilangan antara standard logic vector, signed dan unsigned
Dari/ ke Standard logic vector Signed Unsigned
Standard logic vector - signed( ) unsigned( )
Signed std_logic_vector ( ) - unsigned( )
Unsigned std_logic_vector ( ) unsigned( ) - 2.3 Linear Congruential Generator
Terdapat sebuah metode yang sangat popular dan paling sering digunakan untuk membangkitkan bilangan random yang disebut LCG. Ide dari metode ini telah diperkenalkan oleh Lehmer sesuai dengan rumus sekuensial berikut ini (D H Lehmer.1954):
m c
aX
Xn1( n )mod (1)
Dimana m adalah modulus, a adalah pengali, dan c adalah increment (penambah). Parameter-parameter a, c dan m harus dipilih dengan sangat hati-hati untuk menghindari pengulangan dari bilangan yang sama sebelum m (N Harald. 1992, A Note of .... 2009, Wolfram Mathematica. 2008). Saran yang diberikan oleh Park dan Miller dengan memilih c=0 akan memberikan hasil yang bagus (S K Park dkk. 1988).
Modulus m harus merupakan bilangan primer yang besar, pengali a adalah integer dengan batasan 2, 3, ..., m-1. Panjang siklus dari LCG tidak akan melebihi modulus m, tetapi dapat dimaksimalkan dengan menggunakan tiga kondisi berikut ini (A Note of .... 2009, D E Knuth. 2002):
c adalah bilangan prima yang berhubungan dengan modulus m. Pengali a–1 adalah faktor kali dari setiap pembagi modulus m.
5 BAB 3
TUJUAN DAN MANFAAT PENELITIAN
3.1 Tujuan Penelitian
Penelitian ini secara umum bertujuan untuk menghemat area dari suatu IC dari perangkat komputasi elektronik. Diharapkan kinerja perangkat komputasi elektronik tersebut semakin meningkat. Penelitian ini akan menggunakan teknik reduksi wordlengths dari rangkaian komputasi aritmatika. Dengan berkurangnya wordlengths, maka area yang dibutuhkan dalam sebuah IC untuk fungsi yang sama akan semakin kecil.
Pada tahap awal, penelitian ini bertujuan khusus untuk:
1. Melakukan analisis statistik terhadap semua wordlengths yang digunakan dari rangkaian komputasi elektronik.
2. Mereduksi wordlengths dari rangkaian komputasi elektronik tersebut.
3. Membandingkan area dari rangkaian komputasi elektronik yang telah direduksi wordlengths nya dengan area dari rangkaian komputasi elektronik konvensional.
Pada tahap lanjutan, penelitian ini bertujuan khusus untuk:
1. Melakukan analisis statistik secara mendalam terhadap semua sinyal-sinyal (data) yang mungkin digunakan untuk masukan ke rangkaian komputasi elektronik.
2. Mereduksi wordlengths lebih lanjut, sehingga dicapai hasil yang lebih optimal dari sebelumnya.
3. Mendokumentasikan dan mendiseminasikan hasil penelitian tersebut kepada pihak terkait baik di tingkat nasional maupun internasional.
3.2 Mamfaat Penelitian
Suatu perangkat elektronik akan lebih bernilai jual jika dilengkapi dengan berbagai macam aplikasi atau fungsi tambahan. Hal ini senada dengan perkembangan teknologi perangkat elektronik selama ini, dimana makin banyak (beragam) aplikasi tambahan yang dimasukkan kedalam suatu perangkat elektronik dengan ukuran atau dimensi yang sama dengan sebelumnya. IC merupakan komponen utama tempat aplikasi-aplikasi disematkan. Jadi kebutuhan untuk menghemat area IC menjadi keharusan. Dengan penghematan area IC maka akan ada ruang untuk menambahkan rangkaian untuk aplikasi yang lain.
6 BAB 4
METODE PENELITIAN
Penulis telah menginisialisasi penelitian ini dengan mempublikasikan konsep dasar reduksi wordlengths dari rangkaian aritmatika. Hasil implementasi konsep desain kedalam FPGA menunjukkan bahwa area yang dibutuhkan lebih sedikit dibandingkan dengan metode konvensional (Zulfikar. 2012).
Metode penelitian yang digunakan untuk penghematan area dari IC dengan metode reduksi wordlengths tertuang dalam fishbone diagram (diagram tulang ikan) seperti terlihat pada Gambar 4.1.
Gambar 4.1 Fishbone diagram metode penelitian
Berikut adalah penjelasan metode penelitian yang tersusun seperti pada gambar 4.1:
Studi Literatur, pada tahap awal, penulis akan mendalami beberapa rangkaian aritmatika komplek yang akan dijadikan sasaran penelitian. Setiap tahun akan dipilih 1 (satu) buah rangkaian. Studi statistik terhadap aplikasi rangkaian tersebut akan dilakukan secara mendalam. Mendalami program bahasa pemrograman hardware VHDL dan teknologi FPGA (Xilinx, Altera) terbaru untuk menjalankan metode yang direncanakan terhadap rangkaian yang telah ditentukan.
Implementasi Software, pemodelan rangkaian-rangkaian target kedalam hardware memlalui program VHDL akan dilakukan. Beberapa program simulasi telah dipilih,
7
antara lain: Modelsim, Xilinx ISE dan Quartus Altera. Konsep konversi bilangan sangat membantu dalam penerapan.
Perbandingan, bersama dengan rancangan metode baru, akan disimulasikan juga rangkaian-rangkaian aritmatika konvensional yang telah dipakai saat ini. Jika area dari rangkaian dengan metode baru tidak lebih hemat, maka akan dilakukan pemrograman ulang. Perbandingan akan dilakukan melalui software dari Xilinx dan Altera.
Implementasi Hardware, urutan proses untuk mengimplementasikan rangkaian yang dirancang kedalam hardware FPGA adalah: Translation, Mapping, Place & Route, Program Generation, dan Downloading.
Pengujian Hardware, untuk pengujian ini akan dilakukan beberapa tahapan seperti: pengujian visual, pengujian dengan alat ukur dan pengujian akan dilakukan untuk berbagai macam kemungkinan.
Pengembangan Lanjut, setelah diimplementasikan ke FPGA, akan dikaji kemungkinan penghematan lebih lanjut terhadap rangkaian yang dipilih. Jika memungkinkan akan dilakukan dan dimulai pemrograman ulang.
Metode penelitian yang telah dijelaskan diatas adalah untuk satu tahapan proses dari suatu rangkaian komputasi elektronik. Hal ini ditargetkan akan selesai selama 1 (satu) tahun. Untuk tahun ke 2 dan ke 3, proses seperti pada fishbone diagram tersebut akan diulang dari awal. Pada tahun ke 2 dan ke 3, implementasi dan pengujian juga akan dilakukan pada software Quartus Altera. Hal ini dilakukan untuk menjustifikasi metode yang telah dirancang dengan berbagai kemungkinan yang tidak didapatkan pada implementasi rangkaian di tahun pertama.
Jumlah publikasi setiap tahunnya adalah 2 (dua). Publikasi pertama sekitar bulan Agustus – September, publikasi kedua pada akhir tahun. Publikasi pertama baru bisa dilakukan setelah tahapan Pengujian Hardware. Setelah dilakukan pengembangan untuk penghematan lanjutan, diharapkan hasil penelitian akan lebih baik, sehingga publikasi kedua akan layak untuk dimuat pada jurnal baik ditingkat nasional maupun internasional.
Indikator capaian penelitian ini berdasarkan perbandingan dengan metode konvensional. Jika area yang diperlukan lebih sedikit dari area yang dibutuhkan oleh metode konvensional, maka penelitian ini dinilai berhasil. Indikator capaian kedua adalah diterimanya hasil penelitian ini pada seminar dan jurnal ilmiah.
8 BAB 5
HASIL DAN PEMBAHASAN
Penelitian ini dimulai pada awal tahun 2014. Saat ini target dari penelitian ini telah tercapai 100%. Tujuan tahap awal dari penelitian ini telah tercapai. Hal ini diperkuat dengan diterima dan telah dipublikasi hasil awal penelitian ini pada jurnal internasional. Kemudian, Tujuan tahap lanjutan dari penelitian ini juga telah berhasil dicapai dengan baik. Hasil capaian ini telah ditulis dalam bentuk artikel ilmiah dan telah diterima pada seminar internasional. Berikut akan dipaparkan beberapa rancangan desain rangkaian bilangan random dan hasil-hasil dari eksekusi terhadap desain tersebut kedalam FPGA.
5.1 Desain Rangkaian LCG
5.1.1. Rangkaian Umum dari LCG
Gambar 5.1 menunjukkan menunjukkan blok diagram umum dari LCG (seed diabaikan). Rangkaian tersebut membutuhkan blok-blok pengali, penambah, pembanding dan pengurang. Blok pengali digunakan untuk mengalikan nilai acak sebelumnya (X) dengan a. Kemudian hasilnya ditambahkan dengan increment c. Langkah selanjutnya membandingkan dengan modulus m. Hasilnya dianggap sebagai bilangan random jika lebih kecil dengan m. Sebaliknya, jika hasilnya lebih besar dari m, maka dikurangi dengan m. Bilangan hasil pengurangan ini kemudian dianggap sebagai bilangan random.
Gambar 5.1 Blok diagram operasi LCG
Blok diagram pada gambar 5.1 melibatkan operasi aritmatik seperti perkalian, penambahan, pengurangan, dan pembandingan. Untuk menyederhanakan proses, rangakain dirancang dengan menggunakan teknik reduksi wordlength seperti yang telah di sarankan sebelumnya (Zulfikar. 2012). Dengan demikian, blok pengurang dan pembanding dapat dihilangkan, rangkaian modifikasi seperti terlihat pada gambar 5.2.
9 Gambar 5.2 Rangkaian umum dari LCG
Rangkaian yang dirancang tersebut terdiri-dari sebuah multiplexer (pemilih), sebuah pengali, sebuah penambah, sebuah buffer (penyimpan sementara) yang bisa di clear kan isinya, dan tiga buah buffer yang dikendalikan oleh sinyal kontrol enable. Port-port masukan seed, A dan C digunakan untuk memasukkan nilai inisial awal, mengalikan dan menambahkan ke rangkaian. Sementara port O digunakan untuk menarik keluar bilangan-bilangan random yang dihasilkan.
Rangkaian dikendalikan oleh dua buah sinyal kontrol yaitu enable dan reset. Saat kondisi awal, sinyal reset haru menjadi HIGH (enable = LOW) untuk meng clear kan nilai yang tersimpan sebelumnya di dalam buffer B4. Sinyal enable menentukan kapan operasi harus dimulai. Nilai
inisial awal (seed), increment dan pengali harus sudah ada pada port-port masukan sebelum sinyal enable menjadi HIGH (reset = LOW). Kemudian, setiap kali clock menjadi HIGH, sebuah bilangan random dihasilkan. Gambar 5.3 menunjukkan konfigurasi rangkaian dari sinyal-sinyal kontrol tersebut.
Gambar 5.3 Rangkaian sinyal pengendali untuk rangkaian LCG 5.1.2 Reduksi Wordlength
Rangkain pada gambar 5.2 dapat digunakan untuk wordlength berapa saja. Pengurangan wordlength harus direncanakan dengan sebaik mungkin untuk menghindari hasil dari operasi yang tidak diinginkan. Sebagai contoh, rangkaian LCG didesain untuk digunakan pada nilai maksimum wordlength adalah 8 bit, konfigurasi net (jalur) dari blok pengali dan blok penambah ditunjukkan pada gambar 5.4 dan gambar 5.5.
10 Gambar 5.4 Reduksi wordlength pada blok pengali
Gambar 5.5 Reduksi wordlength pada blok penambah
Berdasarkan aturan aritmatika dan untuk kepentingan penghematam area, hasil perkalian dari B4 (8 bit) dan B1 (8 bit) akan membutuhkan 15 bit untuk menampung nilai hasil perkalian.
Pada rancangan, kami mengabaikan (tidak menghubungkan) tujuh net tertinggi dari X(8) sampai X(14) seperti terlihat pada gambar 5.4. Hal yang sama juga dapat dilakukan terhadap net dari penambah. Pada kasus penambah, hanya satu net (M(8)) yang diabaikan, hal ini seperti terlihat pada gambar 5.5.
5.2 Implementasi dan Analisa
Desain rangkaian LCG telah diimplementasikan kedalam FPGA. Hasil dari simulasi behavior dan waktu serta synthesis disajikan. Analisa dan perbandingan telah dilakukan. Rangkain pada gambar 5.2 telah diimplementasikan kedalam program FPGA. Simulasi behavior telah dijalankan menggunakan Xilinx ISE design suite. Beberapa data penting hasil dari synthesis di tunjukkan. Perbandingan area dan kecepatan telah dilakukan terhadap beberapa chip Xilinx. 5.2.1 Simulasi Behavior
Gambar 5.6 menunjukkan hasil dari simulasi behavior dengan modulus m=255, seed=7, pengali a=3 dan increment c=1. Dapat dilihat bahwa bilangan-bilangan yang dihasilkan adalah acak dari 7 sampai dengan 255.
11
Gambar 5.6 Hasil dari simulasi behavior dengan m=255, seed=7, a=3, c=1
Gambar 5.7 dan gambar 5.8 menunjukkan hasil simulasi behavoir dengan modulus m=216–1 dan m=231–1 secara berurutan. Dapat dilihat bahwa semua bilangan yang dihasilkan tidak ada yang melebihi modulus.
Gambar 5.7 Hasil dari simulasi behavior dengan m =216-1, seed=7, a=3, c=1
Gambar 5.8 Hasil dari simulasi behavior dengan m = 231-1, seed=7, a=3, c=1 5.2.2. Hasil Synthesis
Berikut ini adalah beberapa data penting hasil synthesis dari rangkaian yang dirancang dengan menggunakan modulus m=255 terhadap chip Xilinx Virtex 7:
HDL Synthesis Report Macro Statistics # Multipliers : 1 8x8-bit multiplier : 1 # Adders/Subtractors : 1 16-bit adder : 1 # Registers : 4 8-bit register : 4 # Multiplexers : 1
8-bit 2-to-1 multiplexer : 1
--- Slice Logic Utilization: Number of Slice Registers: 16 out of 437600 0%
12
Number used as Logic: 10 out of 218800 0% Slice Logic Distribution:
Number of LUT Flip Flop pairs used: 17
Number with an unused Flip Flop: 1 out of 17 5% Number with an unused LUT: 7 out of 17 41% Number of fully used LUT-FF pairs: 9 out of 17 52% Number of unique control sets: 2
--- Minimum period: 3.710ns (Maximum Frequency: 269.513MHz)
Minimum input arrival time before clock: 2.023ns Maximum output required time after clock: 0.575ns Maximum combinational path delay: No path found
Dari laporan hasil synthesis dapat dilihat bahwa rangkaian yang dirancang membutuhkan sebuah pengali 8x8 bit, sebuah penambah 16 bit, empat buah register 8 bit, dan sebuah multiplekser 2-ke-1 8 bit. Dalam area, dapat dilihat dari kebutuhan slice yaitu 16 slice register dan 10 slice LUT. Penyebaran dari slice logic dari total 19 adalah 9 untuk penggunaan penuh pasangan LUT-FF, 7 untuk LUT yang tidak digunakan dan 1 untuk flip-flop yang tidak digunakan. Rangkaian juga membutuhkan 2 set kontrol khusus.
Kecepatan dari rangkaian yang dirancang adalah maksimum 270 MHz ketika diimplementasikan kedalam chip Virtex 7. Waktu antar kedatangan minimum sebelum clock adalah 2,023 ns. Maksudnya adalah data harus sudah berada pada input masukan sebelum waktu tersebut tercapai. Waktu maksimum yang dibutuhkan untuk menampilkan data pada output adalah 0,5775 ns setelah clock.
5.2.3 Simulasi Waktu
Gambar 5.9 menunjukkan close look dari simulasi waktu. Disana ada beberapa glitch ketika bilangan berubah dari 67 ke 202. Ini terjadi karena waktu dari pinggir clock ke pad-pad output bervariasi. Variasinya berkisar antara 9,399 ns samapai 9,818 ns.
13 5.2.4 Perbandingan
Empat buah chip Xilinx telah dipilih untuk perbandingan kecepatan dan area dari rangkaian yang dirancang. Tabel III memperlihatkan perbandingan dari kecepatan maksimum untuk rangkaian yang diimplementasikan dengan modulus m=255 (8bit), m=216-1 (16bit) dan m=231-1 (31 bit) terhadap chip Virtex 7, Spartan 6, Kintex 7 dan Zynq.
Tabel III. Perbandingan frekuensi maksimum diantara chip-chip Xilinx
Jenis Chip Frekuensi Maksimum (MHz)
8 bit 16 bit 31 bit
Virtex 7 270 270 139
Spartan 6 154 154 73
Kintex 7 309 270 158
Zynq 272 272 140
Untuk modulus m=255, chip yang paling cepat adalah Kintex 7 dan chip yang paling lambat adalah Spartan 6. Akan tetapi, untuk modulus m=216-1, chip yang paling cepat adalah
Zynq. Secara umum, Kintex 7 adalah chip yang cepat dan Spartan 6 adalah yang lambat. Tabel IV memperlihatkan perbandingan area dari keempat chip yang disebutkan sebelumnya. Dapat dilihat bahwa semua chip membutuhkan area yang sama untuk wordlength yang sama tentunya. Untuk modulus m=255, chip-chip membutuhkan 16 slice dan 10 LUT. Area yang dibutuhkan menjadi dua kali lipat ketika diimplementasikan dengan modulus 16 bit. Sementara ketika modulus diganti dengan 31 bit, area yang dibutukan semua chip meningkat sekitar 3 kali lipat.
Tabel IV. Perbandingan area yang dibutuhkan diantara chip-chip Xilinx
Jenis Chip
Area yang dibutuhkan
8 bit 16 bit 31 bit
Slices LUTs Slices LUTs Slices LUTs
Virtex 7 16 10 32 18 92 63
Spartan 6 16 10 32 18 92 63
Kintex 7 16 10 32 18 92 63
14 5.3 Desain LCG Efisien
Gambar 5.2 memperlihatkan rancangan LCG sebelumnya (Zulfikar dkk. 2014). Rangkaian tersebut menggunakan wordlengths yang sama yaitu n untuk perhubungan antar blok-blok. Rangkaian tersebut terdiri dari (asumsi modulus = 2n):
Sebuah n x n-bit multiplier Sebuah n-bit 2-to-1 multiplexer Sebuah n-bit adder
3 x n enable buffers (B1, B2, B3)
n buffers (B4)
Untuk aplikasi tertentu, rangkaian tersebut dapat ditingkatkan (diefisienkan) lebih lanjut. Dengan menggunakan blok-blok rangkaian yang sama, Kami mengajukan sebuah rangkaian yang areanya lebih efisien. Desain ini membutuhkan beberapa asumsi.
5.3.1 Rangkaian
Rancangan berdasarkan pada kenyataan bahwa dalam aplikasi hanya menggunakan pengali dan penambah dengan angka tertentu saja (http://en.wikipedia.org . 2014. Linear...). Sebagai contoh, kita merancang sebuah rangkaian untuk modulus 8-bit. Diasumsikan bahwa wordlengths dari pengali menggunakan 3-bit dan wordlengths dari penambah adalah 2-bit. Gambar 5.10 menunjukkan rangkaian modifikasi dari rancangan sebelumnya.
Gambar 5.10 Desain rangkaian yang di ajukan untuk efisiensi area lebih lanjut (n=8)
Desain rangkaian sebelumnya menggunakan wordlengths yang sama disemua koneksi. Oleh karena itu, blok pengali harus di terapkan dengan rangkaian 8x8-bit (asumsi n=8). Namun, desain terakhir membutuhkan lebih sedikit rangkaian. Gambar 5.11 memperlihatkan konfigurasi hubungan dari blok pengali.
15 Gambar 5.11 Desain wordlengths pada blok pengali
Berdasarkan rule aritmatika dan untuk mengurangi area (Zulfikar dkk. 2012. FPGA Based... ), perkalian dari B4 (8 bit) dan B1 (3 bit) akan memerlukan 10 bit. Pada rancangan, kami
abaikan (tidak dihubungkan) kedua net (kabel) tertinggi X(8) dan X(9). Begitu juga dengan blok penambah, penambahan dari X (8 bit) dan B2 (2 bit) akan membutuhkan 9 bit. Pada kasus ini
hanya sebuah net M(8) yang diabaikan seperti diperlihatkan pada gambar 5.12.
Gambar 5.12 Desain wordlengths pada blok penambah 5.3.2 Perbandingan
Empat jenis chip Xilinx dipilih untuk perbandingan kecepatan dan area antara desain baru dengan dengan desain sebelumnya. Tabel V memperlihatkan perbandingan area yang dibutuhkan untuk modulus m=28 (8 bit), m=216 (16 bit) dan m=231 (31 bit) pada chip Virtex 7, Spartan 6, Kintex 7 dan Zynq.
Tabel V. Perbandingan area yang diperlukan diantara chip-chip Xilinx
Chips Area Occupies 8 bit (Slices/LUTs) 16 bit (Slices/LUTs) 31 bit (Slices/LUTs)
[13] Proposed [13] Proposed [13] Proposed
Virtex 7 16/10 19/30 32/18 36/62 92/63 66/122 Spartan 6 16/10 19/30 32/18 33/19 92/63 67/122 Kintex 7 16/10 19/30 32/18 35/62 92/63 65/122 Zynq 16/10 19/30 32/18 35/62 92/63 65/122
16
Tabel VI memperlihatkan perbandinagn kecepatan dari rancangan baru dan sebelumnya. Dapat dilihat bahwa, desain terakhir lebih cepat. Frekuensi maksimum yang dapat diraih adalah bervariasi dari 154 MHz sampai 411 MHz. Dengan meningkatnya wordlenths, frekuensi maksimum menurun. Spartan 6 adalah chip yang paling lambat, Kintex 7 dan Zynq adalah yang terbaik dalam hal ini.
Tabel VI. Perbandingan maksimum frekuensi diantara chip-chip Xilinx
Chips
Maximum Frequency (MHz)
8 bit 16 bit 31 bit [13] Proposed [13] Proposed [13] Proposed
Virtex 7 270 376 270 361 139 337
Spartan 6 154 248 154 158 73 209
Kintex 7 309 411 270 397 158 369
Zynq 272 411 272 397 140 369
Dalam rangka membuat perbandingan yang lebih detail, area dari rangkaian yang dirancang terhadap yang sebelumnya di implementasikan ulang, di analisa, dan dilakukan beberapa perhitungan dari hasil synthesis. Tabel VII sampai dengan Tabel XII menjelaskan lebih terhadap perbandingan area. Area di representatsikan dalam hal penggunaan flip-flop dan full adder.
Dari tabel VII dan VIII, jumlah Flip-flop dan adder dari rangkaian yang didesain terakhir kira-kira setengah dari yang sebelumnya. Rangkaian tersebut akan lebih efisien lagi jika di rancang untuk modulus yang lebih tinggi seperti terlihat pada tabel IX, tabel X untuk m=216 dan tabel XI, tabel XII untuk m=231.
Tabel VII. Perhitungan area berdasarkan hasil synthesis untuk modulus 8 bit (desain sebelumnya)
Circuits Bit Size Counts Flip-Flops Full Adders
Multipliers 8x8-bit 1 - 64
Adders 16-bit 1 - 16
Registers 8-bit 4 32 -
Total 32 80
Tabel VIII. Perhitungan area berdasarkan hasil synthesis untuk modulus 8 bit (desain baru)
Circuits Bit Size Counts Flip-Flops Full Adders
Multipliers 8x3-bit 1 - 24 Adders 11-bit 1 - 11 Registers 8-bit 2 16 - 3-bit 1 3 - 2-bit 1 2 - Total 21 35
17
Tabel IX. Perhitungan area berdasarkan hasil synthesis untuk modulus 16 bit (desain sebelumnya)
Circuits Bit Size Counts Flip-Flops Full Adders
Multipliers 16x16-bit 1 256
Adders 32-bit 1 - 32
Registers 16-bit 4 64
Total 64 288
Tabel X. Perhitungan area berdasarkan hasil synthesis untuk modulus 16 bit (desain baru)
Circuits Bit Size Counts Flip-Flops Full Adders
Multipliers 17x3-bit 1 - 51 Adders 20-bit 1 - 20 Registers 17-bit 1 17 - 16-bit 1 16 - 3-bit 1 3 - 2-bit 1 2 - Total 38 71
Tabel XI. Perhitungan area berdasarkan hasil synthesis untuk modulus 32 bit (desain sebelumnya)
Circuits Bit Size Counts Flip-Flops Full Adders
Multipliers 31x31-bit 1 - 961
Adders 32-bit 1 - 32
Registers 31-bit 4 124
Total 124 983
Tabel XII. Perhitungan area berdasarkan hasil synthesis untuk modulus 31 bit (desain baru)
Circuits Bit Size Counts Flip-Flops Full Adders
Multipliers 31x3-bit 1 - 93 Adders 32-bit 1 - 32 Registers 31-bit 2 64 - 3-bit 1 3 - 2-bit 1 2 - Total 69 125
Rancangan baru diturunkan dari kebiasaan dari data masukan ke sistem, dia dapat bervariasi berdasarkan aplikasi LCG. Yang pasti suatu hal yang dapat dipelajari disini adalah disana ada peluang untuk mengurangi area yang terpakai dan meningkatkan kecepatan apapun aplikasinya.
18 BAB 6
RENCANA TAHAPAN BERIKUTNYA
Penelitian penghematan area dari rangkaian komputasi elektronik direncanakan akan selesai setelah 3 tahun. Pada tahun pertama (2014), penelitian ini mempunyai dua tahapan tujuan yaitu tahap awal dan tahap lanjutan. Kedua tahapan tersebut telah tercapai dengan baik. Tahun berikutnya (2015), peneliti berencana memilih rangkaian transformasi Fourier.
Sebagaimana pada tahun yang telah berjalan, penelitian penghematan area terhadap rangkaian transformasi fourier juga akan dijabarkan kedalam dua tahapan.
Tahapan awal terdiri dari langkah-langkah sebagai berikut:
1. Melakukan analisis statistik terhadap semua wordlengths yang digunakan dari rangkaian transformasi Fourier jenis Discrete Fourier Transform (DFT).
2. Mereduksi wordlengths dari rangkaian tersebut.
3. Membandingkan area dari rangkaian DFT yang telah direduksi wordlengths nya dengan area dari rangkaian DFT konvensional dan yang diajukan orang lain.
Tahapan lanjutan terdiri dari langkah-langkah sebagai berikut:
1. Melakukan analisis secara statistik secara mendalam terhadap semua data-data yang mungkin digunakan untuk masukan ke rangkaian DFT.
2. Dari analisa tersebut, akan dirancang rangkaian DFT modifikasi. Hal ini bertujuan untuk mencapai hasil yang lebih optimal.
3. Mendokumentasikan dalam bentuk laporan penelitian dan mendiseminasikan hasil rancangan lanjutan tersebut pada jurnal internasional.
19 BAB 7
KESIMPULAN DAN SARAN
Tujuan awal dan lanjutan dari penelitian ini pada tahun 2014 telah tercapai. Rangkaian yang dipilih adalah LCG yang digunakan untuk pembangkitan bilangan random. Rancangan dan implementasi dari LCG kedalam FPGA telah berhasil dilakukan. Hasil awal dari penelitian ini telah dipublikasikan pada jurnal internasional IJECCE edisi juli-agustus 2014.
Rancangan yang lebih efisien telah berhasil dirancang. Dari hasil perbandingan, rangkaian modifikasi jauh lebih efisien dalam hal area dan kecepatan dibandingkan dengan yang didesain pada tahapan awal. Hasil penelitian dari desain yang terakhir telah di terima pada seminar internasional ICCEI 2015.
20
DAFTAR PUSTAKA
A note on random number generation. September 2009. Christophe Dutang dan Diethelm Wuertz.
D E Knuth. 2002. The Art of Computer Programming: seminumerical algorithms. Vol. 2, Edisi Ketiga. Massachusetts: Addison-Wesley.
D H Lehmer. 1954. Random number generation on the BRL high speed computing machines. Oleh M L Juncosa. Math. Rev. 15, 559
F Severance. 2001. System Modeling and Simulation. John Wiley & Sons, Ltd. p. 86. http://en.wikipedia.org. 2014. Comparison of hardware random number generators. 10 Maret http://en.wikipedia.org. 2014. List of random number generators, 11 Maret
http://en.wikipedia.org . 2014. Linear congruential generator, 10 Maret
http://www.letech.jpn.com. 2014. Genuine Random Number Generator (GRANG). 10 Maret.
M Anis dkk. 2009. Low-Power Design of Nanometer FPGAs: Architecture and EDA. Morgan Kaufmann.
N Harald. 1992. Random Number Generation and Quasi-Monte Carlo Methods. Society for lndustrial and Applied Mathematics. Philadelphia.
Numerical Computing with MATLAB. 2008. By Cleve B. Moler, SIAM.
P P Chu. 2006. RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability. Jhon Wiley and Sons.
S Hauck dkk. 2007. Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation. Morgan Kaufmann.
S K Park dan K W Miller (1988). Random number generators: good ones are hard to find. Association for Computing Machinery. 31(10). pp: 1192-2001.
S Kilts. 2007. Advanced FPGA Design: Architecture, Implementation, and Optimization. Wiley-IEEE Press. Wolfram Mathematica ® Tutorial Collection. 2008. Random Number Generation.
www.doulos.com. 2013. VHDL Vector Arithmetic using Numeric_std. 8th March.
Zulfikar. 2009. Generating Non Uniform Random Numbers Using Residue and Rejection Methods. Jurnal Rekayasa Elektrika. Vol. 8 No. 2.
Zulfikar. 2014. FPGA Implementations of Uniform Random Number based on Residue Method. Jurnal Rekayasa Elektrika. Vol. 11 No. 1.
Zulfikar. 2012. Novel Area Optimization in FPGA Implementation Using Efficient VHDL Code. Jurnal Rekayasa Elektrika. Vol. 10 No. 2.
Zulfikar dkk. 2012. FPGA Based Complete Set of Walsh and Inverse Walsh Transforms for Signal Processing. Jurnal Electronics and Electrical Engineering. Vol.18. No. 8. Pp: 3-8.
Zulfikar dkk. 2014. Design and Implementations of Linear Congruential Generator into FPGA. International Journal of Electronics Communication and Computer Engineering. Vol. 5, Issue 4. Pp: 809-813.
21
LAMPIRAN I: BIODATA KETUA TIM PENELITI
A. Identitas Diri
1 Nama Lengkap (dengan gelar) Zulfikar, S.T., M.Sc.
2 Jenis Kelamin L
3 Jabatan Fungsional Lektor
4 NIP 197507202006041003
5 NIDN 0020077507
6 Tempat dan Tanggal Lahir Kampung Sentosa, 20 Juli 1975
7 E-mail zulfikarsafrina@yahoo.co.id
8 Nomor Telepon/HP 081280239034
9 Alamat Kantor Jl Syech Abdurrauf, Darussalam
10 Nomor Telepon/Faks 0651-7554336
11 Lulusan yang Telah Dihasilkan S-1= 3 orang; S-2= - orang; S-3= - orang
12. Mata Kuliah yang diampu
1. Elektronika Digital 2. Perancangan VLSI 3. Elektronika Industri 4. Teknik Digital 5. Elektronika Telekomunikasi B. Riwayat Pendidikan S-1 S-2
Nama Perguruan Tinggi Universitas Sumatera Utara King Saud University
Bidang Ilmu Teknik Elektro Teknik Elektro
Tahun Masuk-Lulus 1994-1999 2008-2011
Judul Skripsi/Thesis Pengalokasian pita suara dan data ke dalam jaringan B-ISDN
An Intellectual Property Core for Spectrum Analysis, Synthesis and Processing of Periodic Multiple Digital Signals
Nama Pembimbing/Promotor Ir. Zulfin, M.T. Prof. Shuja A Abbasi
C. Pengalaman Penelitian Dalam 5 Tahun Terakhir
No. Tahun Judul Penelitian Pendanaan
Sumber Jml (Juta Rp) 1 2014
Metode Efisiensi Area Integrated Circuit (IC) dengan Reduksi Wordlengths untuk Meningkat kan Kinerja Perangkat Komputasi Elektronik
DIPA 46
2 2010 An Advanced Application Specific IC Research NPST 4.800
3 2009 Development of a MATLAB based Silicon Process
Technology Simulator KSU 80
KSU : King Saud University
22
D. Pengalaman Pengabdian Kepada Masyarakat dalam 5 Tahun Terakhir
No. Tahun Judul Pengabdian Kepada Masyarakat Pendanaan
Sumber Jml (Juta Rp) 1 2012
Pembinaan kelistrikan untuk keamanan dan penghematan energi kepada masyarakat Gampong Mon Mata
Kecamatan Lhong Aceh Besar
Mandiri 5,8
2 2008 Studi UKL-UPL Pembangunan PLTMH Bergang BRR 20
3 2006 Pelatihan Pengelolaan Manajemen Laboratorium
Komputer SMA di Propinsi Nanggroe Aceh Darussalam BRR 180
E. Publikasi Artikel Ilmiah Dalam Jurnal Dalam 5 Tahun Terakhir
No. Judul Artikel Ilmiah Nama Jurnal Volume/Nomor/ Tahun
1
FPGA Implementation of Uniform Random Number Using Residue and Rejection Method Jurnal Rekayasa Elektrika Volume 11 / Nomor 1 / Tahun 2014 2
Design of Linear Congruential Generator based on Wordlengths Reduction Technique into FPGA
International Journal of Electronics Communication Computer Engineering Volume 5 / Nomor 4 / Tahun 2014
3 Processing of Multiple Digital Signals Based on Real-time Walsh Transform
International Journal of Electrical and Computer Engineering Volume 3 / Nomor 2 / Tahun 2013
4 FPGA Based Complete Set of Walsh and Inverse Walsh Transforms for Signal Processing
Electronics and Electrical Engineering
Volume 18 / Nomor 8 / Tahun 2012 5 Novel Area Optimization in FPGA
Implementation Using Efficient VHDL Code
Rekayasa Elektrika Volume 10 / Nomor 2 / Tahun 2012 6 Design and Implementation of an
Improved Arbitrary Waveform Generator Based on Walsh Functions
International Journal of Physical Sciences
Volume 7 / Nomor 10 / Tahun 2012 7 Perancangan Pengontrolan Traffic
Light Otomatis
Rekayasa Elektrika Volume 9 / Nomor 3 / Tahun 2011
F. Pemakalah Seminar Ilmiah (Oral Presentation) dalam 5 Tahun Terakhir
No. Nama Pertemuan Ilmiah / Seminar Judul Artikel Ilmiah Waktu dan Tempat 1 IEEE International Conference on
Electrical Control & Computer Engineering (INECCE 2011)
FPGA Based
Processing of Digital Signals using Walsh Analysis
21 – 22 Juni 2011, Pahang, Malaysia
23 2 IEEE International Conference on
Advances in Computing, Control and Telecommunication
Technologies (ACT 2010)
FPGA Based Analysis and Multiplication of Digital Signals
2 – 3 Desember 2010, Jakarta
G. Karya Buku dalam 5 Tahun Terakhir
No. Judul Buku Tahun Jumlah
Halaman
Penerbit
1
H. Perolehan HKI dalam 5–10 Tahun Terakhir
No. Judul/Tema HKI Tahun Jenis Nomor P/ID
1
I. Pengalaman Merumuskan Kebijakan Publik/Rekayasa Sosial Lainnya dalam 5 Tahun Terakhir
No. Judul/Tema/Jenis Rekayasa Sosial Lainnya yang Telah Diterapkan
Tahun Tempat
Penerapan
Respon Masyarakat 1
J. Penghargaan dalam 10 tahun Terakhir (dari pemerintah, asosiasi atau institusi lainnya) No. Jenis Penghargaan Institusi Pemberi Penghargaan Tahun
1
Semua data yang saya isikan dan tercantum dalam biodata ini adalah benar dan dapat dipertanggungjawabkan secara hukum. Apabila di kemudian hari ternyata dijumpai ketidak-sesuaian dengan kenyataan, saya sanggup menerima sanksi.
Demikian biodata ini saya buat dengan sebenarnya untuk memenuhi salah satu persyaratan dalam pengajuan Hibah Penelitian Bersaing
Banda Aceh, 28 November 2014 Ketua,
24
LAMPIRAN II: BIODATA ANGGOTA TIM PENELITI
A. Identitas Diri
1 Nama lengkap (dengan gelar) Hubbul Walidainy, ST, MT
2 Jenis Kelamin L
3 Jabatan Fungsional Lektor
4 NIP 197308262000121001
5 NIDN 0026087301
6 Tempat dan Tanggal Lahir Banda Aceh, 26 agustus 1973
7 E-mail hwalidainy@yahoo.com
8 Nomor Telepon/HP 0651 22905
9 Alamat Kantor Jl Syech Abdurrauf no 7, Darussalam 10 Nomor Telepon/Faks
11 Lulusan yang Telah Dihasilkan S-1 = 32 orang; S-2 = … orang; S-3 = … orang 12 Mata Kuliah yang Diampu
1. Dasar Telekomunikasi 2. Kalkulus 1 3. Elektronika Telekomunikasi 4. Analisis Numerik B. Riwayat Pendidikan S1 S2
Nama Perguruan Tinggi Univ. Gadjah Mada Univ. Gadjah Mada
Bidang Ilmu Teknik Elektro Teknik Elektro
Tahun Masuk-Lulus 1992-1998 1999-2003
Judul Skripsi/Tesis/Disertasi Studi Kelayakan UMTS Proses Adaptif untuk Menghapus Gema
Nama Pembimbing/Promotor Adhi Soesanto, MSc, PhD Prof. Adhi Soesanto, MSc, PhD
C. Pengalaman Penelitian Dalam 5 Tahun Terakhir
No Tahun Judul Pendanaan
Sumber Jml (Juta Rp) 1 2012 Laboratorium Eksperimen: Pengaturan Tinggi
Permukaan Cairan pada Tangki
Secara Otomatis Menggunakan UniTrain Berbasis PID
DIPA 15
D. Pengalaman Pengabdian Kepada Masyarakat dalam 5 Tahun Terakhir
No Tahun Judul Pendanaan
Sumber Jml (Juta Rp)
1 2014 Metode Efisiensi Area Integrated Circuit (IC) dengan Reduksi Wordlengths untuk Meningkat kan Kinerja Perangkat Komputasi Elektronik
DIPA 46
2 2012 Pelatihan Dasar Antena Dan Fiber Optik Untuk Siswa SMK Telkom di Kota Banda Aceh
25
E. Publikasi Artikel Ilmiah Dalam Jurnal dalam 5 Tahun Terakhir
No Judul Artikel Ilmiah Nama Jurnal Volume/
Nomor/Tahun 1 Design of Linear Congruential
Generator based on Wordlengths Reduction Technique into FPGA
International Journal of Electronics Communication Computer Engineering Volume 5 / Nomor 4 / Tahun 2014
2 Analisa Kegagalan Call pada BTS Flexy di PT Telkom Kandatel Banda Aceh
Jurnal Rekayasa Elektrika
Vol 9, no 1, april 2010
F. Pemakalah Seminar Ilmiah (Oral Presentation) dalam 5 Tahun Terakhir
No Nama Pertemuan Ilmiah
/Seminar
Judul Artikel Ilmiah Waktu dan Tempat
1 SNETE 2011 Analisis Network Error Pada Jaringan Lokal Akses Tembaga (JARLOKAT) Studi Kasus di Sto Kancatel
Lhokseumawe
24 oktober 2011
Semua data yang saya isikan dan tercantum dalam biodata ini adalah benar dan dapat dipertanggungjawabkan secara hukum. Apabila di kemudian hari ternyata dijumpai ketidak-sesuaian dengan kenyataan, saya sanggup menerima risikonya.
Demikian biodata ini saya buat dengan sebenarnya untuk memenuhi salah satu persyaratan dalam pengajuan Hibah Penelitian Bersaing.
Banda Aceh, 28 November 2014 Anggota I,
26
LAMPIRAN III: Publikasi Artikel pada Jurnal Internasional
Berikut adalah artikel yang telah dipublikasi pada Internasional Journal of Electronics
Copyright © 2014 IJECCE, All right reserved 809
International Journal of Electronics Communication and Computer Engineering Volume 5, Issue 4, ISSN (Online): 2249–071X, ISSN (Print): 2278–4209
Design and Implementations of Linear Congruential
Generator into FPGA
Zulfikar
Department of Electrical Engineering Syiah Kuala University, Banda Aceh 23111, Indonesia
Email: zulfikarsafrina@yahoo.co.id
Hubbul Walidainy
Department of Electrical Engineering Syiah Kuala University, Banda Aceh 23111, Indonesia
Email: hwalidainy@unsyiah.ac.id Abstract – This paper exposes circuit design of linear
congruential generator (LCG) and implementation in FPGA. The circuit is derived from LCG algorithm proposed by Lehmer. Wordlengths reduction technique has been used to simplify the circuit. Several nets connection among the blocks of the circuit are ignored or disconnected. Simulation either behavior or timing have been done successfully. Four best Xilinx chips are chosen to gather comparison data of maximum speed and area occupied. Kintex 7 is the fastest chip among all it is about 309 MHz and Spartan 6 is slowest one which is only 73 MHz. The area occupied is similar among all of the selected chips.
Keywords – Linear Congruential Generator, FPGA, Xilinx,
word lengths reduction, Kintex.1
I. INTRODUCTION
Random numbers have been used in daily activities since long times ago. Nowadays, a small and cheap kid’s toy containing a random number circuit inside it. For example, in a toy like (that mimic) mobile phone will ring different types of sound when the same button is pressed more than one time.
Several random numbers theory have been introduced in the last several decades. Linear congruential generator (LCG) that introduced 1954 by Lehmer [1] is the oldest and the most widely used pseudorandom number generator (PNG) [2]. Park & Miller suggest good parameters for LCG [3]. The suggestion is used in Matlab for generating uniform random numbers [4].
Many other random number generators have been proposed and also used in many applications. Blum BlumShub, Wichmann-Hill, Complementary multiply with carry, Inversivecongruential generator, ISAAC (cipher), Lagged Fibonacci generator, Linear feedback shift register, Maximal periodic reciprocals, Mersenne twister, Multiply-with-carry, Naor-Reingold Pseudorandom Function, RC4 PRGA, Well Equidistributed Long-period Linear, and Xorshift are some of the well-known methods [5]-[8].
Hardware for generating random number also available as well as its algorithm. The hardware have been used since 2008. LETech is the fastest among all hardware for computing random numbers, this hardware has been developed since 2008 [9], [10].
Research for finding the suitable algorithm of generating random number is well establish field until now. Many researchers use field programmable gate arrays (FPGA)
The authors gratefully acknowledge the financial support from Research Center of Syiah Kuala University, Indonesia under project Hibah Bersaing.
for testing their ideas. Several of these has been realized into hardware and sell into the market [5],[10].
Initially, the algorithm of LCG combined with MonteCarlo method has been used for generating non uniform random numbers using Matlab [11]. After that, we develop the circuit of random number generator and implemented in FPGA [12]. In the paper, the increment factor (c) has been ignored (c = 0). Beside, we present novel design and FPGA implementation of LCG algorithm without ignoring the increment.
The rest of this work report are organized as follows. Section II deals with theory of LCG algorithm. The design circuit of LCG for FPGA implementation and nets connections are covered in section III. Section IV provides some implementations data and analysis. Finally, the conclusions are viewed in section V.
II. LINEARCONGRUENTIALGENERATOR There is a popular method and most used to generate random number called linear congruential generator. The idea was introduced by Lehmer according to sequential formula in (1) [1].
m c aX
Xn1( n )mod (1)
Where m is modulus, a is multiplier, c is increment. Parameters a, c and m have to be chosen carefully in order to avoid repetition of similar numbers before m [6]-[8]. Park & Miller suggested a good results will be obtained by choosing c=0 [3].
The modulus m should be a large prime integer, multiplier a will be an integer in the range 2, 3, . . . , m-1. The cycle length of LCG will never exceed modulus m, but it can be maximized using three following conditions [7], [13]:
c is relatively prime to modulus m,
multipliera-1 is a multiple of every dividing modulus m,
multipliera-1 is a multiple of four when modulus m is a multiple of four.
III. LCG CIRCUITDESIGN A. General Circuit of LCG
Fig.1 shows block diagram LCG operation in general (seed is ignored). It requires multiplier, adder, comparator and subtractor blocks. Multiplier is used to multiple previous random value X with a, then add with increment c. After that it is compared to modulus m. The number is considered as random number if it is smaller or equal to m. Otherwise, the number then subtracted with m. The result of this is then consider as random number.
Co Inter
The block diagram of Fig. 1 is inv operation such as multiplication, additio comparison. In order simplify the proc designed using word lengths reduction been suggested in [14]. Then subtarcto blocks can be removed, as shown in the F
The designed circuit consist of multiplier, an adder, a buffer (required buffers (required enable). Ports input S used to pass initial value, multiplier and circuit. Meanwhile, port O is used to resulted random numbers.
Fig.2. The circuit is controlled by two signals Initially, signal reset have to be HIGH clear the previous stored values in the enable determine when the operation s Pre-defined value (seed), increment and be available at the input ports before e (reset=LOW). Then, every times cloc random number resulted. Fig.3shows the signal controls.
Fig.3. Signal controls of the designe B. Wordlengths Reduction
The circuit of Fig. 2 can be used for The reduction of word lengths have to c to avoid undesirable operation result. LCG is designed for using maximum w bit, the nets configurations of multiplie block are shown in the Figs. 4 and 5.
opyright © 2014 IJECCE, All right reserved 810
ternational Journal of Electronics Communication an Volume 5, Issue 4, ISSN (Online): 2249–071X, involving arithmetic
ition, subtraction and ocess, the circuit is n technique that has ctor and comparator
e Fig. 2.
a multiplexer, a ed clear), and three Seed, A and C are d increment into the to taking out the
Fig.1. Block diagram o
2. General circuit of linear congruential generator als enable and reset.
GH (enable=LOW) to the buffer B4. Signal n should be started. d multiplier have to enable goes HIGH lock goes HIGH, a the circuit of the two
ned LCG circuit
r any word lengths. to construct carefully lt. For example, the word lengths of 8 lier block and adder
Fig.4. Word lengths reductio
Fig.5. Word lengths reduc Based on arithmetic rules an multiplication of B4(8 bit) and bit at the output. In the des (disconnected) the seven-highe this design is shown in the Fig. same thing to the nets of adder (M(8)) disconnected as shown in
and Computer Engineering X, ISSN (Print): 2278–4209
m of LCG operation
ction in multiplier’s block
uction in adder’s block and to reduce area [15], the d B1(8 bit) would require 15 esign, we simply truncated her nets (X(8) up to X(14)), g. 4. Similarly, we can do the er. In this case only one net n in the Fig. 5..
Co Inter
IV. IMPLEMENTATIONS ANDD A. Behavior Simulation
The circuit in the Fig. 2 has been FPGA program. The simulations have Xilinx ISE design suite. Some importan result is shown. The comparison of are been done over several Xilinx’s chips.
Fig.6. Simu
Fig.7. Simu
Fig.8. Simu B. Synthesis result
Some important synthesis data of the using modulus m=255 into Xilinx Virtex HDL Synthesis Report Macro Statistics # Multipliers : 1 8x8-bit multiplier : 1 # Adders/Subtractors : 1 16-bit adder : 1 # Registers : 4 8-bit register : 4 # Multiplexers : 1
8-bit 2-to-1 multiplexer : 1 ---Slice Logic Utilization:
Number of Slice Registers: 16 out of Number of Slice LUTs: 10 out of Number used as Logic: 10 out of Slice Logic Distribution:
opyright © 2014 IJECCE, All right reserved 811
ternational Journal of Electronics Communication an Volume 5, Issue 4, ISSN (Online): 2249–071X,
DISCUSSIONS
n implemented into ve been done using tant data of synthesis rea and speed have
Fig.6 shows behavior simu m=255, seed=7, multiplier a=3 be seen the resulting numbers a and all numbers are smaller than Figs.7 and 8 show behavior si m=216–1 and m=231–1 respe produced there never exceed mo
mulation behavior result of m=255, seed=7, a=3, c=1
mulation behavior result of m=216-1, seed=7, a=3, c=1
mulation behavior result of m=231-1, seed=7, a=3, c=1
the designed circuit tex 7 chip are:
---f 437600 0% of 218800 0% of 218800 0%
Number of LUT Flip Flop pairs Number with an unused Flip Flo Number with an unused LUT: Number of fully used LUT-FF p Number of unique control sets: ---Minimum period: 3.710ns 269.513MHz)
Minimum input arrival time bef Maximum output required time Maximum combinational path d From HDL synthesis report, an 8x8-bit multiplier, 16-bit ad 8-bit 2-to-1 multiplexer. In term the design occupies 16 slice re The distribution of slice logic f 9 for fully used LUT-FF pairs, unused flip-flop. The circuit als sets.
and Computer Engineering X, ISSN (Print): 2278–4209 mulation result of modulus =3 and increment c=1. It can s are random starting from 7
an 255.
r simulation result of modulus pectively. Also all number modulus. irs used: 17 Flop: 1 out of 17 5% : 7 out of 17 41% F pairs: 9 out of 17 52% s: 2 ---s (Maximum Frequency: efore clock: 2.023ns e after clock: 0.575ns th delay: No path found
rt, the design circuit requires adder, four 8-bit register and rms of slice logic utilization, registers and 10 slice LUTs. ic from total amount of 17 are s, 7 to unused LUT and 1 for also requires 2 unique control
Co Inter
The speed of the circuit limited to when it is implemented into Virtex 7 arrival time before clock is 2.023 ns. Th should be available at input port befo maximum output required time after cloc
D. Comparison
Four best Xilinx chips has been ch compare the speed and area of the design shows comparison of maximum frequ modulusm=255 (8 bit), m=216-1 (16 bit) bit) over Virtex 7, Spartan 6, Kintex 7 an
Table I : Maximum frequency comparis chips
Chips Maximum Freque
8 bit 16 bit
Virtex 7 270 270
Spartan 6 154 154
Kintex 7 309 270
Zynq 272 272
For m=255, the fastest chip is Kintex one is Spartan 6, but for m=216–1, th Zynq. In general, Kintex 7 is the fastes the slowest chip. A more clear view of seen graphichally in the Fig. 10.
Fig.10. Comparison of maximum freque chips
Table II views area comparison am chips. It can be seen that all chip occup For m=255, the chips required 16 slices
opyright © 2014 IJECCE, All right reserved 812
ternational Journal of Electronics Communication an Volume 5, Issue 4, ISSN (Online): 2249–071X, to around 270 MHz
7. Minimum input This means the data fore that time. The lock is 0.5775 ns.
C. Timing Simulation Fig.9 shows a close look of There are some glitches when th to 202. This is because time varied. This variation range fr (post-PAR static timing report).
Fig.9. A close view of timing simulation
chosen in order to igned circuit. Table I quency required for bit) and m=231-1 (31 and Zynq chips.
rison among Xilinx uency (MHz) it 31 bit 139 73 158 140 tex 7 and the slowest
the fastest chips is test and Spartan 6 is of this figure can be
uency among Xilinx
among four Xilinx upies the same area. s and 10 LUTs. The
area becomes twice when usin Meanwhile when the modulus occupied slices and LUTs incr Figs. 11 and 12 show a more cle
Table II: Area occupies
Chips
Are
8 bit
Slices LUTs Slic
Virtex 7 16 10 32
Spartan 6 16 10 32
Kintex 7 16 10 32
Zynq 16 10 32
Fig.11. Comparison of slice utiliz
Fig.12. Comparison o
and Computer Engineering X, ISSN (Print): 2278–4209
of timing simulation result. n the number change from 67 e from clock edge to pads from 9.399 ns to 9.818 ns t).
ing modulus around 16 bits. s is changed to 31 bits, the crease to around three time. clear views of this behavior. ies among Xilinx chips
rea Occupies
16 bit 31 bit
lices LUTs Slices LUTs
32 18 92 63
32 18 92 63
32 18 92 63
32 18 92 63
tilization among Xilinx chips
Copyright © 2014 IJECCE, All right reserved 813
International Journal of Electronics Communication and Computer Engineering Volume 5, Issue 4, ISSN (Online): 2249–071X, ISSN (Print): 2278–4209
V. CONCLUSION
Design and implementation of linear congruential generator into FPGA have been done successfully. It is required special care of wordlengths connecting among the blocks of the circuit. By applying wordlengths reduction technique, a more efficient circuit has been obtained.
The maximum frequency of the design circuit is 309 MHz (Kintex 7, m=255), and the minimum frequency is 73 MHz (Spartan 6, m=231–1). Kintex 7 is the best chip of applying the design LCG circuit.
Further improvement of the design may be obtained by analyzing behavior of seed, multipliera and increment c. Finally, it is difficult to compare the result to the previous works since there is no available similar circuit or method before.
REFERENCES
[1] D. H. Lehmer, “Random number generation on the BRL high speed computing machines,” by M. L. Juncosa. Math. Rev. 15 (1954), 559
[2] http://en.wikipedia.org (2014) - Linear congruential generator, 10th March http://en.wikipedia.org/wiki/ Linear_congruential _generator
[3] S. K. Park, and K. W. Miller, “Random number generators: good ones are hard to finnd,” Association for Computing Machinery, 31(10), pp: 1192-2001, 1988.
[4] Numerical Computing with MATLAB, By Cleve B. Moler,
SIAM,2008
[5] http://en.wikipedia.org (2014) - List of random number generators, 11th March http://en.wikipedia.org/wiki/List_of_ random_number_generators
[6] N. Harald, “Random Number Generation and Quasi-Monte Carlo Methods,” Society for lndustrial and Applied Mathematics, Philadelphia, 1992.
[7] A note on random number generation, Christophe Dutang and Diethelm Wuertz, September 2009
[8] Wolfram Mathematica ® Tutorial Collection, RANDOM NUMBER GENERATION, 2008
[9] http://www.letech.jpn.com (2014) - Genuine Random Number Generator (GRANG), 10th March http://www.letech.jpn.com/ rng/about_rng_e.html
[10] http://en.wikipedia.org (2014) - Comparison of hardware random number generators, 10th March http://en.wikipedia.org/wiki/ Comparison_of_hardware_random_number_generators [11] Zulfikar, “Generating Non Uniform Random Numbers Using
Residue and Rejection Methods,” Transaction of Journal
Rekayasa Elektrika, Vol. 8 No. 2, October 2009
[12] Zulfikar, “FPGA Implementations of Uniform Random Number based on Residue Method,” Transaction of Journal Rekayasa
Elektrika, Vol. 11 No. 1, April 2014
[13] D. E. Knuth, “The Art of Computer Programming: seminumerical algorithms,” Vol. 2,3rd edition edn,
Massachusetts: Addison-Wesley, 2002
[14] Zulfikar, “Novel Area Optimization in FPGA Implementation Using Efficient VHDL Code,” Transaction of Journal Rekayasa
Elektrika, Vol. 10 No. 2, October 2012
[15] Zulfikar, Abbasi, S A and Alamoud A R M, “FPGA Based Complete Set of Walsh and Inverse Walsh Transforms for Signal Processing,” Transaction of Electronics and Electrical Engineering Journal, Vol.18. No. 8, Pp: 3-8, October 2012.
AUTHOR’SPROFILE
Zulfikar
was born in Beureunuen, Aceh, Indonesia, in 1975. He received his B.Sc. degree inElectrical Engineering from North Sumatera University, Medan, Indonesia, the M. Sc. Degree inElectrical Engineering from King Saud University, Riyadh, Saudi Arabia, in 1999 and 2011,respectively.
He joined as teaching staff in the Department of Electronics at Politeknik Caltex Riau, Pekanbaru, Indonesia in 2003. He served as head of Industrial Control Laboratory, Politeknik Caltex Riau from 2003 to 2006. In 2006, he joined the Electrical Engineering Department, Syiah Kuala University.His current position is head of Digital Laboratory, and his current research interests include VLSI design and System on Chips (SoC).
Hubbul Walidainy
was born in Banda Aceh, Aceh, Indonesia, in 1973. He graduated from Electrical Engineering Department at Gadjah Mada University, Yogyakarta, Indonesia, in 1998. The Master Degree inElectrical Engineering from Gadjah Mada University, Yogyakarta, Indonesia, in 2003.
He joined in the Department of Electrical Engineering, Syiah Kuala University,Aceh, Indonesia in 2000, as a teaching staff.His current position is the head of Telecommunication Laboratory.