Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS5594912 A
Publication typeGrant
Application numberUS 08/287,766
Publication dateJan 14, 1997
Filing dateAug 9, 1994
Priority dateAug 9, 1993
Fee statusPaid
Also published asEP0638859A2, EP0638859A3, EP0638859B1
Publication number08287766, 287766, US 5594912 A, US 5594912A, US-A-5594912, US5594912 A, US5594912A
InventorsDieter Brueckmann, Walfried Preuss
Original AssigneeSiemens Aktiengesellschaft
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Digital signal processing device with optimized ALU circuit and logic block for controlling one of two registers based on the contents of the multiplication register
US 5594912 A
Abstract
A digital signal processing device includes at least one peripheral unit, a data bus and at least three data registers and a flag register exchanging binary-encoded data with the at least one peripheral unit through the data bus. Two shift registers are each loaded with contents of one of the data registers. Two modification units are each connected downstream stream of a respective one of the shift registers. An arithmetic and logic unit is connected to the modification units. A multiplication register is to be written by the arithmetic and logic unit and through the data bus by the at least one peripheral unit. A logic block controls shift operations of at least one of the two shift registers as a function of contents of the multiplication register. A programmable sequence control is connected to the data registers, the at least one peripheral unit, the arithmetic and logic unit, the flag register, the shift registers, and the modification units.
Images(1)
Previous page
Next page
Claims(18)
We claim:
1. A digital signal processing device, comprising:
at least one peripheral unit;
a data bus;
at least three data registers and a flag register exchanging binary-encoded data with said at least one peripheral unit through said data bus;
two shift registers each being loaded with contents of one of said data registers;
two modification units each being connected downstream of a respective one of said shift registers;
an arithmetic and logic unit connected to said modification units;
a multiplication register coupled to said data bus and output of said arithmetic and logic unit, said multiplication register to be written by said arithmetic and logic unit and by said at least one peripheral unit;
a logic block controlling shift operations of at least one of said two shift registers as a function of contents of said multiplication register; and
a programmable sequence control connected to said data registers, said at least one peripheral unit, said arithmetic and logic unit, said flag register, said shift registers, and said modification units for controlling data exchange between said data registers or said flag register and said at least one peripheral unit, and for controlling operations of the shift registers, the modification units and the arithmetic and logic unit.
2. The signal processing device according to claim 1, including means for controlling said modification units to invert an operand formed by the contents of a respective one of said shift registers associated therewith.
3. The signal processing device according to claim 1, including means for controlling said modification units to replace an operand formed by the contents of a respective one of said shift registers associated therewith with a corresponding absolute value.
4. The signal processing device according to claim 1, including means for controlling said modification units to replace an operand formed by the contents of a respective one of said shift registers associated therewith with zero.
5. The signal processing device according to claim 1, including means for controlling said modification units to keep an operand formed by the contents of a respective one of said shift registers associated therewith unchanged.
6. The signal processing device according to claim 1, including means for controlling said arithmetic and logic unit for adding together two operands furnished by said modification units and an overflow bit stored in said flag register, for storing a result of addition in one of said data registers and for setting the overflow bit in said flag register in dependence on a presence of an overflow.
7. The signal processing device according to claim 1, including means for controlling said arithmetic and logic unit for comparing two operands furnished by said modification units with one another and storing an outcome of the comparison in said flag register.
8. The signal processing device according to claim 1, wherein said programmable sequence control has means for program-dependent control of data exchange between said data registers and said at least one peripheral unit.
9. The signal processing device according to claim 1, wherein said programmable sequence control has means for program-dependent control of data exchange between said data registers and said arithmetic and logic unit.
10. The signal processing device according to claim 1, wherein said programmable sequence control has means for program-dependent control of data exchange between said flag register and said at least one peripheral unit.
11. The signal processing device according to claim 1, wherein said programmable sequence control has means for program-dependent control of data exchange between said flag register and said arithmetic and logic unit.
12. The signal processing device according to claim 1, wherein said programmable sequence control has means for program-dependent control of operations of said shift registers, said modification units and said arithmetic and logic unit.
13. The signal processing device according to claim 1, including a saturation unit connected downstream of said arithmetic and logic unit and controlled by said programmable sequence control for setting a data word at an output of said arithmetic and logic unit to a predetermined value.
14. The signal processing device according to claim 1, wherein said at least one peripheral unit includes a peripheral unit being a standardizing unit for converting between data with fixed point representation and data with floating point representation.
15. The signal processing device according to claim 1, wherein said at least one peripheral unit includes a peripheral unit being a multiplication unit multiplying two data words by one another.
16. The signal processing device according to claim 1, wherein said at least one peripheral unit includes volatile and nonvolatile memory units.
17. The signal processing device according to claim 1, wherein said at least one peripheral unit includes volatile memory units.
18. The signal processing device according to claim 1, wherein said at least one peripheral unit includes nonvolatile memory units.
Description
BACKGROUND OF THE INVENTION Field of the Invention

The invention relates to a digital signal processing device, particularly for applications as an ADPCM codec.

Particularly for mobile communications, codecs are currently needed that carry out data reduction by half as compared with earlier codecs. One familiar method of data reduction is the ADPCM algorithm, which has already been standardized under CCITT Standard G.721 for a long time. One special feature of that algorithm is that only a very few multiplications and buffer storage operations are needed. Essentially, the only operations that have to be carried out are shift and addition operations and data format conversions, that is conversions from fixed point to floating point representation and vice versa. Modern codecs should also enable convenient sound generation and offer a certain flexibility in implementation of additional functions.

Heretofore either standard signal processors or specially customized logic circuits were used to achieve codec functions. Typical multipurpose signal processor architectures currently being used are optimized for rapid execution of multiplication and buffer storage operations, but are less suitable for the ADPCM algorithm. In particular, format conversions and additional functions such as sound generation, echo compensation and so forth can be implemented only with comparatively great difficulty. Furthermore, the very powerful command set in a multipurpose signal processor is far from being fully exploited. That structure is accordingly not optimal from the standpoint of cost and power consumption. In that respect, structures with specially customized logic circuits are more favorable. However, they only offer very slight flexibility in terms of implementing additional functions.

SUMMARY OF THE INVENTION

It is accordingly an object of the invention to provide a signal processing device, which overcomes the hereinafore-mentioned disadvantages of the heretofore-known devices of this general type and which entails low expenditure for circuitry and has low power consumption, despite great flexibility.

With the foregoing and other objects in view there is provided, in accordance with the invention, a digital signal processing device, comprising at least three data registers and a flag register which exchange binary-encoded data with at least one peripheral unit through a data bus; two shift registers which are each loaded with the contents of one of the data registers; two modification units each being connected downstream of a respective one of the shift registers, the modification units, when controlled accordingly, invert an operand formed by the contents of the respective associated shift register, or replace it with its absolute value or with zero, or keep it unchanged; an arithmetic and logic unit which, when controlled accordingly, either adds together the two operands furnished by the modification units and an overflow bit stored in the flag register, stores the result of addition in one of the data registers and sets the overflow bit in the flag register depending on the presence of an overflow, or compares the operands with one another and stores the outcome of the comparison in the flag register; a multiplication register which is writable by the arithmetic and logic unit and by at least one peripheral unit through the data bus; a logic block which controls the shift operation of at least one of the two shift registers as a function of the contents of the multiplication register; and a programmable sequence control for program-dependent control of the data exchange between the data registers and at least one peripheral unit and between the flag register and at least one peripheral unit, and for program-dependent control of the operations of the shift registers, the modification unit and the arithmetic and logic unit.

In accordance with another feature of the invention, there is provided a saturation unit being connected downstream of the arithmetic and logic unit and being controlled accordingly by the sequence control for setting a data word at an output of the arithmetic and logic unit to a predetermined value.

In accordance with a concomitant feature of the invention, the peripheral units include a standardizing unit which converts data with fixed point representation into data with floating point representation and vice versa, a multiplication unit which multiplies two data words furnished to it through the data bus by one another and in turn outputs them through the data bus, and volatile and/or nonvolatile memory units.

Other features which are considered as characteristic for the invention are set forth in the appended claims.

Although the invention is illustrated and described herein as embodied in a signal processing device, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.

The construction and method of operation of the invention, however, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawing.

BRIEF DESCRIPTION OF THE DRAWING

