This disclosure relates to digital signal processing (“DSP”) circuitry, especially on integrated circuit (“IC”) devices. More particularly, the disclosure relates to such DSP circuitry that is adapted to perform finite-impulse-response (“FIR”) digital filtering.
DSP circuitry may be provided on an integrated circuit (“IC”) in the form of multiple instances (identical or substantially identical repetitions) of a “block” of DSP circuitry. Such a “DSP circuit block” (or “DSP block”) may be capable of several different DSP operations, and the block may be controllable to select which of the possible DSP operations the block performs in any particular application of the IC. For example, the IC may be a programmable logic device (“PLD”), a field-programmable gate array (“FPGA”), or other similar type of device that is manufactured as a relatively general-purpose product that a user can “customize” to perform the functions needed by that user's particular application of the device. Such customization may be by programming function control data into so-called configuration memory cells (configuration random access memory or “CRAM”) on the device. After having been thus programmed or configured, the IC can enter its normal or user mode of operation, in which it performs the functions (e.g., the DSP functions) it has been programmed or configured to perform. Manufacturing such an IC with DSP blocks that can satisfy any of a wide range of possible user needs increases the number of users who can use the IC for their particular applications. This increases the size of the market for the IC, which can benefit the manufacturer; but increased sales volume can also help to lower the unit cost of the IC, which can benefit users of the IC.
A particularly advantageous form of relatively general-purpose DSP block circuitry includes two multiplier circuits that can be used either separately or together. Such an advantageous DSP block may also include the ability to feed its outputs (i.e., results of DSP operations it has performed) directly or substantially directly into another instance of the same DSP block circuitry on the IC for further processing in that “another” DSP block (so-called output chaining). Examples of such advantageous DSP block circuitry are shown in commonly-assigned Streicher et al. U.S. patent application Ser. No. 12/716,878, filed concurrently with parent application Ser. No. 12/716,378 and hereby incorporated by reference herein in its entirety. The just-mentioned Streicher et al. document will sometimes be referred to herein as “the Streicher et al. reference.”
Among the possible applications of DSP block circuitry of the type mentioned above is in the performance of finite-impulse-response (“FIR”) digital filtering. FIR filtering typically involves passing successive input signal samples through a series of delay circuits, each of which delays each sample applied to it by the time duration of any one sample in the input sample stream. The just-mentioned “time duration” is typically the “period” or time duration of an “operating cycle” of the circuitry, or the period of a clock signal that is used to control the rate of such operating cycles. Each input sample and each sample output by each delay circuit in a given operating cycle of the circuitry is multiplied by a respective filter coefficient value, and all of the resulting multiplication products are added together to produce the output of the FIR filter for that operating cycle.
A possible problem associated with FIR filter circuitry is that it can take a relatively long time to complete the addition of a significant number of the above-mentioned multiplication product values. This can necessitate lengthening the operating cycle of the circuitry (accomplished by slowing down the clock that controls the speed of the circuitry). With the modern emphasis on rapid circuit operation, this can be undesirable.
As a possible way to ameliorate the adverse effects of long addition time, the so-called systolic form of FIR filter circuitry has been developed. This is circuitry with additional (“systolic”) delay in both the input sample delay chain and the product-summing chain. Because a user of DSP circuit blocks of the type mentioned above may want to use them to implement systolic form FIR filters, a need exists for efficient ways to include systolic delays (or registers) in such DSP blocks.
Providing DSP circuitry on an IC (especially ICs like PLDs, FPGAs, and the like) in the form of a plurality of DSP blocks (always meaning multiple instances of identical or substantially identical instances of DSP module circuitry) can be advantageous and desirable for several reasons. Among these reasons are design efficiency (e.g., because the design of one DSP block (or DSP module) can be replicated several times on the IC). Another benefit may be the ability of a user of the IC to put together (i.e., use in an interconnected way) any number of such DSP blocks on the IC to perform a DSP function that is larger than can be performed in one DSP block by itself. Only as many DSP blocks as are needed are thus put together, and any other DSP blocks on the IC remain available for other purposes. Still another advantage of DSP blocks is that they may include circuitry that is dedicated to performing DSP operations (rather than being more completely general-purpose circuitry). Such DSP block circuitry can therefore perform DSP operations more efficiently. However, if a DSP block is not optimized for implementing systolic FIR filters, it can be necessary to use circuitry outside of the DSP blocks to complete the systolic FIR filter implementation. For example, more general-purpose adder circuitry outside the DSP blocks may be needed to sum multiplication products output by multiple DSP blocks. Use of such more general-purpose adder circuitry, etc., outside of the DSP blocks can be inefficient. This leads to a need for DSP blocks that are better adapted for more completely implementing systolic FIR filters, especially systolic FIR filters that can be of any size and that can avoid use of general-purpose (“soft”) adder circuitry external to the DSP blocks.
In accordance with certain possible aspects of the disclosure, digital signal processing (“DSP”) block circuitry on an integrated circuit (“IC”) is adapted for use (e.g., in multiple identical or substantially identical instances of the DSP block circuitry on the IC) for implementing finite-impulse-response (“FIR”) digital filters in systolic form. Each DSP block may include (1) first and second multiplier circuitry and (2) adder circuitry for adding (a) multiplication product data indicated by output signals of the multipliers and (b) chained-in data indicated by signals chained in from a first other instance of the DSP block circuitry. Systolic delay circuitry is provided for either the output signals of the first multiplier (prior to application of those output signals to the adder) or for at least one of the sets of inputs to the first multiplier. Additional systolic delay circuitry is provided for outputs of the adder, which are chained out to a second other instance of the DSP block circuitry.
Further features of the disclosure, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description.
As mentioned above, FIR filters are widely used in DSP applications. The basic structure of a FIR filter includes a series of multiplications followed by an addition. A FIR filter operation can be represented by the equation shown in
Each of elements 810 in
Each of elements 830 in
As was mentioned in the Background section of this specification, it can take a relatively long time for a relatively long chain of adders 830 (each operating on relatively long data words (e.g., 2N-bit data words, where N is 18, for example)) to produce a final result y[n] from all of its many inputs. (In fact, adders 830 typically need to be even larger than 2N bits to avoid loss of information due to adder overflow as multiple 2N-bit products are added together.) Possible undesirable consequences of such relatively slow performance of a long chain of adders are discussed in the Background section of this specification.
As a possible way to eliminate the need for a long chain of adders (or other very large adder) in FIR filters, the so-called systolic form of such filters has been developed. The typical systolic form of a FIR filter 800 (now reference-numbered 800′) is shown in
As compared to
Including delay elements 812 in the adder chain in filter 800′ prevents the adder chain from having to add together a large number of adder inputs in one operating cycle of the circuitry. In each operating cycle, each adder 830 only has to add two inputs, and the one of those two inputs that comes from the next-upstream adder 830 was produced by that upstream adder during the preceding operating cycle (not earlier in the same operating cycle in which it is needed by the downstream adder).
Systolic delay elements 822 are provided in the input data sample stream path to keep the propagation of input samples through that path synchronized with the propagation of sum-of-product data through the chain of adders 830. Thus, each systolic register 812 that is added between a pair of adjacent filter taps is “matched” by a “corresponding” or “associated” systolic delay element 822 between the taps in that pair.
For convenience herein, a systolic FIR filter of the general type shown in
As noted in the Background section of this specification, it can be desirable to provide DSP circuitry on an integrated circuit in the form of multiple repetitions (or instances) of a particular form of module (or block) of such circuitry. The above-mentioned Streicher et al. reference shows advantageous examples of such DSP block or module circuitry, some of which exemplary modules include (inter alia) two multipliers, adder circuitry, and routing circuitry that can be used to route certain outputs of one DSP circuit block directly or substantially directly into another DSP circuit block (e.g., that is adjacent to the first-mentioned block). A simplified depiction of a representative one of such DSP circuit blocks 500 is shown in
As shown in
DSP block 500 further includes adder circuitry 508/510/511, which can be used to add together the products output by multipliers 505 and 506, and also to add into that sum “car_in” signals cascaded or chained in from another (typically adjacent) instance of DSP block circuitry 500 (e.g., to the right of the DSP block that is depicted in
DSP block 500 still further includes output registers 512 for registering the output signals of adder circuitry 508/510/511 in synchronism with a clock signal. The output signals of registers 512 can be the normal output signals (“out”) of the DSP block. For example, these normal output signals can go to relatively general-purpose routing or interconnection resources on the IC that includes block 500 for routing to other (e.g., more general-purpose) circuitry on (or off) the IC. In addition, the output signals of output registers 512 are applied to controllable routing circuitry 516/517c that is part of DSP block 500. Routing circuitry 516/517c can select the output signals of registers 512 to be the so-called “car_out”) signals of block 500. These car_out signals are preferably directly or substantially directly connected to the car_in inputs of another (typically adjacent) DSP block 500. Such “direct” or “relatively direct” inter-DSP-block connections may be referred to as “dedicated” connections or the like. Such dedicated connections are only usable for conveying signals between DSP blocks 500. They are therefore different from the more general-purpose interconnection or routing resources of the IC, which more general-purpose resources can be used (as has already been mentioned) to convey signals like “out,” x1, and x2 more generally to, from, and between various kinds of circuitry on the IC.
A more streamlined depiction of what is shown in
The DSP circuit block 500 shown in
Multiple (typically adjacent) instances of DSP block 500 can implement a systolic form of multiple adjacent pairs of adjacent FIR filter taps. For example,
For convenience herein, a systolic FIR filter of the general type shown in
Although
As compared to a DSP circuit block 500, each of DSP circuit blocks 500a′ and 500b′ (generically DSP block 500′) in
In addition to the systolic delay that has thus been added within each DSP block 500′, systolic delay registers 822-1 or 822-3 are also included (external to the DSP blocks) in the input sample delay chain between the two sets of sample inputs to each block. (Registers 822-1 could instead be internal to DSP block 500a′, and registers 822-3 could instead be internal to DSP block 500b′.) Each FIR filter tap in
All systolic registers that are added to a DSP circuit block in accordance with this disclosure (e.g., registers 812-1a, 812-3a, 812-3b, and 812-5b in
Use of registers like 820 and 822 in the input sample delay chain is typically also optional. In the embodiments shown thus far herein, these registers are in more general-purpose circuitry that is preferably on the IC with the DSP circuit blocks but outside of those blocks themselves. The user is preferably free to select any of wide range of signal routings in this general-purpose circuitry. Therefore, which signals are applied to the various general-purpose inputs (like x1, C1, x2, C2, etc.) to the DSP blocks, and how those signals get to those inputs, is preferably subject to user control to a large extent. This means, for example, that the user can include any desired number and arrangement of delay elements like 820 and 822 in a chain of circuit elements for delaying input samples x[n]. Alternatively, the circuitry may be put to some other, altogether different use that does not involve any chaining of input samples. Thus again, the inclusion or non-inclusion in the circuitry of any particular register 820 or 822 is typically among several options selected by the user of the circuitry.
(We have already mentioned the alternative of including input sample delay chain registers and input sample systolic registers in the DSP blocks like 500, 500a/b, and/or 500a′/b′. If that is done, then any or all of those registers are preferably optionally usable. This principle (which is illustrated by later-described
The
Locating systolic registers 812-1a and 812-3a as shown in
Up to this point this disclosure has primarily considered DSP blocks 500 that are able, inter alia, to form the sum of two products. However, the principles of this invention are also applicable to DSP blocks that can form the sum of more than two products.
In connection with embodiments like those shown in
For completeness it may be helpful to appreciate that the various adders (e.g., like 511 and 1011) shown herein may have a construction like that shown in
A purpose for including
To preserve the more general usability of the DSP blocks shown in
It will be understood that functions like those implemented by elements 1510/1512, 1520/1522, and/or 1530/1532 can be implemented in other ways and/or by other means without departing from the scope and spirit of the disclosure. It will also be understood that elements 1510/1512, 1520/1522, and/or 1530/1532 (or other circuit structures or arrangements that implement similar functions) can be included in any of the other embodiments shown and described herein. The same is true for other principles that are illustrated by
To some extent recapitulating and extending the foregoing, digital signal processing (“DSP”) block circuitry (e.g., 500b′ in
In DSP block circuitry such as recapitulated above, the adder circuitry 511 may produce a fourth plurality of parallel signals (e.g., outputs to 512) indicative of a sum from the adding. In such a case, the DSP block circuitry may further include output register circuitry (e.g., 512) for registering the fourth plurality of parallel signals. Still further in such a case, the DSP block circuitry may still further include second systolic delay circuitry (e.g., 812-5b) for delaying outputs of the output register circuitry by the systolic delay time interval. Yet further in such a case, the DSP block circuitry may yet further include circuitry (e.g., connections from outputs of 812-5b to inputs of next downstream adder 511 (not shown in
DSP block circuitry as is being recapitulated here may further include circuitry (e.g., 640, 642) for controllably allowing the above-mentioned first plurality of parallel output signals to bypass the first systolic delay circuitry (e.g., 812-3a). Similarly, DSP block circuitry as is being recapitulated here may further include (e.g., 640, 642) for controllably allowing the outputs of the output register circuitry (e.g., 512) to bypass the second systolic delay circuitry (e.g., 812-5b).
In DSP block circuitry as is being recapitulated here, the adder circuitry (e.g., 511) may include means (e.g., 508) for additively combining the outputs of the first systolic delay circuitry (e.g., 812-3a) and the second plurality of parallel output signals (e.g., outputs of 506) to produce a plurality of parallel intermediate signals (e.g., outputs of 508). The adder circuitry may further include means (e.g., 510) for additively combining the plurality of parallel intermediate signals and the third plurality of parallel signals (e.g., outputs of 812-3b).
DSP block circuitry as is being recapitulated here may further include third multiplier circuitry (e.g., 1007 in
To some extent further recapitulating and extending the foregoing, digital signal processing (“DSP”) block circuitry (e.g., 500b″ in
DSP block circuitry such as recapitulated above may further include circuitry (e.g., output leads from 812-5b) for applying outputs of the second systolic delay circuitry (e.g., 812-5b) to a second other instance of said DSP block circuitry (e.g., another instance (not shown) of circuitry like 500″ to the left of 500b″ in
In DSP block circuitry such as recapitulated above, the first systolic delay circuitry (e.g., 812-3a2 and/or 812-3a1) may delay both the plurality of parallel multiplicand signals (e.g., x3) and the plurality of parallel multiplier signals (e.g., C3) by the systolic delay time interval.
DSP block circuitry such as recapitulated above may be used in combination with (1) circuitry for applying a succession of input signal samples to the first systolic delay circuitry (e.g., 812-3a2) as the multiplicand signals (e.g., x3), (2) circuitry (e.g., 830-3 and 822-3) for delaying each of the input signal samples by a time period equal to the sum of (a) duration of each of the input signal samples in the succession, and (b) the systolic delay time interval, and (3) circuitry (e.g., x4) for applying outputs of the circuitry for delaying (e.g., 820-3 and 822-3) to the second multiplier circuitry (e.g., 506).
In DSP block circuitry such as recapitulated above, the systolic delay time interval is preferably equal to the duration of each of the input signal samples in the succession.
DSP block circuitry such as recapitulated above may further include circuitry (e.g., 640, 642) for controllably allowing signals to bypass the first systolic delay circuitry (e.g., 812-3a2 and/or 812-3a1). Similarly, DSP block circuitry as recapitulated above may further include circuitry (e.g., 640, 642) for controllably allowing signals to bypass the second systolic delay circuitry (e.g., 812-5b).
In DSP block circuitry such as recapitulated above, the adder circuitry may include means (e.g., 508) for additively combining the first and second pluralities of output signals to produce a plurality of parallel intermediate signals (e.g., outputs of 508). The adder circuitry may further include means (e.g., 510) for additively combining the plurality of parallel intermediate signals and the third plurality of parallel signals (e.g., outputs of 812-3b).
DSP block circuitry such as recapitulated above may further include third multiplier circuitry (e.g., 1007 in
It will be understood that the foregoing is only illustrative of the principles of this disclosure, and that various modifications can be implemented by those skilled in the art without departing from the scope and spirit of the invention. For example, the parameter N has sometimes been referred to as having the value 18. But this is only an example, and larger or smaller values (e.g., 20 or 16, etc.) can instead be used for parameter N.
It will also be understood that all structure shown herein is typically electrical circuitry, and that all functions described herein (e.g., multiplication, addition, etc.) are performed by such circuitry operating on electrical signals indicative of digital data words. Such digital data words may be referred to as input data signal samples, multiplicands, multipliers, products, sums, etc., but they are all typically embodied as electrical signals. Terms like “first,” “second,” “third,” etc., may sometimes be used herein solely as arbitrary identifiers for different occurrences of somewhat similar elements. In such contexts, use of these arbitrary identifiers does not imply any particular order of the elements referred to. Nor does use of a term like “first” by itself necessarily imply that a “second” such element is also present. Similarly, use of a term like “second” does not by itself necessarily imply that a “first” such element is also present.
This is a division of commonly-assigned U.S. patent application Ser. No. 12/716,378, filed Mar. 3, 2010, now U.S. Pat. No. 8,458,243, which is hereby incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
3473160 | Wahlstrom | Oct 1969 | A |
4156927 | McElroy et al. | May 1979 | A |
4179746 | Tubbs | Dec 1979 | A |
4212076 | Conners | Jul 1980 | A |
4215406 | Gomola et al. | Jul 1980 | A |
4215407 | Gomola et al. | Jul 1980 | A |
4422155 | Amir et al. | Dec 1983 | A |
4484259 | Palmer et al. | Nov 1984 | A |
4521907 | Amir et al. | Jun 1985 | A |
4597053 | Chamberlin | Jun 1986 | A |
4623961 | Mackiewicz | Nov 1986 | A |
4682302 | Williams | Jul 1987 | A |
4718057 | Venkitakrishnan et al. | Jan 1988 | A |
4727508 | Williams | Feb 1988 | A |
4791590 | Ku et al. | Dec 1988 | A |
4799004 | Mori | Jan 1989 | A |
4823295 | Mader | Apr 1989 | A |
4839847 | Laprade | Jun 1989 | A |
4871930 | Wong et al. | Oct 1989 | A |
4912345 | Steele et al. | Mar 1990 | A |
4967160 | Quievy et al. | Oct 1990 | A |
4982354 | Takeuchi et al. | Jan 1991 | A |
4994997 | Martin et al. | Feb 1991 | A |
5122685 | Chan et al. | Jun 1992 | A |
5128559 | Steele | Jul 1992 | A |
5175702 | Beraud et al. | Dec 1992 | A |
5208491 | Ebeling et al. | May 1993 | A |
RE34363 | Freeman | Aug 1993 | E |
5267187 | Hsieh et al. | Nov 1993 | A |
5296759 | Sutherland et al. | Mar 1994 | A |
5338983 | Agarwala | Aug 1994 | A |
5349250 | New | Sep 1994 | A |
5357152 | Jennings, III et al. | Oct 1994 | A |
5371422 | Patel et al. | Dec 1994 | A |
5381357 | Wedgwood et al. | Jan 1995 | A |
5404324 | Colon-Bonet | Apr 1995 | A |
5424589 | Dobbelaere et al. | Jun 1995 | A |
5446651 | Moyse et al. | Aug 1995 | A |
5451948 | Jekel | Sep 1995 | A |
5452231 | Butts et al. | Sep 1995 | A |
5452375 | Rousseau et al. | Sep 1995 | A |
5457644 | McCollum | Oct 1995 | A |
5465226 | Goto | Nov 1995 | A |
5465375 | Thepaut et al. | Nov 1995 | A |
5483178 | Costello et al. | Jan 1996 | A |
5497498 | Taylor | Mar 1996 | A |
5500828 | Doddington et al. | Mar 1996 | A |
5523963 | Hsieh et al. | Jun 1996 | A |
5528550 | Pawate et al. | Jun 1996 | A |
5537601 | Kimura et al. | Jul 1996 | A |
5546018 | New et al. | Aug 1996 | A |
5550993 | Ehlig et al. | Aug 1996 | A |
5559450 | Ngai et al. | Sep 1996 | A |
5563526 | Hastings et al. | Oct 1996 | A |
5563819 | Nelson | Oct 1996 | A |
5570039 | Oswald et al. | Oct 1996 | A |
5570040 | Lytle et al. | Oct 1996 | A |
5572148 | Lytle et al. | Nov 1996 | A |
5581501 | Sansbury et al. | Dec 1996 | A |
5590350 | Guttag et al. | Dec 1996 | A |
5594366 | Khong et al. | Jan 1997 | A |
5594912 | Brueckmann et al. | Jan 1997 | A |
5596763 | Guttag et al. | Jan 1997 | A |
5606266 | Pedersen | Feb 1997 | A |
5617058 | Adrian et al. | Apr 1997 | A |
5633601 | Nagaraj | May 1997 | A |
5636150 | Okamoto | Jun 1997 | A |
5636368 | Harrison et al. | Jun 1997 | A |
5640578 | Balmer et al. | Jun 1997 | A |
5644522 | Moyse et al. | Jul 1997 | A |
5646545 | Trimberger et al. | Jul 1997 | A |
5648732 | Duncan | Jul 1997 | A |
5652903 | Weng et al. | Jul 1997 | A |
5655069 | Ogawara et al. | Aug 1997 | A |
5664192 | Lloyd et al. | Sep 1997 | A |
5689195 | Cliff et al. | Nov 1997 | A |
5696708 | Leung | Dec 1997 | A |
5729495 | Madurawe | Mar 1998 | A |
5740404 | Baji | Apr 1998 | A |
5744980 | McGowan et al. | Apr 1998 | A |
5744991 | Jefferson et al. | Apr 1998 | A |
5754459 | Telikepalli | May 1998 | A |
5761483 | Trimberger | Jun 1998 | A |
5764555 | McPherson et al. | Jun 1998 | A |
5768613 | Asghar | Jun 1998 | A |
5777912 | Leung et al. | Jul 1998 | A |
5784636 | Rupp | Jul 1998 | A |
5790446 | Yu et al. | Aug 1998 | A |
5794067 | Kadowaki | Aug 1998 | A |
5801546 | Pierce et al. | Sep 1998 | A |
5805477 | Perner | Sep 1998 | A |
5805913 | Guttag et al. | Sep 1998 | A |
5812479 | Cliff et al. | Sep 1998 | A |
5812562 | Baeg | Sep 1998 | A |
5815422 | Dockser | Sep 1998 | A |
5821776 | McGowan | Oct 1998 | A |
5825202 | Tavana et al. | Oct 1998 | A |
5838165 | Chatter | Nov 1998 | A |
5841684 | Dockser | Nov 1998 | A |
5847579 | Trimberger | Dec 1998 | A |
5859878 | Phillips et al. | Jan 1999 | A |
5869979 | Bocchino | Feb 1999 | A |
5872380 | Rostoker et al. | Feb 1999 | A |
5874834 | New | Feb 1999 | A |
5878250 | LeBlanc | Mar 1999 | A |
5880981 | Kojima et al. | Mar 1999 | A |
5892962 | Cloutier | Apr 1999 | A |
5894228 | Reddy et al. | Apr 1999 | A |
5898602 | Rothman et al. | Apr 1999 | A |
5931898 | Khoury | Aug 1999 | A |
5942914 | Reddy et al. | Aug 1999 | A |
5944774 | Dent | Aug 1999 | A |
5949710 | Pass et al. | Sep 1999 | A |
5951673 | Miyata | Sep 1999 | A |
5956265 | Lewis | Sep 1999 | A |
5959871 | Pierzchala et al. | Sep 1999 | A |
5960193 | Guttag et al. | Sep 1999 | A |
5961635 | Guttag et al. | Oct 1999 | A |
5963048 | Harrison et al. | Oct 1999 | A |
5963050 | Young et al. | Oct 1999 | A |
5968196 | Ramamurthy et al. | Oct 1999 | A |
5970254 | Cooke et al. | Oct 1999 | A |
5978260 | Trimberger et al. | Nov 1999 | A |
5982195 | Cliff et al. | Nov 1999 | A |
5986465 | Mendel | Nov 1999 | A |
5991788 | Mintzer | Nov 1999 | A |
5991898 | Rajski et al. | Nov 1999 | A |
5995748 | Guttag et al. | Nov 1999 | A |
5999015 | Cliff et al. | Dec 1999 | A |
5999990 | Sharrit et al. | Dec 1999 | A |
6005806 | Madurawe et al. | Dec 1999 | A |
6006321 | Abbott | Dec 1999 | A |
6009451 | Burns | Dec 1999 | A |
6020759 | Heile | Feb 2000 | A |
6021423 | Nag et al. | Feb 2000 | A |
6029187 | Verbauwhede | Feb 2000 | A |
6031763 | Sansbury | Feb 2000 | A |
6041340 | Mintzer | Mar 2000 | A |
6052327 | Reddy et al. | Apr 2000 | A |
6052755 | Terrill et al. | Apr 2000 | A |
6064614 | Khoury | May 2000 | A |
6065131 | Andrews et al. | May 2000 | A |
6066960 | Pedersen | May 2000 | A |
6069487 | Lane et al. | May 2000 | A |
6072994 | Phillips et al. | Jun 2000 | A |
6073154 | Dick | Jun 2000 | A |
6075381 | LaBerge | Jun 2000 | A |
6084429 | Trimberger | Jul 2000 | A |
6085317 | Smith | Jul 2000 | A |
6091261 | DeLange | Jul 2000 | A |
6091765 | Pietzold, III et al. | Jul 2000 | A |
6094726 | Gonion et al. | Jul 2000 | A |
6097988 | Tobias | Aug 2000 | A |
6098163 | Guttag et al. | Aug 2000 | A |
6107820 | Jefferson et al. | Aug 2000 | A |
6107821 | Kelem et al. | Aug 2000 | A |
6107824 | Reddy et al. | Aug 2000 | A |
6130554 | Kolze et al. | Oct 2000 | A |
6140839 | Kaviani et al. | Oct 2000 | A |
6154049 | New | Nov 2000 | A |
6157210 | Zaveri et al. | Dec 2000 | A |
6163788 | Chen et al. | Dec 2000 | A |
6167415 | Fischer et al. | Dec 2000 | A |
6175849 | Smith | Jan 2001 | B1 |
6215326 | Jefferson et al. | Apr 2001 | B1 |
6226735 | Mirsky | May 2001 | B1 |
6242947 | Trimberger | Jun 2001 | B1 |
6243729 | Staszewski | Jun 2001 | B1 |
6246258 | Lesea | Jun 2001 | B1 |
6279021 | Takano et al. | Aug 2001 | B1 |
6286024 | Yano et al. | Sep 2001 | B1 |
6314442 | Suzuki | Nov 2001 | B1 |
6314551 | Borland | Nov 2001 | B1 |
6321246 | Page et al. | Nov 2001 | B1 |
6323680 | Pedersen et al. | Nov 2001 | B1 |
6351142 | Abbott | Feb 2002 | B1 |
6359468 | Park et al. | Mar 2002 | B1 |
6362650 | New et al. | Mar 2002 | B1 |
6366944 | Hossain et al. | Apr 2002 | B1 |
6367003 | Davis | Apr 2002 | B1 |
6407576 | Ngai et al. | Jun 2002 | B1 |
6407694 | Cox et al. | Jun 2002 | B1 |
6438570 | Miller | Aug 2002 | B1 |
6453382 | Heile | Sep 2002 | B1 |
6467017 | Ngai et al. | Oct 2002 | B1 |
6480980 | Koe | Nov 2002 | B2 |
6483343 | Faith et al. | Nov 2002 | B1 |
6531888 | Abbott | Mar 2003 | B2 |
6538470 | Langhammer et al. | Mar 2003 | B1 |
6542000 | Black et al. | Apr 2003 | B1 |
6556044 | Langhammer et al. | Apr 2003 | B2 |
6557092 | Callen | Apr 2003 | B1 |
6571268 | Giacalone et al. | May 2003 | B1 |
6573749 | New et al. | Jun 2003 | B2 |
6574762 | Karimi et al. | Jun 2003 | B1 |
6591283 | Conway et al. | Jul 2003 | B1 |
6591357 | Mirsky | Jul 2003 | B2 |
6600788 | Dick et al. | Jul 2003 | B1 |
6628140 | Langhammer et al. | Sep 2003 | B2 |
6700581 | Baldwin et al. | Mar 2004 | B2 |
6725441 | Keller et al. | Apr 2004 | B1 |
6728901 | Rajski et al. | Apr 2004 | B1 |
6731133 | Feng et al. | May 2004 | B1 |
6744278 | Liu et al. | Jun 2004 | B1 |
6745254 | Boggs et al. | Jun 2004 | B2 |
6774669 | Liu et al. | Aug 2004 | B1 |
6781408 | Langhammer | Aug 2004 | B1 |
6781410 | Pani et al. | Aug 2004 | B2 |
6788104 | Singh et al. | Sep 2004 | B2 |
6836839 | Master et al. | Dec 2004 | B2 |
6874079 | Hogenauer | Mar 2005 | B2 |
6904471 | Boggs et al. | Jun 2005 | B2 |
6924663 | Masui et al. | Aug 2005 | B2 |
6971083 | Farrugia et al. | Nov 2005 | B1 |
20010029515 | Mirsky | Oct 2001 | A1 |
20020089348 | Langhammer | Jul 2002 | A1 |
20030088757 | Lindner et al. | May 2003 | A1 |
20040064770 | Xin | Apr 2004 | A1 |
20040083412 | Corbin et al. | Apr 2004 | A1 |
20040178818 | Crotty et al. | Sep 2004 | A1 |
20040193981 | Clark et al. | Sep 2004 | A1 |
20050144215 | Simkins et al. | Jun 2005 | A1 |
20050166038 | Wang et al. | Jul 2005 | A1 |
20050187999 | Zheng et al. | Aug 2005 | A1 |
20050267926 | Al-Khoraidly et al. | Dec 2005 | A1 |
20060075012 | Minz et al. | Apr 2006 | A1 |
20070185951 | Lee et al. | Aug 2007 | A1 |
20070185952 | Langhammer et al. | Aug 2007 | A1 |
20080133627 | Langhammer et al. | Jun 2008 | A1 |
20100228806 | Streicher et al. | Sep 2010 | A1 |
Number | Date | Country |
---|---|---|
0 158 430 | Oct 1985 | EP |
0 380 456 | Aug 1990 | EP |
0 411 491 | Feb 1991 | EP |
0 461 798 | Dec 1991 | EP |
0 498 066 | Aug 1992 | EP |
0 555 092 | Aug 1993 | EP |
0 606 653 | Jul 1994 | EP |
0 657 803 | Jun 1995 | EP |
0 660 227 | Jun 1995 | EP |
0 668 659 | Aug 1995 | EP |
0 905 906 | Mar 1999 | EP |
0 909 028 | Apr 1999 | EP |
0 927 393 | Jul 1999 | EP |
0 992 885 | Apr 2000 | EP |
1 031 934 | Aug 2000 | EP |
1 058 185 | Dec 2000 | EP |
1 220 108 | Jul 2002 | EP |
2 283 602 | May 1995 | GB |
2 286 737 | Aug 1995 | GB |
2 318 198 | Apr 1998 | GB |
61-237133 | Oct 1986 | JP |
7-135447 | May 1995 | JP |
WO9527243 | Oct 1995 | WO |
WO9628774 | Sep 1996 | WO |
WO9708606 | Mar 1997 | WO |
WO9812629 | Mar 1998 | WO |
WO9832071 | Jul 1998 | WO |
WO9838741 | Sep 1998 | WO |
WO9922292 | May 1999 | WO |
WO9931574 | Jun 1999 | WO |
WO9956394 | Nov 1999 | WO |
WO0051239 | Aug 2000 | WO |
WO0052824 | Sep 2000 | WO |
WO0113562 | Feb 2001 | WO |
WO2005101190 | Oct 2005 | WO |
Entry |
---|
Amos, D., “PLD architectures match DSP algorithms,” Electronic Product Design, vol. 17, No. 7, Jul. 1996, pp. 30, 32. |
Analog Devices, Inc., The Applications Engineering Staff of Analog Devices, DSP Division, Digital Signal Processing Applications Using the ADSP-2100 Family (edited by Amy Mar), 1990, pp. 141-192). |
Andrejas, J., et al., “Reusable DSP functions in FPGAs,” Field-Programmable Logic and Applications. Roadmap to Reconfigurable Computing. 10th International Conference, FPL 2000. Proceedings (Lecture Notes in Computer Science vol. 1896) Aug. 27-30, 2000, pp. 456-461. |
Aoki, T., “Signed-weight arithmetic and its application to a field-programmable digital filter architecture,” IEICE Transactions on Electronics , 1999 , vol. E82C, No. 9, Sep. 1999, pp. 1687-1698. |
Ashour, M.A., et al., “An FPGA implementation guide for some different types of serial-parallel multiplier-structures,” Microelectronics Journal , vol. 31, No. 3, 2000, pp. 161-168. |
Berg. B.L., et al.“Designing Power and Area Efficient Multistage FIR Decimators with Economical Low Order Filters,” ChipCenter Technical Note, Dec. 2001. |
Bursky, D., “Programmable Logic Challenges Traditional ASIC SoC Designs”, Electronic Design, Apr. 15, 2002. |
Chhabra, A. et al., Texas Instruments Inc., “A Block Floating Point Implementation on the TMS320C54x DSP”, Application Report SPRA610, Dec. 1999, pp. 1-10. |
Colet, p., “When DSPs and FPGAs meet: Optimizing image processing architectures,” Advanced Imaging, vol. 12, No. 9, Sep. 1997, pp. 14, 16, 18. |
Crookes, D., et al., “Design and implementation of a high level programming environment for FPGA-based image processing,” IEE Proceedings-Vision, Image and Signal Processing, vol. 147, No. 4, Aug. 2000, pp. 377-384. |
Debowski, L., et al., “A new flexible architecture of digital control systems based on DSP and complex CPLD technology for power conversion applications,” PCIM 2000: Europe Official Proceedings of the Thirty-Seventh International Intelligent Motion Conference, Jun. 6-8, 2000, pp. 281-286. |
Dick, C., et al., “Configurable logic for digital communications: some signal processing perspectives,” IEEE Communications Magazine, vol. 37, No. 8, Aug. 1999, pp. 107-111. |
Do, T.-T., et al., “A flexible implementation of high-performance FIR filters on Xilinx FPGAs,” Field-Programmable Logic and Applications: From FPGAs to Computing Paradigm. 8th International Workshop, FPL'98. Proceedings, Hartenstein, R.W., et al., eds., Aug. 31-Sep. 3, 1998, pp. 441-445. |
“DSP Blocks in Arria GX Devices,” Arria GX Device Handbook, vol. 2, pp. 10-1 through 10-32, Altera Corporation, San Jose, CA, May 2008. |
“DSP Blocks in Stratix & Stratix GX Devices,” Stratix Device Handbook, vol. 2, pp. 6-1 through 6-28, Altera Corporation, San Jose, CA, Jul. 2005. |
“DSP Blocks in Stratix II and Stratix II GX Devices,” Stratix II Device Handbook, vol. 2, pp. 6-1 through 6-34, Altera Corporation, San Jose, CA, Jan. 2008. |
“DSP Blocks in Stratix III Devices,” Stratix III Device Handbook, vol. 1, pp. 5-1 through 5-50, Altera Corporation, San Jose, CA, Oct. 2007. |
“DSP Blocks in Stratix III Devices,” Stratix III Device Handbook, vol. 1, pp. 5-1 through 5-40, Altera Corporation, San Jose, CA, May 2009. |
“DSP Blocks in Stratix IV Devices,” Stratix IV Device Handbook, vol. 1, pp. 4-1 through 4-44, Altera Corporation, San Jose, CA, May 2008. |
“DSP Blocks in Stratix IV Devices,” Stratix IV Device Handbook, vol. 1, pp. 4-1 through 4-34, Altera Corporation, San Jose, CA, Nov. 2008. |
“DSP Blocks in Stratix IV Devices,” Stratix IV Device Handbook, vol. 1, pp. 4-1 through 4-36, Altera Corporation, San Jose, CA, Nov. 2009. |
“Embedded Multipliers in Cyclone III Devices,” Cyclone III Device Handbook, vol. 1, pp. 5-1 through 5-8, Altera Corporation, San Jose, CA, Jul. 2007. |
“Embedded Multipliers in Cyclone III Devices,” Cyclone III Device Handbook, vol. 1, pp. 4-1 through 4-8, Altera Corporation, San Jose, CA, Jul. 2009. |
Gaffer, A.A., et al., “Floating-Point Bitwidth Analysis via Automatic Differentiation,” IEEE Conference on Field Programmable Technology, Hong Kong, Dec. 2002. |
Guccione, S.A., “Run-time Reconfiguration at Xilinx ” Parallel and distributed processing: 15 IPDPS 2000 workshops, Rolim, J., ed., May 1-5, 2000, p. 873. |
Hauck, S., “The Future of Reconfigurable System,” Keynote Address, 5th Canadian Conference on Field Programmable Devices, Jun. 1998, http://www.ee.washington.edu/people/faculty/hauck/publications/ReconfigFuture.PDF. |
Heysters, P.M., et al., “Mapping of DSP algorithms on field programmable function arrays,” Field-Programmable Logic and Applications. Roadmap to Reconfigurable Computing. 10th International Conference, FPL 2000. Proceedings (Lecture Notes in Computer Science vol. 1896) Aug. 27-30, 2000, pp. 400-411. |
Huang, J., et al., “Simulated Performance of 1000BASE-T Receiver with Different Analog Front End Designs,” Proceedings of the 35th Asilomar Conference on Signals, Systems, and Computers, Nov. 4-7, 2001. |
Lattice Semiconductor Corp, ORCA® FPGA Express™ Interface Manual: ispLEVER® Version 3.0, 2002. |
Lucent Technologies, Microelectronics Group,“Implementing and Optimizing Multipliers in ORCA™ FPGAs,”, Application Note.AP97-008FGPA, Feb. 1997. |
“Implementing Multipliers in FLEX 10K EABs”, Altera, Mar. 1996. |
“Implementing Logic with the Embedded Array in FLEX 10K Devices”, Altera, May 2001, ver. 2.1. |
Jinghua Li, “Design a pocket multi-bit multiplier in FPGA,” 1996 2nd International Conference on ASIC Proceedings (IEEE Cat. No. 96TH8140), Oct. 21-24, 1996, pp. 275-279. |
Jones, G., “Field-programmable digital signal conditioning,” Electronic Product Design, vol. 21, No. 6, Jun. 2000, pp. C36-C38. |
Kiefer, R., et al., “Performance comparison of software/FPGA hardware partitions for a DSP application,” 14th Australian Microelectronics Conference. Microelectronics: Technology Today for the Future. MICRO '97 Proceedings, Sep. 28-Oct. 1, 1997, pp. 88-93. |
Kramberger, I., “DSP acceleration using a reconfigurable FPGA,” ISIE '99. Proceedings of the IEEE International Symposium on Industrial Electronics (Cat. No. 99TH8465), vol. 3 , Jul. 12-16, 1999, pp. 1522-1525. |
Langhammer, M., “How to implement DSP in programmable logic,” Elettronica Oggi, No. 266 , Dec. 1998, pp. 113-115. |
Langhammer, M., “Implementing a DSP in Programmable Logic,” Online EE Times, May 1998, http://www.eetimes.com/editorial/1998/coverstory9805.html. |
Lazaravich, B.V., “Function block oriented field programmable logic arrays,” Motorola, Inc. Technical Developments, vol. 18, Mar. 1993, pp. 10-11. |
Lund, D., et al., “A new development system for reconfigurable digital signal processing,” First International Conference on 3G Mobile Communication Technologies (Conf. Publ. No. 471), Mar. 27-29, 2000, pp. 306-310. |
Miller, N.L., et al., “Reconfigurable integrated circuit for high performance computer arithmetic,” Proceedings of the 1998 IEE Colloquium on Evolvable Hardware Systems (Digest), No. 233, 1998, pp. 2/1-2/4. |
Mintzer, L., “Xilinx FPGA as an FFT processor,” Electronic Engineering, vol. 69, No. 845, May 1997, pp. 81, 82, 84. |
Faura et al., “A Novel Mixed Signal Programmable Device With On-Chip Microprocessor,” Proceedings of the IEEE 1997 Custom Integrated Circuits Conference, Santa Clara, CA, USA, May 5, 1997, pp. 103-106. |
Nozal, L., et al., “A new vision system: programmable logic devices and digital signal processor architecture (PLD+DSP),” Proceedings IECON '91. 1991 International Conference on Industrial Electronics, Control and Instrumentation (Cat. No. 91CH2976-9) vol. 3, Oct. 28-Nov. 1, 1991, pp. 2014-2018. |
Papenfuss, J.R, et al., “Implementation of a real-time, frequency selective, RF channel simulator using a hybrid DSP-FPGA architecture,” RAWCON 2000: 2000 IEEE Radio and Wireless Conference (Cat. No. 00EX404), Sep. 10-13, 2000, pp. 135-138. |
Parhami, B., “Configurable arithmetic arrays with data-driven control,” 34th Asilomar Conference on Signals, Systems and Computers, vol. 1, 2000, pp. 89-93. |
“The QuickDSP Design Guide”, Quicklogic, Aug. 2001, revision B. |
“QuickDSP™ Family Data Sheet”, Quicklogic, Aug. 7, 2001, revision B. |
Rangasayee, K., “Complex PLDs let you produce efficient arithmetic designs,” EDN (European Edition), vol. 41, No. 13, Jun. 20, 1996, pp. 109, 110, 112, 114, 116. |
Rosado, A., et al., “A high-speed multiplier coprocessor unit based on FPGA,” Journal of Electrical Engineering, vol. 48, No. 11-12, 1997, pp. 298-302. |
Santillan-Q., G.F., et al., “Real-time integer convolution implemented using systolic arrays and a digit-serial architecture in complex programmable logic devices,” Proceedings of the Third International Workshop on Design of Mixed-Mode Integrated Circuits and Applications (Cat. No. 99EX303) Jul. 26-28, 1999, pp. 147-150. |
Stratix III Device Handbook, vol. 1, pp. 5-22 through 5-23, Altera Corporation, San Jose, CA, Nov. 2006. |
Texas Instruments Inc., “TMS320C54x DSP Reference Set, vol. 1: CPU and Peripherals”, Literature No. SPRU131F, Apr. 1999, pp. 2-1 through 2-16 and 4-1 through 4-29. |
Tisserand, A., et al., “An on-line arithmetic based FPGA for low power custom computing,” Field Programmable Logic and Applications, 9th International Workshop, FPL'99, Proceedings (Lecture Notes in Computer Science vol. 1673), Lysaght, P., et al., eds., Aug. 30-Sep. 1, 1999, pp. 264-273. |
Tralka, C., “Symbiosis of DSP and PLD,” Elektronik, vol. 49, No. 14 , Jul. 11, 2000, pp. 84-96. |
Valls, J., et al., “A Study About FPGA-Based Digital Filters,” Signal Processing Systems, 1998, SIPS 98, 1998 IEEE Workshop, Oct. 10, 1998, pp. 192-201. |
“Virtex-II 1.5V Field-Programmable Gate Arrays”, Xilinx, Jan. 25, 2001, module 2 of 4. |
“Virtex-II 1.5V Field-Programmable Gate Arrays”, Xilinx, Apr. 2, 2001, module 1 of 4. |
“Virtex-II 1.5V Field-Programmable Gate Arrays”, Xilinx, Apr. 2, 2001, module 2 of 4. |
“Virtex-5 XtremeDSP Design Considerations,” User Guide, UG193 (v1.3), pp. 71-72, Xilinx Corporation, Jul. 28, 2006. |
Walters, A.L., “A Scaleable FIR Filter Implementation Using 32-bit Floating-Point Complex Arithmetic on ,a FPGA Based Custom Computing Platform,” Allison L. Walters, Thesis Submitted to the Faculty of Virginia Polytechnic Institute and State University, Jan. 30, 1998. |
Weisstein, E.W., “Karatsuba Multiplication,” MathWorld—A Wolfram Web Resource (Dec. 9, 2007), accessed Dec. 11, 2007 at http://mathworld.wolfram.com/KaratsubaMultiplication.html. |
Wenzel, L., “Field programmable gate arrays (FPGAs) to replace digital signal processor integrated circuits,” Elektronik , vol. 49, No. 5, Mar. 7, 2000, pp. 78-86. |
“Xilinx Unveils New FPGA Architecture to Enable High-Performance, 10 Million System Gate Designs”, Xilinx, Jun. 22, 2000. |
“Xilinx Announces DSP Algorithms, Tools and Features for Virtex-II Architecture”, Xilinx, Nov. 21, 2000. |
Xilinx Inc., “Virtex-II 1.5V Field-Programmable Gate Arrays”, Advance Product Specification, DS031-2 (v1.9), Nov. 29, 2001, Module 2 of 4, pp. 1-39. |
Xilinx Inc., “Using Embedded Multipliers”, Virtex-II Platform FPGA Handbook, UG002 (v1.3), Dec. 3, 2001, pp. 251-257. |
Xilinx, Inc., “A 1D Systolic FIR,” copyright 1994-2002, downloaded from http://www.iro.umontreal.ca/˜aboulham/F6221/Xilinx%20A%201D%20systolic%20FIR.htm. |
Xilinx, Inc., “The Future of FPGA's,” White Paper, available Nov. 14, 2005 for download from http://www.xilinx.com/prs—rls,5yrwhite.htm. |
“XtremeDSP for Spartan-3A DSP,” User Guide, UG431 (v1.0), pp. 29-30, Xilinx Corporation, Apr. 2, 2007. |
“XtremeDSP for Virtex-4 FPGAs,” User Guide, UG073 (v2.4), pp. 35-36, Xilinx Corporation, Jan. 8, 2007. |
Number | Date | Country | |
---|---|---|---|
Parent | 12716378 | Mar 2010 | US |
Child | 13890005 | US |