IEEE EIT 2007 Proceedings 323 . 1-4244-0941-1/07/$25.00 c 2007 IEEE Implementation of a Redundant Binary Input Acceptable Multiplier Guoping Wang Department of Engineering Purdue University, Fort Wayne 2101 E. Coliseum. Blvd. Fort Wayne, IN 46805, USA wang@engr.ipfw.edu Abstract A multiplier which can accept redundant binary number inputs is proposed using available unsigned multiplier (array multiplier, carry-save-addition tree multiplier, or multiplier using redundant binary representations). The proposed multiplier is applicable in redundant binary ALU unit or redundant binary processor. 1. Introduction The redundant binary (RB) representation is one of the signed-digit number representations originally introduced by Avizienis [1] for achieving carry- propagation-free addition. The carry-propagation-free feature of the RB arithmetic can be used to design high- speed multipliers [2][3]. A redundant binary ALU (Arithmetic Logic Unit) and processor which can handle RB computations (addition, subtraction, multiplication, etc) are proposed in[4][5]. The intermediate data in the ALU and processor are in RB forms, so that there is no carry propagation in the computation process. In these cases, a multiplier that can accept RB inputs is required, i.e., the multiplicand and multiplier are both RB numbers with the product produced in RB form. In this paper, the multiplier implementations which can accept RB number inputs are proposed using available unsigned multiplier (array multiplier, carry- save-addition tree multiplier, or multiplier using redundant binary representations). The direct implementation of RB multiplier is also investigated. The proposed multiplier is applicable in redundant binary ALU unit or redundant binary processor. 2. Redundant Binary System Overview The binary sign digit representation is one of the redundant binary representation to achieve carry- propagation free addition. In the implementation of the multiplier, a RB full adder is used to add two RB numbers into one RB sum. Let two 2’s-complement number A and B with 2 1 1 0 2 2 N N i N i i A a a = =− + and 2 1 1 0 2 2 N N i N i i B b b = =− + , where , {0,1} i i ab , then a RB number 2 SD Z can be derived from the addition of A and B [6]: 2 2 1 1 1 0 2 1 1 0 ( 1) =(- )2 ( )2 1 2 2 1 SD N N i N N i i i N N i N i i Z A B A B a b a b z z = = = + = + + + = + (1) where 1 1 1 , N N N i i i z a b z a b = + = for 0 2 i N and { 1, 0,1}. i z RB numbers differ from the conventional 2’s- complement representation in that the individual digits comprising a number may have negative values as well as positive values. The radix-(2) signed-digit system uses the digit set {-1, 0, 1} to represent numbers. The signed digit (SD) number system is also called redundant because the given integer number may have more than one representation. This redundancy in the SD representation allows addition rules to be devised so that carry propagation is limited to only one digit position. Therefore, addition can be performed in parallel without carry propagation from the LSD (Least-Significant- Digit) to the MSD (Most-Significant-Digit). The time required for parallel addition is fixed and does not depend on the word length. Since multiplication of two numbers is generally performed by addition of partial products, the carry-propagation-free feature of the RB arithmetic can be used to design high-speed multipliers [2][3]. No explicit mechanism is required for handling the overall sign of a signed-digit number since the most significant non-zero digit determines it.