2022-11-04 01:46 AM
stm32h730VB,Mathematical acceleration • CORDIC for trigonometric functions acceleration • FMAC: Filter mathematical accelerator
Are those mathematical accelerations fixed-point or floating-point ? 32bit or 64bit ?
2022-11-04 02:59 AM
Cordic is fairly well described in the Reference Manual for stm32h730.
I haven't used it, but a quick glance tells me that the numbers are fixed-point, either q1.31 or q1.15
FMAC again looks to be fixed-point, q1.15 input, q4.22 output
(Edit: On first reading, I only answered cordic)
Hope this helps,
Danish
2022-11-04 03:19 AM
Thanks, Danish. So, for the high-accuracy computation, should we use the floating-point unit instead of those hardware accelerators ?
2022-11-04 03:25 AM
Obviously going to depend on the type of math and computations you plan on doing, and the number space/range in question.
The MCU has a pretty well functioning double-precision FPU, which is better suited to non-DSP oriented tasks.
2022-11-04 04:45 AM
Thanks, Tesla. But we are more confused now, since we intended to use the double-precision FPU for digital signal processing, and we believe that FPU is born for the digital signal processing......now you told us that FPU is better suited to non-DSP tasks.
2022-11-04 06:20 AM
Why should you be confused, you know the math you're doing.
Does a double-precision FPU not do real math better?
I'm saying that doing math on +/-1 range numbers (say q1.31 or q1.15) is next to useless for most applications of mathematics, which tend to expect a broader range of values, and intermediate precision.
32-bit floats might be great for DSP, other things they are not, you very quickly hit magnitude and precision limitations that come with a 24-bit mantissa. I might also argue that 64-bit doubles are overkill for "DSP" type applications, but are perfectly good for real math problems. None of these ARM FPU are in the same class as the INTEL/MOTOROLA ones that proceeded them in terms of engineering mathematics.