发明名称 Configurable multiply-accumulate
摘要 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.
申请公布号 US9391621(B2) 申请公布日期 2016.07.12
申请号 US201314102300 申请日期 2013.12.10
申请人 Silicon Mobility 发明人 Vezier Loic;Tahiri Farid
分类号 G06F7/38;H03K19/177;G06F7/544 主分类号 G06F7/38
代理机构 Blakely Sokoloff Taylor & Zafman LLP 代理人 Blakely Sokoloff Taylor & Zafman LLP
主权项 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.
地址 Valbonne, Sophia Antipolis FR