Claims
- 1. An adder-incrementer circuit for processing a first binary number (A) of a predetermined plurality of bits and a second binary number (B) of the predetermined plurality of bits, the circuit comprising:
a first stage logic circuit receiving the first binary number (A) and the second binary number (B), for processing each pair of respective bits (Am) and (Bm) from the first binary number (A) and the second binary number (B) to generate at least two intermediate carry terms; a carry chain coupled to receive sets of the at least two intermediate carry terms from the first stage logic circuit, for processing the received sets to generate two sets of summation carry terms relative to bit positions of a sum of the first and second binary numbers; a second stage logic circuit, coupled to outputs of the carry chain, for logically processing the two sets of summation carry terms with respect to an increment signal, to produce a set of output carry signals with respect to bit positions of the incremented sum of the first and second binary numbers; output logic gates for combining the set of output carry signals with a set of intermediate carry terms from the first stage logic circuit to generate an output related to the sum of the first and second binary numbers; and a carry-logic gate for logically processing the increment signal and a predetermined bit of at least one of the two sets of summation carry terms from the carry chain, to produce a carry indicator signal for distinguishing a cause of a carry generation with respect to the output related to the sum of the first and second binary numbers.
- 2. The circuit as in claim 1, wherein the carry-logic gate produces a CarryOut signal due to an increment operation.
- 3. The circuit as in claim 1, wherein:
the increment signal comprises a binary signal signifying a conditional increment; and the second stage logic circuit and the output logic gates are adapted to conditionally generate the output related to the sum as either: the sum of the first and second binary numbers if the binary signal signifying conditional increment has a first value, or the sum of the first and second binary numbers incremented by 1 if the binary signal signifying conditional increment has a second value.
- 4. The circuit as in claim 3, wherein the at least two intermediate carry terms are selected from the group consisting essentially of: carry generate (g), carry propagate (p) and carry kill (k).
- 5. The circuit as in claim 4, wherein:
the carry chain receives sets of carry generate terms (g) and carry propagate terms (p) from the first stage logic circuit; the carry chain processes the received carry generate terms (g) and carry propagate terms (p) to produce a set of summation carry generate terms (G) and a set of summation carry propagate terms (P) as the two sets of summation carry terms relative to bit positions of the sum of the first and second binary numbers; and the carry-logic gate comprises an AND gate for AND-ing the binary signal signifying a conditional increment with respect to a highest order one of the summation carry propagate terms (P) from the carry chain.
- 6. The circuit as in claim 5, wherein the carry chain comprises a logic circuit implementation of a prefix carry chain.
- 7. The circuit as in claim 4, wherein:
the carry chain receives sets of carry generate terms (g) and carry kill terms (k) from the first stage logic circuit; the carry chain processes the received carry generate terms (g) and carry kill terms (k) to produce a set of summation carry generate terms (G) and a set of summation carry kill terms (K) as the two sets of summation carry terms relative to bit positions of the sum of the first and second binary numbers; and the carry-logic gate comprises an AND gate for AND-ing the binary signal signifying a conditional increment with respect to: an inverse of a highest order one of the summation carry generate terms (G) from the carry chain and an inverse of a highest order one of the summation carry kill terms (K) from the carry chain.
- 8. The circuit as in claim 7, wherein the carry chain comprises a logic circuit implementation of a prefix carry chain.
- 9. A circuit for adding a first binary number to a second binary number and conditionally generating an incremented sum of the first and second binary numbers, the circuit comprising:
a carry chain of logic circuits for producing two sets of summation carry terms relative to bit positions of a sum of the first and second binary numbers; at least one output stage logic circuit, coupled to outputs of the carry chain, for logically processing the two sets of summation carry terms with respect to a value of a conditional increment signal, to selectively output either one of: the sum of the first and second binary numbers, and the incremented sum of the first and second binary numbers; and a carry-logic gate for logically processing the value of the conditional increment signal and a predetermined bit of at least one of the two sets of summation carry terms from the carry chain, to produce a carry output signal dependent on a carry result if any is generated by incrementing of the sum of the first and second binary numbers.
- 10. The circuit as in claim 9, wherein the logic circuits of the carry chain are arranged to implement a prefix graph carry functionality.
- 11. The circuit of claim 9, further comprising a preliminary stage of logic gates for processing the first and second binary numbers to produce intermediate carry terms and supplying the intermediate carry terms to drive the carry chain.
- 12. A circuit for adding a first binary number (A) to a second binary number (B) and conditionally generating an incremented sum of the first and second binary numbers, the circuit comprising:
first means, for receiving the first binary number (A) and the second binary number (B), and for processing each pair of respective bits (Am) and (Bm) from the binary numbers (A, B) to generate at least two intermediate carry terms; second means for processing sets of the at least two intermediate carry terms to generate two sets of summation carry terms relative to bit positions of a sum of the first and second binary numbers; third means, for logically processing the two sets of summation carry terms with respect to a conditional increment signal, to produce a set of carry generate signals (G′) with respect to bit positions of the conditionally incremented sum of the first and second binary numbers; fourth means for combining the set of carry generate signals (G′) with a set of intermediate carry terms from the first means, to conditionally generate the incremented sum of the first and second binary numbers; and fifth means, responsive to the conditional increment signal and a predetermined bit of at least one of the two sets of summation carry terms, for producing a carry out signal indicative of a carry resulting from incrementing the sum of the first and second binary numbers.
- 13. A method of processing a first binary number and a second binary number so as to add the first and second binary numbers and to conditionally increment a sum of the binary numbers, comprising:
processing the first and second binary numbers to perform a carry chain computation relating to summation of the first and second binary numbers to produce summation carry terms; if an increment signal has a first value, generating the sum of the first and second binary numbers; if the increment signal has a second value, generating an incremented sum of the first and second binary numbers; and performing a logical operation on the increment signal and a predetermined bit from among the summation carry terms, so as to generate a signal based on whether or not generation of the incremented sum produced a carry.
- 14. The method as in claim 13, wherein:
the processing step comprises computing carry generate (G) terms and carry propagate (P) terms; and the performing step comprises AND-ing the increment signal with a highest order one of the carry propagate (P) terms.
- 15. The method as in claim 13, wherein:
the processing step comprises computing carry generate (G) terms and carry kill (K) terms; and the performing step comprises AND-ing the increment signal with: an inverse of a highest order one of the carry generate (G) terms, and an inverse of a highest order one of the carry kill (K) terms.
- 16. The method as in claim 13, wherein the carry chain computation in the processing step comprises a prefix graph carry chain computation.
CROSS REFERENCE TO RELATED CASE
[0001] This application claims priority to Provisional U.S. Patent Application No. 60/324,087, filed Sep. 24, 2001, which is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60324087 |
Sep 2001 |
US |