Energy saving multiplication device and method
AssigneeIndustrial Technology Research Institute
InventorsOscal T.-C. Chen, Kuo-Hua Chen, Ruey-Liang Ma
Life of this patent
Estimating the term…
Abstract
An energy saving multiplication device and its method is disclosed. The multiplication device includes a dynamic range determination unit, a Booth encoding/decoding unit and a counter array. The dynamic range determination unit determines dynamic ranges of the numerical values to be multiplied together and outputs after processing according to the dynamic-range size relation of the input data. The Booth encoding/decoding unit couples to the dynamic range determination unit. The counter array couples to the Booth encoding/decoding unit for accumulating the partial products to obtain the products of the input data.
Claims13
A multiplication device, the device comprising:
- a dynamic range determination unit, which receives a first numerical value and a second numerical value, determines the size relations of the dynamic ranges of each of the first numerical value and the second numerical value and outputs a first data and a second data, wherein the dynamic range of the first data is smaller than the dynamic range of the second data;
- a plurality of encoders/decoders coupling to the dynamic range determination unit, which receives the first data and the second data, takes the first-data as the multiplier to perform encoding/decoding with the second data, and to generate and output a plurality of partial products from the second data;
- and
- a counter array coupling to the plurality of encoders/decoders, which receives and accumulates the plurality of partial products.
A multiplication device, which comprises:
- a first input master latch for receiving a first numerical value;
- a second input master latch for receiving a second numerical value;
- a dynamic range determination unit coupling to the first input master latch and the second input master latch for receiving the first numerical value and the second numerical value, determining the dynamic range size relations of the first numerical value and the second numerical value and output a first data and a second data, wherein the dynamic range of the first data is not greater than the dynamic range of the second data;
- a first transition control slave latch coupling to the dynamic range determination unit for transferring the first data;
- a second transition control slave latch coupling to the dynamic range determination unit for transferring the second data;
- a plurality of encoders/decoders coupling to the first transition control slave latch and the second transition control slave latch for receiving the first data and the second data, taking the first data as the multiplier to perform encoding/decoding on the first data, and combining with the second data to generate and output a plurality of partial products;
- a counter array coupling to the plurality of encoders/decoders to receive and accumulate the plurality of partial products;
- and
- a carry look-ahead adder (CLA) coupling to the counter array to compute the plurality of partial products to generate a product of the first numerical value and the second numerical value.
A multiplication operation method, which comprises the steps of:
- entering a first numerical value and a second numerical value, respectively;
- determining the dynamic range size relations of the first numerical value and the second numerical value and outputting a first data and a second data, respectively, wherein the dynamic range of the first data is not greater than the dynamic range of the second data;
- taking the first data as the multiplier to perform encoding/decoding on the first data;
- and
- processing the encoded/decoded first data and the second data to generate partial products.
A multiplication operation method, which comprises the steps of:
- entering a first numerical value and a second numerical value, respectively;
- determining the dynamic range size relations of the first numerical value and the second numerical value and outputting a first data and a second data, respectively, wherein the dynamic range of the first data is not greater than the dynamic range of the second data;
- taking the first data as the multiplier to perform encoding/decoding on the first data;
- processing the encoded/decoded first data and the second data to generate a plurality of partial products;
- and
- performing shifts and accumulation on the plurality of partial products to obtain a product of the first numerical value and the second numerical value.
Dependencies are inferred from the claim text.