Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
12386 Discussions

Measure time in NIOS application

ZVere
Beginner
307 Views

Hello,

I used the following code to measure 1usec in baremetal NIOS application. 

PERF_RESET (NIOS_PERFORMANCE_COUNTER_BASE);
PERF_START_MEASURING (NIOS_PERFORMANCE_COUNTER_BASE);
PERF_BEGIN (NIOS_PERFORMANCE_COUNTER_BASE,MY_PERF_ID);
usleep (1);
PERF_END (NIOS_PERFORMANCE_COUNTER_BASE,MY_PERF_ID);
time = perf_get_section_time (NIOS_PERFORMANCE_COUNTER_BASE, MY_PERF_ID);

 

 But according to the clock value, the time is ~2usec, not ~1. 

Can you please tell what is wrong in my code ?

 

Thank you in advance,

Zvika 

0 Kudos
5 Replies
EricMunYew_C_Intel
Moderator
279 Views

The return value is clock cycle, not usec.

2 means your measured result is 2 clock cycles.


ZVere
Beginner
268 Views

Hello,

 

I'm aware the time is measured in clocks. 

After converting clocks to usec, the measured time is ~2usec. 

But the delay is exactly 1usec ( usleep(1) )

Is there an alternative for measuring the clock cycles ?

 

Thank you,

Zvika 

EricMunYew_C_Intel
Moderator
249 Views

Your code is measuring the number of clock cycles to finish execute usleep(1), not measuring the delay.


ZVere
Beginner
212 Views

Hello,

 

Thank you for your reply.

How can I measure exactly the time a specified code is running ? (in clocks) 

For example: If the code is usleep (1), I expect that NofClocks * Frequency ~ 1usec

 

Best regards,

Zvika 

EricMunYew_C_Intel
Moderator
174 Views
Reply