Implementing mixed-precision floating-point operations in a programmable integrated circuit device
First Claim
1. A method of configuring a programmable integrated circuit device to perform a multiplication-based floating-point operation on a first input value of a first precision defined by an industry standard and represented by a first number of bits, and a second input value of a second precision, defined by said industry standard, different in precision from said first precision defined by said industry standard, and represented by a second number of bits different in count from said first number, wherein said programmable integrated circuit device incorporates multiplier circuits, said method comprising:
- configuring logic of said programmable integrated circuit device to break up said multiplication-based floating-point operation into one or more multiplication operations on different portions of said first and second input values of said first and second precisions defined by said industry standard;
configuring logic of said programmable integrated circuit device to break up, for each one of said one or more multiplication operations, each different portion of said first input value of said first precision defined by said industry standard into a first plurality of input segments of a certain size and each different portion of said second input value of said second precision defined by said industry standard into a second plurality of input segments of the certain size;
configuring logic of said programmable integrated circuit device for using a quantity of said multiplier circuits to multiply said first plurality of input segments by said second plurality of input segments; and
configuring logic of said programmable integrated circuit device to combine outputs of all said multiplier circuits.
1 Assignment
0 Petitions
Accused Products
Abstract
The resources needed—particularly in a programmable device—when carrying out a mixed-precision multiplication-based floating-point operation (i.e., multiplication or division) is reduced by maintaining the mantissas of the operands in their native precisions instead of promoting the lower-precision number to the higher precision. Exponents and other elements can be handled by the higher-precision logic as they do not consume significant resources.
398 Citations
18 Claims
-
1. A method of configuring a programmable integrated circuit device to perform a multiplication-based floating-point operation on a first input value of a first precision defined by an industry standard and represented by a first number of bits, and a second input value of a second precision, defined by said industry standard, different in precision from said first precision defined by said industry standard, and represented by a second number of bits different in count from said first number, wherein said programmable integrated circuit device incorporates multiplier circuits, said method comprising:
-
configuring logic of said programmable integrated circuit device to break up said multiplication-based floating-point operation into one or more multiplication operations on different portions of said first and second input values of said first and second precisions defined by said industry standard; configuring logic of said programmable integrated circuit device to break up, for each one of said one or more multiplication operations, each different portion of said first input value of said first precision defined by said industry standard into a first plurality of input segments of a certain size and each different portion of said second input value of said second precision defined by said industry standard into a second plurality of input segments of the certain size; configuring logic of said programmable integrated circuit device for using a quantity of said multiplier circuits to multiply said first plurality of input segments by said second plurality of input segments; and configuring logic of said programmable integrated circuit device to combine outputs of all said multiplier circuits. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A programmable integrated circuit device configured to perform a multiplication-based floating-point operation on a first input value of a first precision defined by an industry standard and represented by a first number of bits, and a second input value of a second precision defined by said industry standard, different in precision from said first precision defined by said industry standard, and represented by a second number of bits different in count from said first number, wherein said programmable integrated circuit device incorporates multiplier circuits, said configured programmable integrated circuit device comprising:
-
logic configured to break up said multiplication-based floating-point operation into one or more multiplication operations on different portions of said first and second input values of said first and second precisions defined by said industry standard; logic configured to break up, for each one of said one or more multiplication operations, each different portion of said first precision defined by said industry standard into a first plurality of input segments of a certain size and each different portion of said second input value of said second precision defined by said industry standard into a second plurality of input segments of the certain size; logic configured to use a quantity of said multiplier circuits to multiply said first plurality of input segments by said second plurality of input segments; and logic configured to combine outputs of all said multiplier circuits. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory machine-readable data storage medium encoded with machine-executable instructions for configuring a programmable integrated circuit device to perform a multiplication-based floating-point operation on a first input value of a first precision defined by an industry standard and represented by a first number of bits, and a second input value of a second precision defined by said industry standard, different in precision from said first precision defined by said industry standard, and represented by a second number of bits different in count from said first number, wherein said programmable integrated circuit device incorporates multiplier circuits, said instructions comprising:
-
instructions to configure logic of said programmable integrated circuit device to break up said multiplication-based floating-point operation into one or more multiplication operations on different portions of said first and second input values of said first and second precisions defined by said industry standard; instructions to configure logic of said programmable integrated circuit device to break up, for each one of said one or more multiplication operations, each different portion of said first input value of said first precision defined by said industry standard into a first plurality of input segments of a certain size and each different portion of said second input value of said second precision defined by said industry standard into a second plurality of input segments of the certain size; instructions to configure logic of said programmable integrated circuit device for using a quantity of said multiplier circuits to multiply said first plurality of input segments by said second plurality of input segments; and instructions to configure logic of said programmable integrated circuit device to combine outputs of all said multiplier circuits. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification