Multipliers with a reduced number of memory blocks
First Claim
1. A method for implementing multipliers in an integrated circuit (IC) design, comprising:
- generating a plurality of folded products;
normalizing the plurality of folded products to generate a plurality of normalized products;
scaling at least a portion of the plurality of normalized products to generate a plurality of scaled folded products, wherein the scaling reduces a root mean square (RMS) error of the portion of the plurality of normalized products; and
storing the plurality of scaled folded products in a plurality of memory blocks in the IC;
wherein at least one method operation is performed through a processor.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for implementing multipliers using memory blocks in an integrated circuit (IC) are provided. The disclosed techniques may reduce the number of memory blocks required to implement various multiplication operations. A plurality of generated products is normalized. The normalized products are scaled to generate a plurality of scaled products. Scaled products with the least root mean square (RMS) error are identified. The scaled products with the least RMS error are then stored in a plurality of memory blocks in an IC. The scaled products may have a reduced number of bits compared to the plurality of generated products that have not been normalized and scaled.
370 Citations
21 Claims
-
1. A method for implementing multipliers in an integrated circuit (IC) design, comprising:
-
generating a plurality of folded products; normalizing the plurality of folded products to generate a plurality of normalized products; scaling at least a portion of the plurality of normalized products to generate a plurality of scaled folded products, wherein the scaling reduces a root mean square (RMS) error of the portion of the plurality of normalized products; and storing the plurality of scaled folded products in a plurality of memory blocks in the IC; wherein at least one method operation is performed through a processor. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transient machine-readable storage medium encoded with sequences of instructions for processing data, the sequences of instructions which when executed, cause the machine to perform:
-
multiplying a plurality of filter coefficients with a plurality of data elements to generate a plurality of products, wherein each of the plurality of filter coefficients is multiplied with a corresponding data element; normalizing the plurality of products; scaling the plurality of products associated with the plurality of filter coefficients; examining each of the plurality of products; and identifying a plurality of scaled products with a least root mean square (RMS) error. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method of implementing multipliers in a plurality of memory blocks for an integrated circuit (IC) design, comprising:
-
receiving a plurality of first and second operands; multiplying the first and second operands for each operand pair to generate a plurality of products; normalizing the plurality of products; scaling at least a portion of the normalized plurality of products to generate a plurality of scaled products for each of the portion of the normalized plurality of products; selecting a scaling factor with a least root mean square (RMS) error for each of the plurality of scaled products; and storing the plurality of scaled products with the least RMS error in a plurality of memory blocks; wherein at least one method operation is performed through a processor. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification