← Back to Patent Explorer
US5483478A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and structure for reducing carry delay for a programmable carry chain

Assignee: Xilinx Inc
•
Filing: 1994-04-08
•
Granted: 1996-01-09
•
Expires: 2014-04-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A carry-lookahead structure for programmable architectures includes a number of M-bit carry lookahead units, each M-bit unit having two parallel programmable carry paths having AND gates controlled by configuration bits to program the beginning and end of an operating carry chain within the M-bit units, as well as the beginning locations in each unit, one path generating a first set of carry bits for the case of the carry-in equal to 0, and the other generating a second set of carry bits for the case of the carry-in equal to 1, and at least one multiplexer controlled by the carry-in for selecting one of the two carries at the most significant bit of the first and second sets of carry bits as carry-out of the unit. Each M-bit unit may further include multiplexers controlled by the carry-in for selecting which of the first and second sets of carry bits are the correct carry bits for addition and M sum logic elements for generating the outputs of sum bits. An alternative is an adder in which the precomputation of the sums is performed for the two possible values of carry-in in each M-bit unit, providing two sets of sum bits, and where multiplexers select which of the two sets of the sum bits is the correct sum and which of the two carry bits produced in the most significant bit of the unit is used as the carry-out of the unit in response to the actual carry-in value of the unit.

