This is only a test !
I am waiting for your suggest.
Target: The solution to the situation where the timing is inadequate.
Operation : 16 Bit square operation
Max Value: 0xFFFF
Min Value: 0x0020
Note 0: The first 4 bytes of neglect
Note 1: If you want to reduce the min value, you must reduce the maximum value.
I tried this; X = Y + Z => X^2 = X . Y + X . Z
X = 0xaabb
Y = 0xaa00
Z = 0x00bb
=> X^2 = 0xaabb . 0xaa00 + 0xaabb . 0x00bb
In DFB; I'm doing move for top 24 bits.
X << 7 (shift) => 0x55 5D80
Y << 7 (shift) => 0x55 0000
Z << 15 (shift) => 0x5D 8000
X.Y = 0x38 B017 (Hold A)
X.Z = 0x3E 5B4C (Hold B)
Outside the DFB;
Y1 = 0x38 B017 (Hold A)
Z1 = 0x3E 5B4C (Hold B)
Y1 = 0x38B0 1700 (Memory Map)
Z1 = 0x3E 5B4C X^2 = (Y1 + Z1) * 4
X^2 = 0x38EE 724C * 4 = 0x29 0952 F3E8
I forgot to tell.
AC input signals must be converted DC