Community
cancel
Showing results for 
Search instead for 
Did you mean: 
JEL_W
Beginner
768 Views

Floats number nios

hi all,

 

I want to implement this operation, in NIOS II :

float a,b,c,registre;

 clock_t temps_initial,temps_final;

 float temps_cpu;

 a=2.45;

 b=3.48;

 temps_initial =clock();

   registre=a/b;

   c=asin(registre);

   temps_final=clock();

   temps_cpu=(temps_final-temps_initial)/CLOCKS_PER_SEC;

   printf("temps_cpu=%f\n",temps_cpu);

   printf("resultat=%f\n", c);

 

but it didn't work, anybody has an idea about how can we implement floating numbers in nios ?

i define these libraries at the top of the programm

#include <stdio.h>

#include <unistd.h>

#include "math.h"

#include <time.h>

#include <float.h>

is there anything missing ?

thank you all

Tags (1)
0 Kudos
12 Replies
GuaBin_N_Intel
Employee
79 Views

What does you mean not working? Did it print out something wrong or had build error?
JEL_W
Beginner
79 Views

no , it print random values of 'time_cpu'(per sec) , you can see below the values of results with a good resolution and time taken by cpu to do this operation : time_arcsin.png

GuaBin_N_Intel
Employee
79 Views

Still not understand what your issue is. In the operation temps_cpu=(temps_final-temps_initial)/CLOCKS_PER_SEC, both variable "temps_final" or "temps_initial" are getting value from clock function I presume, it supposes to get a random value, right? Are you expecting a fixed value?
JEL_W
Beginner
79 Views

it should normally print, the time taken by the cpu to do the operation but, I found that the result is not logic, because I get 2058186 s for cpu time to do this operation which is normally not possible, the issue is how can we calculate the operation time taken by cpu .

 

Thank you

GuaBin_N_Intel
Employee
79 Views

JEL_W
Beginner
79 Views

I get ' undefined reference to alt_timestamp_...', even If declared the libraries, do you have an idea about what's missing ? error.PNG

GuaBin_N_Intel
Employee
79 Views

Do you include the timer in your Qsys platform system and connect to NIOS?https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_embedded_ip.pdf, 23 Interval Timer Core. It has to be done prior to using that HAL driver.
JEL_W
Beginner
79 Views

Yes I've included the timer in QSys platform, qsys2.PNGqsys1.PNG

GuaBin_N_Intel
Employee
79 Views

Have you selected any timer in "timestamp_timer" setting in your BSP editor?

JEL_W
Beginner
79 Views

thank youuu , yes I just do it right now, but even though i cannot visualize the time and the result, alt_timestamp_start is always <0 so I got this:im3.PNGim2.PNGim1.PNGim4.PNG

Abe
Valued Contributor II
79 Views

Have you included the NIOS2 floating point hardware modules along with the timer mentioned in the prev post? If not, you need to add these two modules to perform floating point calculations as well as to calculate clock ticks/cycles.

 

Post a screenshot of your Qsys system setup here . We maybe able to help you after checking that.

JEL_W
Beginner
79 Views

No , I did it with an other example but it didn't work, I don't know exactly how to use it, and which libraries we have to include ?

Reply