Implementasi Rangkaian Penjumlah-Penuh 2 Arah berbasis Toffoli-Gate

Kontributor:

  • Ihsan Hariadi , staf dosen STEI-ITB (peneliti)
  • Yulian Aska, mahasiswa STEI-ITB (asisten)
  • Renitia Murti Rahayu, mahasiswa STEI-ITB (asisten)

Pada pekerjaan ‘Kerajinan Tangan Elektronika’ ini dibuat contoh pewujudan (implementasi) dari sebuah rangkaian penjumlah penuh (Full-Adder) 1 bit dengan hubungan Tatanalar 2 Arah (Logically Reversible) dengan menggunakan sekumpulan sakelar 2-arah / bilateral switches (IC CD-4066) berbasis Gerbang Toffoli, yang juga disebut sebagai Controlled-Controlled-Not (CCNOT) Gate.

Gerbang Toffoli merupakan salah satu dari beberapa gerbang logika dasar 2 arah yang dikenal di samping beberapa jenis gerbang lainnya, seperti gerbang Fredkin.

Pembuatan rangkaian reversible full adder ini dilakukan dengan menggunakan 24 switch dari IC HFC4066BE dan 5 buah inverter dari IC HD74LS04P. Pengecekan 8 buah keadaan menggunakan 8 buah LED indikator. Hasil percobaan menunjukan bahwa 8 buah keadaan sesuai dengan logika pada truth table full adder.

Latar Belakang

Keuntungan Rangkaian Logika 2 Arah (Reversible) dibandingkan rangkaian logika yang konvensional adalah berikut ini.

  • Untuk rangkaian digital yang mempunyai hubungan fungsional logika 2 Arah (Logically Reversible).
    Pemakai rangkaian dapat ‘menemukan kembali’ (retrieving) nilai variabel input nya jika nilai variabel output-nya diketahui.
  • Untuk rangkaian digital yang mempunyai hubungan Termodinamika 2 Arah (Thermodynamically Reversible), akan dapat diperoleh penghematan daya-disipasi daya selama proses komputasi dapat di kurangi bahkan tidak menutup kemungkinan hingga lebih kecil dari batas nilai teoretik menurut von Neumann-Landauer: E_minimum = kT ln (2)
    untuk setiap 1 operasi bit

Rangkaian yang thermodynamically reversible juga disebut sebagai rangkaian Adiabatic Computing. Pada umumnya, rangkaian yang thermodynamically-reversible juga dirancang agar logically-reversible.

Contoh rangkaian sebagai berikut

Toffoli (Controlled-controlled OR, CC-OR) Gate, implemented using Bidirectional switches

Toffoli (Controlled-controlled OR, CC-OR) Gate, implemented using Bidirectional switches

a 1-bit Full-Adder implemented using a C-OR and 2 Toffoli/CC-OR gates

a 1-bit Full-Adder implemented using a C-OR and 2 Toffoli/CC-OR gates

PROSES DESAIN BREADBOARDING

Percobaan diawali dengan proses pengerjaan pada breadboard. Rangkaian yang digunakan pada percobaan kali ini adalah rangkaian-rangkaian
berikut ini.

Gambar 1-1 rangkaian XOR dengan switch

Rangkaian ini bekerja untuk menghasilkan output A XOR B dan negasi A XOR B. Input yang digunakan ada 2 yaitu A dan B berikut negasi dari masing-masing input. Tanda panah ke dalam pada node mewakili sebuah input yaitu input B serta negasinya dan tanda panah keluar merupakan output dari rangkaian (Q dan not Q).

Input A dan negasi A digunakan untuk mengontrol keempat switch yang digunakan. Input A berarti switch terhubung dan jika diberikan input negasi A berarti switch terbuka. Switch tersebut diimplementasikan menggunakan IC HFC4066BE.

Gambar 1-2 rangkaian switch dengan output [A and B] XOR C

Rangkaian pada gambar 1-2 bekerja untuk menghasilkan output [A and B] XOR C dan negasi [A and B] XOR C. Input yang digunakan ada 3 yaitu A, B, dan C berikut negasi dari masing-masing input. Tanda panah ke dalam pada node mewakili sebuah input yaitu input C serta negasinya dan tanda panah keluar merupakan output dari rangkaian (R dan not R).

Input A/B dan masing-masing negasinya digunakan untuk mengontrol kedelapan switch yang digunakan. Input A/B berarti switch terhubung dan jika diberikan input negasi A/B berarti switch terbuka. Switch tersebut diimplementasikan menggunakan IC HFC4066BE.

Rangkaian full adder ini menggunakan 2 buah rangkaian pada gambar 1-1 dan 2 rangkaian pada gambar 1-2.

Sum dari Full adder memiliki persamaan aljabar sebagai berikut.

SUM = A XOR B XOR Cin

Dengan A, B, dan Cin adalah input dari penguna.

Karena rangkaian pada gambar 1-1 merupakan rangkaian XOR sehingga untuk menghasilkan output SUM diperlukan 2 buah rangkaian pada gambar 1-1. Rangkaian pertama menghasilkan output A XOR B. Kemudian output dari rangkaian tersebut dijadikan input pada rangkaian kedua bersama-sama dengan input Cin. Sehingga output dari rangkaian tersebut adalah A XOR B XOR Cin yang merupakan logika dari Sum Full Adder. Pada rangkaian dibutuhkan negasi dari A, B, Cin, dan A XOR B. Untuk itu digunakan sebuah inverter tipe HD74LS04P. Pada rangkaian XOR untuk input A dan B menghasilkan output A XOR B dan negasi dari A XOR B. Namun untuk memperoleh negasi dari A XOR B tidak digunakan dari output rangkaian ini tetapi menggunakan inverter.

