UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer bensaad.adel
Observer
6,265 Views
Registered: ‎11-09-2009

Performance profiling of MicroBlaze !!!

After profiling my program, i get the folowing result:

 

Flat profile:

Each sample counts as 0.0001 seconds.
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
40.37 7.20 7.20 XUartLite_SendByte
36.96 13.79 6.59 __do_global_ctors_aux
5.59 14.79 1.00 __umodsi3
5.52 15.77 0.99 __udivsi3
4.09 16.50 0.73 outnum
3.72 17.17 0.66 xil_printf
1.86 17.50 0.33 main
0.62 17.61 0.11 padding
0.60 17.72 0.11 outbyte
0.23 17.76 0.04 end_len
0.14 17.78 0.02 len_loop
0.13 17.81 0.02 microblaze_register_handler
0.07 17.82 0.01 getnum
0.03 17.82 0.01 check_alignment
0.02 17.83 0.00 done_len
0.02 17.83 0.00 exit
0.02 17.83 0.00 strlen
0.01 17.84 0.00 align_arg
0.00 17.84 0.00 1 0.00 0.00 __fini

Using the code-profiling information, I have discovered why the design is running so slowly. Perhaps unsurprisingly for my simple design, the slowest operation in the code is the “XUartLite_SendByte”.

We can see that the function called “XUartLite_SendByte” is consuming over 40.37% of the processor's time during the execution of the software application. communication with UARTLITE is done with the folowing code:


for(lig=0; lig<512; lig++)
{xil_printf("\n");
for(col=0; col<512; col++)
xil_printf("%d ", img_dest[lig][col]);
}

i'm working with the Spartan-3 XC3S200... and EDK 10.1...

i used the folowing configuration for the my XPS peripheral and hyperterminal:

  •  baud rate 9600
  •  data bits 8
  •  parity NON
how can i improve the time execution of my program?
0 Kudos
8 Replies
Observer bensaad.adel
Observer
6,241 Views
Registered: ‎11-09-2009

Re: Performance profiling of MicroBlaze !!!

there is no one to reply ???!!!

Any help would be greatly appreciated.

Any advice or recommendations are welcome !

 

Adel

0 Kudos
Xilinx Employee
Xilinx Employee
6,221 Views
Registered: ‎08-06-2007

Re: Performance profiling of MicroBlaze !!!

Hi,

 

Minimize all printing on the UART and set the baudrate to something like 115200 or remove all printing while profiling.

 

Göran

Message Edited by goran_bilski on 03-23-2010 10:00 AM
0 Kudos
Xilinx Employee
Xilinx Employee
6,204 Views
Registered: ‎12-01-2007

Re: Performance profiling of MicroBlaze !!!

Are you using interrupts?
0 Kudos
Observer bensaad.adel
Observer
6,198 Views
Registered: ‎11-09-2009

Re: Performance profiling of MicroBlaze !!!

Thanx Göran !!!

i can not minimise printing on the UART, but I will try to change the baudrate

 

Thanx Shogan!!!

Yes I'm using interrupts!

0 Kudos
Visitor wmichelsen
Visitor
2,940 Views
Registered: ‎09-12-2016

Re: Performance profiling of MicroBlaze !!!

This topic title is pertinent, although my problem is different.  But, before I create a new topic, I thought I'd try here first.

I am developing a bit of embedded SW on a MicroBlaze build on a KU60 using Xilinx SDK 2015.4.  I need to measure the performance of some sections, or maybe profile it all.  I've been searching for proper tools, with no success:

If I try the test code from the SDK Users Guide:
   #include "xtime_l.h"
   XTime start, end;
   ...
I get compile errors:
   fatal error: xtime_l.h: No such file or directory

If I enable profiling:
   (ie. ProjectProperties:Settings:MicroBlaze g++ compiler:Enable Profiling (-pg) ),
I get a linker error:
   ld.exe: cannot find -lxilprofile

I assume it's user error (me) and I'm missing something.  But, I don't know what.  I think all I need is a very small example code with the correct includes or linked libraries, for use of timers.  Help??

Thanks,
Wayne

0 Kudos
Xilinx Employee
Xilinx Employee
2,933 Views
Registered: ‎08-02-2007

Re: Performance profiling of MicroBlaze !!!

hi,

 

there is an example design available in this document which talks about profiling in Microblaze.

http://www.xilinx.com/support/documentation/boards_and_kits/ug915-axi-interface-kc705-microblaze-software-tutorial.pdf

 

You need to have a axi timer to be included in the HW of your design to do profiling.

 

--hs

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Visitor wmichelsen
Visitor
2,923 Views
Registered: ‎09-12-2016

Re: Performance profiling of MicroBlaze !!!

Thanks htsvn. I'll try out the tutorial and report back.
0 Kudos
Xilinx Employee
Xilinx Employee
2,910 Views
Registered: ‎08-02-2007

Re: Performance profiling of MicroBlaze !!!

hi,

 

if you have any further new questions please feel free to create a new thread.

 

--hs

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos