Claims
- 1. An operation circuit for M-bit parallel full addition, comprising:
- N partitioned adders provided for every n bits (n<M; N.gtoreq.M/n), each generating a pair of provisional carry signals C.sub.ns-1 (1) and C.sub.ns-1 (0) and real sum signals Fj each having n bits (n(s-1).ltoreq.j.ltoreq.n2-1) related to the s-th (1.ltoreq.s.ltoreq.N) partitioned adder, said paired provisional carry signals being calculated supposing a first case where a carry signal (carry-out) of a lower-order bit ((n(s-1)-1)th bit) is "1" and a second case where the carry signal of said lower-order bit is "0"; and
- means for generating a real carry signal C.sub.ns-1 (carry-out of the (ns-1)th bit) and a pair of provisional carry signals C*.sub.ns-1 (1) and C*.sub.ns-1 (0), said means for generating comprising:
- a plurality of first means for selecting one of provisional carry signals C.sub.ns-1 (1) and C.sub.ns-1 (0) supplied from an s-th partitioned adder, depending on the value of the real carry signal C.sub.n(s-1)-1 supplied from said (s-1)th partitioned adder being "1" or "0", respectively, said selected one of said provisional carry signals being the real carry signal C.sub.ns-1 to be propagated from said s-th partitioned adder;
- a plurality of second means for generating a pair of provisional carry signals C*.sub.ns-1 (1) and C*.sub.ns-1 (0) by selecting either one of said provisional carry signals C.sub.ns-1 (1) and C.sub.ns-1 (0), depending on the provisional carry signals C*.sub.n(s-1)-1 (1) and C*.sub.n(s-1)-1 (0) propagated from said second means relating to the (n(s-1)-1)th bit, or depending upon said provisional carry signals C.sub.n(s-1)-1 (1) and C.sub.n(s-1)-1 (0) propagated from said (s-1)th partitioned adder, C.sub.ns-1 (1) or C.sub.ns-1 (0) being selected as C*.sub.ns-1 (1) depending on the value of C*.sub.n(s-1)-1 (1) or C.sub.n(s-1)-1 (1) being "1" or "0" respectively, and C.sub.ns-1 (1) or C.sub.ns-1 (0) being selected as C*.sub.ns-1 (0) depending upon the value of C*.sub.n(s-1)-1 (0) or C.sub.n(s-1)-1 (0) being "1" or "0", respectively; and
- a plurality of third means, used alternately with said first means in combination with said second means, for generating said real carry signal C.sub.ns-1 by selecting C*.sub.ns-1 (1) or C*.sub.ns-1 (0) generated by said second means and related to said (ns-1)th bit, if said real carry signal C.sub.ms-1 (0<m<n) propagated from one of said first and third means relating to said lower-order bit ((ms-1)th bit) is "1" or "0", respectively; and
- said first means relating to said (ns-1)th bit and l pairs (0<l<N) of said second and third means relating to a (n(s+1)-1)th, (n(s+2)-1)th, . . . , and (n(s+l)-1)th bit, generating (l+1) real carry signals C.sub.ns-1, C.sub.n(s+1)-1, C.sub.n(s+2)-1, . . . , and C.sub.n(s+l)-1 at the same time depending on the real carry signal C.sub.n(s-1)-1 relating to the (n(s-1)-1)th bit, C.sub.ns-1 (1), C*.sub.n(s+1)-1 (1), C*.sub.n(s+2)-1 (1), . . . , and C*.sub.n(s+l)-1 (1) are selected as the respective real carry signals if C.sub.n(s-1)-1 is "1", and C.sub.ns-1 (0), C*.sub.n(s+1)-1 (0), C*.sub.n(s+2)-1 (0), . . . , and C*.sub.n(s+l)-1 (0) are selected as respective real carry signals when C.sub.n(s-1)-1 is "0".
- 2. An operation circuit as claimed in claim 1, wherein each of said partitioned adders is a 4-bit partitioned adder (n=4), and each of said first means comprise a plurality of first multiplexers, each of said second means comprise a plurality of second and third multiplexers, and each of said third means comprise a plurality of fourth multiplexers;
- said first multiplexer relating to a seventh bit selects one of a pair of provisional carry signals C7(1) and C7(0) propagated from said second partitioned adder, depending on the real carry signal C3 propagated from said first partitioned adder which includes four series connected ripple-carry adders, for generating a real carry signal C7 relating to the seventh bit which is supplied to said first multiplexer relating to the 11th bit and said fourth multiplexer relating to the 15th bit,
- wherein said first multiplexer relating to the 11th bit selects one of a pair of provisional carry signals C11 (1) and C11 (0) propagated from said third partitioned adder to generate a real carry signal C11 depending on the value of the real carry signal C7 propagated from said first multiplexer relating to the seventh bit,
- wherein said second and third multiplexers, relating to the 15th bit, generate a pair of provisional carry signals C15*(1) and C15*(0) by using a pair of provisional carry signals C11(1) and C11(0) propagated from said third partitioned adder and a pair of provisional carry signals C15(1) and C15(0) propagated from said fourth partitioned adder, and
- wherein said fourth multiplexer relating to the 15th bit generates a real carry signal C15 when the real carry signal C7 of the second partitioned adder is generated.
- 3. An operation circuit as claimed in claim 2, wherein a pair of provisional carry signals C19(1) and C19(0) supplied from said fifth partitioned adder being input to said first multiplexer relating to a 19th bit and said second and third multiplexers relating to a 23rd bit,
- wherein said second and third multiplexers generate a pair of provisional carry signals C23*(1) and C23*(0) depending upon the provisional carry signals C19(1) and C19(0), respectively, supplied from said fifth partitioned adder and a pair of provisional carry signals C23(1) and C23(0) supplied from said sixth partitioned adder, said provisional carry signals C23*(1) and C23*(0) being supplied to said second and third multiplexers relating to a 27th bit to generate C27*(1) and C27*(0), respectively, in combination with a pair of provisional carry signals C27(1) and C27(0) output from said seventh partitioned adder, and
- wherein said fourth multiplexers relating to the 23rd and 27th bits and said first multiplexer relating to the 19th bit generate real carry signals C23, C27, and C19, respectively, when said real carry signal C15 relating to the 15th bit is generated.
- 4. An operation circuit as claimed in claim 1, wherein said first means relating to the (ns-1)th bit comprises:
- a selector for selecting an inverted signal of either one of said provisional carry signal C.sub.ns-1 (1) or C.sub.ns-1 (0), propagated from said s-th partitioned adder; and
- an inverter, operatively connected to said selector, through which the selected signal passes, and wherein said inverter outputs said real carry signal C.sub.ns-1.
- 5. An operation circuit as claimed in claim 4, wherein said selector comprises a pair of transfer gates.
- 6. An operation circuit as claimed in claim 1, wherein said second means relating to the (ns-1)th bit comprises:
- a first selector for selecting either one of said provisional carry signals C.sub.ns-1 (1) or C.sub.ns-1 (0) propagated from said s-th partitioned adder, depending upon the value of said provisional carry signal C.sub.n(s-1) (1) propagated rom said (s-1)th partitioned adder;
- a second selector for selecting either one of said provisional carry signals C.sub.ns-1 (1) or C.sub.ns-1 (0), depending upon the value of said provisional carry signal C.sub.n(s-1)-1 (0) propagated from said (s-1)th partitioned adder; and
- first and second inverters, operatively connected to said first and second selectors, through which selected signals output from said first and second selectors pass, respectively;
- wherein said third means relating to the (ns-1)th bit comprises:
- a third selector, operatively connected to said first and second inverters, for selecting one of the signals output from said first and second inverters; and
- a third inverter, operatively connected to said third selector, through which said selected signal output from said third selector passes, the output signal from said third inverter being the real carry signal C.sub.ns-1).
- 7. An operation circuit as claimed in claim 6, wherein said second means relating to the (ns-1)th bit further comprises fourth and fifth inverters connected to said first and second inverters, respectively, output signals from said fourth and fifth inverters are said provisional carry signals C*.sub.ns-1 (1) and C*.sub.ns-1 (0), respectively.
- 8. An operation circuit as claimed in claim 1, wherein each of said N partitioned adders comprises:
- real sum generating means for generating real sum signals Fj having n bits, said real sum generating means including:
- transfer gates; and
- inverters respectively operatively connected to said transfer gates; and
- provisional carry signal generating means for generating said pair of provisional carry signals C.sub.ns-1 (1) and C.sub.ns-1 (0).
- 9. An operation circuit as claimed in claim 1, wherein l increases toward the highest-order bit.
- 10. An operation circuit for M-bit parallel full addition, comprising:
- N partitioned adders provided for every n bits (n<M; N.gtoreq.M/n), each generating a pair of provisional carry signals C.sub.ns-1 (1) and C.sub.ns-1 (0) and a pair of provisional sum signals Fj(1) and Fj(0) each having n bits (n(s-1).ltoreq.j.ltoreq.ns-1) relating to said s-th (1.ltoreq.s.ltoreq.N) partitioned adder, said paired provisional carry signals and said paired provisional sum signals being calculated supposing a first case where the carry signal (carry-out) of a lower-order bit ((n(s-1)-1)th) is "1" and a second case where the carry signal of said lower-order bit is "0"; and
- means for generating a real carry signal C.sub.ns-1 (carry-out of the (ns-1)th bit), real sum signals Fj having n bits and relating to said s-th partitioned adder (n(s-1).ltoreq.j.ltoreq.ns-1) and a pair of provisional carry signals C*.sub.ns-1 (1) and C*.sub.ns-1 (0), said means comprising:
- a plurality of first means for selecting one of C.sub.ns-1 (1) and C.sub.ns-1 (0) and selecting one of Fj(1) and Fj(0) having n bits and output from said s-th partitioned adder, depending on the value of the real carry signal C.sub.n(s-1)-1 output from said (s-1)th partitioned adder being "1" or "0", respectively, said selected one of said provisional carry signals being the real carry signal C.sub.ns-1 to be propagated from said s-th partitioned adder, said selected one of said provisional sum signals being the real sum signal Fj relating to the j-th bit;
- a plurality of second means for generating a pair of provisional carry signals C*.sub.ns-1 (1) and C*.sub.ns-1 (0) by selecting either one of said provisional carry signals C.sub.ns-1 (10 and C.sub.ns-1 (0), depending on the provisional carry signals C*.sub.n(s-1)-1 (1) and C*.sub.n(s-1)-1 (0) propagated from said second means relating to the (n(s-1)-1th bit, or depending upon said provisional carry signals C.sub.n(s-1)-1 (1) and C.sub.n(s-1)-1 (0) propagated from said (s-1)th partitioned adder, C.sub.ns-1 (1) or C.sub.ns-1 (0) being selected as C*.sub.ns-1 (1) depending upon the value of C*.sub.n(s-1)-1 (1) or C.sub.n(s-1)-1 (1) being "1" and "0" respectively, and C.sub.ns-1 (1) or C.sub.ns-1 (0) being selected as C*.sub.ns-1 (0) depending upon the value of C*.sub.n(s-1)-1 (0) or C.sub.n(s-1)-1 (0) being "1" and "0", respectively; and
- a plurality of third means, alternately used with said first means in combination with said second means, for generating the real carry signal C.sub.ns-1 by selecting C*.sub.ns-1 (1) or C*.sub.ns-1 (0) generated by said second means relating to the (ns-1)th bit, and for generating the real sum signals Fj having n bits by selecting Fj(1) or Fj(0) supplied from said s-th partitioned adder, depending on a real carry signal C.sub.ms-1 (0<m.ltoreq.n-1) propagated from said first or third means relating to the lower-order bit ((ms-1)th bit) being "1" or "0", respectively,
- said first means relating to the (ns-1)th bit and l pairs (0.ltoreq.l.ltoreq.N) of said second and third means relating to the (n(s+1)-1)th, (n(s+2)-1)th, . . . , and (n(s+l)-1)th bit, generating (l+1) real carry signals C.sub.ns-1, C.sub.n(s+1)-1, C.sub.n(s+2)-1, . . . , and C.sub.n(s+l)-1 and real sum signals Fj including n(l+1)bits (n(s-1).ltoreq.j.ltoreq.n(s+l)-1) at the same time depending upon the real carry signal C.sub.n(s-1)-1 relating to the (n(s-1)-1)th bit, wherein C.sub.ns-1 (1), C*.sub.n(s+1)-1 (1), C*.sub.n(s+2)-1 (1), . . . , C*.sub.n(s+l)-1 (1) and Fj(1) are selected as the respective real carry and sum signals when C.sub.n(s-1)-1 is "1" and C.sub.ns-1 (0), C*.sub.n(s+1)-1 (0), C*.sub.n(s+2)-1 (0), . . . , C*.sub.n(s+l)-1 (0), and Fj(0) are selected as the respective real carry and sum signals when C.sub.n(s-1)-1 is "0".
- 11. An operation circuit as claimed in claim 10, wherein each of said partitioned adders is a 4-bit partitioned adder (n=4), and said first means comprises a plurality of first multiplexers, said second means comprises a plurality of second and third multiplexers, and said third means comprises a plurality of fourth multiplexers,
- wherein said first multiplexer relating to the 4th-7th bits selects one of a pair of said provisional carry signals C7(1) and C7(0) and selects one of a pair of said provisional sum signals Fj(1) and Fj(0) (j=4-7), propagated rom said second partitioned adder, depending upon the value of the real carry signal C3 propagated from said first partitioned adder which comprises four series-connected ripple carry adders, for generating a real carry signal C7 relating to the seventh bit, which is supplied to said first multiplexer relating to the 8th-11th bits and said fourth multiplexer relating to the 12th-15th bits, and generating real sum signals F.sub.4 -F.sub.7,
- wherein said first multiplexer relating to the 8th-11th bits selects one of a pair of said provisional carry signals C11(1) and C11(0) and selects one of a pair of said provisional sum signals Fj(1) and Fj(0) (j=8-11) propagated from the third partitioned adder, to generate a real carry signal C11 and real sum signals F.sub.8 -F.sub.11, depending upon the value of the real carry signal C7 propagated from said first multiplexer relating to the seventh bit,
- wherein said second and third multiplexers relating to the 15th bit, generate a pair of provisional carry signals C15*(1) and C15*(0) by using a pair of said provisional carry signals C11(10 and C11(0) propagated from said third partitioned adder and a pair of said provisional carry signals C15(1) and C15(0) propagated from said fourth partitioned adder,
- wherein said fourth multiplexer relating to the 12th-15th bits generates a real carry signal C15 by selecting said provisional carry signal C15*(1) or C15*(0) output from said second and third multiplexers relating to the 15th bit, and generates the sum signals F.sub.12 -F.sub.15 by selecting said provisional sum signal Fj(1) or Fj(0) (j=12-15) supplied from said fourth partitioned adder, respectively, when the real carry signal C7 of said second partitioned adder is generated.
- 12. An operation circuit as claimed in claim 11, wherein a pair of provisional carry signals C19(1) and C19(0) output from said fifth partitioned adder is input to said first multiplexer relating to the 16th-19th bits and to said second and third multiplexers relating to the 20th-23rd bits,
- wherein said second and third multiplexers relating to the 23rd bit generate a pair of provisional carry signals C23*(1) and C23*(0) depending on said provisional carry signal C19(1) or C19(0), respectively, output from said fifth partitioned adder and a pair of provisional carry signals C23(1) and C23(0) output from said sixth partitioned adder, said provisional carry signals C23*(1) and C23*(0) being input to said second and third multiplexers relating to the 24th-27th bits to generate C27*(1) and C27*(0), respectively, in combination with a pair of provisional carry signals C27(1) and C27(0) supplied from said seventh partitioned adder,
- wherein said first multiplexer relating to the 16th-19th bits and sid fourth multiplexers relating to the 20th-23rd and 24th-27th bits generate real carry signals C19, C23 and C27, and real sum signals F.sub.16 -F.sub.19, F.sub.20 -F.sub.23, and F.sub.24 -F.sub.27, respectively, when said real carry signal C15 relating to the 15th bit is generated.
- 13. An operation circuit as claimed in claim 10, wherein said first means relating to the n(s-1)th through (ns-1)th bits comprises:
- first selector means for selecting an inverted signal of either said provisional carry signal C.sub.ns-1 (1) or C.sub.ns-1 (0) propagated from said s-th partitioned adder;
- a first inverter, operatively connected to said first selector means, through which the selected provisional carry signal passes and outputting said real carry signal C.sub.ns-1 ;
- second selector means for selecting an inverted signal of either one of said provisional sum signals Fj(1) and Fj(0) (n(s-1)<j<ns-1) propagated from said s-th partitioned adder; and
- second inverters, operatively connected to said second selector means, through which the selected provisional sum signals pass and outputting said real sum signals F.sub.n(s-1) through F.sub.ns-1.
- 14. An operation circuit as claimed in claim 10, wherein said second means relating to the (ns-1)th bit comprises:
- first selector means for selecting either one of said provisional carry signals C.sub.ns-1 (1) or C.sub.ns-1 (0) propagated from said s-th partitioned adder, depending upon the value of said provisional carry signal C.sub.n(s-1)-1 (1), propagated from said (s-1)th partitioned adder; and
- second selector means for selecting either one of said provisional carry signals C.sub.ns-1 (1) and C.sub.ns-1 (0), depending upon the value of said provisional carry signal C.sub.n(s-1)-1 (0), propagated from said (s-1)th partitioned adder;
- first and second inverters, operatively connected to said first and second selector means, through which selected signals output from said first and second selectors pass, respectively,
- wherein said third means relating to the (n(s-1)-1)th to (ns-1)th bits comprises:
- third selector means, operatively connected to said first and second inverters, for selecting one of the signals output from said first and second inverters;
- a third inverter, operatively connected to said third selector means, for receiving the selected signal output from said third selector means and outputting said real carry signal C.sub.ns-1 ;
- fourth selector means for selecting either one of said provisional sum signals Fj(1) or Fj(0) (n(s-1).ltoreq.j.ltoreq.ns-1) including n bits propagated from said s-th partitioned adder; and
- fourth inverters, operatively connected to said fourth selector means, for receiving the selected signals from said fourth selector means and outputting the real sum signals F.sub.n(s-1) through F.sub.ns-1.
- 15. An operation circuit as claimed in claim 14, wherein said second means relating to the (ns-1)th bit further comprises:
- fifth and sixth inverters, connected to said first and second inverters, respectively, and outputting provisional carry signals C*.sub.ns-1 (1) and C*.sub.ns-1 (0), respectively.
- 16. An operation circuit as claimed in claim 10, wherein l increases toward the highest-order bit.
- 17. An operation circuit for M-bit parallel full addition, comprising:
- N partitioned adders, N being greater than or equal to one, the kth adder processing a corresponding number of bits n.sub.k (1.ltoreq.k.ltoreq.N) relating to the (1-n.sub.k +1)th through q-th bit (q=n.sub.1 +n.sub.2 n.sub.3. . .+n.sub.k -1), and comprising:
- a plurality of first through fourth means, said first means generating a pair of provisional carry signals C.sub.j (1) and C.sub.j(0) (e+1.ltoreq.j.ltoreq.q-1, e=1-n.sub.k);
- said second means generating a pair of provisional sum signals Fj(1) and Fj(0) ((e+1).ltoreq.j.ltoreq.q) having n.sub.k bits during a first case where a carry-in signal C.sub.e input to one of said partitioned adders is "1" and during a second case where said carry-in signal is "0";
- said third and fourth means generating a block look-ahead carry propagate signal BPq and a block look-ahead carry generate signal BGq relating to the q-th bit;
- in said N first means, the kth first means selecting either one of said paired provisional sum signals Fj(1) and Fj(0) supplied from said kth partitioned adder depending upon the value of said carry-in signal C.sub.e and producing real sum signals Fj having n.sub.k bits (e+1.ltoreq.j.ltoreq.q);
- in said R second means (1.ltoreq.R<N), the rth second means (1.ltoreq.r.ltoreq.R) generating a pair of provisional carry signals C.sub.qr(j) (1) and C.sub.qr(j) (0), each having m.sub.r bits (1.ltoreq.m.sub.r <N) relating to the qr(1)-th through qr(m.sub.r)-th bits, during a first case where the carry-in signal C.sub.u input to said second means (u<qr(1)) is "1" and during a second case where said carry-in signal C.sub.u is "0" by employing said block look ahead carry generate signals BGqr(1), BGqr(2) . . . , BGqr(j), wherein j=1, 2, 3, . . . , m.sub.r and qr(j) is a q-value related to said third and fourth means of said partitioned adder related to the qr(j)-th bit;
- in said R third means, the r-th (1.ltoreq.r.ltoreq.R) third means generating real carry signals C.sub.qr(j) or inverted real carry signals XC.sub.qr(j) (1.ltoreq.j.ltoreq.m.sub.r) relating to the qr(j)-th bit having m.sub.r bits, by selecting one of said paired provisional carry signals C.sub.qr(j) (1) and C.sub.qr(j) (0) input from said r-th second means, depending upon the value of said real carry signal propagated from said (r-1)th third means, said selected one of said paired provisional carry signals relating to the qr(j)-th bit input to said first means relating to the (qr(j)+1)-th through qr(j+1)th bits for generating real sum signals Fj, and said selected real carry signal or said inverted real carry signal relating to the qr(m.sub.r)-th bit being supplied to said (r+1)th third means for generating real carry signals having higher-order bits;
- each of said first through third means and said partitioned adders comprising transfer gates and inverters;
- each of said transfer gates receiving corresponding input signals and outputting one of said corresponding input signals; and
- each of said inverters being coupled to a corresponding one of said transfer gates and inverting said one of said corresponding input signals output by said corresponding one of said transfer gates.
- 18. An operation circuit as claimed in claim 17, wherein said n umber of bits (m.sub.r) included in each of said second means increases toward the highest-order bit.
- 19. An operation circuit as claimed in claim 17, wherein the number of bits (m.sub.r) included in each of said second means is identical to each other.
- 20. An operation circuit as claimed in claim 17, wherein the number of bits (n.sub.k) to be processed in each of said partitioned adders is equal to each other.
- 21. An operation circuit as claimed in claim 17, wherein the number of bits (n.sub.k) to be processed in each of said partitioned adders increases toward the highest-order bit.
Parent Case Info
This application is a continuation of application Ser. No. 329,241, filed Mar. 27, 1989, now abandoned.
US Referenced Citations (1)
Number |
Name |
Date |
Kind |
4675838 |
Mazin et al. |
Jun 1987 |
|
Foreign Referenced Citations (5)
Number |
Date |
Country |
147754 |
Apr 1982 |
JPX |
105041 |
Jul 1985 |
JPX |
226836 |
Mar 1986 |
JPX |
221822 |
Oct 1986 |
JPX |
75840 |
Jan 1987 |
JPX |
Non-Patent Literature Citations (2)
Entry |
E. C. Dunn et al., "Arithmetic Unit Using Table Look-Up", IBM Technical Disclosure Bulletin, vol. 12, No. 11, Apr. 1970, pp. 1800-1801. |
R. B. Anderson, "Five-Level Combinations Sum Predict & Carry Propagate Adder", IBM Technical Disclosure Bulletin, vol. 14, No. 1, Jun. 1971, pp. 112-113. |
Continuations (1)
|
Number |
Date |
Country |
Parent |
329241 |
Mar 1989 |
|