EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

11

Click here to load reader

description

This paper proposes new multipliers based on Binary Signed-Digit (BSD) operands. BSD number system has carry free capability in addition operation which causes high speed multiplication. In order to use the numbering system, BSD operand needs to be encoded into binary bits. 1-out-of-3 BSD encoding has been proposed as a subset of m-out-of-n codes which can be used for error detection and correction. However, a multiplier for 1-out-of-3 encoding has not yet been reported in the literature. In this paper, we propose three different structures for 1-out-of-3 BSD multiplication for the first time to achieve an appropriate trade-off between area, delay, and power parameters. Our target implementation platform is Application Specific Circuits (ASIC).

Transcript of EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Page 1: EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Electrical and Electronics Engineering: An International Journal (ELELIJ) Vol 3, No 1, February 2014

39

EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3

BINARY SIGNED-DIGIT NUMBER SYSTEM

Maryam Saremi1

1Department of Electrical and Computer Engineering, Shahid Beheshti University,

Tehran, Iran

ABSTRACT

This paper proposes new multipliers based on Binary Signed-Digit (BSD) operands. BSD number system

has carry free capability in addition operation which causes high speed multiplication. In order to use the

numbering system, BSD operand needs to be encoded into binary bits. 1-out-of-3 BSD encoding has been

proposed as a subset of m-out-of-n codes which can be used for error detection and correction. However, a

multiplier for 1-out-of-3 encoding has not yet been reported in the literature. In this paper, we propose

three different structures for 1-out-of-3 BSD multiplication for the first time to achieve an appropriate

trade-off between area, delay, and power parameters. Our target implementation platform is Application

Specific Circuits (ASIC).

KEYWORDS

1-out-of-3 encoding; Binary Signed-Digit (BSD)system; BSD multiplication; Digit production; carry free

addition, ASIC

1. INTRODUCTION

Multiplication is a very important operation for digital computing systems, process controllers,

and signal processors [1, 2, 15]. Multiplication involves two basic steps: The first one is

generation of partial products and the second step is their accumulation. Therefore, the efficiency

of multiplication is improved by reducing the number of partial products or accelerating their

accumulation. Besides, the performance of partial products accumulation depends on the

numbering system used to represent the operands. Although, conventional weighted binary

number system like two's complement representation is widely used in arithmetic units, the

obtained carry propagation chain in the conventional number system increases the delay of

multiplication operation. Therefore, the performance is reduced. In n-bit fast adder for

conventional binary number system, ci the input carry to position i, is a function of all inputs from

0 to i, when (i=0, 1, …, n-1). The dependency results in increasing the multiplication delay which

is reliant on the size of the operands, in the worst case. Binary signed-digit number representation

[3] is an appropriate numbering system to restrict or eliminate the carry propagation chain in

addition by eliminating the dependency between output and input carries. BSD representation has

been used to design high speed arithmetic circuits [5-9, 15]. To represent BSD operands they

should be encoded into binary bits. Several BSD encoding schemes have been proposed in the

related literatures: 2-bit encoding with two’s complement representation [10-14], 2-bit encoding

with posibit and negabit representation [15], and 3-bit encoding with 1-out-of-3 representation

[16]. The adders and multipliers for these encodings have been presented in the state of the art

papers. The 1-out-of-3 encoding scheme is a subset of m-out-of-n codes [17] and is used for error

detection and correction. The authors of [18] presented constant delay adder for 1-out-of-3

encoding with capability of online error detection. The addition operation with 1-out-of-3

encoding has been described in [16]. However, the presented BSD addition algorithm for 1-out-

of-3 encoding seems to be faulty. In this way, we first deal with the drawback of the adder. On

Page 2: EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Electrical and Electronics Engineering: An International Journal (ELELIJ) Vol 3, No 1, February 2014

40

the other hand, a multiplier structure for 1-out-of-3 encoding has not yet been presented in the

open literatures. So, we propose new multipliers based on carry free addition using 1-out-of-3