Carry rangkaian full adder memiliki persamaan aljabar sebagai berikut.
Carry = [A and B] XOR [[A XOR B] and Cin] Rangkaian pada gambar 1-2 menghasilkan output [A and B] XOR C sehingga untuk menghasilkan output A and B dengan rangkaian pada gambar 1-2 digunakan persamaan sebagai berikut.
A and B = [A and B] XOR 0,
dengan input A, B, dan 0.
Kemudian untuk menghasilkan output carry full adder dengan menggunakan rangkaian pada gambar 1-2 dengan persamaan sebagai berikut.
Carry = {[A XOR B] and Cin} XOR [A and B],
dengan input A, B, Cin, [A XOR B], dan [A and B].
Percobaan dilakukan dengan indikator 8 buah LED masing-masing untuk output A XOR B, Sum, and B, carry, dan masing-masing negasinya. Hasil percobaan sudah sesuai dengan logika tabel kebenaran dari full adder berikut ini.

Tabel 4 Tabel kebenaran Full Adder
Input SUM CARRY
000 0 0
001 1 0
010 1 0
011 0 1
100 1 0
101 0 1
110 0 1
111 1 1

Dan berikut ini adalah tabel hasil percobaan dengan indikator 8 buah LED.
Tabel 4.2 Tabel Logika Percobaan 1
Input
[ABCin] Sum Sum-Not Carry Carry-Not
000 Off On Off On
001 On Off Off On
010 On Off Off On
011 Off On On Off
100 On Off Off On
101 Off On On Off
110 Off On On Off
111 On Off On Off

Tabel 4.3 Tabel Logika Percobaan 2
Input
[ABCin] A and B not
A and B
A xor
B
Not
A xor
B
000 Off On Off On
001 Off On Off On
010 Off On On Off
011 Off On On Off
100 Off On On Off
101 Off On On Off
110 On Off Off On
111 On Off Off On

Berikut ini adalah gambar-gambar hasil percobaan pada breadboard. Pada gambar 1-3 telah dilengkapi label untuk mempermudah pengecekan.

Gambar 1-3 Gambar percobaan untuk input 000 pada breadboard

Gambar 1-4 Gambar percobaan untuk input 001 pada breadboard
Gambar 1-5 Gambar percobaan untuk input 010 pada breadboard
Gambar 1-6 Gambar percobaan untuk input 011 pada breadboard
Gambar 1-7 Gambar percobaan untuk input 100 pada breadboard
Gambar 1-8 Gambar percobaan untuk input 101 pada breadboard
Gambar 1-9 Gambar percobaan untuk input 110 pada breadboard
Gambar 1-10 Gambar percobaan untuk input 111 pada breadboard

Implementasi di Lab menggunakan Breadboarding

Implementasi di Lab menggunakan Breadboarding

PEMBUATAN HARDWARE REVERSIBLE FULL ADDER

Proses selanjutnya adalah pembuatan hardware dari reversible full adder. Pada proses penyolderan terdapat beberapa masalah yang menyebabkan Full Adder tidak bekerja sesuai dengan tabel kebenaran. Di antaranya adalah kerusakan pada inverter yang tidak diketahui sebelumnya dan terdapat beberapa jalur yang tidak terhubung.

Setelah semua kesalahan diperbaiki Full Adder dapat bekerja dengan baik.

Berbeda dengan desain pada breadboarding, pada PCB indikator LED terdapat 9 buah, masing-masing untuk 3 indikator input, output sum, carry, A XOR B, dan masing-masing negasinya. Berikut ini adalah hasil pengujian dari PCB.

Gambar 1-11 Gambar percobaan untuk input 000 pada PCB
Gambar 1-12 Gambar percobaan untuk input 001 pada PCB
Gambar 1-13 Gambar percobaan untuk input 010 pada PCB
Gambar 1-14 Gambar percobaan untuk input 011 pada PCB
Gambar 1-15 Gambar percobaan untuk input 100 pada PCB
Gambar 1-16 Gambar percobaan untuk input 101 pada PCB
Gambar 1-17 Gambar percobaan untuk input 110 pada PCB
Gambar 1-18 Gambar percobaan untuk input 111 pada PCB

Implementasi rangkaian di Lab menggunakan PCB ( it contains a number of ICs: Bidirectional Switches and NOT gates )

Implementasi rangkaian di Lab menggunakan PCB ( it contains a number of ICs: Bidirectional Switches and NOT gates )

Ucapan Terima Kasih

Eksperimen ini dapat terwujud dengan adanya bantuan dari beberapa pihak berikut ini.

  • Bantuan Asisten: Yulian Aska dan Renitia Murti Rahayu , keduanya mahasiswa program studi Teknik Elektro STEI ITB angkatan 2010 untuk seluruh pekerjaan implementasi.
  • Referensi Buku Petunjuk Praktikum Lab Dasar STEIĀ  (untuk ide realisasi sakelar dua-arah nya)

Pustaka

Bacaan lebih lanjut

 

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *