CHAPTER 7: RANGKAIAN ARITMATIKA

Subchapter 7.5: BCD Adder

    BCD Adder adalah sebuah rangkaian aritmetika khusus yang dirancang untuk melakukan penjumlahan bilangan desimal yang telah dikodekan dalam format BCD (Binary-Coded Decimal). Dalam sistem BCD, setiap digit desimal dari 0 hingga 9 direpresentasikan oleh sebuah kode biner 4-bit, dari 0000 1001.
 
    Tantangan utama dalam merancang BCD adder adalah bahwa penjumlahan biner standar tidak selalu menghasilkan jawaban yang benar dalam format BCD. Masalah ini muncul ketika hasil penjumlahan dua digit BCD melebihi 9.

Sebagai contoh, mari kita jumlahkan dua digit BCD terbesar dengan adanya sebuah

input carry: 9 + 9 + 1 = 19.

  • Dalam BCD: 9 direpresentasikan sebagai 1001.

  • Penjumlahan Biner Standar: 1001 (9) + 1001 (9) + 0001 (carry) = 10011 (19 dalam biner).

  • Hasil yang Diharapkan dalam BCD: Hasil BCD untuk 19 seharusnya adalah 0001 1001, yang merepresentasikan dua digit desimal '1' dan '9'.

Terlihat jelas bahwa hasil penjumlahan biner 10011 tidak valid dalam sistem BCD, karena BCD hanya mengenal kode hingga 1001. Masalah ini terjadi setiap kali hasil penjumlahan biner dari dua digit BCD (ditambah kemungkinan carry) menghasilkan nilai yang lebih besar dari 9

Solusi: Koreksi dengan Penambahan Angka 6

Untuk mengatasi masalah ini, sebuah langkah koreksi diperlukan. Solusinya adalah dengan

menambahkan nilai 6 (0110 dalam biner) ke hasil penjumlahan biner awal jika hasilnya tidak valid (lebih besar dari 9).

Penambahan 0110 ini berfungsi untuk "melompati" enam kombinasi 4-bit yang tidak digunakan dalam BCD (1010 hingga 1111) dan secara otomatis menghasilkan carry yang benar untuk digit BCD berikutnya, sehingga sisa 4-bitnya menjadi representasi BCD yang benar.

Logika Koreksi: Kapan Penambahan 6 Diperlukan?

Rangkaian harus dapat mendeteksi kapan koreksi ini diperlukan. Kondisi untuk melakukan koreksi (+6) ditentukan oleh ekspresi Boolean berikut, di mana Z adalah output dari penjumlah biner awal dan K adalah carry-out-nya:

Penjelasan dari setiap bagian ekspresi ini adalah:

  1. K = 1: Koreksi diperlukan jika penjumlah biner awal menghasilkan carry-out (K=1). Ini terjadi untuk hasil desimal 16, 17, 18, dan 19.

  2. : Koreksi diperlukan jika bit Z3 dan Z2 dari hasil biner sama-sama '1'. Ini mencakup hasil desimal 12, 13, 14, dan 15.

  3. : Koreksi diperlukan jika bit Z3 dan Z1 sama-sama '1'. Ini mencakup hasil desimal 10 dan 11.

Jika salah satu dari ketiga kondisi di atas terpenuhi, maka sinyal koreksi C akan menjadi '1', yang memicu penambahan 0110.

Struktur dan Implementasi Perangkat Keras BCD Adder Satu Digit

Sebuah BCD adder untuk satu digit BCD dapat dibangun menggunakan dua buah penjumlah biner 4-bit (4-Bit Binary Adder) dan beberapa gerbang logika tambahan untuk mengimplementasikan logika koreksi. Strukturnya dapat dilihat pada Gambar 7.21 dan terdiri dari tiga blok utama.

  1. Blok 1 - Penjumlah Biner Pertama:

    • Blok ini menerima dua digit BCD 4-bit (misalnya Digit-1 dan Digit-2) beserta sebuah

      input carry dari tahap sebelumnya.

    • Ia melakukan penjumlahan biner standar dan menghasilkan output 4-bit sementara (

      Z3Z2Z1Z0) dan sebuah carry-out (K).

  2. Blok 2 - Logika Koreksi:

    • Blok ini terdiri dari gerbang AND dan OR yang mengimplementasikan ekspresi Boolean

      .

    • Inputnya adalah carry-out K dan bit-bit Z dari penjumlah pertama.

    • Outputnya adalah sinyal C (Carry) tunggal. Sinyal ini menjadi output carry akhir untuk seluruh digit BCD dan juga menentukan apakah koreksi diperlukan.

  3. Blok 3 - Penjumlah Biner Kedua:

    • Blok ini bertugas untuk melakukan koreksi.

    • Input pertamanya adalah hasil biner sementara (Z3Z2Z1Z0) dari penjumlah pertama.

    • Input keduanya adalah 0110 atau 0000. Jika sinyal C dari logika koreksi adalah '1', maka 0110 yang akan ditambahkan. Jika

      C adalah '0', maka 0000 yang ditambahkan (tidak ada koreksi).

    • Output dari penjumlah kedua ini adalah hasil akhir 4-bit yang sudah benar dalam format BCD (S3S2S1S0).

Penjumlahan BCD Multi-Digit

Untuk menjumlahkan bilangan desimal yang memiliki lebih dari satu digit (misalnya, menjumlahkan 315 dengan 478), rangkaian BCD adder satu digit dihubungkan secara berjenjang (

cascade). Sebuah penjumlah untuk n-digit BCD memerlukan n buah BCD adder satu digit.

Seperti yang ditunjukkan pada Gambar 7.22,

output carry (C) dari BCD adder untuk digit yang kurang signifikan (Least Significant Digit - LSD) dihubungkan ke input carry (Cin) dari BCD adder untuk digit berikutnya yang lebih signifikan. Proses ini berlanjut hingga ke digit paling signifikan (

Most Significant Digit - MSD).


Implementasi dengan IC Keluarga TTL

Rangkaian BCD adder ini dapat dibangun menggunakan IC (Integrated Circuit) standar dari keluarga TTL. Untuk merancang sebuah penjumlah BCD dua digit, IC yang dapat digunakan antara lain:

  • IC 7483: Sebagai penjumlah biner 4-bit.

  • IC 7408: Berisi empat gerbang AND 2-input.

  • IC 7432: Berisi empat gerbang OR 2-input. Untuk membuat gerbang OR 3-input yang diperlukan oleh logika koreksi, dua buah gerbang OR 2-input dapat dihubungkan secara berjenjang.


Soal Pilihan Ganda

1. Pada rangkaian BCD adder, jika hasil penjumlahan biner awal dari dua digit BCD menghasilkan nilai yang lebih besar dari 9, langkah koreksi yang harus dilakukan adalah...
a. Mengurangi 6 (0110) dari hasil biner
b. Menambahkan 6 (0110) ke hasil biner
c. Melakukan operasi komplemen 2 pada hasilnya
d. Mengabaikan 4 bit teratas dari hasil
Jawaban : b

2. Logika koreksi pada BCD adder akan aktif dan memicu penambahan 6 jika salah satu kondisi berikut terpenuhi, kecuali...
a. Carry-out (K) dari penjumlah biner pertama bernilai 1
b. Output  dan Z_2 dari penjumlah pertama keduanya bernilai 1
c. Output  dan Z_1 dari penjumlah pertama keduanya bernilai 1
d. Output Z_1 dan Z_0 dari penjumlah pertama keduanya bernilai 1
Jawaban: d

Fig. 7.28



Fig 7.29



Videdo Penjelasan



Link



Komentar

Postingan populer dari blog ini

2.13