e-Jurnal NARODROID. Vol. 1 No. 1 Januari 2015 E-ISSN : 2407-7712 DESAIN DAN SIMULASI PERANGKAT KERAS MULTIOPERAND MSB-FIRST ADDER BILANGAN BERTANDA MENGGUNAKAN VHDL Arief Budijanto Program Studi Teknik Elektro. Universitas Widya Kartika Surabaya ariefbudijanto@widyakartika. ABTRAKS Msb-First Adder merupakan metode penjumlahan bilangan bulat yang dilakukan mulai dari bobot bit yang paling signifikan terlebih dahulu atau dari bit paling kiri menuju kekanan. Metode pemjumlahan ini mempunyai kelebihan jika proses penjumlahan dibatasi oleh waktu . , karena yang dijumlahkan terlebih dahulu adalah bit yang mempunyai bobot paling signifikan. Selain itu metoda ini juga menunjukan kinerja yang lebih baik ketika digunakan untuk menjumlahkan bilangan banyak . Dalam penelitian ini dibuat suatu arsitektur MSB-First Adder yang diaplikasikan untuk komputasi Transformasi Fourier Diskrit (TFD). Tahapan yang dilakukan dalam peneltian ini adalah desain diagram blok arsitektur MSB-First Adder dan Arsitektur TFD yang menggunakan MSBFirst Adder, kemudian memodelkan dalam bentuk VHDL Code . Tahapan yang terakhir yaitu melakukan verifikasi dan analisis dari hasil komputasi TFD yang menggunakan MSB-First adder dibandingkan dengan TFD menggunakan LSB-First Adder dan MATLAB. Hasil akhir komputasi TFD Multioperand MSB-First dengan TFD LSB-First memperlihatkan hasil yang sama. Selain itu pada komputasi TFD Multioperand MSB-First tersedianya hasil-antara . ntermediate-resul. pada awal proses yang mendekati hasil akhirnya. Hasil ini tidak terjadi pada komputasi prosesor DFT LSB-First. Waktu yang dibutuhkan untuk proses komputasi TFD Multioperand MSB-First adalah 158,506 AAS, sedangkan TFD LSB-First adalah 55,308 AAS. Agar waktu komputasi TFD Multioperand MSB-First akan mendekati sama dengan waktu komputasi TFD LSB-First, jika pada bagian output memory (RAM dan ROM) dirubah menjadi 16 saluran output . iap saluran 16 bi. dan multiply nya disusun paralel sebanyak 16 Kata kunci: MSB-First Adder. LSB-First Adder. Hasil-Antara. VHDL. TFD mempunyai kinerja yang baik, terutama jika batas-waktunya lebih kecil dari waktu yang dibutuhkan oleh proses, sebagaimana telah dibahas pada makalah. Metoda ini juga menunjukan kinerja yang lebih baik ketika digunakan untuk menjumlahkan bilangan banyak . Kinerja yang telah dibuktikan dalam makalah . ,6,. masih terbatas pada bilangan Multioperand MSB-First Adder telah didesain sebatas desain arsitektur. belum sampai tahap implementasi dalam VDHL code. Dalam penelitian ini akan dibuat desain arsitektur Multioperand MSB-First Adder pada aplikasi arsitektur DFT (Descrete Fourier Transfor. menggunakan VHDL. PENDAHULUAN Metoda penjumlah konvensional (LSBFirst Adde. adalah metoda yang sering kali menjumlahkan suatu bilangan, yaitu dengan cara menjumlahkan bit yang bobotnya paling ringan terlebih dahulu . aling kana. , sedangkan menuju bobot paling berat . aling kir. Metoda ini akan mempunyai kelemanhan jika proses dibatasi oleh waktu. Jika batas-waktu . kurang dari waktu yang digunakan untuk melakukan proses maka hasil penjumlahan mempunyai tingkat akurasi yang rendah, ini merupakan konsekuensi dilakukannya penjumlahan dari LSB. Metoda Multioperand MSB-First Adder dilakukan dengan menjumlahkan bit yang bobotnya paling berat terlebih dahulu . aling kiri/paling signifika. dengan jumlah operand yang banyak. Metoda ini Bilangan Bulat Bertanda Dalam sistem bilangan desimal, tanda dari suatu bilangan ditunjukkan dengan E-ISSN : 2407-7712 e-Jurnal NARODROID. Vol. 1 No. 1 Januari 2015 sign-and-magitude simbol atau Ae sebelah kiri digit yang paling berarti . ost-significant digi. Dalam sistem biner tanda dari suatu bilangan ditunjukkan dengan bit yang letaknya paling kiri . eftmost bi. Untuk bilangan positif bit paling kiri sama dengan Ao0Ao, dan untuk suatu bilangan negatif sama dengan Ao1Ao. Dalam merepresentasi tanda dan bit-bit sisanya n Oe 1 merepresentasikan besaran. Seperti digambarkan dalam gambar 1. Lokasi bit yang paling kiri . ost significant bit (MSB)) iniliah yang membedakan antara bilangan bertanda . igned numbe. dengan bilangan tidak bertanda . nsigned numbe. Dalam merepresentasikan besaran dari suatu bilangan, sedangkan untuk signed number bit paling kiri ( MSB) adalah a n Oe1 dan sisanya sebagai. n Oe 2 i Oc 2 ai i =0 A= n Oe2 Oe Oc 2 ai i =0 Besaran . MSB (Most Significant Bi. a n-1 Tanda 0 menunujukan 1 menunujukan - a n-2 Bila a n-1 = 0 Bila a n-1 = 1 Terdapat beberapa kekurangan dalam representasi sign-and-magitude. Salah satunya adalah terdapat dua representasi untuk bilangan Ao0Ao : 010 = 0000 -010 = 1000 . ign-and-magnitud. Hal ini tidak sesuai untuk digunakan, karena akan menyulitkan pemeriksaan bilangan Ao0Ao saat suatu operasi yang sering tunggal. n Oe 1 adalah besarannya ( a nOe2 ,K a0 ). a n-1 Representasi 1Aos Complement Didalam cara 1Aos complement sebuah bilangan negatif K n-bit, didapatkan dengan mengurangkan ekivalen bilangan 2n Oe 1 . K = ( 2 Oe . Oe P . Sebagai contoh, jika n = 4 K = . Oe . Oe p = . 10 Oe P Jika = . 2 Oe P . dikonversikan menjadi suatu bilangan negatif, maka . Untuk lebih jelasnya, 1Aos complement dapat dilakukan dengan mengkomplemenkan tiap bit dari Besaran . MSB (Most significant bi. Bilangan Tak Bertanda . Bilangan Bertanda Gambar 1. Format Representasi Bilangan Bulat. Bilangan Negatif Bilangan negatif dapat direpresentasi dalam tiga cara yang berbeda, yaitu: tandadan-besaran . ign-and-magnitud. , komplement 1 . Aos complemen. , dan komplemen 2 . Aos complemen. bilangan, termasuk bit tandanya . ign bi. Representasi Sign-and-Magnitude Didalam representasi bilangan desimal yang sudah kita kenal, besaran dari kedua bilangan positif dan negatif diekspresikan dengan cara yang sama. Hanya simbol tanda yang membedakan suatu bilangan menjadi positif atau Cara ini disebut representasi bilangan sign-and-magnitude. Dengan cara yang sama dapat digunakan dalam bilangan biner pada bagian bit tandanya, untuk Ao0Ao berati bilangan positif dan Ao1Ao bilangan negatif. Sebagai contoh, jika kita menggunakan bilangan 4 bit, maka 5 = 0101 dan -5=1101. Karena kesamaanya dengan bilangan desimal sign-andmagitude, representasi ini mudah dimengerti. Secara umum representasi Representasi 2Aos Complement Representasi 2Aos complement adalah suatu cara yang digunakan untuk mengatasi kekurangan yang terdapat pada representasi sign-and-magnitude dan 1Aos Pada representasi sign-andmagnitude mempunyai dua nilai nol yaitu 0 ( 0000 ) dan -0 . , seperti yang sudah dijelaskan diatas. Untuk 1Aos mempunyai dua buah nilai nol, yaitu 0 . dan -0 . Cara 2Aos complement dapat dilakukan dengan menambah 1 komplemenkan . Aos complemen. Misal bilangan desimal -7. , untuk mencari nilai binernya maka -7. harus E-ISSN : 2407-7712 e-Jurnal NARODROID. Vol. 1 No. 1 Januari 2015 kedalam biner positif, yaitu Au0111Ay. Kemudian biner Au0111Ay Au1000Ay. Selanjutnya Au1000Ay tambahkan dengan Ao1Ao, sehingga didapatkan bilangan biner dari -7. adalah Au1001Ay. N Oe1 y. ] = Oc x. WNkn N Oe1 y. ] = Oc x. Ak. N ) Oe j sin. Akn N )} . Dari persamaan . spektrum dipisahkan ke N Oe1 Bagian Real : Re y. ] = x. Akn N ) Oc N Oe1 Bagian Imajiner : Im y. ] = Oe Oc x[ . Akn N ) n =0 Magnitude Phase : i =0 N Oe1 A Ia Oc R. ] < n Oe 1 > #0 @ n Oe j. i =0 ACC Ia A ACC. n Ia n Oe 1. j Ia j 1. kembali ke langkah no. 1,ulangi sampai n < 0 Pemjumlah Multioperand Bertanda . n =0 N Oe1 Bilangan k = 0 O k O N Oe1 2Akn 2Akn WNkn = cos Oe j sin Hitung: Oc R. ] < n Oe 1 >. MSB-First N-1 R[ N Oe 1K. < n Oe 1K 0 >. j := 1. ACC := 0 N-1 Im y[ ] Inverse DFT Persamaan untuk menghitung TFD adalah sebagai berikut. Untuk semua operand di dalam register Algoritma N-1 Gambar 4. Ilustrasi Transformasi Fourier Diskrit. Pemjumlah Multioperand Metoda MSB-Fisrt Bilangan Bertanda Algoritma Pemjumlah Multioperand MSB-First untuk Bilangan Bertanda yang dimodifikasi dapat dilihat pada gambar Algoritma ini yang diterapkan pada penyelesain perihitungan Transformasi Fourier Diskrit. DFT Pemjumlah Multioperand Metoda MSB-Fisrt Bilangan Tak Bertanda Metoda ini telah di kemukan pada makalah. Argoritma diperlihatkan pada gambar 2. Gambar Re y[ ] X[] Metoda Pemjumlah MSB-Fisrt Dalam sub bab ini dijelaskan beberapa metoda pemjumlah MSB-First untuk banyak . Domain Frekuensi Domain Waktu Tak Trasnformasi Fourier Diskrit Trasnformasi Fourier Diskrit (TFD) digunakan untuk mengubah sinyal diskrit dari domain waktu kedalam domain Ilustrasi TFD dapat dilihat pada : y[ k ] = {Re y[ k ]2 Im y. ]2 }1 2 k = arctan Im y. ] Re y. ] E-ISSN : 2407-7712 e-Jurnal NARODROID. Vol. 1 No. 1 Januari 2015 Gambar 5. komputasi TFD secara l Input biner Ie D = Dn Oe1 Dn Oe 2 K D1 D0 Cek. Bit MSB input biner? jika MSB = Ao1Ao RPISO ( positif ) [ N Oe 1K. < n Oe 1K0 >Ia 2' S comp( D[ N Oe 1K. ) < n Oe 1K0 >. jika MSB = Ao0Ao RPISO ( negatif ) [ N Oe 1K. < n Oe 1K0 >Ia ( D[ N Oe 1K. ) < n Oe 1K0 >. ACC < p Oe 1K0 > . i = 0. k = p. ACC = 0. Untuk pencacah Ao1Ao bilangan positif dan negatif. Hitung: N Oe1 N Oe1 i =0 i =0 X Ia Oc RPISO ( negatif ) . ] < . Oe . Y Ia Oc RPISO ( positif ) . ] < . Oe . et: Z adalah bilangan bertanda 2AoS com. Hitung: Z Ia Y Oe X . A Ia Z n Oe1 @( p Oe k ) Z #0 @ n Oe 1. ACC Ia A ACC. k Ia k Oe 1. n Ia n Oe 1. ulangi ke langkah no. 3 sampai n < 0 Gambar 3. Algoritma Pemjumlah Multioperand MSB-First untuk Bilangan Bertanda yang dimodifikasi. Arsitektur MSB-First Adder Desain arsitektur Msb-First Adder untuk bilangan bertanda ditunjukkan pada Arsitektur tersebut terdiri d yari dintegrasikan jadi satu. Fungsi dari tiap-tiap komponen dapat dilihat dalam tabel 1. Dalam TFD penelitian ini menggunaka algoritma TFD dengan metoda komputasi secara langsung (Direct Computation of the DFT) . Algoritma tersebut dapat dilihat pada gambar 5. Tabel 1. Fungsi Komponen Arsitektur MSB-First Adder Nama Komponen Converter Neg to Pos Dekoder 4 to 16 Gambar 5. komputasi secara TFD langsung Register PISO METODOLOGI PENELITIAN Metodologi perancangan sistem dalam penelitian ini ditunjukkan dengan diagram alir yang dapat dilihat pada gambar 5. Leading One Bit Placer P e ra n c a n g a n k o m p o n e n k o m p o n e n p ro s e s o r D F T d a n k o n e k s i a n ta r k o m p o n e n n y a Accumulator P eran can g an Pendukung Fungsi Mengubah bilangan negatif menjadi positif dengan cara mendeteksi sign bit bialangan biner Sebagai dekoder alamat PISO Register geser untuk menggeser data dari masukan paralel 32 bit dengan keluaran bit per bit Berfungsi sebgai pencacah banyaknya bilangan Ao1Ao negatif dan positif Digunakan untuk menempatkan posisi data (D= D4 D3 D2 D1 D0 ) yang merupakan keluaran dari dari rangkaian Leading One Untuk mengakumulasi dari hasil perkalian bilangan imajiner . oefisien si. dan bilangan real . oefisien co. A rs ite k tu r P ro s e s o r D F T P e m o d e la n k o m p o n e n k o m p o n e n p ro s e s o r D F T d a l a m V H D L C o d in g Sedangkan penerapan arsitektur Msb-First Adder untuk komputasi TFD ditunjukkan pada gambar 6. P eran can g an V H D L C o d i n g ( M A X P L U S 1 0 . P r o s e s u n tu k p e n g e c e k a n k e s a l a h a n s in ta k s V H D L c o d i n g & m e n s im u la s ik a n d a l a m b e n tu k d i a g r a m w a k t u K o m p i la s i & S i m u l a s i (M A X P L U S 1 0 . P r o s e s u n tu k p e n g e c e k a n d a n a n a l is a h a s i l s im u la s i u n tu k m e n g e ta h u i p e rfo rm a n s i ra n c a n g a n s i s te m V e r if i k a s i & A n a l is a E-ISSN : 2407-7712 e-Jurnal NARODROID. Vol. 1 No. 1 Januari 2015 BitMSB Input . Load PISO 0 Finish Clk Reset Clk Reset Clk Reset BitMSB Input . Neg to Pos Converter Bit. Input . Load PISO 1 Finish Clk Clk BitMSB Input . Load PISO 2 Finish Ones . BitMSB Leading Ones Convert . Dari Output Multiply Bagian Real Data . Input . PISO 14 Finish Clk Reset Clk Finish Reset Clk Reset PISO 15 BitPlacer Load OnesNeg . Decoder 4 To 16 Input . InAddReal . BitMSB Ones . Subtractor OnesPos . Load Sel. Clk Accumulator BitMSB Output Real . Reset EnAdd Clk Clk BitMSB Y14 Y15 Input . Load PISO 0 Finish Clk Reset Clk Reset EnAdd Clk Reset Clk Address . Clk Input . Load PISO 1 Finish Clk Reset Clk Reset Ones . Leading Ones BitMSB Data . BitMSB Input . Load PISO 2 Finish Reset Reset Clk Input . Load PISO 14 Finish Reset Clk TDelay Dly1 Clk Count. CountShift Clk BitMSB Dly2 Reset Gambar 6. Arsitektur Msb-FirstAdder untuk Bilangan Bertanda BitMSB Input . Address . Load PISO 15 Finish Clk Reset Clk Reset Reset Reset Shift Active Load Clk Clk Clk Reset Finish MSB-First Adder CtrPlacer. EnLDOnes Reset CtrLoad ReadRam. AddRom. EnLDOnes CtrLoad Adec . Clk Clk Sel. Reset Clk Clk Count Enadd EnOut. Sel . Sel. Reset Clk Count. EnOut. EnBitPlcr CtrPlacer. CountBuff. C O N T R OL U N I T Reset CtrPlacer. Adec . CountBuff. EnLDOnes CountBuff. CountIndex. OutImag. Clk Reset IndexOutMSB Clk Reset Clk Reset Clk Addr. Clk EnLDOnes Sel . SelMux. Clk Count. Clk WriteRAM. Reset PISO 15 Reset TBuffer Reset Clk PISO 1 D_Real. BitMSB PISO 0 OutReal. Neg to Pos Converter Reset TBuffer Input . Accumulator Clk EnBitPlcr PISO 15 Sel . Reset Clk CountBuff. PISO 1 BitPlacer Clk EnOut. PISO 0 Ones . Count Enadd OutReal. Clk Reset Reset 1'S Counter Reset Reset Clk Data . InSin. Reset Clk AddRom. Reset Convert . Reset Multiply Clk InX. CoefSin. ImagMulOut. Addr. Clk PISO 1 Clk PISO 15 Y15 Reset EnBitPlcr D_Real. CoefCos. Twidle ROM PISO 0 OutReal. PISO 15 Clk Accumulator Sel. Clk Reset Clk Decoder 4 To 16 InCos. Reset Clk BitMSB PISO 1 PISO 0 BitPlacer WriteRAM. Neg to Pos Converter Data . Multiply SelMux. Clk We Reset ReadRam. Input . InX. RealMulOut. Clk En Reset Qout. Ones . RAM DATA Clk 1'S Counter InputXn Convert . INPUT Xn Clk Index. DFT Processor With MSB First- Adder Gambar 7. Arsitektur Msb-First Adder untuk komputasi TFD Implementasi VHDL Code VHDL Code dibuat dengan metoda pendeskripsian perilaku dari suatu rangakian Diagram blok implementasi VHDL code berdasarkan hirarkinya ditunjukkan pada menyempurnakannya sebelum melakukan implementasi rangkaian pada tingkat yang lebih rendah . op-down modellin. e-Jurnal NARODROID. Vol. 1 No. 1 Januari 2015 E-ISSN : 2407-7712 Gambar 9. Diagram Blok Verifikasi Arsitektur Komputasi TFD menggunakan Multioperand MSB-First Adder TopDFTMSB CuDFTKonv HoldROM HoldBuf WriteRAM HoldPlcr HoldRAM Count32 Count32 TDelay1 LeadingOnes32Bit BitPlacer36Bit LeadingOnes32Bit BitPlacer36Bit LeadingOnes32Bit TBufferMSB LeadingOnes32Bit IndexOutMSB Count32 AguReadRAM TFD dari sinyal random yang sampling 16 point dengan frekuensi sampling 10000 Hz ditunjukkan pada gambar 9. MultiplyNew Holdidx Hasil Simulasi Hasil simulasi dari pengujian komputasi TDelay1 MulImagNew MulRealNew Mult22 Mult22 Mult21 Mult21 AguROMNew CuPISO Addecoder LoadCuk Subtractor Subtractor Converter Converter CoCos CoSin Acc36Bit TopPisoPosNeg32Bit Dec4To16Wen ShiftReg32BitPos ShiftReg32BitNeg ShiftReg32BitPos ShiftReg32BitNeg LatchPiso32Bit LatchPiso32Bit TopRam Gambar 9. Sinyal Random disampling 16 point dengan frekuensi sampling . s=10000H. MUX16Bit TopReg DFF16 DFF16 DFF16 DFF16 DFF16 Dec4To16Wen DFF16 DFF16 DFF16 DFF16 DFF16 DFF16 DFF16 DFF16 DFF16 DFF16 DFF16 Keterangan : Hirarki Ke 1 Hirarki Ke 2 Hirarki Ke 3 Hirarki Ke 4 Gambar 8. Implementasi VHDL code Msb-First Adder untuk Komputasi TFD . HASIL DAN PEMBAHASAN Verifikasi Verifikasi dilakukan untuk menguji kebenaran rancangan arsitektur komputasi TFD yang menggunakan Multioperand MSBFirst Adder dibandingkan dengan komputasi LSB-First Adder dan matlab. Diagram blok verifikasi sistem ditunjukkan pada gambar 9. Software Referensi DFT Matlab Sinyal Input DFT LSB-First Adder Output DUV DFT MSB-First Adder E-ISSN : 2407-7712 e-Jurnal NARODROID. Vol. 1 No. 1 Januari 2015 A DFT MSB-First pada awal proses tersedia intermediate result yang mendekati hasil . Gambar 10. Grafik Magnitude dari komputasi DFT 16 point untuk sinyal random . TFD LSB-First Adder . TFD MSB-First Adder Gambar 12. Intermediate-Result output y. dari komputasi DFT sinyal random Saran Pengembangan Dari hasil perbandingan waktu TFD MsbFirst Adder dan Lsb-First Adder . A TFD MSB-First dalam menyelesaikan komputasi akan mempunyai waktu yang sama atau mendekati sama dengan TFD LSB-First, jika dilakukan modifikasi rancangan arsitekturnya pada bagian memory (ROM dan RAM ) dan multiply A Gambar rancangan arsitektur bagian memory (ROM dan RAM ) dan multiply yang dimodifikasi sbb: 16 Bit Out 0 Input Xn Out 1 16 Bit 16 Bit RAM Perbandingan Waktu Komputasi TFD Addr Load OE Out N-1 16 Bit Register 0 16 Bit Multiply 1 Control Unit A Waktu Komputasi TFD 16 point Dengan LSB-First Adder = 55,308 AAS Dengan MSB-First Adder = 158,506 AAS A Komputasi DFT MSB-First dengan TFD LSB-First mempunyai hasil yang sama Multiply 0 Gambar 11. Grafik phase dari komputasi DFT 16 point untuk sinyal random 16 Bit Register 1 16 Bit Addr Out 0 Twidle ROM Out N-1 16 Bit Multiply N-1 16 Bit Out 1 16 Bit Register N-1 E-ISSN : 2407-7712 e-Jurnal NARODROID. Vol. 1 No. 1 Januari 2015 James O. Hamblen & Michael D. Furman. Rapid Prototyping of Digital Systems: A Tutorial Approach. Kluwer Academic Publisher. USA. Janick B. Writing Testbenches Fuctional Verification of HDL Models. Kluwer Academic Press,New York. Kuspriyanto. Kerlooza. , . Gambar 13. Modifikasi Arsitektur Memori KESIMPULAN Berdasarkan hasil dari verifikasi dan analisa dapat ditarik kesimpulan sebagai berikut: Hasil akhir komputasi prosesor DFT Multioperand MSB-First dengan prosesor DFT LSB-First memperlihatkan hasil yang Pada DFT Multioperand MSB-First intermediate-result pada awal proses yang mendekati hasil akhirnya. Hail ini tidak terjadi pada komputasi prosesor DFT LSB-First Waktu yang dibutuhkan untuk proses DFT Multioperand MSB-First adalah 158,506 AAS, sedangkan prosesor DFT LSB-First adalah 55,308 AAS. Waktu DFT Multioperand MSB-First akan mendekati sama dengan waktu komputasi DFT LSB-First, jika pada bagian output memory (RAM dan ROM) dirubah menjadi 16 saluran output . iap saluran 16 bi. dan multiply nya disusun paralel sebanyak 16 buah. Toward New Real-Time Processor: The Multioperand MSB-First Real-Time Adder. Proceedings of DSDAo2004 Euromicro Symposium on Digital System Design. Rennes-France. Ie Computer Society. Kuspriyanto. Totok B. , . Penjumlah Bilangan Biner Bertanda Menggunakan Metode MSB-First. Proceedings 6th Seminar on Intellegent Technology and Its Applications Surabaya Indonesia. Lars Wanhammars. DSP Integrated Circuits. Academic Press. USA. Stephen B. & Zvonko G. Vrinesic, . Fundamental of Digital Logic With VHDL Design. McGraw-Hill. Singapore. Steven W. Smith,. The Scientist and EngineerAos Guide to Digital Signal California Technical Processing,2nd. Pub. ,San Diego. USA. Totok Budioko. Perancangan dan Simulasi Penjumlah Multioperand MSBFirst Pada Filter Digital. Tesis Magister. Institut Teknologi Bandung. Volnei A. Pedroni. Circuit Design With VHDL. MIT Press. Massahuset. Computer William Stalling. DAFTAR PUSTAKA