**Pengganda** atau **Multiplier** adalah rangkaian elektronika digital yang berfungsi untuk mengalikan dua buah bilangan dalam sistem bilangan dwi-an atau biner (binary). Jenis rangkaian ini biasanya merupakan bagian dari ALU (Arithmetic Logical Unit) di dalam mikroprosesor atau CPU (Central Processing Unit) atau otak dari sebuah komputer. Namun, rangkaian ini bisa dibuat secara tersendiri untuk keperluan tertentu, dan bisa diprogram secara perangkat keras di dalam FPGA.

Beberapa macam teknik atau cara dapat dipakai untuk merealisasikan operasi perkalian aritmetika ini. Salah satunya adalah dengan mengalikan secara parsiel masing masing bit, kemudian menjumlahkan semua hasil dari perkalian parsiel tersebut. Hal ini mirip dengan proses perkalian bilangan desimal (bilangan basis-10) yang dilakukan oleh murid Sekolah Dasar.

Jika dua buah bilangan biner, **a** dan **b**, masing-masing 2 bit (membentuk angka 00, 01, 10, dan 11) dikalikan satu sama lain, maka akan kita peroleh hasil perkalian dalam bentuk bilangan biner 4 bit, seperti tampak pada tabel di bawah ini. Bilangan **a** ada di kolom paling kiri, dan bilangan **b** ada di baris paling atas, sementara hasil kalinya ada di dalam masing-masing sel.

| × | 00 | 01 | 10 | 11 |
| --- | --- | --- | --- | --- |
| 00 | 0000 | 0000 | 0000 | 0000 |
| 01 | 0000 | 0001 | 0010 | 0011 |
| 10 | 0000 | 0010 | 0100 | 0110 |
| 11 | 0000 | 0011 | 0110 | 1001 |

Cara lain dalam melihat operasi perkalian ini adalah dengan menyatakan bilangan pertama sebagai angka 2 bit *a*[1] dan *a*[0], sementara bilangan kedua dinyatakan dengan *b*[1] dan *b*[0]. Maka hasil kali parsielnya ada 4 buah: p0[0], p0[1], p1[0], dan p1[1] dengan:

{\displaystyle {\begin{array}{c c c c}\\p0[0]&=b[0]\times a[0]\quad &p0[1]&=b[0]\times a[1]\\p1[0]&=b[1]\times a[0]\quad &p1[1]&=b[1]\times a[1]\\\end{array}}}

Hasil kali akhir dari bilangan **a** dan **b** akan membentuk bilangan P 4 bit: P[3] P[2] P[1] P[0] dengan penjumlahan parsiel sebagai berikut:

{\displaystyle {\begin{array}{c c c c}\\&&p0[1]&p0[0]\\&p1[1]&p1[0]&0\\\hline P[3]&P[2]&P[1]&P[0]\end{array}}}

Untuk bilangan 8 bit: *a*[7:0] dan *b*[7:0], banyaknya hasil kali parsiel juga ada 8 buah:

{\displaystyle {\begin{array}{c c c c}\\p0[7:0]&=a[0]\times b[7:0]&=\{8\{a[0]\}\}\And &b[7:0]\\p1[7:0]&=a[1]\times b[7:0]&=\{8\{a[1]\}\}\And &b[7:0]\\p2[7:0]&=a[2]\times b[7:0]&=\{8\{a[2]\}\}\And &b[7:0]\\p3[7:0]&=a[3]\times b[7:0]&=\{8\{a[3]\}\}\And &b[7:0]\\p4[7:0]&=a[4]\times b[7:0]&=\{8\{a[4]\}\}\And &b[7:0]\\p5[7:0]&=a[5]\times b[7:0]&=\{8\{a[5]\}\}\And &b[7:0]\\p6[7:0]&=a[6]\times b[7:0]&=\{8\{a[6]\}\}\And &b[7:0]\\p7[7:0]&=a[7]\times b[7:0]&=\{8\{a[7]\}\}\And &b[7:0]\\\end{array}}}

Hasil akhirnya merupakan penjumlahan dari semua hasil kali parsiel:

{\displaystyle {\begin{array}{c c c c c c c c c c c c c c c c}\\&&&&&&&&p0[7]&p0[6]&p0[5]&p0[4]&p0[3]&p0[2]&p0[1]&p0[0]\\&&&&&&&p1[7]&p1[6]&p1[5]&p1[4]&p1[3]&p1[2]&p1[1]&p1[0]&\\&&&&&&p2[7]&p2[6]&p2[5]&p2[4]&p2[3]&p2[2]&p2[1]&p2[0]&&\\&&&&&p3[7]&p3[6]&p3[5]&p3[4]&p3[3]&p3[2]&p3[1]&p3[0]&&&\\&&&&p4[7]&p4[6]&p4[5]&p4[4]&p4[3]&p4[2]&p4[1]&p4[0]&&&&\\&&&p5[7]&p5[6]&p5[5]&p5[4]&p5[3]&p5[2]&p5[1]&p5[0]&&&&&\\&&p6[7]&p6[6]&p6[5]&p6[4]&p6[3]&p6[2]&p6[1]&p6[0]&&&&&&\\&p7[7]&p7[6]&p7[5]&p7[4]&p7[3]&p7[2]&p7[1]&p7[0]&&&&&&&\\\hline P[15]&P[14]&P[13]&P[12]&P[11]&P[10]&P[9]&P[8]&P[7]&P[6]&P[5]&P[4]&P[3]&P[2]&P[1]&P[0]\\\end{array}}}