Inventors

  • 👤 David Chiang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 09:00
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/50; G06F7/505; G06F7/506; G06F7/508; G06F7/507

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 343 words
A method for reducing carry delay for a programmable architecture including a programmable carry chain controlled by a plurality of configuration bits for specifying the beginning and end locations of said carry chain, said method comprising the steps of: providing a plurality of multi-bit units, each multi-bit unit having a carry-in input line for receiving a carry bit from a less significant multi-bit unit, and a carry-out output line for sending a carry bit to a more significant multi-bit unit as a carry-in thereof; including a plurality of subunits in each multi-bit unit, for each subunit; coupling a first combinatorial gate to a first carry logic element via a first programmable carry path; coupling a second combinatorial gate to a second carry logic element via a second programmable carry path; providing a pair of addends to a sum logic element, said first carry logic element, and said second carry logic element; multiplexing signals on said first programmable carry path and said second programmable path with a first multiplexer; providing an output signal of said first multiplexer to said sum logic element; coupling a means for configuring to the input terminal of said first combinatorial gate and to the input terminal of said second combinatorial gate; coupling the first combinatorial gate of the first subunit of said multi-bit unit to a first voltage source and coupling the second combinatorial gate of said first subunit of said multi-bit unit to a second voltage source; coupling the first combinatorial gate of a subsequent subunit of said multi-bit unit to the first carry logic element in a preceding subunit; coupling the second combinatorial gate of said subsequent subunit of said multi-bit unit to the second carry logic element of said preceding subunit; coupling the first carry logic element and the second logic element of a last subunit in said multi-bit unit to the input terminals of a second multiplexer; activating said first and second multiplexers with a signal provided by said carry-in input line; and providing a signal from said second multiplexer to said carry-out output line.
Claim 2
Independent Claim 343 words
A method for reducing carry delay for a programmable architecture including a programmable carry chain controlled by a plurality of configuration bits for specifying the beginning and end locations of said carry chain, said method comprising the steps of: providing a plurality of multi-bit units, each multi-bit unit having a carry-in input line for receiving a carry bit from a less significant multi-bit unit, and a carry-out output line for sending a carry bit to a more significant multi-bit unit as a carry-in thereof; including a plurality of subunits in each multi-bit unit, for each subunit; coupling a first combinatorial gate to a first carry logic element via a first programmable carry path; coupling a second combinatorial gate to a second carry logic element via a second programmable carry path; providing a pair of addends to a sum logic element, said first carry logic element, and said second carry logic element; multiplexing signals on said first programmable carry path and said second programmable path with a first multiplexer; providing an output signal of said first multiplexer to said sum logic element; coupling a means for configuring to the input terminal of said first combinatorial gate and to the input terminal of said second combinatorial gate; coupling the first combinatorial gate of the first subunit of said multi-bit unit to a first voltage source and coupling the second combinatorial gate of said first subunit of said multi-bit unit to a second voltage source; coupling the first combinatorial gate of a subsequent subunit of said multi-bit unit to the first carry logic element in a preceding subunit; coupling the second combinatorial gate of said subsequent subunit of said multi-bit unit to the second carry logic element of said preceding subunit; coupling the first carry logic element and the second logic element of a last subunit in said multi-bit unit to the input terminals of a second multiplexer; activating said first and second multiplexers with a signal provided by said carry-in input line; and providing a signal from said second multiplexer to said carry-out output line.
Claim 3
Dependent Claim 65 words
A method as in claim 1, wherein the number of the carry logic elements in each more significant unit is greater than the number in the next, less significant unit thereof, provided that the delay caused by such extra carry logic elements in said each more significant unit is equal to or less than the delay of the multiplexer in the next, less significant unit.
Claim 4
Dependent Claim 337 words
A carry-lookahead structure for programmable architecture having a programmable carry chain comprising: a plurality of multi-bit units, each multi-bit unit having a carry-in input line for receiving a carry bit from a less significant multi-bit unit, and a carry-out output line for sending a carry bit to a more significant multi-bit unit as a carry-in thereof; each multi-bit unit further including a plurality of subunits, each subunit comprising: a first programmable carry path coupling a first combinatorial gate to a first carry logic element; a second programmable carry path coupling a second combinatorial gate to a second carry logic element; a sum logic element, wherein a pair of addends are provided to said sum logic element, said first carry logic element, and said second carry logic element; a first multiplexer, wherein said first programmable carry path and said second programmable math are coupled to the input terminals of said first multiplexer, wherein an output signal of said first multiplexer is provided to said sum logic element; and means for configuring coupled to the input terminal of said first combinatorial gate and the input terminal of said second combinatorial gate, wherein the first combinatorial gate of a first subunit of said multi-bit unit is coupled to a first voltage source and the second combinatorial gate of said first subunit of said multi-bit unit is coupled to a second voltage source, wherein the first combinatorial gate of a subsequent subunit of said multi-bit unit is coupled to the first carry logic element in a preceding subunit, wherein the second combinatorial gate of said subsequent subunit of said multi-bit unit is coupled to the second carry logic element of said preceding subunit, wherein the first carry logic element and the second carry logic element of a last subunit in said multi-bit unit are coupled to input terminals of a second multiplexer, wherein a signal on said carry-in input line activates said first multiplexer and said second multiplexer, and wherein said second multiplexer provides a signal to said carry-out output line.
Claim 5
Dependent Claim 337 words
A carry-lookahead structure for programmable architecture having a programmable carry chain comprising: a plurality of multi-bit units, each multi-bit unit having a carry-in input line for receiving a carry bit from a less significant multi-bit unit, and a carry-out output line for sending a carry bit to a more significant multi-bit unit as a carry-in thereof; each multi-bit unit further including a plurality of subunits, each subunit comprising: a first programmable carry path coupling a first combinatorial gate to a first carry logic element; a second programmable carry path coupling a second combinatorial gate to a second carry logic element; a sum logic element, wherein a pair of addends are provided to said sum logic element, said first carry logic element, and said second carry logic element; a first multiplexer, wherein said first programmable carry path and said second programmable math are coupled to the input terminals of said first multiplexer, wherein an output signal of said first multiplexer is provided to said sum logic element; and means for configuring coupled to the input terminal of said first combinatorial gate and the input terminal of said second combinatorial gate, wherein the first combinatorial gate of a first subunit of said multi-bit unit is coupled to a first voltage source and the second combinatorial gate of said first subunit of said multi-bit unit is coupled to a second voltage source, wherein the first combinatorial gate of a subsequent subunit of said multi-bit unit is coupled to the first carry logic element in a preceding subunit, wherein the second combinatorial gate of said subsequent subunit of said multi-bit unit is coupled to the second carry logic element of said preceding subunit, wherein the first carry logic element and the second carry logic element of a last subunit in said multi-bit unit are coupled to input terminals of a second multiplexer, wherein a signal on said carry-in input line activates said first multiplexer and said second multiplexer, and wherein said second multiplexer provides a signal to said carry-out output line.
Claim 6
Dependent Claim 21 words
A carry-lookahead structure as in claim 3 wherein said first voltage source is Vcc and said second voltage source is ground.
Claim 7
Dependent Claim 17 words
A carry-lookahead structure as in claim 4 wherein said first and second combinatorial gates include AND gates.
Claim 8
Dependent Claim 65 words
A carry-lookahead structure as in claim 3, wherein the number of carry logic elements in each more significant unit is greater than the number in the next, less significant unit thereof, provided that the delay caused by such extra carry logic elements in said each more significant unit is equal to or less than the delay of the multiplexer in the next, less significant unit.
Claim 9
Dependent Claim 20 words
A carry-lookahead structure as in claim 3, wherein each of said sum logic elements is a 3-input exclusive OR gate.
Claim 10
Dependent Claim 25 words
A carry-lookahead structure as in claim 3, wherein each carry bit comprises a portion of shared logic elements and a portion of independent logic elements.
Claim 11
Dependent Claim 38 words
A carry-lookahead structure as in claim 8, wherein said shared portion of logic elements comprises an exclusive OR gate, a NAND gate and a NOR gate, each gate having two input terminals for receiving said pair of addends.
Claim 12
Independent Claim 376 words
A method for reducing carry delay for a programmable architecture including a programmable carry chain controlled by a plurality of configuration bits for specifying the beginning and end locations of said carry chain, said method comprising the steps of: providing a plurality of multi-bit units, each multi-bit unit having a carry-in input line for receiving a carry bit from a less significant multi-bit unit, and a carry-out output line for sending a carry bit to a more significant multi-bit unit as a carry-in thereof; including a plurality of subunits in each multi-bit unit, for each subunit; coupling a first combinatorial gate to a first carry logic element via a first programmable carry path; coupling a second combinatorial gate to a second carry logic element via a second programmable carry path; providing a first sum logic element and a second sum logic element; providing a pair of addends to said first and second sum logic elements, said first carry logic element, and said second carry logic element; providing signals on said first programmable carry path and said second programmable path to said first sum logic element and said second logic element, respectively; multiplexing the output signals from said first and second sum logic elements with a first multiplexer; coupling a means for configuring to an input terminal of said first combinatorial gate and an input terminal of said second combinatorial gate; coupling a first voltage source to another input terminal of the first combinatorial gate of the first subunit of said multi-bit unit and coupling a second voltage source to another input terminal of the second combinatorial gate of said first subunit of said multi-bit unit; coupling the first combinatorial gate of a subsequent subunit of said multi-bit unit to the first carry logic element in a preceding subunit; coupling the second combinatorial gate of said subsequent subunit of said multi-bit unit to the second carry logic element of said preceding subunit; multiplexing signals from the first carry logic element and the second carry logic element of a last subunit in said multi-bit unit with a second multiplexer; activating said first multiplexer and said second multiplexer with a signal provided by said carry-in input line; providing a signal from said second multiplexer to said carry-out output line.
Claim 13
Independent Claim 376 words
A method for reducing carry delay for a programmable architecture including a programmable carry chain controlled by a plurality of configuration bits for specifying the beginning and end locations of said carry chain, said method comprising the steps of: providing a plurality of multi-bit units, each multi-bit unit having a carry-in input line for receiving a carry bit from a less significant multi-bit unit, and a carry-out output line for sending a carry bit to a more significant multi-bit unit as a carry-in thereof; including a plurality of subunits in each multi-bit unit, for each subunit; coupling a first combinatorial gate to a first carry logic element via a first programmable carry path; coupling a second combinatorial gate to a second carry logic element via a second programmable carry path; providing a first sum logic element and a second sum logic element; providing a pair of addends to said first and second sum logic elements, said first carry logic element, and said second carry logic element; providing signals on said first programmable carry path and said second programmable path to said first sum logic element and said second logic element, respectively; multiplexing the output signals from said first and second sum logic elements with a first multiplexer; coupling a means for configuring to an input terminal of said first combinatorial gate and an input terminal of said second combinatorial gate; coupling a first voltage source to another input terminal of the first combinatorial gate of the first subunit of said multi-bit unit and coupling a second voltage source to another input terminal of the second combinatorial gate of said first subunit of said multi-bit unit; coupling the first combinatorial gate of a subsequent subunit of said multi-bit unit to the first carry logic element in a preceding subunit; coupling the second combinatorial gate of said subsequent subunit of said multi-bit unit to the second carry logic element of said preceding subunit; multiplexing signals from the first carry logic element and the second carry logic element of a last subunit in said multi-bit unit with a second multiplexer; activating said first multiplexer and said second multiplexer with a signal provided by said carry-in input line; providing a signal from said second multiplexer to said carry-out output line.
Claim 14
Dependent Claim 65 words
A method as in claim 10, wherein the number of the carry logic elements in each more significant unit is greater than the number in the next, less significant unit thereof, provided that the delay caused by such extra carry logic elements in said each more significant unit is equal to or less than the delay of the multiplexer in the next, less significant unit.
Claim 15
Dependent Claim 325 words
A carry-lookahead structure for programmable architecture having a programmable carry chain comprising: a plurality of multi-bit units, each multi-bit unit having a carry-in input line for receiving a carry bit from a less significant multi-bit unit, and a carry-out output line for sending a carry bit to a more significant multi-bit unit as a carry-in thereof; each multi-bit unit further including a plurality of subunits, each subunit comprising: a first programmable carry path coupling a first combinatorial gate to a first carry logic element; a second programmable carry path coupling a second combinatorial gate to a second carry logic element; a sum logic element, wherein a pair of addends are provided to said sum logic element, said first carry logic element, and said second carry logic element; a first multiplexer coupled to said first programmable carry path and said second programmable path, wherein an output signal of said first multiplexer is provided to said sum logic element; and means for configuring coupled to an input terminal of said first combinatorial gate and an input terminal of said second combinatorial gate, wherein the first combinatorial gate of a first subunit of said multi-bit unit is coupled to a first voltage source and the second combinatorial gate of said first subunit of said multi-bit unit is coupled to a second voltage source, wherein the first combinatorial gate of a subsequent subunit of said multi-bit unit is coupled to the first carry logic element in a preceding subunit, wherein the second combinatorial gate of said subsequent subunit of said multi-bit unit is coupled to the second carry logic element of said preceding subunit, wherein the first carry logic element and the second carry logic element of a last subunit in said multi-bit unit are coupled to a second multiplexer, wherein a signal on said carry-in input line activates said first multiplexer and said second multiplexer, and wherein said second multiplexer provides a signal to said carry-out output line.
Claim 16
Dependent Claim 325 words
A carry-lookahead structure for programmable architecture having a programmable carry chain comprising: a plurality of multi-bit units, each multi-bit unit having a carry-in input line for receiving a carry bit from a less significant multi-bit unit, and a carry-out output line for sending a carry bit to a more significant multi-bit unit as a carry-in thereof; each multi-bit unit further including a plurality of subunits, each subunit comprising: a first programmable carry path coupling a first combinatorial gate to a first carry logic element; a second programmable carry path coupling a second combinatorial gate to a second carry logic element; a sum logic element, wherein a pair of addends are provided to said sum logic element, said first carry logic element, and said second carry logic element; a first multiplexer coupled to said first programmable carry path and said second programmable path, wherein an output signal of said first multiplexer is provided to said sum logic element; and means for configuring coupled to an input terminal of said first combinatorial gate and an input terminal of said second combinatorial gate, wherein the first combinatorial gate of a first subunit of said multi-bit unit is coupled to a first voltage source and the second combinatorial gate of said first subunit of said multi-bit unit is coupled to a second voltage source, wherein the first combinatorial gate of a subsequent subunit of said multi-bit unit is coupled to the first carry logic element in a preceding subunit, wherein the second combinatorial gate of said subsequent subunit of said multi-bit unit is coupled to the second carry logic element of said preceding subunit, wherein the first carry logic element and the second carry logic element of a last subunit in said multi-bit unit are coupled to a second multiplexer, wherein a signal on said carry-in input line activates said first multiplexer and said second multiplexer, and wherein said second multiplexer provides a signal to said carry-out output line.
Claim 17
Dependent Claim 21 words
A carry-lookahead structure as in claim 12 wherein said first voltage source is Vcc and said second voltage source is ground.
Claim 18
Dependent Claim 17 words
A carry-lookahead structure as in claim 13 wherein said first and second combinatorial gates include AND gates.
Claim 19
Dependent Claim 66 words
A carry-lookahead structure as in claim 12, wherein the number of the carry logic elements in each more significant unit is greater than the number in the next, less significant unit thereof, provided that the delay caused by such extra carry logic elements in said each more significant unit is equal to or less than the delay of the multiplexer in the next, less significant unit.
Claim 20
Dependent Claim 20 words
A carry-lookahead structure as in claim 12 wherein said first and second sum logic elements include an exclusive OR gate.
Claim 21
Dependent Claim 25 words
A carry-lookahead structure as in claim 12, wherein each carry bit comprises a portion of shared logic elements and a portion of independent logic elements.
Claim 22
Dependent Claim 38 words
A carry-lookahead structure as in claim 12, wherein the shared portion of logic elements comprises an exclusive OR gate, a NAND gate and a NOR gate, each gate having two input terminals for receiving said pair of addends.

References Cited (Backward Citations)

US3553446A Cited
US4682303A Cited
US5117386A Cited
US4707800A Cited
US4737926A Cited
US5047975A Cited
US5018093A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-01-08 1999-07-10 2000-01-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-01-08 2003-07-10 2004-01-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-01-08 2007-07-10 2008-01-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag