Abstract-The sequential and indeterminate behavior of an end-around-carry (EAC) adder is examined. This behavior is commonly overlooked in the literature. Design modifications to impose determinism are provided. These modifications also eliminate the troublesome negative zero found in the one's complement number system. Index Terms-End-around-carry (EAC) adder, negative zero, one's complement arithmetic. Fig. 1 . The end-around-carry (EAC) adder is commonly assumed to form a unique sum for every possible pair of addends. In particular, the result of adding a number and its one's complement is popularly thought to be negative zero [1] , [2] . Indeed, this conviction led to the design of a "subtractive" adder (a subtractor that complements the subtrahend) for the fixed add unit in the CDC 6600 [5] . It was thought that such an adder would always sum a number and its one's complement to positive zero instead of the troublesome negative zero. In fact, for both the adder in Fig. 1 and an iterative cell "subtractive" adder, the sum may be positive or negative zero depending on the preceding addends and the relative propagation delays in the adder. For each cell in the adder in Fig. 1 , the carry-out is equal to the carry-in when the addend input lines A and B assume carry-propagating values (A,B = 0,1 or 1,0). When a number and its one's complement are added, the addend input lines of every cell have carry-propagating values and the carry lines may assume one of two stable states. All the carry lines may be 0, resulting in a negative zero sum, or all the carry lines may be 1, resulting in a positive zero sum. Fig. 2 shows that the choice between these two possible states can depend either on the preceding values of the carry lines or on the relative propagation delays in the adder. In Fig. 2 (a) ( Fig. 2(b) ) the all 0 (1) state of the carry lines in the first addition is preserved in the second addition, leading to a negative (positive) zero sum. The addends in the second addition are the same in both Fig. 2 (a) and (b), yet the sums differ. In this case, the'values of the addends in the first addition affect the sum in the second addition; the adder exhibits sequential behavior. In Fig. 2
Since the carry output depends on the carry input, a direct connection between them forms a combinational loop that may lead to an unwanted race condition REF .
Comment on the Sequential and Indeterminate Behavior of an End-Around-Carry Adder
IEEE Trans. Computers
IEEE Trans. Computers
Computer Science