Configurable Multiply-Accumulate
AssigneeScaleo Chip
InventorsLoic Vezier, Farid Tahiri
Life of this patent
Estimating the term…
Abstract
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 filed 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.
Claims6
A configurable multiply-accumulate (CMAC) unit comprising:
- an interface to receive a configuration word containing a plurality of values;
- a multiplier (110) configured to receive a first value and a second value and provide a multiplication result respective thereto;
- a configurable sign extender and shifter (120) connected to the multiplier (110) to receive the multiplication result, the configurable sign extender and shifter operative under the control of one or more values provided by the configuration word, to:
- configure the configurable sign extender and shifter (120) to operate with respect of signed and unsigned values;
- and, determine a scaling of the multiplication result;
- a configurable add/subtract unit (130) connected to the configurable sign extender and shifter (120) to receive a result value from the configurable sign extender and shifter (120) and further configured to receive a third value, the configurable add/subtract unit operative under the control of one or more values provided by the configuration word, to:
- perform an addition between the result value from the configurable sign extender and shifter (120) and the third value;
- or, perform a subtraction between the result value from the configurable sign extender and shifter (120) and the third value;
- a first multiplexer (180) configured to receive the first value and a constant value and further coupled to at least the multiplier, the first multiplexer operative under the control of one or more values provided by the configuration word, to:
- provide the first value to at least the multiplier (110);
- or, provide the constant value to at least the multiplier (110);
- and
- a second multiplexer (190) configured to receive one of the first value or hold value of the first value, and a fourth value from an output register (140) of the CMAC, the second multiplexer (190) operative under the control of one or more values provided by the configuration word, to:
- provide either one of the first value or the constant as the third value to the add/subtract unit;
- or, provide the fourth value as the third value to the add/subtract unit.
A configurable multiply-accumulate (CMAC) unit comprising:
- a multiplier;
- a shifter connected to the output of the multiplier;
- an add/subtract unit connected to the output of the shifter;
- and
- an interface configured to receive a configuration word of a plurality of values, each of the plurality of values to be provided to at least one of the multiplier, the shifter, and the add/subtract unit, to configure the configurable multiply-accumulate CMAC unit to operate in one of a plurality of modes of operation.
Dependencies are inferred from the claim text.