BSD system. We propose three multiplication structures for the encoding. The proposed

multipliers are differently designed to obtain the desired area, speed, and power requirements.

The rest of the paper is organized as follows: the next section discusses basic concepts of 1-out-

of-3 encoding as well as the addition method presented in [16]. In section 3, we emend the

problem of the previous adder presented in [16]. The structures of the three multipliers are

presented in section 4. In section 5 the synthesis results and comparisons are presented. Finally,

the paper is concluded in the last section.

2. THE BINARY SIGNED-DIGIT NUMBER SYSTEM

2.1. 1-out-of-3 BSD Encoding

The radix-r signed digit number system is used to speed up the arithmetic operations by the carry

limited addition capability which means the output carry signal is not dependent on the input

carry signal [16]. A radix-r signed digit number X is presented in the system with n-digit as

follows:

0 1 1

0 1 1

1

0

ni

i

i

n

nX x r x r x r

x r

=

= + +…+

=∑ (1)

Where xi is a signed digit, r is the radix and is equal to 2 in BSD system, ri is the weight of i-th

digit xi. Assuming radix-2, xi is in the range {-1, 0, 1}. Equation (1) indicates that an integer

number may have more than one representation. For example, in a 4-digit BSD system, the value

6, may be represented by (0 1 1 0) BSD, (1 -1 1 0) BSD, (1 0 -1 0) BSD.

The 1-out-of-3 encoding [16] scheme which is shown in Table I is utilized to represent three

different binary signed digits into binary bits.

Table 1. 1-out-of-3 encoding scheme [16]

Binary

BSD Digit (xi) xi0

xi1

xi2

0 0 1 -1

0 1 0 0

1 0 0 1

We employ the 1-out-of-3 encoding in order to indicate a BSD xi which is denoted as (xi2xi

1xi0)

with the same weight. The xi2, xi

1, xi

0 are called as second bit, first bit, and zero-th bit of the digit

xi, respectively.

The code words in this encoding are {-1, 100}, {0, 010}, and {1, 001}, have exactly 1 and two 0,

s. Therefore, the presence of any other code words will show an error.

Page 3: EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Electrical and Electronics Engineering: An International Journal (ELELIJ) Vol 3, No 1, February 2014

41

2.2. Addition Structure with 1-out-of-3 BSD Encoding

Let X, Y be two integers in the n-digit 1-out-of-3 BSD number representation, and U, C and S be

the intermediate sum, intermediate carry and final sum, respectively. For performing addition

operation of each digit of X and Y, the following two steps are performed [16, 19, 20].

Step1: Generate The intermediate sum digit Ui and intermediate carry digit Ci signals are the i-th BSD digit of U,

and C, respectively, and generated based on the 1-out-of-3 BSD addition rules shown in Table 2.

Step2: Compute

The final sum digit Si is the i-th BSD digit of S, computed using both the Ui and Ci-1 signals. The

Ci-1 is the (i-1)-th BSD digit of C. The Ui, Ci, and Si are represented by 1-out-of-3 encoding.

{ }1 1,0,1i i i i

S U C S−

= + = −

Table 2. BSD Addition Rules [16]

Ui Ci Xi-1+Yi-1 Xi+Yi

0 -1 Don’t care -2

1 -1 At least one is negative -1 -1 0 Non is negative

0 0 Don’t care 0

1 0 At least one is negative 1

-1 1 Non is negative

0 1 Don’t care 2

The following example presents the addition operation of two numbers using the 1-out-of-3

encoding and the addition rules described above:

Example 1: Let’s assume

( )

( )

( ) ( ) ( )

10

10

10 10 10

"010001001001" 7

"010001100010" 2

7 2 9

X

Y

X Y

= =

= =

+ = + =

According to the rules shown in Table II, the process of the addition is as follows:

From the above example and the BSD addition rules, the i-th final sum digit depends on the

inputs in the i-th and (i-1)-th positions and is computed without carry propagation.

Page 4: EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Electrical and Electronics Engineering: An International Journal (ELELIJ) Vol 3, No 1, February 2014

42

Figure 1. BSD Adder Using BSD_FA cell

In the block diagram of BSD adder shown in Fig.1, each line denotes one BSD digit. Each

BSD_FA cell has five inputs (xi, yi, xi-1, yi-1, Ci-1) and two outputs (Ci, Si). The number of inputs

and outputs is tripled when using the 1-out-of-3 encoding. Then, we have 15 input bits and 6

output bits.

The sign signal i.e. signi presents the sign of (xi, yi). In this adder which presented in [16] by

using the signi-1 signal, the number of inputs is reduced to 10 because in this adder the xi-1 and

yi-1 inputs are utilized exactly for specifying sign of (xi-1, yi-1).

Fig. 2 (a), (b) shows BSD_FA cell without and with signi-1 signal, respectively. As shown in this

figure, the number of inputs in the Fig. 2 (a) is 15. By using the signi-1 signal in the Fig. 2 (b), the

number of inputs is reduced to 10.

Figure 2. BSD_FA cell with 1-out-of-3 Encoding

There are nine combinations for (xi+yi) as follows:

-2= (100, 100), -1= {(100, 010), (010, 100)}, 0= {(010, 010), (100, 001), (001, 100)}, 1= {(001,

010), (010, 001)}, 2= (001, 001).

3. PROPOSED 1-OUT-OF-3 BSD MULTIPLICATION ALGORITHM

3.1. Digit and Partial Product Structure

Let's assume X and Y are integers in the n-digit BSD number representation. The multiplication

X×Y can be expressed as follows:

Page 5: EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Electrical and Electronics Engineering: An International Journal (ELELIJ) Vol 3, No 1, February 2014

43

( )

( )

1 2

1 2 0

1 2

1 2 0

2 x 2 . . . x

2 y 2 . . . y

n n

n n

n n

n n

x

y

X Y− −

− −

− −

− −

× = + + +

× + + +

( )1

1 2

1 2 0

0

2 y 2 . . . yn

n n

i n n

i

x y−

− −

− −

=

= + + +×∑

1

0

n

i

i

pp−

=

=∑ (2)

( )1 2

1 2 02 y 2 . . . yn n

n ni iypp x − −

− −+ += +×

(3)

Where ppi denotes the i-th partial product.

To achieve ppi, digit products xi×yj (0 ≤i, j≤ n) should to be calculated first. The calculation is

presented in the following.

Let xi and yj (0 ≤i, j≤ n) are two digits in the 1-out-of-3 BSD number representation. Digit

production of xi, yj that is (xi×yj), is presented in Table 3. According to the table, there are six

different combinations for (xi×yj). If one of the two digits (xi or yj) is zero i.e. "010", then the

result will be "010". If both digits have same sign, that is the pair (xi, yj) is one of the two cases

i.e. {(001, 001) or (100, 100)}, then digit production will be "001. Finally, if both digits have

opposite sign, i.e. (001, 100) or (100, 001), then digit production will be "100". Using these

combinations which are presented in Table 3, the following equations can be used to describe the

digit production of xi and yj.

Table 3. Digit production

Digit Production (di) yj xi

001 001 001

001 100 100

010 Don’t care 010

010 010 Don’t care

100 100 001

100 001 100

The three bits of the digit product di, are calculated by (4-6). 0 0 0 2 2

( ) ( ) j j

d x y x yi i i= • + • (4)

1 1 1jd x yi i= +

(5)

02 0 2 2( ) ( )

j jd x y x yi i i= • + •

(6)

3.2. Addition Tree Structure

Assuming 8-digit BSD number X and Y in 1-out-of-3 representation, there are eight partial

products called pp (0), pp (1), …, pp (7) according to (16). To accumulate the partial products, we

propose three different addition trees to achieve the desired area, delay, and power parameters.

Page 6: EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Electrical and Electronics Engineering: An International Journal (ELELIJ) Vol 3, No 1, February 2014

44

The first structure:

In the block diagram of the first structure shown in Fig. 4, each square in the partial product

denotes one BSD digit with 1-out of 3 encoding. In this structure, addition is performed

sequentially in eight steps. That is, pp (0) and pp (1) are accumulated first, and then the result is

added to pp (2), and so on. The partial products are not aligned as shown in Fig.3. So, in addition

process, one or more digits are added to zero digit. In BSD addition of a digit xi with zero is not

necessarily equal to xi.

Figure 3. Generation of partial product

Figure 4. The first structure for adding partial products

So, addition with zero digit is necessary because the representation of the addition result may be

different to the input representation. For example, according to table II, if xi=1 (001), yi=0 (010)

and xi-1+yi-1=1 (Non is negative) i.e. sixth row of table II, the intermediate signals i.e. Ci and Ui

are "001" and "100", respectively. In this case Ci is not equal with zero, therefore we can't ignore

Ci. Then addition with zero digit is necessary. The circles in Fig. 3, Fig. 4 specify the addition

with zero as discussed above. This addition is performed by the proposed BSD_FA0 cell as

discussed in the following. For BSD_FA0 cell like BSD_FA there are five inputs (xi, yi, xi-1, yi-1,

Ci-1) and two outputs (Ci, Si). The following logic equations can be used to describe the

BSD_FA0 cell with the 1-out-of-3 encoding:

2

Sign xi i= (7)

Page 7: EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Electrical and Electronics Engineering: An International Journal (ELELIJ) Vol 3, No 1, February 2014

45

The three bits of output carry digit Ci are calculated by (8-10).

0 0

( )1C Sign xi i i= •− (8)

1 2 1 0( ) ( )1 1C Sign x x Sign xi i i i i i= • + + •

− − (9)

2 2( )1C Sign xi i i= •− (10)

The three bits of the intermediate sum Ui, are calculated by (11-13). 0 2 0

( ) ( )1U Sign x xi i i i= • +− (11)

1 1U xi i=

(12)

2 0 2( ) ( )1U Sign x xi i i i= • +

− (13)

The final sum in position i, Si in 1-out-of-3 encoding are calculated by (14-16). 0 0 1 1 0

( ) ( )1 1S U C U Ci i i i i= • + •− − (14)

1 1 1 1 1( ) ( )1 1S U C U Ci i i i i= • + •

− − (15)

2 1 2 2 1( ) ( )1 1S U C U Ci i i i i= • + •− − (16)

Fig. 5 shows the BSD_FA0 cell used to align the partial products which are described above.

Figure 5. BSD_FA0 Cell using 1-out-of-3 Encoding

In the first step of this structure, pp (0) and pp (1) are added together simultaneously with

BSD_FA and BSD_FA0 cells and the result of this step is denoted as pp'(0). In the next step, pp

(2) is added to pp'(0) according to the previous step and in next steps each newly generated

product is added to the previously accumulated partial products. Therefore, the resulted sum in

each step will have one digit more than the previous step. The problem of this structure is a

considerable delay due to sequential addition operation of partial products which makes it

improper for arithmetic units.

Due to the fact that delay is an important constraint; in the following we propose two different

addition trees in order to reduce the delay.

Page 8: EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Electrical and Electronics Engineering: An International Journal (ELELIJ) Vol 3, No 1, February 2014

46

The Second structure:

In the second structure, addition operation of partial products is performed in three steps as

shown in Fig. 6 (a). In the first step, four BSD addition operations are performed in parallel for

four groups of partial products i.e. {pp (0), pp (1)}, {pp (2), pp (3)}, {pp (4), pp (5)}, {pp (6), pp

(7)} utilizing BSD_FA and BSD_FA0 components. The results are denoted as pp'(0), pp'(1),

pp'(2), pp'(3), respectively. In the next step, the same processes are done for the results of first

