Patent US4696618A successfully refreshed from Google Patents.
Patent US802096A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4740906A Expired / Lapsed US ⏱️ 0.0 years remaining

Digital lattice filter with multiplexed fast adder/full adder for performing sequential multiplication and addition operations

Assignee: Texas Instruments Inc
•
Filing: 1984-08-31
•
Granted: 1988-04-26
•
Expires: 2004-08-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A lattice filter for processing lattice equations includes a fast adder (78) for adding partial products to partially perform a multiplication step. A full adder (44) is provided for completing the multiplication and then adding the product with a previously calculated and stored value. The input to the full adder (44) is multiplexed with a multiplexer (74) for selecting the sum output of the fast adder (78) and a multiplexer (76) for selecting the carry output of the fast adder (78). The multiplexer (74) also selects prestored values for addition with the summed output of the full adder (44). This summed output is selected by the multiplexer (76). The fast adder (78) sums partial products simultaneous with addition operations of the full adder (44). In this manner, the full adder (44) operates at a slower rate than the fast adder (78). Storage registers (58), (62), (70) are utilized to delay results output by the full adder (44) for later selection and operation thereon. These values are utilized as both the multiplicand the addend in subsequent operations. The multiplier is stored in a K-stack (90) and selected for the appropriate operations. A bit correction circuit (190) provides corrections for truncated bits in the form of a carry input to the full adder (44).

