Apparatus and method for implementing floating point additive and shift operations
AssigneeQSigma, Inc.
InventorsGeorge Landers, Earle Jennings
Life of this patent
Estimating the term…
Abstract
A floating point (FP) shifter for use with FP adders providing a shifted FP operand as a power of the exponent base (usually two) multiplied by a FP operand. First arithmetic processor using at least one FP shifter with FP adder. FP adder for N FP operands creating FP result, where N is at least three. Second arithmetic processor including at least one FP adder for N operands. Descriptions of FP shifter and FP adder for implementing their operational methods. Implementations of FP shifter and FP adder.
Claims14
An apparatus, configured to support floating point calculation of a discrete wavelet filter, comprising:
- a floating point adder configured to receive N floating point operands with at least one of said floating point operands being a floating point product,
- wherein said adder creates shifted floating point products and a floating point result based upon said shifted floating point product to at least partly calculate said discrete wavelet filter, wherein each of said floating point operands and said floating point result includes an exponent and a mantissa, wherein N is at least three, comprising:
- an extended block operand comparator receiving a corresponding floating point input for each of said N of said floating point operands to create a mantissa control for each of said corresponding floating point operands, and a base exponent;
- N instances of a floating point shifter with each of said floating point shifters receiving a corresponding one of each of said floating point operands to create said corresponding floating point input, wherein each floating point shifter alters the exponent of said corresponding floating point operand, with said corresponding floating point input as said shifted floating point product in response to said floating point operand being said floating point product;
- an extended mantissa alignment mechanism receiving said corresponding floating point input and said mantissa control to create an aligned mantissa, for each of said N of said floating point operands;
- a mantissa adder receiving said N of said aligned mantissas to create a raw mantissa result;
- and
- an extended floating point adder output stage receiving said base exponent and said raw mantissa result to create said floating point result to support calculation of said discrete wavelet filter, wherein said floating point result is an optimized floating point target for said discrete wavelet filter.
A method of
- calculating in floating point a discrete wavelet filter, comprising the step of operating a floating point adder configured to receive N floating point operands with at least one of said floating point operands being a floating point product, wherein said adder comprises N instances of a floating point shifter to create shifted floating point operands based upon said shifted floating point product, to at least partly calculate said discrete wavelet filter, with said N is at least three,
- wherein the step operating said floating point adder comprises performing the steps of:
- floating point shifting each of said floating point operands to create shifted floating point operands, wherein floating point shifting further comprises:
- altering an exponent included in said floating point operand to create an altered exponent;
- forming zero as said shifted floating point operand when said altered exponent is below a dirty-zero-threshold;
- and
- packing said altered exponent and a mantissa included in said floating point operand to create said shifted floating point operand when said altered exponent is above said dirty-zero-threshold;
- extended block comparing said shifted floating point operands to create said mantissa control, for each of said N of said floating point operands, and to create a base exponent;
- mantissa aligning said corresponding floating point operand based upon said mantissa control to create said aligned mantissa, for each of said N of said floating point operands;
- mantissa adding said N of said aligned mantissas to create said raw mantissa result;
- rounding said raw mantissa result to create a rounded mantissa result and an exponent delta;
- adding said base exponent to said exponent delta to create an exponent result;
- and
- output packaging said exponent result and said rounded mantissa result to create a floating point result, wherein said floating point result is an optimized floating point target for said discrete wavelet filter.
A specification of circuitry stored on a non-transitory machine readable medium implementing a floating point adder configured to receive N floating point operands with at least one of said floating point operands being a floating point product, wherein said adder comprises N instances of a floating point shifter to create shifted floating point operands based upon said shifted floating point product, wherein each floating point shifter receives a corresponding one of each of said floating point operands, to at least partly calculate a discrete wavelet filter, with said N at least three, comprising:
- a first specification for a circuit implementation of said floating point shifter, comprising:
- a second specification (5004) disclosing altering an exponent included in said corresponding floating point operand to create an altered exponent;
- a third specification (5006) disclosing forming zero as a shifted floating point operand when said altered exponent is below a dirty-zero-threshold;
- a fourth specification (5008) disclosing packing said altered exponent and a mantissa to create a shifted floating point operand when said altered exponent is above said dirty-zero-threshold;
- a fifth specification (5104) disclosing extended block comparing a shifted floating point operands to create a mantissa control, for each of said N of said floating point operands, and to create a base exponent;
- a sixth specification (5106) disclosing mantissa aligning said corresponding floating point operand based upon said mantissa control to create an aligned mantissa, for each of said N of said floating point operands;
- a seventh specification (5108) disclosing mantissa adding said N of said aligned mantissas to create a raw mantissa result;
- a eighth specification (5110) disclosing rounding said raw mantissa result to create a rounded mantissa result and an exponent delta;
- an ninth specification (5112) disclosing adding said base exponent to said exponent delta to create an exponent result;
- and
- a tenth specification (5114) disclosing output packaging said exponent result and said rounded mantissa result to create a floating point result, wherein said floating point result is an optimized floating point target for said discrete wavelet filter.
Dependencies are inferred from the claim text.