cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Newbie
Newbie
7,610 Views
Registered: ‎05-11-2008

MicroBlaze Floating-Point Benchmark Test

Hi:

 

I have a floating-point application that runs on an AMD520 processor.  The AMD520 is a 133 MHz machine with hardware floating-point (sort of a Pentium 1).

 

I have ported the application to MicroBlaze on a Virtex 4 chip, set to run at 100 MHz with an FPU implemented.  The application runs 500 times faster on the AMD520 than on the MicroBlaze.  This is WAY too slow for my needs.  My questions are:

 

1) Is this factor of 500 reasonable?

2) Is it possible that I have implemented something in error (e.g., I don't have the cache turned on, or am I not using the FPU correctly)?

3) Is there any way to speed up the application?

4) Is there a reference floating-point application for MicroBlaze that I could use to test my MicroBlaze implementation, or, does anyone have an application that they could send me that has a known execution time?

 

Thanks for your assistance.

 

 

 

0 Kudos
2 Replies
Highlighted
Xilinx Employee
Xilinx Employee
7,590 Views
Registered: ‎08-06-2007

Hi,

 

The MicroBlaze FPU only support single-precision operations.

If your application is using double-precisions number, the FPU will not be used at all and all operations will be done using software library routines.

The factor 500 shows that the case here.

 

Göran

0 Kudos
Highlighted
Newbie
Newbie
7,579 Views
Registered: ‎05-11-2008

Goran:

 

I did the comparison using single-precision variables (floats instead of doubles) to generate the 500 to 1 comparison between the AMB520 and MicroBlaze versions. However, I am suspicious that the MicroBlaze fpu is not being used somehow.  The 500 to 1 ratio seems very high.  Hence my desire to test an application with a known execution time to calibrate my MicroBlaze implementation.

 

Regards,

Paul

0 Kudos