Consider the arithmetic addition of two decimal digits in BCD together with a possible carry from a previous stage.
Each input digit does not exceed 9, the output sum cannot be greater than 9+9+1=19.
This adder will from the sum in binary and produce a result which may range from 0 to 19.
We found the derivation of a BCD adder, when the binary sum is equal to or less than 1001, the corresponding BCD number is identical.
When the binary sum is greater then 1001, the addition of binary 6(0110) to the binary sum converts it to the correct BCD representation and also produces an output carry as required.
An output carry can be expressed by the Boolean function: C=K+Z8Z4+Z8Z2: When C=1, it is necessary to add 0110 to the binary sum and provide an output carry for the next stage.
A decimal parallel adder that adds n decimal digits needs n BCD adder stages. The output carry one stage must be connected to the input carry of the next higher order stage.