ScholarQuill logoScholarQuillUniversity Notes
My Semester
Explore Notes
Past Papers12 New
Video CoursesNew
Search
Settings
Study Tools
GPA/CGPA Calculator
Schedule & To-Do
Student Portal
Contact
Contact
ScholarQuill logo
My Semester
Explore Notes
Past Papers12 New
Video CoursesNew
Search
Settings
GPA/CGPA Calculator
Schedule & To-Do
Student Portal
Contact
ScholarQuill logoScholarQuillUniversity Notes
Study PortalCSI-306Bcd Adders
Ctrl + K
Login
Explore
Search
Semester
Papers
CGPA
    CSI-306

    Digital Logic Design

    Progress0 / 47 done
    Topics47
    1Overview of Binary Numbers2Boolean Algebra3Switching Algebra4Logic Gates5Karnaugh Map6Quin-McCluskey Methods7Simplification of Boolean Functions
    8Two-Level NAND/NOR Implementation9Tabular Minimization
    10Adders11Subtracters12Code Converters13Parity Checkers14Multilevel NAND/NOR/XOR Circuits15MSI Components16Design and Use of Encoders17Design and Use of Decoders18Design and Use of Multiplexers19BCD Adders20Comparators21Latches and Flip-Flops22Synchronous Sequential Circuit Design and Analysis23Registers24Synchronous and Asynchronous Counters25Memories26Control Logic Design27Wired Logic and Characteristics of Logic Gate Families28ROMs29PLDs30PLAs31State Reduction and Good State Variable Assignments32Algorithmic State Machine (ASM) Charts33Asynchronous Circuits34Memory Systems35Functional Organization36Multiprocessor and Alternative Architectures37Introduction to SIMD38Introduction to MIMD39Introduction to VLIW40Introduction to EPIC41Systolic Architecture42Interconnection Networks43Shared Memory Systems44Cache Coherence45Memory Models and Memory Consistency46Performance Enhancements47Contemporary Architectures
    6 min read
    Topic 19 of 47
    Topic Study Note Illustration
    19

    BCD Adders

    A BCD Adder is a specialized digital adder designed to handle Binary-Coded Decimal (BCD) numbers. In BCD, each decimal digit (0-9) is represented by a 4-bit binary...

    BCD Adders (Binary-Coded Decimal Adders)

    A BCD Adder is a specialized digital adder designed to handle Binary-Coded Decimal (BCD) numbers. In BCD, each decimal digit (0-9) is represented by a 4-bit binary code. For example:

    • Decimal 0 is represented as 0000
    • Decimal 1 is represented as 0001
    • Decimal 9 is represented as 1001

    When adding two BCD numbers, the result must also be in BCD form. However, since a BCD digit can only represent values from 0 to 9 (i.e., 0000 to 1001 in binary), if the sum of two BCD digits exceeds 9, an adjustment must be made to convert the binary sum back into a valid BCD format.

    1. BCD Addition Process

    To understand how BCD addition works, let's break it down:

    1. Binary Addition of BCD Digits:

      • When adding two BCD digits, each 4-bit input is added using binary addition rules, similar to adding normal binary numbers.
    2. Correcting the Result (When Necessary):

      • If the binary sum of two BCD digits is greater than 1001 (i.e., 9), the result is not a valid BCD code. In such cases, an adjustment is required to convert the binary sum into a valid BCD code.
      • The correction is done by adding a binary 6 (0110) to the sum. This is because adding 6 (0110) in binary will "carry" the sum into the next valid BCD range.

    2. BCD Adder Design

    A BCD adder typically consists of two parts:

    1. A binary adder to add the two BCD digits.
    2. A correction logic to check if the sum exceeds 9 and to add 6 if necessary.

    Step-by-Step BCD Addition Example:

    Let's go through an example of adding two BCD digits:

    • BCD 1 (0001) and BCD 2 (0010)

    First, perform a binary addition:

      0001   (BCD 1)
    + 0010   (BCD 2)
    --------
      0011   (Binary Sum)
    

    Here, the binary sum is 0011 (which is 3 in decimal), and no correction is needed because the sum is less than 9.

    Now let's add two BCD digits that result in a sum greater than 9:

    • BCD 1 (0101, decimal 5) and BCD 2 (0101, decimal 5)

    Perform binary addition:

      0101   (BCD 1)
    + 0101   (BCD 2)
    --------
      1010   (Binary Sum)
    

    The binary sum is 1010, which is invalid as a BCD digit (because it represents decimal 10). Therefore, we need to correct the result:

    • Since 1010 is greater than 1001, we add 6 (which is 0110 in binary):
      1010   (Binary Sum)
    + 0110   (Correction 6)
    --------
      0000   (Valid BCD Result with Carry to Next Digit)
    

    Thus, the BCD sum is 0000, and a carry is generated, which will be propagated to the next higher decimal digit (just like in regular binary addition).

    3. BCD Adder Circuit

    a. Binary Adder (4-bit):

    • The first step in a BCD adder is to use a 4-bit binary adder to add the two BCD digits.
    • A 4-bit adder can be a full adder circuit, where each full adder adds corresponding bits from the two BCD digits and any carry from the previous step.

    b. Correction Logic:

    • After the binary sum is obtained, a comparison circuit checks whether the sum exceeds 1001 (decimal 9). If it does, the correction logic adds 0110 (decimal 6) to the sum.
    • This addition can be done with an additional 4-bit adder.

    BCD Adder Block Diagram

    The BCD adder circuit consists of:

    1. A 4-bit binary adder that adds the two BCD digits.
    2. A comparison circuit that checks if the sum is greater than 9.
    3. A correction adder that adds 6 if the sum exceeds 9.
    4. A carry generator that passes the carry to the next higher decimal digit.

    4. Example of a 2-Digit BCD Adder

    Now, let’s consider a 2-digit BCD adder, where each digit can range from 0 to 9:

    Let’s add:

    • BCD 1: 5 (0101) and BCD 2: 7 (0111)

    First Step: Add the BCD digits

      0101 (BCD 1 = 5)
    + 0111 (BCD 2 = 7)
    --------
      1100 (Binary Sum = 12)
    

    The binary sum is 1100, which is greater than 1001 (9). We need to add 6 to adjust the sum to a valid BCD representation.

    Second Step: Apply correction

    Add 0110 (6 in binary) to the binary sum:

      1100 (Binary Sum = 12)
    + 0110 (Correction = 6)
    --------
      0010 (Corrected BCD Sum = 2)
    

    Thus, the corrected result for the ones place is 0010 (BCD for 2). There is a carry to the next decimal place.

    Third Step: Handle the carry for the next BCD digit

    For the next column (tens place), the carry from the previous addition is added to the next BCD digits. Suppose you add:

    • BCD 3: 2 (0010) and BCD 4: 1 (0001)

    Perform the same addition:

      0010 (BCD 3 = 2)
    + 0001 (BCD 4 = 1)
    + 1    (Carry from previous column)
    --------
      0011 (BCD Result = 3)
    

    The final result of adding BCD 1 + BCD 2 (5 + 7) is 12, which is represented as 0010 0011 in BCD (2 in the tens place and 3 in the ones place).

    5. Practical Uses of BCD Adders

    BCD adders are used in systems where:

    1. Human-readable decimal output is required, such as in digital clocks, calculators, or accounting machines, where decimal digits need to be added.
    2. Decimal computation is necessary, and binary arithmetic (without converting to decimal) is insufficient or impractical.

    For example:

    • Financial systems that involve decimal-based calculations.
    • Displays where the result is shown in decimal format (e.g., a 7-segment display).
    • Embedded systems that need to handle decimal numbers but use binary processors.

    6. BCD Adder Limitations

    While BCD adders are essential for decimal arithmetic, there are some limitations:

    1. Speed: Adding the correction step introduces additional delay compared to pure binary addition.
    2. Hardware Complexity: The need for comparison and correction circuits increases the complexity of the adder compared to a simple binary adder.

    Conclusion

    A BCD adder is designed to add binary-coded decimal numbers while ensuring that the result is also in valid BCD format. It consists of a binary adder and correction logic to adjust sums that exceed the valid BCD range (0-9). BCD adders are crucial in applications requiring accurate decimal computations, especially in systems with human-readable outputs such as digital clocks, calculators, and financial systems.

    ← Previous topic 18
    Design and Use of Multiplexers
    Next topic 20 →
    Comparators

    Past Papers

    Open this section to view and download past papers

    Click on Show Past Papers to load available exam papers.

    Reading Progress
    0%
    6mremaining
    1.0kwords
    Intermediatelevel
    On This Page

    No headings found

    Study Toolkit

    Subject Portal

    Digital Logic Design