7.21 single-digit BCD adder
Single-Digit BCD adder
1. Ringkasan
Single digit BCD (Binary-Coded Decimal) adder digunakan untuk menjumlahkan dua digit BCD (masing-masing 4 bit) dan menghasilkan hasil dalam format BCD pula. Namun, karena hasil penjumlahan dua digit BCD bisa lebih dari 9 (1001), maka diperlukan koreksi untuk memastikan hasil tetap dalam representasi BCD yang valid (0–9).
-
Bila hasil penjumlahan menghasilkan nilai 10 (1010) hingga 15 (1111), maka dilakukan koreksi dengan menambahkan 0110 (decimal 6).
-
Koreksi ini dilakukan berdasarkan logika boolean yang memastikan bahwa nilai 0110 hanya ditambahkan jika diperlukan.
-
Hasil dari adder pertama (yang mungkin belum valid BCD) kemudian dikoreksi oleh adder kedua.
Implementasi Bertingkat (Cascade)
-
Untuk menjumlahkan lebih dari satu digit BCD (misalnya dua bilangan desimal tiga digit), digunakan beberapa tahap penjumlahan BCD secara bertingkat.
-
Masing-masing tahap (tahap LSD, MSD, dst.) menggunakan single-digit BCD adder.
-
Carry dari hasil adder sebelumnya digunakan sebagai carry-in untuk adder selanjutnya.
Contoh Penjumlahan Tiga Digit:
-
Adder pertama (LSD) menghasilkan BCD untuk digit paling kanan (S₃ S₂ S₁ S₀) dan menghasilkan carry.
-
Adder kedua menerima carry tersebut dan menghasilkan BCD untuk digit tengah (S₇ S₆ S₅ S₄).
-
Adder ketiga menerima carry dari adder kedua dan menghasilkan BCD untuk digit paling kiri (S₁₁ S₁₀ S₉ S₈).
Dengan demikian, single digit BCD adder merupakan blok dasar yang bisa dirangkai untuk membentuk sistem penjumlahan BCD multi-digit.
7.21 Single-Digit BCD adder |
Rangkaian ini dirancang untuk menjumlahkan dua digit BCD (masing-masing 4-bit) dan memberikan hasil dalam format BCD yang valid. Penjumlahan BCD memerlukan koreksi jika hasil penjumlahan lebih dari 9 (1001). Rangkaian terdiri dari dua tahap utama:
1. Penjumlahan Awal oleh 4-Bit Binary Adder (Adder Pertama)
-
Input:
BCD Digit-1
danBCD Digit-2
(masing-masing 4 bit). -
Output: Bit hasil penjumlahan biner
Z₃ Z₂ Z₁ Z₀
. -
Juga menghasilkan carry yang akan digunakan untuk koreksi.
2. Logika Koreksi (Correction Logic)
-
Koreksi dilakukan jika hasil penjumlahan awal lebih besar dari 1001 (decimal 9).
-
Syarat koreksi ditentukan oleh logika:
-
Koreksi diperlukan jika (Z₃ AND (Z₂ OR Z₁)) OR carry = 1
-
-
Logika ini direpresentasikan oleh kombinasi gerbang AND dan OR pada gambar.
-
Output dari logika ini adalah sinyal
K
, yang menjadi sinyal kontrol apakah akan menambahkan 6 (0110) atau tidak.
3. Penjumlahan Koreksi oleh 4-Bit Binary Adder Kedua
-
Jika
K = 1
, maka 0110 (decimal 6) ditambahkan ke hasil awal untuk koreksi. -
Jika
K = 0
, maka hasil awal tetap digunakan (tidak perlu koreksi). -
Hasil akhir dari penjumlahan ini adalah output BCD
S₃ S₂ S₁ S₀
.
4. Output
-
S₃ S₂ S₁ S₀
: Hasil penjumlahan dalam format BCD yang valid. -
C
: Carry keluar, bisa digunakan untuk BCD adder berikutnya jika penjumlahan berlanjut ke digit lebih tinggi.
2. Example
Langkah-langkah:
-
Representasi BCD:
-
5 = 0101
-
6 = 0110
-
-
Penjumlahan biner biasa:
-
Karena hasilnya > 1001 (9 desimal), maka harus dikoreksi dengan menambahkan 0110:
-
Hasil akhir:
-
MSD (Most Significant Digit) = 0001 (1)
-
LSD (Least Significant Digit) = 0001 (1)
-
Jadi, 5 + 6 = 11 dalam BCD:
0001 0001
Langkah-langkah:
-
Representasi BCD:
-
8 = 1000
-
7 = 0111
-
-
Penjumlahan biner:
-
Koreksi dengan penambahan 0110:
-
Hasil akhir:
-
MSD = 0001 (1)
-
LSD = 0101 (5)
-
Jadi, 8 + 7 = 15 dalam BCD:
0001 0101
3. Contoh soal
4. Rangkaian
Rangkaian terdiri dari dua buah adder 4-bit (IC 7483), beberapa gerbang logika, input switch, dan sebuah display seven segment. Fungsi utama dari rangkaian ini adalah untuk menjumlahkan dua angka BCD (masing-masing 4-bit) dan menampilkan hasilnya dalam bentuk BCD yang valid.
Dua kelompok input switch di sisi atas digunakan untuk memasukkan dua digit BCD yang akan dijumlahkan. Masing-masing input tersebut dikirim ke adder pertama (IC 7483) yang berfungsi menjumlahkan secara biner kedua angka tersebut. Output dari adder ini dapat berupa hasil penjumlahan BCD yang valid (0–9) atau tidak valid (10–15). Karena itu, hasil dari adder pertama dikirim ke bagian logika koreksi, yang dibangun dari gerbang AND dan OR. Logika koreksi ini mendeteksi apakah hasil penjumlahan perlu dikoreksi dengan menambahkan angka 6 (0110). Koreksi dilakukan jika hasil penjumlahan lebih dari 1001 (decimal 9) atau menghasilkan carry.
Output dari logika koreksi menjadi kendali pada adder kedua (IC 7483 di bawah). Adder ini akan menambahkan nilai koreksi (0110) jika diperlukan. Hasil akhir dari penjumlahan dikirim ke seven segment decoder (IC 7447), yang kemudian mengendalikan tampilan seven segment display untuk menampilkan hasil akhir penjumlahan dalam bentuk angka desimal.
Dengan rangkaian ini, kita dapat memvisualisasikan bagaimana penjumlahan dua angka BCD dikoreksi secara otomatis agar hasilnya tetap berada dalam format BCD yang valid, seperti yang digunakan pada kalkulator digital dan perangkat konversi angka desimal lainnya.
Komentar
Posting Komentar