FPMult, FpAdd Summary: These functions multiply or add two floating point inputs, A and B, to form the floating point result, Z. IEEE standard floating point is implemented. However, you have the option to create new floating point formats and to select rounding and status options that go beyond the standard. Certain IEEE specified exceptions are not handled in hardware and are left to software exception handlers. The particular floating point format of all three signals is programmable via MantWidth and ExpWidth. MantWidth sets the width of the mantissa or fractional part of the floating point value. ExpWidth sets the width of the exponent part of the value. The floating point value has a total width of ExpWidth+MantWidth+1 bits because there is also a sign bit. Rounding options may be set dynamically by selecting DynamicRounding. Otherwise a fixed rounding scheme is used. If OutputStatus is selected, then status flags are available to indicate special conditions which occured in the computations. If DynamicRounding and OutputStatus are not selected, will result in some area and delay savings. Some implementation architecture variations can be controlled via the Arch parameter. See the Floating Point Library User Guide for more details on floating point representation, rounding options, status bits and architecture options. Function: Z=A+B (FPAdd) Z=A*B (FPMult) Signals: Z: MantWidth+ExpWidth+1 bit wide floating point output A,B: MantWidth+ExpWidth+1 bit wide floating point inputs RND: 3-bit wide rounding control input (DynmaicRounding selected) STATUS: 8-bit status output (OutputStatus selected) Parameters: Name: actual module name MantWidth: matissa (fraction) width of the A,B and Z signals. Range: 2 to 256 ExpWidth: exponent width of the A, B and Z signals. Range: 3 to 31 DynamicRounding: Flag to control rounding options. Select to control at run-time. OutputStatus: Flat to control the output of status bits. Select to output. Verilog Usage: Name(Z,A,B); (DynmaicRounding=0, OutputStatus=0) Name(Z,A,B,RND); (DynmaicRounding=1, OutputStatus=0) Name(Z,A,B,STATUS); (DynmaicRounding=0, OutputStatus=1) Name(Z,A,B,RND,STATUS); (DynmaicRounding=1, OutputStatus=1) Version: $Id: FPMult.help,v 1.1 1997/08/11 19:12:09 peterr Exp $