Hi,
Hardware: JN5169
SDK : JN_SW_4107
The JN5169 data sheet says JN5169 supports hardware multiplication ( JN5169,14 of 96) , I would like to to get the details it.
Best regards.
GP Mao
Hello,
Could you please help me with more details on what are you looking to do with the hardware multiplication?
Currently it seems that all the information available on this it's the one in the web page of the part, still, if you can help me with more details I can keep digging if there is something that can help us.
Regards,
Estephania
Hello Estephania,
I want to compare its consumption with hardware addition;
Such as,How many clock cycles are required for a hardware multiplication? Or the energy consumption of it.
There is nothing about this part in the JN5169/JN516x datasheet.
Regards,
GP_Mao
Hello,
For the information of the current consumption I would recommend you to check the JN-AN-1001 which includes the information available of the modules within several conditions.
Regards,
HI @estephania_mart,
How many clock cycles are required for a hardware multiplication or a hardware addition
and I can't get the information I need from JN-AN-1001.
Regards,
GP_Mao
Hello,
I apologize for the inconvenience this might cause you , but we do not have more details on this feature.
The information that we have available its the one that is already on the web page.
I truly apologize the inconvenience this might cause you.
Regards.
I guess generic information about cortex-M4 would help it.
I misunderstood the arch (JN5169). Sorry.
I don't have clear information about OpenRsic 1K series architechture, but just in my memory, multiplication is low cost, takes smaller clock cycle. In my case, in order to avoid division, I use multiplication and shift operation.
I just make simple bencmark, single addition, single addition and nop, single multiplication. By seeing the result, I guess multiplication will take 2clock cycle.
volatile int a = 111, b = 222, c;
// trial: addition (T1)
for(volatile int i = 0; i < xxx; i++)
{ c = a + b; }
// trial: addition (T2)
for(volatile int i = 0; i < xxx; i++)
{ c = a + b;
asm volatile ("l.nop");
}
// trial: multiplication (T3)
for(volatile int i = 0; i < xxx; i++)
{ c = a * b; }
T1 < T2 = T3