Wednesday, November 16, 2011

Binary Multiplier

Multiplication of binary numbers is performed in the same way as with decimal numbers.

The multiplicand is multiplied by each bit of the multiplier, starting from the least significant bit. 

The result of each such multiplication forms a partial product. Successive partial products are shifted one bit to the left.
The product is obtained by adding these shifted partial products.

Consider an example of multiplication of two numbers, say A and B (2 bits each), C = A x B.
The first partial product is formed by multiplying the B1B0 by A0. The multiplication of two bits such as A0 and B0 produces a 1 if both bits are 1; otherwise it produces a 0 like an AND operation. So the partial products can be implemented with AND gates.

BCD Adder

If two BCD digits are added then their sum result will not always be in BCD.
Consider the two given examples.

Binary Parallel Adder/Subtractor

The addition and subtraction operations can be done using an Adder-Subtractor circuit. The figure shows the logic diagram of a 4-bit Adder-Subtractor circuit.

The circuit has a mode control signal M which determines if the circuit is to operate as an adder or a subtractor

Carry Look Ahead Adder

In ripple carry adders, the carry propagation time is the major speed limiting factor.

Most other arithmetic operations, e.g. multiplication and division are implemented using several add/subtract steps. Thus, improving the speed of addition will improve the speed of all other arithmetic operations.