IP Library › Granted Patent US 9,391,621
Granted Patent B2
US 9,391,621 · App. 14/102,300 · Granted Jul 12, 2016

Configurable multiply-accumulate

Inventors: Loic Vezier (La Roquette sur Siagne, FR); Farid Tahiri (Le Cannet, FR)
Assignee: Silicon Mobility
H03K19/17732G06F7/5443
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,391,621
App. No.
14/102,300
Granted
Jul 12, 2016
Kind
B2
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.

Claims (15)

1. 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.

2. The configurable multiply-accumulate (CMAC) unit of claim 1 further comprised of:

a third multiplexer ( 150 ) coupled to receive an output of the configurable sign extender and shifter ( 120 ) and an output of the configurable add/subtract unit ( 130 ) and to: provide either the output of the configurable sign extender and shifter ( 120 ) or the output of the configurable add/subtract unit to the output register ( 140 ).

3. The configurable multiply-accumulate (CMAC) unit of claim 1 further comprised of:

additional registers and multiplexers, whereby;

the first value may be a first input provided to the configurable multiply-accumulate (CMAC) unit or a registered first value of the first input; and

the second value may be a second input provided to the configurable multiply-accumulate (CMAC) unit or a registered second value of the second input.

4. An integrated circuit (IC) having embedded therein the configurable multiply-accumulate CMAC unit of claim 1 .

5. The IC of claim 4 , wherein the IC is one of: field programmable gate array (FPGA), or embedded FPGA (EFPGA).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2016
From: SCALEO CHIP
To: SILICON MOBILITY
Reel/Frame 037625/0227 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2013
From: VEZIER, LOIC; TAHIRI, FARID
To: SCALEO CHIP
Reel/Frame 031759/0317 →
Continuity (2)
Provisional Application 61883458 · Sep 27, 2013
Related Publication 20150095388A1 · Apr 2, 2015