JETri, Volume 4, Nomor 1, Agustus 2004, Halaman 13-20, ISSN 1412-0372
PERANCANGAN DAN IMPLEMENTASI CHIP FAST MULTIPLIER TRACHTENBERG METODE DUA JARI DENGAN BAHASA PEMROGRAMAN PERANGKAT KERAS AHDL PADA EPF10K30ETC144-1 Thomas Dosen Jurusan Teknik Elektro-FTI, Universitas Tarumanagara Abstract This paper focuses on the process of designing and implementation of fast multiplier chip using Trachtenberg method that is usually used for fast arithmetic computation in learning calculation. By combining fast Trachtenberg method and fast hardware implementation in silicon chip, the faster multiplier will be produced. The performance of multiplier is essential part in determining the performance of digital signal processing system. In the era of digital system nowadays, it needs the faster signal processing system due to the massive data to be processed especially in the real time system. The process of chip design initiates with designing all modules needed to build the fast multiplier chip. After all the modules work properly by simulated verification, all the modules will be combined together to create the fast multiplier chip. There are two Trachtenberg methods, they are direct method and two finger method. In this paper, Trachtenberg Two Finger method is used for designing of fast multiplier on the EPF10K30ETC144-1 target device in AHDL (Altera Hardware Description Language) code. Based on the results of the verification process, Trachtenberg two finger method fast multiplier can work properly in 27.47 MHz maximum speed using 76 % of the target device. Keywords: Design, implementation, fast, multiplier, Trachtenberg, chip, Two Finger method.
1. Pendahuluan Metode cepat matematika dasar Trachtenberg ini sering juga disebut “stenografi matematika”. Metode ini hanya memerlukan kemampuan menghitung dari satu sampai sebelas, meniadakan pembagian panjang seperti yang dikenal, dan menghilangkan daftar perkalian. Berdasarkan sejumlah “kunci” yang sederhana, metode ini mudah dikuasai dan membawa serta keuntungan berupa kecepatan lebih besar, kemudahan dalam menangani bilangan, dan ketepatan yang makin meningkat. Perhitungan matematika dapat diselesaikan dalam waktu kurang dari 30 persen dari biasanya, dan metode dengan sistem pengecekan cepat ini menjamin 99 persen dalam ketepatannya. Dalam kegunaannya, “sistem kilat matematika dasar ini dapat membuat tiap orang dewasa biasa menjadi
JETri, Volume 4, Nomor 1, Agustus 2004, Halaman 13-20, ISSN 1412-0372
kalkulator yang sangat terampil, cepat, dan tepat” (Soeparmo, 1990: 7). Jakow Trachtenberg, pendiri Institut Matematika di Zurich, Swis, dan pencipta sistem baru aritmatika, mempunyai keyakinan bahwa setiap orang dilahirkan di dunia ini dengan “potensi berhitung yang tak ada taranya”(Soeparmo, 1990: 7). Sistem Trachtenberg ini berdasarkan prosedur yang sama sekali berbeda dari metode konvensional yang biasa dipelajari. Tidak perlu daftar perkalian atau pembagian. Untuk mempelajari sistem ini hanya perlu dapat menghitung. Metodenya berdasarkan pada sederetan “kunci” yang memang harus dihafal. Tetapi, bila “kunci-kunci” itu sudah dikuasai, maka matematika menjadi mudah dan menyenangkan karena dapat “membaca’ bilangan. Meskipun terdapat juga kesalahan dalam perhitungan, tetapi pada umumnya sistem ini menjamin betulnya perhitungan tidak kurang dari 99 % (Soeparmo, 1990: 8). Karena cepatnya perhitungan matematika dengan metode Trachtenberg ini, maka tentunya kalau direalisasikan secara perangkat keras akan menghasilkan suatu prosesor matematika yang sangat cepat. Untuk membuat sistem pengolahan sinyal digital yang real time sangat diperlukan prosesor sinyal digital yang super cepat. Kecepatan suatu prosesor sinyal digital sangat bergantung pada kecepatan prosesor itu melakukan multiply. Makin cepat prosesor sinyal digital melakukan multiply, maka makin cepat proses pengolahan sinyal digital tersebut. Adanya prosesor sinyal digital yang cepat tentu sangat membantu dalam mewujudkan suatu sistem pengolahan sinyal digital yang real time. Multiplier merupakan bagian yang sangat berperan dalam menentukan kecepatan proses pada prosesor pengolahan sinyal digital. Dalam era sistem digital sekarang ini diperlukan sistem yang serba real time tentunya memerlukan prosesor sinyal digital yang makin cepat mengingat data yang diolah makin banyak dan makin cepat perubahannya.
Suatu sistem pengolahan sinyal digital yang real time sangat banyak menggunakan operasi matematis perkalian. Masalahnya adalah bagaimana membuat operasi matematis perkalian ini dapat berjalan makin cepat. Dalam penelitian ini dilakukan perancangan perangkat keras fast multiplier 4 digit kali 4 digit dengan keluaran 8 digit menggunakan cara Trachtenberg metode dua jari dengan bahasa pemrograman perangkat keras AHDL. Fast multiplier ini dirancang untuk
14
Thomas, Perancangan Dan Implementasi Chip Fast Multiplier Trachtenberg Meroda Dua Jari
mendapatkan kecepatan yang tinggi dengan memanfaatkan kecepatan metode Trachtenberg dan kecepatan komponen-komponen semikonduktor. Fast multiplier metode Trachtenberg ini akan direalisasikan dalam kode bahasa Altera Hardware Description Language (AHDL). Untuk pengujiannya dilakukan dengan simulasi dengan menggunakan suatu divais target tertentu yang sudah memperhitungkan waktu tunda divais. Masalahnya adalah bagaimana merancang Fast multiplier dengan memanfaatkan kecepatan metode Trachtenberg dan kecepatan komponenkomponen semikondukto.
2. Perancangan dan Implementasi Fast Multiplier Trachtenberg metode dua jari Fast Multiplier Trachtenberg metode dua jari ini dibuat dengan nama berkas duajari7.tdf. Berkas ini menggunakan modul-modul yang telah dibuat sebelumnya yaitu: multiply47.tdf, reg7bit.tdf, b2d7bit.tdf dan reg4bit.tdf. Multiply47.tdf dipakai untuk melakukan perkalian 1 digit, reg7bit dipakai untuk menyimpan data-data sementara, b2d7bit dipakai untuk memisahkan puluhan dan satuan, sedangkan reg4bit dipakai untuk menyimpan bilangan masukan pada waktu proses loading data. Fast Multiplier Trachtenberg metode dua jari ini merupakan rangkaian sekuensial sinkron terhadap clk dengan 8 buah state. Nama-nama state yang digunakan adalah s1, s2, s3, s4, s5, s6, s7 dan s8. Pada state s1, chip melakukan loading data yaitu mengambil masingmasing bilangan a4, a3, a2, a1, b4, b3, b2, b1 yang kemudian masingmasing disimpan di register 4 bit ra4, ra3, ra2, ra2, rb4, rb3, rb2, rb1 bila ada sinyal masukan SC (Start of Computation) berlogika 1. Setelah selesai melakukan loading data, chip ini pindah ke state s2. Pada state s2, chip ini mulai melakukan komputasi untuk menghasilkan keluaran q1 yaitu: 1. melakukan perkalian ra1 dengan rb1, hasil perkalian satuan merupakan q1 yang disimpan sementara di register rq1, sedangkan hasil perkalian puluhan disimpan sementara di register r1 untuk dipakai untuk komputasi pada state berikutnya. 2. melakukan perkalian ra1 dengan rb2, hasil perkalian satuan disimpan sementara di r2, sedangkan hasil perkalian puluhan disimpan sementara di register r3 untuk dipakai pada komputasi berikutnya.
15
JETri, Volume 4, Nomor 1, Agustus 2004, Halaman 13-20, ISSN 1412-0372
3. melakukan perkalian ra2 dengan rb1, hasil perkalian satuan disimpan sementara di r4, sedangkan hasil perkalian puluhan disimpan sementara di register r5 untuk dipakai pada komputasi berikutnya. 4. pindah ke state s3. Pada state s3, chip ini melakukan komputasi lanjutan untuk menghasilkan keluaran q2 yaitu: 1. melakukan penjumlahan hasil simpanan pada register r2, r4 dan r1 yang hasil satuannya merupakan q2 yang disimpan sementara di register rq2, sedangkan hasil puluhannya disimpan sementara di register pq untuk dipakai pada komputasi di state berikutnya. 2. melakukan perkalian ra1 dengan rb3, perkalian ra2 dengan rb2 dan perkalian ra3 dengan rb1. 3. bagian satuan dan puluhan hasil perkalian ra1 dengan rb3 masingmasing disimpan pada register r2 dan r4 untuk dipakai untuk komputasi pada state berikutnya. 4. bagian satuan dan puluhan hasil perkalian ra2 dengan rb2 masingmasing disimpan pada register r1 dan r6 untuk dipakai untuk komputasi pada state berikutnya. 5. bagian satuan dan puluhan hasil perkalian ra3 dengan rb1 masingmasing disimpan pada register r7 dan r8 untuk dipakai untuk komputasi pada state berikutnya. 6. pindah ke state s4. Pada state s4, chip ini melakukan komputasi lanjutan untuk menghasilkan keluaran q3 yaitu: 1. melakukan penjumlahan hasil simpanan pada register r2, r1, r7, pq, r3 dan r5 yang hasil satuannya merupakan q3 yang disimpan sementara di register rq3, sedangkan hasil puluhannya disimpan sementara di register pq untuk dipakai pada komputasi di state berikutnya. 2. melakukan perkalian ra1 dengan rb4, perkalian ra2 dengan rb3 , perkalian ra3 dengan rb2 dan perkalian ra4 dengan rb1. 3. bagian satuan dan puluhan hasil perkalian ra1 dengan rb4 masingmasing disimpan pada register r2 dan r1 untuk dipakai untuk komputasi pada state berikutnya. 4. bagian satuan dan puluhan hasil perkalian ra2 dengan rb3 masingmasing disimpan pada register r7 dan r3 untuk dipakai untuk komputasi pada state berikutnya. 5. bagian satuan dan puluhan hasil perkalian ra3 dengan rb2 masingmasing disimpan pada register r5 dan r9 untuk dipakai untuk komputasi pada state berikutnya.
16
Thomas, Perancangan Dan Implementasi Chip Fast Multiplier Trachtenberg Meroda Dua Jari
6. bagian satuan dan puluhan hasil perkalian ra4 dengan rb1 masingmasing disimpan pada register r10 dan r11 untuk dipakai untuk komputasi pada state berikutnya. 7. pindah ke state s5. Pada state s5, chip ini melakukan komputasi lanjutan untuk menghasilkan keluaran q4 yaitu: 1. melakukan penjumlahan hasil simpanan pada register r2, r7, r5, r10, r4, r6, r8 dan pq yang hasil satuannya merupakan q4 yang disimpan sementara di register rq4, sedangkan hasil puluhannya disimpan sementara di register pq untuk dipakai pada komputasi di state berikutnya. 2. melakukan perkalian ra2 dengan rb4, perkalian ra3 dengan rb3 dan perkalian ra4 dengan rb2. 3. bagian satuan dan puluhan hasil perkalian ra2 dengan rb4 masingmasing disimpan pada register r2 dan r7 untuk dipakai untuk komputasi pada state berikutnya. 4. bagian satuan dan puluhan hasil perkalian ra3 dengan rb3 masingmasing disimpan pada register r5 dan r10 untuk dipakai untuk komputasi pada state berikutnya. 5. bagian satuan dan puluhan hasil perkalian ra4 dengan rb2 masingmasing disimpan pada register r4 dan r6 untuk dipakai untuk komputasi pada state berikutnya. 6. pindah ke state s6. Pada state s6, chip ini melakukan komputasi lanjutan untuk menghasilkan keluaran q5 yaitu: 1. melakukan penjumlahan hasil simpanan pada register r2, r5, r4, r1, r3, r9, r11 dan pq yang hasil satuannya merupakan q5 yang disimpan sementara di register rq5, sedangkan hasil puluhannya disimpan sementara di register pq untuk dipakai pada komputasi di state berikutnya. 2. melakukan perkalian ra3 dengan rb4 dan perkalian ra4 dengan rb3. 3. bagian satuan dan puluhan hasil perkalian ra3 dengan rb4 masingmasing disimpan pada register r2 dan r5 untuk dipakai untuk komputasi pada state berikutnya. 4. bagian satuan dan puluhan hasil perkalian ra4 dengan rb3 masingmasing disimpan pada register r4 dan r1 untuk dipakai untuk komputasi pada state berikutnya. 5. pindah ke state s7.
17
JETri, Volume 4, Nomor 1, Agustus 2004, Halaman 13-20, ISSN 1412-0372
Pada state s7, chip ini melakukan komputasi lanjutan untuk menghasilkan keluaran q6 yaitu: 1. melakukan penjumlahan hasil simpanan pada register r2, r4, r7, r10, r6 dan pq yang hasil satuannya merupakan q6 yang disimpan sementara di register rq6, sedangkan hasil puluhannya disimpan sementara di register pq untuk dipakai pada komputasi di state berikutnya. 2. melakukan perkalian ra4 dengan rb4. 3. bagian satuan dan puluhan hasil perkalian ra4 dengan rb4 masingmasing disimpan pada register r2 dan r4 untuk dipakai untuk komputasi pada state berikutnya. 4. pindah ke state s8. Pada state s8, chip ini melakukan komputasi lanjutan untuk menghasilkan keluaran q7 dan q8 yaitu: 1. melakukan penjumlahan hasil simpanan pada register r2, r5, r1 dan pq yang hasil satuannya merupakan q7 yang disimpan sementara di register rq7, sedangkan hasil puluhannya dijumlahkan dengan isi register r4 yang menghasilkan q8 yang disimpan sementara di register rq8. 2. pindah ke state s1. Setelah komputasi selesai, maka data pada register rq1 sampai rq8 dikeluarkan ke keluaran q1 sampai q8.
3. Pengujian Fast Multiplier Trachtenberg metode dua jari Hasil pengujian Fast Multiplier Trachtenberg metode dua jari dapat dilihat pada Gambar 1 sampai Gambar 5. Pada Gambar 1 sampai Gambar 3 chip ini diuji dengan beberapa data pengujian untuk menguji apakah chip ini secara fungsional berfungsi dengan baik. Dari hasil pengujian ini terlihat bahwa chip ini sudah berfungsi dengan baik yaitu dapat melakukan perkalian dengan benar. Pada Gambar 4 merupakan sebagian berkas report yang menyatakan bahwa jumlah divais yang terpakai oleh chip ini adalah 76 % divais target. Sedangkan pada Gambar 5 dilakukan pengujian kinerja chip ini yang menghasilkan kecepatan maksimum chip ini adalah 27,47 MHz.
18
Thomas, Perancangan Dan Implementasi Chip Fast Multiplier Trachtenberg Meroda Dua Jari
Gambar 1. Hasil pengujian Fast Multiplier Trachtenberg metode dua jari dengan data 1234 dan 2314 yang menghasilkan 2855476
Gambar 2. Hasil pengujian Fast Multiplier Trachtenberg metode dua jari dengan data 5678 dan 8765 yang menghasilkan 49767670
Gambar 3. Hasil pengujian Fast Multiplier Trachtenberg metode dua jari dengan data 9999 dan 9999 yang menghasilkan 99980001 ** DEVICE SUMMARY ** Chip/ POF
Device
Input Output Bidir Memory Memory Pins Pins Pins Bits % Utilized LCs % Utilized
duajari3 EPF10K30ETC144-1 34 User Pins:
34
33
33
0 0
0 % 1328
LCs
76 %
0
Gambar 4 Device Summary Fast Multiplier Trachtenberg metode dua jari
19
JETri, Volume 4, Nomor 1, Agustus 2004, Halaman 13-20, ISSN 1412-0372
Gambar 5 Hasil Registered Performance Fast Multiplier Trachtenberg metode dua jari
4. Kesimpulan Dari penelitian ini dapat diambil beberapa kesimpulan sebagai berikut: 1. Fast Multiplier Trachtenberg metode dua jari telah dirancang dengan bahasa perangkat keras AHDL dan diimplementasikan pada divais target EPF10K30ETC144-1 bekerja dengan baik sesuai fungsinya. 2. Kecepatan maksimum EPF10K30ETC144-1 ini pada divais target EPF10K30ETC144-1 adalah 27,47 MHz dengan jumlah divais yang diperlukan 76 %. 3. Jumlah Logic Cell pada divais target EPF10K30ETC144-1 yang terpakai oleh Fast Multiplier Trachtenberg metode dua jari ini adalah 1328 buah.
Daftar Pustaka 1. Soeparmo, 1990, Sistem kilat matematika dasar metode Trachtenberg, Jakarta, PT Rosta Jayaputra
20