The FIGURE of the drawing is a block circuit diagram of an exemplary embodiment of the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to the single figure of the drawing in detail, there is seen a digital signal processing device that has four data registers RA, RB, RC, RD and one flag register FR, which act through a data bus DB to exchange binary-encoded data with peripheral units, namely a volatile memory RAM, a standardizing unit NORM and a multiplication unit MULT. A nonvolatile memory ROM can also be read through the data bus DB. Two shift registers SR1 and SR2 which are also provided can each be connected to an output of one of the data registers RA, RB, RC, RD and then loaded with the contents of the respective data register. Each of the shift registers SR1 and SR2 is followed by one respective modification unit MOD1 and MOD2 which, when controlled accordingly, invert an operand formed by the contents of the respective associated shift register SR1 or SR2, or replace it with its absolute value or with zero, or keep it unchanged. The operands which are thus changed or are not changed are further processed by an arithmetic and logic unit ALU. To that end, with suitable control, the two changed or unchanged operands are either added together while taking into account an overflow bit C stored in the flag register FR, or are compared with one another. As applicable, an overflow bit arising in the addition, or the result of the comparison, is indicated by a setting of respective corresponding bits C', Q in the flag register FR, and the result of addition is carried to one of the data registers RA, RB, RC, RD, through a saturation unit SAT which, when controlled accordingly, sets a data word at an output of the arithmetic and logic unit ALU to a predetermined value, such as a maximum value.

A programmed sequence control CU controls all of the functions of the signal processing device as a function of the program, or in other words it controls the data exchange between the data registers and the peripheral units, the data exchange between the flag register and the peripheral units, and the operations of the shift registers SR1, SR2, the modification units MOD1, MOD2, the arithmetic and logic unit ALU, and the saturation unit SAT. The sequence control CU controls a multiplication register MR, which is writable by the arithmetic and logic unit ALU and by at least one peripheral unit through the data bus. The sequence control CU also controls a logic block SL, which controls the shift operation of the shift register SR1 as a function of the contents of the multiplication register MR.

Data words to be associated with certain signals are written into the volatile memory RAM under the control of the sequence control CU, through an input/output unit EA, for instance, which is also connected to the data bus DB. The data words stored in the volatile memory RAM and in the nonvolatile memory ROM are delivered to the standardizing unit NORM, the multiplication unit MULT, and the data registers RA and RB, for example. Next, the contents of the data registers RA and RB are written into the respective shift registers SR1 and SR2. The contents of the shift register SR1 can be shifted by the logic block SL to the left or the right by from 0 to 15 bits, depending on the contents of the multiplication register MR. The shift register SR2 is controlled exclusively by the sequence control CU and allows shift operations by 1 bit to the right and 15 bits to the left. Moreover, the shift register SR1 is also controllable by the sequence control CU, independently of the logic block SL. Once the shift operations are completed, the two operands present in the shift registers SR1 and SR2 are processed by the modification units MOD1 and MOD2. For instance, based on instructions by the program, the operand in the modification unit MOD1 is not changed, and the operand in the modification unit MOD2 is inverted. Next, the two operands are added together and the overflow bit C, if set in the flag register FR, is added to them as well. An overflow, if it occurs, is indicated by the setting of the applicable bit C in the flag register FR. The result of the addition is written into the data register RC through the saturation unit SAT, which in this case, as programmed, does not become active. Simultaneously with these operations, a data conversion was carried out by the standardizing unit NORM, for instance from floating point representation to fixed point representation, and multiplication was performed by the multiplication unit MULT. The outcome of the multiplication is written into the data register RD, and the outcome of the conversion is written into the data register RA, whereupon the contents of the data registers RC and RD, for example, are transferred to the shift registers SR1 and SR2.

It can be seen from this explanation that great flexibility is achieved, at little cost for circuitry and therefore with low energy consumption. This is due above all to the low number of operations that are possible, combined with parallel processing of time-consuming operations. Naturally, as needed, other peripheral units may be added, or unnecessary peripheral units may be omitted.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US4272828 *Jan 3, 1979Jun 9, 1981Honeywell Information Systems Inc.Arithmetic logic apparatus for a data processing system
US4454589 *Mar 12, 1982Jun 12, 1984The Unite States of America as represented by the Secretary of the Air ForceProgrammable arithmetic logic unit
US4613935 *Feb 2, 1983Sep 23, 1986Couleur John FMethod and apparatus for pipe line processing with a single arithmetic logic unit
US4622650 *Aug 9, 1985Nov 11, 1986Ulrich KulischCircuitry for generating scalar products and sums of floating point numbers with maximum accuracy
US4713749 *Feb 12, 1985Dec 15, 1987Texas Instruments IncorporatedMicroprocessor with repeat instruction
US4800517 *Jul 30, 1986Jan 24, 1989Advanced Micro Devices, Inc.Word-sliced signal processor
US4815021 *Jan 30, 1986Mar 21, 1989Star Technologies, Inc.Multifunction arithmetic logic unit circuit
US4926355 *Jul 2, 1987May 15, 1990General Datacomm, Inc.Digital signal processor architecture with an ALU and a serial processing section operating in parallel
US5045993 *Jun 3, 1988Sep 3, 1991Mitsubishi Denki Kabushiki KaishaDigital signal processor
US5282153 *Apr 6, 1993Jan 25, 1994Advanced Micro Devices, Inc.Arithmetic logic unit
EP0540175A2 *Sep 29, 1992May 5, 1993Advanced Micro Devices, Inc.Digital signal processing apparatus
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7119576Jun 18, 2004Oct 10, 2006Altera CorporationDevices and methods with programmable logic and digital signal processing regions
US7346644Aug 17, 2006Mar 18, 2008Altera CorporationDevices and methods with programmable logic and digital signal processing regions
US7814137Jan 9, 2007Oct 12, 2010Altera CorporationCombined interpolation and decimation filter for programmable logic device
US7822799Jun 26, 2006Oct 26, 2010Altera CorporationAdder-rounder circuitry for specialized processing block in programmable logic device
US7836117Jul 18, 2006Nov 16, 2010Altera CorporationSpecialized processing block for programmable logic device
US7865541Jan 22, 2007Jan 4, 2011Altera CorporationConfiguring floating point operations in a programmable logic device
US7930336Dec 5, 2006Apr 19, 2011Altera CorporationLarge multiplier for programmable logic device
US7948267Feb 9, 2010May 24, 2011Altera CorporationEfficient rounding circuits and methods in configurable integrated circuit devices
US7949699Aug 30, 2007May 24, 2011Altera CorporationImplementation of decimation filter in integrated circuit device using ram-based data storage
US8041759Jun 5, 2006Oct 18, 2011Altera CorporationSpecialized processing block for programmable logic device
US8244789Mar 14, 2008Aug 14, 2012Altera CorporationNormalization of floating point operations in a programmable integrated circuit device
US8255448Oct 2, 2008Aug 28, 2012Altera CorporationImplementing division in a programmable integrated circuit device
US8266198Jun 5, 2006Sep 11, 2012Altera CorporationSpecialized processing block for programmable logic device
US8266199Jun 5, 2006Sep 11, 2012Altera CorporationSpecialized processing block for programmable logic device
US8301681Jun 5, 2006Oct 30, 2012Altera CorporationSpecialized processing block for programmable logic device
US8307023Oct 10, 2008Nov 6, 2012Altera CorporationDSP block for implementing large multiplier on a programmable integrated circuit device
US8386550Sep 20, 2006Feb 26, 2013Altera CorporationMethod for configuring a finite impulse response filter in a programmable logic device
US8386553Mar 6, 2007Feb 26, 2013Altera CorporationLarge multiplier for programmable logic device
US8396914Sep 11, 2009Mar 12, 2013Altera CorporationMatrix decomposition in an integrated circuit device
US8412756Sep 11, 2009Apr 2, 2013Altera CorporationMulti-operand floating point operations in a programmable integrated circuit device
US8458243Mar 3, 2010Jun 4, 2013Altera CorporationDigital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8468192Mar 3, 2009Jun 18, 2013Altera CorporationImplementing multipliers in a programmable integrated circuit device
US8484265Mar 4, 2010Jul 9, 2013Altera CorporationAngular range reduction in an integrated circuit device
US8510354Mar 12, 2010Aug 13, 2013Altera CorporationCalculation of trigonometric functions in an integrated circuit device
US8539014Mar 25, 2010Sep 17, 2013Altera CorporationSolving linear matrices in an integrated circuit device
US8539016Feb 9, 2010Sep 17, 2013Altera CorporationQR decomposition in an integrated circuit device
US8543634Mar 30, 2012Sep 24, 2013Altera CorporationSpecialized processing block for programmable integrated circuit device
US8549055Mar 3, 2010Oct 1, 2013Altera CorporationModular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8577951Aug 19, 2010Nov 5, 2013Altera CorporationMatrix operations in an integrated circuit device
US8589463Jun 25, 2010Nov 19, 2013Altera CorporationCalculation of trigonometric functions in an integrated circuit device
US8589465May 8, 2013Nov 19, 2013Altera CorporationDigital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8601044Mar 2, 2010Dec 3, 2013Altera CorporationDiscrete Fourier Transform in an integrated circuit device
US8620977Aug 7, 2013Dec 31, 2013Altera CorporationModular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8620980Jan 26, 2010Dec 31, 2013Altera CorporationProgrammable device with specialized multiplier blocks
US8626815Mar 3, 2009Jan 7, 2014Altera CorporationConfiguring a programmable integrated circuit device to perform matrix multiplication
US8645449Mar 3, 2009Feb 4, 2014Altera CorporationCombined floating point adder and subtractor
US8645450Mar 2, 2007Feb 4, 2014Altera CorporationMultiplier-accumulator circuitry and methods
US8645451Mar 10, 2011Feb 4, 2014Altera CorporationDouble-clocked specialized processing block in an integrated circuit device
US8650231Nov 25, 2009Feb 11, 2014Altera CorporationConfiguring floating point operations in a programmable device
US8650236Aug 4, 2009Feb 11, 2014Altera CorporationHigh-rate interpolation or decimation filter in integrated circuit device
US8706790Mar 3, 2009Apr 22, 2014Altera CorporationImplementing mixed-precision floating-point operations in a programmable integrated circuit device
US8732225Oct 11, 2013May 20, 2014Altera CorporationDigital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8751551Nov 21, 2013Jun 10, 2014Altera CorporationModular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8762443Nov 15, 2011Jun 24, 2014Altera CorporationMatrix operations in an integrated circuit device
US8788562Mar 8, 2011Jul 22, 2014Altera CorporationLarge multiplier for programmable logic device
US8805916Mar 3, 2009Aug 12, 2014Altera CorporationDigital signal processing circuitry with redundancy and bidirectional data paths
US8812573Jun 14, 2011Aug 19, 2014Altera CorporationCalculation of trigonometric functions in an integrated circuit device
US8812576Sep 12, 2011Aug 19, 2014Altera CorporationQR decomposition in an integrated circuit device
Classifications
U.S. Classification712/35, 708/625, 708/552
International ClassificationH04B14/06, G06F7/57
Cooperative ClassificationH04B14/068, G06F7/57
European ClassificationH04B14/06C2, G06F7/57
Legal Events
DateCodeEventDescription
Jan 19, 2012ASAssignment
Owner name: INTEL MOBILE COMMUNICATIONS GMBH, GERMANY
Effective date: 20111031
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEL MOBILE COMMUNICATIONS TECHNOLOGY GMBH;REEL/FRAME:027556/0709
Jan 18, 2012ASAssignment
Owner name: INTEL MOBILE COMMUNICATIONS TECHNOLOGY GMBH, GERMA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INFINEON TECHNOLOGIES AG;REEL/FRAME:027548/0623
Effective date: 20110131
May 31, 2011ASAssignment
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SIEMENS AKTIENGESELLSCHAFT;REEL/FRAME:026358/0703
Effective date: 19990331
Owner name: INFINEON TECHNOLOGIES AG, GERMANY
Jul 10, 2008FPAYFee payment
Year of fee payment: 12
Jul 2, 2004FPAYFee payment
Year of fee payment: 8
Jun 14, 2000FPAYFee payment
Year of fee payment: 4
Oct 22, 1996ASAssignment
Owner name: SIEMENS AKTIENGESELLSCHAFT, GERMANY
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BRUECKMANN, DIETER;PREUSS WALFRIED;REEL/FRAME:008196/0495;SIGNING DATES FROM 19940803 TO 19940804