step. That is (pp'(0) + pp'(1)} and {pp'(2) + pp'(3)} are performed simultaneously. The results are

denoted as pp"(0) and pp"(1), respectively. In the last step, pp"(0) and pp"(1) are added together

and the final sum is obtained. This structure is performed in three steps which leads to less delay

in comparison to the first structure.

The third structure:

This structure is presented in three steps similar to the second structure as shown in Fig.6 (b). In

the first step of this structure, four BSD addition operations are performed in parallel for four

groups of partial products i.e. {pp (0), pp (7)}, {pp (1), pp (6)}, {pp (2), pp (5)}, {pp (3), pp (4)}.

BSD_FA and BSD_FA0 cells are utilized for the addition. The results are denoted as pp'(0),

pp'(1), pp'(2), pp'(3), respectively. It should be noted that this structure makes larger intermediate

results during steps than the second method. In the next step, the same processes are done for the

results of first step. That is {pp'(0) + pp'(3)} and {pp'(1) + pp'(2)} are performed simultaneously.

The results are denoted as pp"(0) and pp"(1), respectively. In the last step, pp"(0) and pp"(1) are

added together and the final sum is obtained. These two structures have equal delays which are

less than the first structure because, in both structures, addition operation of partial products is

performed in three steps while in the first structure it is done sequentially in eight steps.

Figure 6. Second and Third structure for adding partial products

Fig.7 shows the process of 4-digit BSD multiplication for 1-out-of-3 encoding numbers, X and Y.

pp(0), pp(1), pp(2), pp(3) are partial products of X×Y according to (19). Second structure is

utilized to accumulate of partial products. In the first step, two BSD additions are performed in

parallel for two groups of partial products i.e. {pp(0), pp(1)}, {pp(2), pp(3)}. The results are

called pp'(0) and pp'(1), respectively. Finally, pp'(0) and pp'(1) are added together and the final

sum is produced. The final sum has 9-digit while in the conventional binary number system,

multiplication of 4-bit inputs results in 8-bit output. If we ignore the last digit in the final sum, we

may not obtain a correct result.

Page 9: EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Electrical and Electronics Engineering: An International Journal (ELELIJ) Vol 3, No 1, February 2014

47

Figure 7. Multiplication structure of 4-digit BSD numbers X and Y in 1-out-of-3 representation

Example 2: This example depicts BSD multiplication described in Fig.7. Let's assume

X="001001001001"=(15)10

Y="001001001001"=(15)10

In the above example, if we ignore the last digit of final sum, the value of final sum will be -31

while, the result must be 225 because X and Y= (1 1 1 1) BSD= (15)10. Therefore, if we ignore

the last digit in final sum in three structures, we may not achieve a valid result.

In the second and third proposed structures, if we express final sum of multiplication with 16-

digit, we won't have valid results for many cases. Therefore, to achieve a correct result in these

structures, final sum must have 18-digit.

4. SIMULATION AND RESULTS As discussed earlier, 1-out-of-3 BSD xi which is encoded as (xi

2xi1xi

0) with the same weight.

Thus, a p-digit BSD number X is represented by a vector with 3p-bit length. For example, (1 0 0 -

1) BSD = (001010010100). Using the binary representation, BSD multiplication operation was

described in the last section of this paper for the first time. The proposal structures are considered

in this section for simulation and synthesis. To evaluate the area, speed, and power of the

Page 10: EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Electrical and Electronics Engineering: An International Journal (ELELIJ) Vol 3, No 1, February 2014

48

proposed BSD multipliers with 1-out-of-3 encoding scheme, firstly, the structural VHDL

descriptions of these structures are generated. Secondly, they were exhaustively verified. To this

end, we implemented a test-bench which reads an input text file containing all input possibilities.

The outputs were compared to the expected outputs. Afterwards, we synthesized the structures

using Synopsys Design Vision tool and the TSMC 180 nm CMOS standard cell library with

typical conditions (1.8 V, 25ₒc). Three important parameters of arithmetic circuits i.e. area, speed,

and power for these structures are reported in Table VI. Delay, area, and power results are given

in ns, µm2, and mw, respectively.

This table indicates that the delay of the first structure is more than the second and third

structures regarding the fact that this structure is done sequentially in eight steps while the

additions are performed in parallel in the second and third structures. As it was expected, the

second and third modules have same delay which is equal to 2.85 while the first one has the delay

equal to 6.27 ns. Besides, the multiplication delay dose not depends on the length of the input

operands. Area depends on the number of BSD_FA and BSD_FA0 cells which is utilized for

addition operation of partial products. Since the number of cells used in the third structure is more

than that of the two others structure, therefore area in this structure is larger than the two other

structures. Besides, the second structure consumes the least amount of cells and therefore has the

minimum delay among the structures. The maximum and minimum amounts of power are for the

first and second structures, respectively. So it can be included that the second structure in terms of

delay, area and power consumption is appropriate than the other two structures.

Table 4. synthesis results of three proposed multipliers for 8-digit inputs

PDP Power Area Delay

51.071031 8.1453 29169.2 6.27 First Structure

18.16818 6.3748 27861.9267 2.85 Second Structure

18.74331 6.5766 31035.3123 2.85 Third Structure

5. CONCLUSION

In this paper we proposed three different architectures of BSD multiplication operation using the

1-out-of-3 encoding scheme for the first time. We also removed the incorrect equation of

BSD_FA cell using the 1-out-of-3 encoding presented in [16]. The synthesis result indicates that

the first structure is a low-speed module which makes it improper for arithmetic units.

The second and third structures were proposed in order to improve performance. Using these

structures, we succeeded to decrease about 54.54% of the delay, 21% of the power comparing to

the first structure. These improvements are achieved based on designing efficient tree structures

for addition of partial products. The second structure consumes the least delay, area, power and

PDP. The second structure has 54.54% less delay, 21.74% less power, 4.48% less area, and

64.43% less PDP than the first one, it also consumes 10.23% less area, 3% less power, and 3%

less PDP than the third structure. Therefore, the second proposed structure for BSD multiplication

operation with 1-out-of-3 encoding is appropriate for arithmetic units.

REFERENCES

[1] J. U. Ahmed, A. A. S. Awwal, "Multiplier Design Using RBSD Number System," Proc. IEEE Symp.

Aerospace and Electronic conference, (NAECON 1993), May. 1993, pp. 180-184,

doi:10.1109/NAECON.1993.290912

[2] E. L. Johnson, M. A. Karim, "Digital Design: A Pragmatic Approach," PWS-KENT publishing CO.,

Boston, Mass, 1987.

[3] A. Avizenis, "Signed-Digit Number Representations for Fast Parallel Arithmetic," IRE Trans. On

Electronic Computers, Vol. 10. Sept. 1961, pp. 389-400, doi:10.1109/TEC. 1961.5219227.

Page 11: EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM

Electrical and Electronics Engineering: An International Journal (ELELIJ) Vol 3, No 1, February 2014

49

[4] H. Makino, Y. Nakase, H. Suzuki, H. Morinaka, H. Shinohara, and K. Mashiko, "An 8.8-ns 54×54-bit

Multiplier with High Speed Redundant Binary Architecture, " IEEE J. of Solid-State Circuits, Vol. 31,

no .6, June 1996, pp. 773-783, doi:10.1109/4.509863.

[5]N. Takagi, S. Kadowaki, and K. Takagi, "A Hardware Algorithm for Integer Division," in Proc.

17th IEEE Symp. Computer Arithmetic, Jun. 2005, pp. 140-146, doi:10.1109/ARITH.2005.6.

[6] H. A. H. Fahmy, M. J. Flynn, "The Case for a Redundant Format in Floating Point Arithmetic," in

Proc. 16th IEEE Symp. Computer Arithmetic, Jun. 2003, pp. 95-102,

doi:10.1109/ARITH.2003.1207665.

[7] M. Tull, W. Guoping, and M. Ozaydin, "High-Speed Complex Number Multiplier and Inner-Product

Processor," in Proc 45th Midwest Symp. On Circuits and Systems, Vol. 3, Aug. 2002, pp. 640-643,

doi:10.1109/MWSCAS.2002.1187121.

[8] G. Wang, M. Ozaydin, and M. Tull, "\ A Unified Unsigned/signed Binary Multiplier," in Proc. 38

Asliomar Conf. Signals, Systems and Computers, Vol. 1, Nov. 2004, pp. 513-516 ,

doi:10.1109/ACSSC.2004.1399185.

[9] G. Wang, M. Ozaydin, and M. Tull, "High-Performance Divider Using Redundant Binary

Representation," in Proc. 45th Midwest Symp. On Circuits and Systems, Vol. 1, Aug. 2002, pp. 471-

474, doi:10.1109/MWSCAS.2002.1187260.

[10] Wei, Sh. , Shimizu, K., "Residue Arithmetic Circuits Based on Signed-Digit Number Representation

and the VHDL Implementation.," Ypsilanti, MI : Ninth Great lakes Symposium on VLSI, pp. 218-

221,ISBN: 0-4-0104-7695, 1999.

[11] Wei, Sh., Shimizu, K., "Residue Arithmetic Circuits Using a Signed-Digit Number Representation,"

Geneva : International Symposium on Circuits and Systems, Vol. 1, pp. 24-27, ISBN: 0-7803-5482-6,

2000.

[12] Wei, Sh., "Modular Multipliers Using a Modified Residue Addition Algorithm with Signed-Digit

Number Representation," Hong Kong : Proceedings of the International MultiConference of

Engineers and Computer Scientists,. IMECS, Vol. 1, 2009.

[13] Zhang, M. , Wei, Sh., "High-Speed Modular Multipliers Based on a New Binary Signed-Digit Adder

Tree Structure," Hong Kong : Ninth International Symposium on Distributed Computing and

Applications to Business, Engineering and Science, ISBN:978-1-4244-7539-1, pp. 615-619, 2010.

[14] Wei, Sh., " A Sequential Modular Multiplication Algorithm Using Residue Signed-Digit Additions,"

Bali : TENCON IEEE Region 10 Conference, ISBN: 978-1-4577-0256-3, pp. 174-178, 2011.

[15] S. Timarchi, P. Ghayour and A. Shahbahrami “A Novel High-Speed Low-Power Binary Signed-Digit

Adder”, in 16th CSI International symposium on Computer Architecture and Digital Systems

(CADS2012), pp. 357-363 , dio:10.1109/12660173.

[16] Kharbash, F. , Chaudhry, G. M., "Binary Signed Digit Number Adder Design with Error Detection

Capability," Sharjah 9th International Symposium on signal processing and Its Applications, ISSPA.

pp. 1-4, ISBN: 978-1-4244-1779-8, 2007.

[17] P. K. Lala, "Self checking and Fault-tolerance digital design," 1st ed. Morgan Kaufmann Publishers

Inc., San Francisco, 2001.

[18] W. J. Townsend, J. A. Abraham, and P. K. Lala, "On-line error detecting constant delay adder," 9th

IEEE On-Line Testing Symp., pp. 17-22, 2003, dio:10.1109/OLT . 2003.1214361.

[19] Y. Harata, Y. Nakamura, H. Nagase, M. Takigawa, and N. Takagi, "A High Speed Multiplier Using a

Redandant Binary Adder Tree," IEEE J. of Solid-State Circuits, Vol. 22, no. 1, pp. 28-31, Feb. 1987.

[20] D. S. Phatak, T. Goff, and I. Koren,"Constant time Addition and Simultaneous Format Conversion

Based on Redundant Binary Representations," IEEE Trans. On Computers, Vol. 50, no. 11, pp.

11267-1287, Nov. 2001.