Inventors

  • 👤 Karl H. Renner
  • 👤 Alec J. Morton

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 11:37
CPC Classifications
H; H03; H03H; H03H17/00; H03H17/02; H03H17/0283; H03H17/0285; G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/544; G06F7/5443

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 396 words
A digital lattice filter for processing a sequence of arithmetic operations each comprising a multipliction operation for generating a product followed by an addition operation for adding an addend to the the generated product, the digital lattice filter operating in accordance with a linear predictive coding technique, comprising: storage means for storing arithmetic parameters for use in processing the arithmetic operations; means for retrieving a select two of said means for retrieving a elect two of said arithmetic parameters from said storage means as a multiplicand and multiplier, respectively, for a multiplication operation and a select one of said arithmetic parameters as an addend for an addition operation, said multiplicand, multiplier and addend selected for a given one of the arithmetic operations; partial product means for generating the partial products of said selected multiplier and multiplicand in accordance with a predetermined multiplication algorithm; fast adder means for adding the generated partial products of said selected multiplier and multiplicand generated by said parital product means to generate an accumulated sum word and an accumualted carry word; adder means having first and second inputs for receiving two digital values and generating the sum thereof on an output; control means for controlling the operation of said adder means to first add said accumulated sum word and said accumulated carry word to generate the product of said multiplier and multiplicand and sequentially add said addend to said generated product to provide a result for the given one of the arithmetic operations; timing means for timing the operation of said fast adder mean and said control means to process the sequence of arithmetic equations in a predetermined number of cycles, ech cycle being of a predetermined length of time; said fast adder means and said control means operating in a given one of the cycles of said timing means to generate the accumulated sum and the accumulated carry word for the next succesive arithmetic operation in the next successive cycle of said timing means simultaneous with generation of said product and said result for the arithmetic operation by said adder means and said control means corresponding to the given one of said cycles; means for storing results of said adder means in said storage means as arithmetic parameters; and register means for storing the result of the arithmetic operation output by said adder means after the last cycle in the sequence.
Claim 2
Dependent Claim 396 words
A digital lattice filter for processing a sequence of arithmetic operations each comprising a multipliction operation for generating a product followed by an addition operation for adding an addend to the the generated product, the digital lattice filter operating in accordance with a linear predictive coding technique, comprising: storage means for storing arithmetic parameters for use in processing the arithmetic operations; means for retrieving a select two of said means for retrieving a elect two of said arithmetic parameters from said storage means as a multiplicand and multiplier, respectively, for a multiplication operation and a select one of said arithmetic parameters as an addend for an addition operation, said multiplicand, multiplier and addend selected for a given one of the arithmetic operations; partial product means for generating the partial products of said selected multiplier and multiplicand in accordance with a predetermined multiplication algorithm; fast adder means for adding the generated partial products of said selected multiplier and multiplicand generated by said parital product means to generate an accumulated sum word and an accumualted carry word; adder means having first and second inputs for receiving two digital values and generating the sum thereof on an output; control means for controlling the operation of said adder means to first add said accumulated sum word and said accumulated carry word to generate the product of said multiplier and multiplicand and sequentially add said addend to said generated product to provide a result for the given one of the arithmetic operations; timing means for timing the operation of said fast adder mean and said control means to process the sequence of arithmetic equations in a predetermined number of cycles, ech cycle being of a predetermined length of time; said fast adder means and said control means operating in a given one of the cycles of said timing means to generate the accumulated sum and the accumulated carry word for the next succesive arithmetic operation in the next successive cycle of said timing means simultaneous with generation of said product and said result for the arithmetic operation by said adder means and said control means corresponding to the given one of said cycles; means for storing results of said adder means in said storage means as arithmetic parameters; and register means for storing the result of the arithmetic operation output by said adder means after the last cycle in the sequence.
Claim 3
Dependent Claim 181 words
The digital apparatus of claim 1 wherein said fast adder means comprises: a fast adder having first, second and third inputs for adding two digital works and a carry word and generating on an accumulated sum output the sum word comprised of individual sum bits and on an accumulated carry output the cary word comprised of individual carry bits; means for receiving the partial products of said multiplicand and multiplier generated by said partial product means; first switch means for selectively inputting the received partial products to the first and second inputs of said fast adder; second switch means for selectively connecting the accumulated carry output to the third input and the accumulated sum output to the second input; and means for controlling the operation of said first and second switch means to first generate the accumulated sum and carry words with the first two received partial products input to the first and second inputs of said fast adder and sequentially sum the remaining partial products with the generated sum and carry words to generate said accumulated sum and carry words.
Claim 4
Dependent Claim 37 words
The digital apparatus of claim 1 and further comprising means for altering the sign of said multiplier retrieved from said storage means to reflect a subtraction operation when said generated product is input to said adder means.
Claim 5
Dependent Claim 54 words
The digital apparatus of claim 1 and further comprising means for storing the results of each arithmetic operation in said storage means in accordance with a predetermined order such that the stored result is available for use in a successive arithmetic operation in a successive cycle from that in which said result is generated.
Claim 6
Dependent Claim 91 words
The digital apparatus of claim 1 wherein said storage means comprises: a data register for storing multipliers in a predetermined order for output therefrom; and a delay register connected to the output of said adder for temporarily storing the result of a select arithmetic operation, said delay register having the output thereof selectively connected to the input of said partial product means to provide said multiplicand therefor or to the input of said adder means to provide said addend therefor, said data register and delay register controlled by said timing means.
Claim 7
Dependent Claim 27 words
The digital apparatus of claim 1 and further comprising means for externally altering select ones of the values of the arithmetic parameters stored in said storage means.
Claim 8
Dependent Claim 525 words
A digital lattice filter for processing a sequence of digital arithmetic operations in accordance with a linear predictive coding technique, each operation consisting of a multipliction of a multiplier and a multiplecand to generate a product and a subsequent addition of an addend with the generated product to yield an accumulated result, comprising: multiplier storage means for storing digital multiplier constatns in a predetermined patern; delay storage means having an input and a delayed output for receiving arithmetic parameters on the input for storage thereof and providing said stored arithmetic parameters on the delayd output thereof after a predetermined duration of time, said arithmetic parameters comprising multiplicands for multiplication operations with said multiplier, and addends for addition operations; partial product means for retrieving said multiplicand from said delay storage means and said multiplier from said mulitplier storage means for a given one of the arithmetic operations and generating the partial products therefor in accordance with a predetermined multiplication algorithm; fast adder means for receiving said partial products from said partial product means and generating the accumulated sum of the individual bits of said partial products on an accumulated sum output and the accumulated carry of the individual bits of said partial products on an accumulated carry output; full adder means having first and second inputs for receiving two digital values and providing the sum therefor on an outupt; means for selectively interfacing the first and second inputs of said adder means with the accumulated sum and carry outputs of said fast adder means to receive the accumulated sum and carry words output by said fast adder means and generate the sum therefor, said generated sum being a generated product of said multiplicand and multiplier for the given arithmetic operation; said interface means for interfacing one of the inputs of said full adder means with said delay storage means to receive said addend from said delay storage means and the other input thereof with the output thereof to receive said generated product for addition of said generated product with said addend to produce a result for the given arithmetic operation being processed; timing means for controlling the operation of said fast adder means, said partial product means and said interface means to process the sequence of arithmetic equations in cycles, each cycle being one stage of the lattice filter; said fast adder means operating to generate the accumulated sum and carry words for the next sucessive arithmetic operation during the time said full adder is generating the result for a given arithmetic operation; said timing means for controlling the operation of said multiplier storage means and said delay storage means to provide the multiplier, multiplicand and addend at the outputs thereof for the associated arithmetic operations, said timing means determining which of the parameters stored in said delay storage means are to be said multiplicand or said addend in accordance with the linear predictive coding technique; means for inputting the results of the arithmetic operations in said delay storage means as arithmetic parameters; and register means for storing the result output by said full adder means corresponding to the final arithmetic operation performed in the sequence.
Claim 9
Dependent Claim 525 words
A digital lattice filter for processing a sequence of digital arithmetic operations in accordance with a linear predictive coding technique, each operation consisting of a multipliction of a multiplier and a multiplecand to generate a product and a subsequent addition of an addend with the generated product to yield an accumulated result, comprising: multiplier storage means for storing digital multiplier constatns in a predetermined patern; delay storage means having an input and a delayed output for receiving arithmetic parameters on the input for storage thereof and providing said stored arithmetic parameters on the delayd output thereof after a predetermined duration of time, said arithmetic parameters comprising multiplicands for multiplication operations with said multiplier, and addends for addition operations; partial product means for retrieving said multiplicand from said delay storage means and said multiplier from said mulitplier storage means for a given one of the arithmetic operations and generating the partial products therefor in accordance with a predetermined multiplication algorithm; fast adder means for receiving said partial products from said partial product means and generating the accumulated sum of the individual bits of said partial products on an accumulated sum output and the accumulated carry of the individual bits of said partial products on an accumulated carry output; full adder means having first and second inputs for receiving two digital values and providing the sum therefor on an outupt; means for selectively interfacing the first and second inputs of said adder means with the accumulated sum and carry outputs of said fast adder means to receive the accumulated sum and carry words output by said fast adder means and generate the sum therefor, said generated sum being a generated product of said multiplicand and multiplier for the given arithmetic operation; said interface means for interfacing one of the inputs of said full adder means with said delay storage means to receive said addend from said delay storage means and the other input thereof with the output thereof to receive said generated product for addition of said generated product with said addend to produce a result for the given arithmetic operation being processed; timing means for controlling the operation of said fast adder means, said partial product means and said interface means to process the sequence of arithmetic equations in cycles, each cycle being one stage of the lattice filter; said fast adder means operating to generate the accumulated sum and carry words for the next sucessive arithmetic operation during the time said full adder is generating the result for a given arithmetic operation; said timing means for controlling the operation of said multiplier storage means and said delay storage means to provide the multiplier, multiplicand and addend at the outputs thereof for the associated arithmetic operations, said timing means determining which of the parameters stored in said delay storage means are to be said multiplicand or said addend in accordance with the linear predictive coding technique; means for inputting the results of the arithmetic operations in said delay storage means as arithmetic parameters; and register means for storing the result output by said full adder means corresponding to the final arithmetic operation performed in the sequence.
Claim 10
Dependent Claim 31 words
The apparatus of claim 7 and further comprising means for changing the sign of said generated product to reflect a subtraction operation when said addend is added to said generated product.
Claim 11
Dependent Claim 33 words
The digital apparatus of claim 7 wherein said multiplier storage means comprises a rotary data register for sequencing through the the predetermined order of multiplier constants for each sequence of arithmetic operations processed.
Claim 12
Dependent Claim 148 words
The apparatus of claim 7 wherein said delay storage means comprises: a first register stack having the input thereof connected to the output of said full adder means for selectiveIy receiving data and delaying said received data for a first predetermined number of cycles of said timing means for output from said first register stack; a second register stack having the input thereof connected to the output of said full adder means for selectively receiving data and delaying said received data for a second predetermined number of cycles of said timing means for output from said second register stack; and said first and second register stacks having the outputs thereof selectively interfaced with said partial product means and said interface means to provide either a multiplicand or an addend, therefor said arithmetic parameters output by said first and second delay stacks in accordance with line predictive coding technique.
Claim 13
Dependent Claim 51 words
The apparatus of claim 7 wherein said fast adder means comprises a fast adder having a parallel series of one bit adders for adding individual bits and generating a separate carry bit for each of the individual bits of the summed partial products without propagating the carry across the summed bits.
Claim 14
Dependent Claim 119 words
The apparatus of claim 7 wherein said predetermined multiplication algorithm is a modified Booth's algoithm and said partial product means comprises: recode logic circuitry for receiving said multiplier and generating modified Booth operators associated with the partial product to be generated; shifting means for shifting said multiplicand a predetermined number of bits in accordance with the generated modified Booth operator associated with each partial product; and complement means for selectively generating the two's complement of said multiplicand in response to the generated modified Booth operator when the generated modified Booth operator requires generation of the two's complement; a partial product generated by selective shifting by said shifting means and selective generation of the two's complement by said complement means.
Claim 15
Dependent Claim 15 words
The apparatus of claim 7 wherein said full adder means comprises a digital full adder.
Claim 16
Dependent Claim 127 words
The apparatus of claim 7 wherein said interface means comprises: a first switch having an output connected to the first input of said full adder means and two inputs selectively connectable to the output thereof, one input thereof connected to the accumulated sum output of said fast adder means and the other input thereof connected to the output of said delay storage means for receiving addends therefrom; and a second switch having an output connected to the second input of said full adder means and two inputs selectively connectable to the output thereof, one input thereof connected to the accumulated carry output of said fast adder means and the other input thereof connected to the sum output of said full adder means for feedback of sum results.
Claim 17
Dependent Claim 23 words
The digital apparatus of claim 7 and further comprising means for changing the values of the multiplier constants stored insaid multiplier storage means.
Claim 18
Dependent Claim 190 words
The digital apparatus of claim 7 wherein said fast adder means comprises: a three input fast adder for adding the individual bits of three digital values and generating on one output thereof a sum word having bits representative of the sum of each of the individual bits and a carry word on the other output thereof representative of the carry for each of the individual bits; said fast adder having the first input thereof selectively connected to the output of said partial product means for receiving the second and remaining partial products for input thereto; a first switch having the output thereof connected to the second input of said fast adder and having three inputs that are selectively connectable to the output thereof, one input thereof connected to the output of said partial product means for receiving the first partial product generated thereby and the remaining input thereof connected to the accumulated sum output of said fast adder; and said fast adder having the carry output thereof connected to the third input thereof for allowing summation of the accumulated carry word with partial products generated by said partial product means.
Claim 19
Dependent Claim 92 words
The digital apparatus of claim 7 wherein said timing means comprises: a fast clock for providing a time base for determining the duration of time for each addition of partial products by said fast adder means; a slow clock for determining the duration of time for performing each of the arithmetic operations, the duration of time equal to the cycle of said timing means; and an addition clock for determining the duration of time for addition by said adder means to perform two additions during each cycle of said slow clock means.
Claim 20
Dependent Claim 70 words
The digital apparatus of claim 7 and further comprising: means for truncating the partial products generaged by said partial product means to reduce the length of the digital word output from said fast adder means for both the accumulated sum word and the accumulated carry word; and means for correcting the result of adding the accumulated sum and carry words in said full adder means to account for truncation errors.
Claim 21
Independent Claim 375 words
A method for processing a sequence of arithmetic operations each comprising a multiplication operation for generating a product followed by an addition operations for adding an addend to the generated product, the sequence processed in accordance with a linear predictive coding technique, comprising: storing digital arithmetic parameters for use in processing the arithmetic operations; retrieving a select two of the digital arithmetic parameters as a multiplicand and a multiplier, respectively for a multiplication operation and a select one of the digital arithmetic parameters as an addend for an addition operation; generating the partial producst of the selected multiplier an dultiplicand in accordance with a predetermined multiplication algorithm; adding the generated partial products to generate an accumulated sum word and an accumulated carry word, the accumulated sum word comprised of the summation of individual digital bits and the accumulated carry word comprised of digital carry bit for each of the accumulated digital sum bits; providing an adder having first and second inputs for receiving two digital values and generating the sum thereof; controlling the operation of the adder to first add the accumulated sum and carry words to generate the product of the multiplican and multiplier and sequentially adding the retrieved addend to the generated product to provide a result for a given one of the arithmetic operations; timing the operation of the partial products summation and the additioin of the generated product and the retrieved addend with the adder to process the sequence of arithmetic operations and generate results therefor in a plurality of cycles, each cycle being the duration of time required for the summation of partial products and the duration of time to add the accumulated sum and carry words followed by addition of the addend; the partial products summation and subsequent addition of the generated product and addend with the adder being simultaneous with the operation of summing partial products to generate the accumulated sum and carrY words for the next successive arithmetic operation, while generating the product and result for the given one of the arithmetic operations being processed; the results of each of the arithmetic operations in the sequence stored as arithmetic parameters; and storing the result of the last of the arithmetic operations in the sequence in a register.
Claim 22
Independent Claim 375 words
A method for processing a sequence of arithmetic operations each comprising a multiplication operation for generating a product followed by an addition operations for adding an addend to the generated product, the sequence processed in accordance with a linear predictive coding technique, comprising: storing digital arithmetic parameters for use in processing the arithmetic operations; retrieving a select two of the digital arithmetic parameters as a multiplicand and a multiplier, respectively for a multiplication operation and a select one of the digital arithmetic parameters as an addend for an addition operation; generating the partial producst of the selected multiplier an dultiplicand in accordance with a predetermined multiplication algorithm; adding the generated partial products to generate an accumulated sum word and an accumulated carry word, the accumulated sum word comprised of the summation of individual digital bits and the accumulated carry word comprised of digital carry bit for each of the accumulated digital sum bits; providing an adder having first and second inputs for receiving two digital values and generating the sum thereof; controlling the operation of the adder to first add the accumulated sum and carry words to generate the product of the multiplican and multiplier and sequentially adding the retrieved addend to the generated product to provide a result for a given one of the arithmetic operations; timing the operation of the partial products summation and the additioin of the generated product and the retrieved addend with the adder to process the sequence of arithmetic operations and generate results therefor in a plurality of cycles, each cycle being the duration of time required for the summation of partial products and the duration of time to add the accumulated sum and carry words followed by addition of the addend; the partial products summation and subsequent addition of the generated product and addend with the adder being simultaneous with the operation of summing partial products to generate the accumulated sum and carrY words for the next successive arithmetic operation, while generating the product and result for the given one of the arithmetic operations being processed; the results of each of the arithmetic operations in the sequence stored as arithmetic parameters; and storing the result of the last of the arithmetic operations in the sequence in a register.
Claim 23
Dependent Claim 97 words
The method of claim 19 wherein the step of adding partial products comprises: providing a fast adder having a first, second and third inputs for adding the bits of digital words and a carry word and generating both the accumulated sum word and the accumulated carry word; and multiplexing the operation of the fast adder to add the first two partial products with a zero value carry word and generate the sum and carry words therefor and sequentially sum the remaining partial products with intermediate sum and carry words to generate the accumulated sum and carry words.
Claim 24
Dependent Claim 23 words
The method of claim 19 and further comprising altering the sign of the multiplier to selectively reflect a subtraction operation with the adder.
Claim 25
Dependent Claim 39 words
The method of claim 19 wherein the results of each of the arithmetic operations are stored as the arithmetic parameters in accordance with a predetermined order such that the result is available for use in a subsequent arithmetic operation.

References Cited (Backward Citations)

US4209844A Cited
US4344148A Cited
US4319084A Cited
US4340781A Cited
US4352162A Cited
US4392018A Cited
US4443859A Cited
GB2103458A Cited
US4398262A Cited
US4554858A Cited
US4597053A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1991-04-26 1991-10-26 1992-04-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1995-04-26 1995-10-26 1996-04-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1999-04-26 1999-10-26 2000-04-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag