Part Number: TMS320F28035
Tool/software:
Dear TI Experts,
I am currently working with the F28035 CLA for some floating-point calculations, which, according to the manual, are supported by the CLA hardware.
However, I have observed that a single precision floating-point multiplication takes approximately 800ns. I have a few questions regarding this:
-
Floating Point Multiplication Implementation: Is the floating-point multiplication actually utilizing the hardware floating point accelerator, or is it still using the software library? How can I verify which one is being used?
-
Enabling Hardware Floating Point Accelerator: What steps do I need to follow to ensure that the hardware floating point accelerator is enabled and properly utilized?
Additionally, I have attached the disassembly of a floating-point multiply operation in the CLA for your reference.
223 p->integralAccumulation += p->error * p->integralGain;
009402: 0004 PUSH RPC
009403: 7FF0 MOV *+XAR0[6], AR7
009404: 0000 ITRAP0
009405: 7FA0 MOV @AR0, AR7
009406: 0000 ITRAP0
009407: 7FA0 MOV @AR0, AR7
009408: 0000 ITRAP0
009409: 7FA0 MOV @AR0, AR7
00940a: 0000 ITRAP0
00940b: 73D2 ADD *+XAR2[2], AH
00940c: 00087FF0 BANZ 32752,AR0--
00940e: 000A7FD0 BANZ 32720,AR2--
009410: 0000 ITRAP0
009411: 7FA0 MOV @AR0, AR7
009412: 0000 ITRAP0
009413: 7FA0 MOV @AR0, AR7
009414: 0000 ITRAP0
009415: 73E2 ADD *+XAR2[4], AH
009416: 0000 ITRAP0
009417: 0691 MOVL ACC, *+XAR1[AR0]
009418: 0019 INTR INT10
009419: 7C20 MOV @0x20, AR4
00941a: 0000 ITRAP0
00941b: 74D1 SUB *+XAR1[2], AL
00941c: 0000 ITRAP0
00941d: 7FA0 MOV @AR0, AR7
