Mixed Numerical Formats

Versal ACAP DSP Engine Architecture Manual (AM004)

Document ID
AM004
Release Date
2022-09-11
Revision
1.2.1 English

M, P0, P1, and P are always in the binary32 format, whereas M1 and M0 (which is either B or D) can be configured statically to be in the binary32 or the binary16 format—independently. The input cascades (ACIN-ACOUT and BCIN-BCOUT) use the same formats as A and B/D (see the following table). Because the adder can accept D as an input, when D is configured as a binary16 input for the multiplier, D cannot be used as an input to the binary32 adder.

Note: When FP data (single precision or half precision) is cascaded, the *_FPTYPE attributes for both the source and the receiving DSPs must match (for example, if A_FPTYPE on the source DSP = B16, then the receiving DSP must also have A_FPTYPE = B16).
Table 1. Multiplier Input Format Combination
A_FPTYPE Attribute B_D_FPTYPE Attribute A, ACIN, ACOUT B, BCIN, BCOUT, D
B32 B32 FP32 format FP32 format
B32 B16 FP32 format FP16 format
B16 B32 FP16 format FP32 format
B16 B16 FP16 format FP16 format
In the DSPFP32 floating point multiplier, the data alignment is correct for B16 format. The following shows an example:
sign <= sign_int
exp <= {3'b0, exp_int}
man <= {man_int, 13'b0}