1. Field of the Invention
The invention generally relates to configurable multiply-accumulate/subtract circuits and more particularly to such circuits in a field programmable gate array (FPGA) and embedded FPGA (EFPGA).
2. Prior Art
In today's world the use of integrated circuits (ICs) is ubiquitous, and they can be found in practically every device, even in the regular household. A particular branch of ICs is that of field programmable gate arrays (FPGAs) which are designed to be configured in the field, using some kind of a hardware description language (HDL). The language describes the specific configuration of components of the FPGA so that it is operated as desired by a user making use of the IC. One of the main advantages of FPGAs is the ability to perform partial or full reconfiguration of the device even when it is already connected as part of a system, if such capabilities are kept enabled for the device. In certain cases, reconfiguration takes place as part of the normal operation of the device as it may be necessary to perform different functions at different times.
In some cases FPGAs have therein embedded components such as microprocessors, and other peripheral devices to provide enhanced functionality. This integration leads lower costs and reduced failures of the system. In other cases, certain ICs integrate therein features of FPGAs, creating embedded FPGAs (EFPGAs) to allow a certain degree of flexibility to a user to customize a component in a way that fits specific user design needs. A particularly important circuit used in certain application is known as a multiply-accumulate (MAC) where the circuit is defined to perform a summation of the result of a multiplication repeatedly. Such circuits have been commonly added into modern FPGA and EFPGA. In some cases there is a need to deviate from the standard MAC operation to perform the likes of multiply-subtract or even include a shift function. Such capabilities not being available today in a configurable manner yield such circuits deficient with respect to the growing demand for such functionality and the performance advantages they provide.
Therefore, in view of the deficiencies of the prior art it would be advantageous to provide a solution for a configurable multiply-accumulate circuitry that will be capable of addressing the deficiencies of the prior art.
The subject matter that is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features and advantages of the invention will be apparent from the following detailed description taken in conjunction with the accompanying drawings.
It is important to note that the embodiments disclosed by the invention are only examples of the many advantageous uses of the innovative teachings herein. In general, statements made in the specification of the present application do not necessarily limit any of the various claims. Moreover, some statements may apply to some inventive features but not to others. In general, unless otherwise indicated, singular elements may be in plural and vice versa with no loss of generality. In the drawings, like numerals refer to like parts through several views.
Field programmable gate arrays (FPGA) contain, in addition to random logic, also other components, such as processing units, multiply-accumulate (MAC) units, analog circuits, and other elements, configurable with respect of the random logic, to enhance the capabilities of the FPGA. A circuit for a field configurable MAC unit is provided to allow various configurations of ADD, SUBTRACT, MULTIPLY and SHIFT functions. Optionally, registered input and registered output support a multi-cycle path. A configuration of a constant facilitates the configuration of the circuit to perform infinite impulse response (IIR) and finite impulse response (FIR) functions in hardware.
Reference is now made to
Accordingly, the CMAC 100 may be configured to perform the following functions:
R=OP1<addsub>((OP2<mult>OP3)<Xshifter>)
In the case shown in
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure. One of ordinary skill in the art would readily appreciate the advantages of the use of the CMAC 100 architecture in various integrated circuits (ICs) and in particular as configurable elements of FPGA and EFPGA, providing them with extended capabilities.
This application claims the benefit of U.S. Provisional Patent Application No. 61/883,458 filed Sep. 27, 2013.
Number | Name | Date | Kind |
---|---|---|---|
5991785 | Alidina | Nov 1999 | A |
6538470 | Langhammer et al. | Mar 2003 | B1 |
6708191 | Chapman et al. | Mar 2004 | B2 |
6771094 | Langhammer et al. | Aug 2004 | B1 |
7873815 | Sih et al. | Jan 2011 | B2 |
7890566 | Zbiciak | Feb 2011 | B1 |
7970979 | Verma et al. | Jun 2011 | B1 |
8010590 | Taylor | Aug 2011 | B1 |
8024394 | Prokopenko et al. | Sep 2011 | B2 |
8117247 | Taylor | Feb 2012 | B1 |
8131909 | Verma et al. | Mar 2012 | B1 |
8438208 | Olson | May 2013 | B2 |
20050171990 | Bishop et al. | Aug 2005 | A1 |
20050198472 | Sih | Sep 2005 | A1 |
20060230096 | Thendean et al. | Oct 2006 | A1 |
20070067380 | Bishop et al. | Mar 2007 | A2 |
20070185953 | Prokopenko | Aug 2007 | A1 |
20080243976 | Wiencke | Oct 2008 | A1 |
20100011047 | Jackson | Jan 2010 | A1 |
20110161389 | Langhammer | Jun 2011 | A1 |
Number | Date | Country | |
---|---|---|---|
20150095388 A1 | Apr 2015 | US |
Number | Date | Country | |
---|---|---|---|
61883458 | Sep 2013 | US |