in hardfloat_sys
extern entity addRecFN<#uint expWidth, #uint sigWidth>(
control: uint<1>,
subOp: bool,
a: uint<{expWidth + sigWidth + 1}>,
b: uint<{expWidth + sigWidth + 1}>,
roundingMode: uint<3>,
out: inv &uint<{expWidth + sigWidth + 1}>,
exceptionFlags: inv &uint<5>
);Description taken from the Berkeley Hardfloat documentation:
Adds or subtracts two recoded floating-point values, returning a result in the same format.
When input subOp is 0, the operation is addition (a + b), and when it is 1, the operation is subtraction (a − b).