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

Digital lattice filter with multiplexed full adder

Assignee: Texas Instruments Inc
•
Filing: 1984-08-31
•
Granted: 1987-10-13
•
Expires: 2004-08-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system for processing a plurality of Equations includes a single full adder (44) which has the A input thereof multiplexed by multiplexer (62) and the B input thereof multiplexed by a multiplexer (94) and a multiplexer (66). The multiplexer (94) is operable to select a multiplicand for multiplication operations from a delay stack (54) for multiplication operations. The multiplication operation is performed by adding together partial products recording to Booth's modified algorithm. The partial products are generated by recode logic circuit (90) and (98). The recode logic circuits (90) and (98) are controlled by the multiplexed output from the multiplexer (80) which selects bits of a given multiplier stored in a K-stack (72). The multiplexer (62) in conjunction with the recode logic circuits (90) and (98) control reconfiguration of the adder (44) as a multiplication circuit. The addition operation is performed on the generated product by circulating the product back to the B-input of the adder (44) through the multiplexer (66). Data is selected from the output of a data stack (52) or from a D-register (108) which contains a prestored output value.

Inventors

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

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 16:35
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: 24
Claim 1
Independent Claim 296 words
A digital lattice filter for performing a sequence of arithmetic operations each comprising a multiplication followed by an addition in accordance with a linear predictive coding voice compression technique, comprising: storage means for storing digital arithmetic parameters for use in performing the arithmetic operations; retrieval means for selectively retrieving from said storage means a predetermined one of said stored parameters as a multiplier, a multiplicand or an addend; adder means having first and second inputs and an output for receiving two values and generating the sum thereof on the output; multiplication means for receiving a multiplier and a multiplicand from said retrieval means and generating partial products and for interfacing with said adder means to sum the partial products to perform multiplication and generate a product in accordance with a predetermined multiplication algorithm; first control means for controlling said retrieval means and said multiplication means to retrieve selected ones of said stored multipliers and said stored multiplicands and generate a product; second control means for inputting said product after generation thereof to the first input of said adder means and controlling said retrieval means to retrieve a selected one of said stored addends for input to the second input of said adder means as an addend and controlling said adder to provide the sum thereof, the sum comprising an intermediate arithmetic result; means for controlling the operation of said first and second control means to control the sequence of multiplications and additions to perform a multiplication followed by an addition in a sequence in accordance with the linear predictive coding technique; means for storing each of the intermediate arithmetic results in said storage means in a predetermined order as arithmetic parameters; and means for storing as a final result the final arithmetic operation in the sequence.
Claim 2
Dependent Claim 296 words
A digital lattice filter for performing a sequence of arithmetic operations each comprising a multiplication followed by an addition in accordance with a linear predictive coding voice compression technique, comprising: storage means for storing digital arithmetic parameters for use in performing the arithmetic operations; retrieval means for selectively retrieving from said storage means a predetermined one of said stored parameters as a multiplier, a multiplicand or an addend; adder means having first and second inputs and an output for receiving two values and generating the sum thereof on the output; multiplication means for receiving a multiplier and a multiplicand from said retrieval means and generating partial products and for interfacing with said adder means to sum the partial products to perform multiplication and generate a product in accordance with a predetermined multiplication algorithm; first control means for controlling said retrieval means and said multiplication means to retrieve selected ones of said stored multipliers and said stored multiplicands and generate a product; second control means for inputting said product after generation thereof to the first input of said adder means and controlling said retrieval means to retrieve a selected one of said stored addends for input to the second input of said adder means as an addend and controlling said adder to provide the sum thereof, the sum comprising an intermediate arithmetic result; means for controlling the operation of said first and second control means to control the sequence of multiplications and additions to perform a multiplication followed by an addition in a sequence in accordance with the linear predictive coding technique; means for storing each of the intermediate arithmetic results in said storage means in a predetermined order as arithmetic parameters; and means for storing as a final result the final arithmetic operation in the sequence.
Claim 3
Dependent Claim 22 words
The digital apparatus of claim 1 wherein said adder means comprises a full adder for providing the sum of two digital values.
Claim 4
Dependent Claim 103 words
The digital apparatus of claim 1 wherein said multiplication algorithm is a modified Booth's algorithm and said multiplication means comprises: means for generating partial products of said multiplier and multiplicand retrieved by said retrieval means; means for inputting the first and second partial products to the first and second inputs of said adder means to generate the sum therefor; and means for inputting successive partial products to the first input of said adder means and the summed output of said adder means to the second input thereof to sequentially sum partial products to generate a product in accordance with said modified Booth's algorithm.
Claim 5
Dependent Claim 79 words
The digital apparatus of claim 1 wherein said means for storing the intermediate arithmetic results comprises: stack means for arranging the stored arithmetic parameters in a predetermined order in said storage means; and timing means for controlling said stack means in synchronism with the performance of the arithmetic operation such that the one of the stored parameters corresponding with the arithmetic operation being performed is at the top of said stack means for retrieval thereof by said retrieval means.
Claim 6
Dependent Claim 26 words
The digital apparatus of claim 1 and further comprising means for externally altering the value of the arithmetic parameters that are stored in said storage means.
Claim 7
Dependent Claim 35 words
The digital apparatus of claim 1 and further comprising means for generating the negative value of said generated product output by said multiplication means for input to said adder means by said second control means.
Claim 8
Dependent Claim 387 words
A digital lattice filter for performing a sequence of arithmetic operations, each comprising a multiplication followed by an addition in accordance with a linear predictive coding technique, comprising: first storage means for storing digital multiplier constants in a first-in first-out format; second storage means for storing digital multiplicands for multiplication operations and digital addends for addition operations in a first-in first-out format; queing means for controlling the position of data within said first and second storage means to output data therefrom in a predetermined queing sequence with respect to the arithmetic operation being performed; a full adder having first and second inputs for receiving two digital values and generating the sum thereof on an output; multiplication means for selectively retrieving a multiplier and a multiplicand from the outputs of said first and second storage means and interfacing with said full adder to generate and sum partial products in a predetermined sequence of summing operations with said full adder in accordance with a predetermined multiplication algorithm to perform a multiplication operation and generate a product for a given one of the arithmetic operations; adder means for retrieving an addend from said second storage means and inputting it to one input of said full adder and simultaneously inputting said product generated by said multiplication means in said given arithmetic operation to the other input thereof to generate the sum therefor, the sum comprising the result of said given arithmetic operation; operation means for controlling the operation of said multiplication and adder means to first generate a product and then add said retrieved addend to said product to provide the result for each arithmetic operation; means for storing the results of each arithmetic operation in said second storage means after generation thereof as one of said addends or one of said multiplicands in accordance with the predetermined gueing sequence of said queing means for use in a subsequent one of the arithmetic operations; timing means for controlling said operation means to sequentially perform each of the arithmetic operations in the sequence and for controlling said queing means to output data corresponding to the arithmetic operation being performed for use by said multiplication means and said adder means; and register means for storing as a final result the result of the last of the series of arithmetic operations in the sequence.
Claim 9
Dependent Claim 387 words
A digital lattice filter for performing a sequence of arithmetic operations, each comprising a multiplication followed by an addition in accordance with a linear predictive coding technique, comprising: first storage means for storing digital multiplier constants in a first-in first-out format; second storage means for storing digital multiplicands for multiplication operations and digital addends for addition operations in a first-in first-out format; queing means for controlling the position of data within said first and second storage means to output data therefrom in a predetermined queing sequence with respect to the arithmetic operation being performed; a full adder having first and second inputs for receiving two digital values and generating the sum thereof on an output; multiplication means for selectively retrieving a multiplier and a multiplicand from the outputs of said first and second storage means and interfacing with said full adder to generate and sum partial products in a predetermined sequence of summing operations with said full adder in accordance with a predetermined multiplication algorithm to perform a multiplication operation and generate a product for a given one of the arithmetic operations; adder means for retrieving an addend from said second storage means and inputting it to one input of said full adder and simultaneously inputting said product generated by said multiplication means in said given arithmetic operation to the other input thereof to generate the sum therefor, the sum comprising the result of said given arithmetic operation; operation means for controlling the operation of said multiplication and adder means to first generate a product and then add said retrieved addend to said product to provide the result for each arithmetic operation; means for storing the results of each arithmetic operation in said second storage means after generation thereof as one of said addends or one of said multiplicands in accordance with the predetermined gueing sequence of said queing means for use in a subsequent one of the arithmetic operations; timing means for controlling said operation means to sequentially perform each of the arithmetic operations in the sequence and for controlling said queing means to output data corresponding to the arithmetic operation being performed for use by said multiplication means and said adder means; and register means for storing as a final result the result of the last of the series of arithmetic operations in the sequence.
Claim 10
Dependent Claim 31 words
The apparatus of claim 7 wherein said multiplication means further comprises means for selectively generating a negative value for said product for input to said full adder by said adder means.
Claim 11
Dependent Claim 18 words
The apparatus of claim 7 wherein said first storage means comprises a first-in first-out stack of data registers.
Claim 12
Dependent Claim 21 words
The apparatus of claim 7 and further comprising means for altering the value of said constants in said first storage means.
Claim 13
Dependent Claim 65 words
The apparatus of claim 7 wherein said second storage means comprises: first delay data register means for storing the results of preceding arithmetic operations as said multiplicands in a first-in first-out format to provide a delay therefor; and second delay data register means for storing the results of the preceding arithmetic operations as said addends in a first-in first-out format to provide a delay therefore.
Claim 14
Dependent Claim 101 words
The apparatus of claim 7 wherein said multiplication means comprises: means for generating partial products of the multiplicand and multiplier; means for inputting the first partial product to the first input of said adder and the second partial product to the second input of said adder to generate the partial product sum thereof; and means for sequentially inputting the summed output of said adder to the first input thereof and sequentially inputting the remaining partial products to the second input of said adder to form an accumulated sum of said partial products to generate the product of said multiplier and multiplicand.
Claim 15
Dependent Claim 22 words
The apparatus of claim 12 wherein said means for generating partial products generates partial products in accordance with a modified Booth's algorithm.
Claim 16
Dependent Claim 96 words
The apparatus of claim 7 wherein said timing means comprises: means for generating a first time base to determine the duration for performing the entire sequence of arithmetic operations; means for generating a second time base for determining the duration for performing each of the individual arithmetic operations; and means for generating a third time base to determine the duration of time to perform multiplication with said multiplication means and the duration of time to perform addition with said adder means, said multiplication and addition occurring during the time required for each of the arithmetic operations.
Claim 17
Independent Claim 455 words
An apparatus for performing a sequence of arithmetic operations each comprising a multiplication followed by an addition, comprising: a full adder having first and second inputs and an output for receiving two digital values and generating the sum thereof to provide a summing operation; a system clock for generating system timing reference signals, said reference signals comprising a slow clock signal for determining the duration of time for performing each arithmetic operation and a fast clock signal for determining the duration of each summing operation of said full adder; a rotary data stack for storing predetermined multiplier constants in a predetermined order and incremented by said slow clock to sequentially output said multiplier constants on each cycle of said slow clock; first delay stack means having an input and an output with the input thereof selectively connected to the output of said adder for selectively storing the output therefrom as a multiplicand at the end of each arithmetic operation and outputting the stored multiplicand after a predetermined number of cycles of said slow clock; second delay stack means having an input and an output with the input thereof selectively connected to the output of said adder for selectively storing the output therefrom as an addend at the end of each arithmetic operation and outputting the stored addend after a predetermined number of clock cycles of said slow clock; said first and second delay stack means having a first-in first-out format; temporary data stack means for storing and delaying the results of an arithmetic operation as an addend for one cycle of said slow clock; multiplication means operating in accordance with a modified Booth's algorithm comprising: recode logic means for retrieving the top multiplier value in said rotary data stack in a given one of the arithmetic operations and generating Booth recode logic operators, means for retrieving the top multiplicand value in said first delay stack means and generating partial products in response to the generation of said Booth recode logic operators, and interface means for interfacing with said adder and adding said partial products with said adder to generate the product of said multiplier and multiplicand; adding means for selectively retrieving an addend from the output of either said temporary data stack means or said second delay stack means in accordance with a predetermined pattern and adding said retrieved addend to said product generated by said multiplication means in the given one of the arithmetic operations to provide a result for the given arithmetic operation; and a register for storing the result of the last arithmetic operation in the sequence, said register activated in response to the occurrence of a predetermined number of cycles of said slow clock that defines the length of the sequence.
Claim 18
Independent Claim 455 words
An apparatus for performing a sequence of arithmetic operations each comprising a multiplication followed by an addition, comprising: a full adder having first and second inputs and an output for receiving two digital values and generating the sum thereof to provide a summing operation; a system clock for generating system timing reference signals, said reference signals comprising a slow clock signal for determining the duration of time for performing each arithmetic operation and a fast clock signal for determining the duration of each summing operation of said full adder; a rotary data stack for storing predetermined multiplier constants in a predetermined order and incremented by said slow clock to sequentially output said multiplier constants on each cycle of said slow clock; first delay stack means having an input and an output with the input thereof selectively connected to the output of said adder for selectively storing the output therefrom as a multiplicand at the end of each arithmetic operation and outputting the stored multiplicand after a predetermined number of cycles of said slow clock; second delay stack means having an input and an output with the input thereof selectively connected to the output of said adder for selectively storing the output therefrom as an addend at the end of each arithmetic operation and outputting the stored addend after a predetermined number of clock cycles of said slow clock; said first and second delay stack means having a first-in first-out format; temporary data stack means for storing and delaying the results of an arithmetic operation as an addend for one cycle of said slow clock; multiplication means operating in accordance with a modified Booth's algorithm comprising: recode logic means for retrieving the top multiplier value in said rotary data stack in a given one of the arithmetic operations and generating Booth recode logic operators, means for retrieving the top multiplicand value in said first delay stack means and generating partial products in response to the generation of said Booth recode logic operators, and interface means for interfacing with said adder and adding said partial products with said adder to generate the product of said multiplier and multiplicand; adding means for selectively retrieving an addend from the output of either said temporary data stack means or said second delay stack means in accordance with a predetermined pattern and adding said retrieved addend to said product generated by said multiplication means in the given one of the arithmetic operations to provide a result for the given arithmetic operation; and a register for storing the result of the last arithmetic operation in the sequence, said register activated in response to the occurrence of a predetermined number of cycles of said slow clock that defines the length of the sequence.
Claim 19
Dependent Claim 22 words
The digital apparatus of claim 15 and further comprising means for changing the sign of said product to generate a negative product.
Claim 20
Dependent Claim 24 words
The apparatus of claim 15 and further comprising means for varying the data in said rotary data stack to provide different multiplier constants therefor.
Claim 21
Independent Claim 260 words
A method for performing a sequence of arithmetic operations each comprising a multiplication followed by an addition in accordance with a linear predictive coding voice compression technique, comprising: storing digital arithmetic parameters as multiplier constants, multiplicands and addends for use in performing the arithmetic operations; selectively retrieving a predetermined one of the stored multipliers and a predetermined one of the multiplicands in accordance with the linear predictive coding technique; generating partial products of the retrieved multiplier and multiplicand in accordance with a predetermined multiplication algorithm; inputting the first and second partial products to the first and second inputs of a full adder to generate the sum therefor constituting the next successive partial product; inputting successive partial products to the inputs of the adder to sequentially sum partial products to provide a generated product in a given one of the arithmetic operations; inputting the generated product into one input of the full adder in the given arithmetic operation; retrieving a predetermined one of the stored addends and inputting it to the second input of the full adder to provide the sum of the retrieved addend with the generated product to provide a result of the given arithmetic operation; performing the addition and multiplication operations in each of the arithmetic operations in the sequence in accordance with the linear predictive coding technique; storing the results of the arithmetic operations as digital arithmetic parameters as either multiplicands or addends in accordance with the linear predictive coding technique; and storing the result of the final arithmetic operation in the sequence in a dedicated register.
Claim 22
Independent Claim 260 words
A method for performing a sequence of arithmetic operations each comprising a multiplication followed by an addition in accordance with a linear predictive coding voice compression technique, comprising: storing digital arithmetic parameters as multiplier constants, multiplicands and addends for use in performing the arithmetic operations; selectively retrieving a predetermined one of the stored multipliers and a predetermined one of the multiplicands in accordance with the linear predictive coding technique; generating partial products of the retrieved multiplier and multiplicand in accordance with a predetermined multiplication algorithm; inputting the first and second partial products to the first and second inputs of a full adder to generate the sum therefor constituting the next successive partial product; inputting successive partial products to the inputs of the adder to sequentially sum partial products to provide a generated product in a given one of the arithmetic operations; inputting the generated product into one input of the full adder in the given arithmetic operation; retrieving a predetermined one of the stored addends and inputting it to the second input of the full adder to provide the sum of the retrieved addend with the generated product to provide a result of the given arithmetic operation; performing the addition and multiplication operations in each of the arithmetic operations in the sequence in accordance with the linear predictive coding technique; storing the results of the arithmetic operations as digital arithmetic parameters as either multiplicands or addends in accordance with the linear predictive coding technique; and storing the result of the final arithmetic operation in the sequence in a dedicated register.
Claim 23
Dependent Claim 22 words
The method of claim 18 and further comprising generating the negative of the product such that a subtraction operation can be performed.
Claim 24
Dependent Claim 19 words
The method of claim 18 and further comprising externally altering the stored arithmetic parameters to provide new values therefor.

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) 1990-10-12 1991-04-13 1991-10-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1994-10-12 1995-04-13 1995-10-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1998-10-12 1999-04-13 1999-10-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag