Forum Discussion

JEL_W's avatar
JEL_W
Icon for New Contributor rankNew Contributor
6 years ago

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

12 Replies

  • What does you mean not working? Did it print out something wrong or had build error?
  • JEL_W's avatar
    JEL_W
    Icon for New Contributor rankNew Contributor

    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 :

  • 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's avatar
    JEL_W
    Icon for New Contributor rankNew Contributor

    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

    • JEL_W's avatar
      JEL_W
      Icon for New Contributor rankNew Contributor

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

    • JEL_W's avatar
      JEL_W
      Icon for New Contributor rankNew Contributor

      Yes I've included the timer in QSys platform,

      • GuaBin_N_Intel's avatar
        GuaBin_N_Intel
        Icon for Contributor rankContributor

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

  • Abe's avatar
    Abe
    Icon for Frequent Contributor rankFrequent Contributor

    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's avatar
      JEL_W
      Icon for New Contributor rankNew Contributor

      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 ?