cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mvalvo
Adventurer
Adventurer
4,428 Views
Registered: ‎11-07-2007

best processor for floating point operations?

Hi, I'm hoping somebody can answer these questions:

 

1.  In a Virtex4FX, is the PPC better (faster) than Microblaze for doing floating point operations?  how/why?

2.  After Virtex4, is PPC no longer offered in the FPGAs?

3.  Which FPGA do you recommend for doing floating point operations?

 

thanks

0 Kudos
4 Replies
eteam00
Professor
Professor
4,426 Views
Registered: ‎07-21-2009

The term 'floating point' is as vague as the term 'car'.

 

Determine your product design requirements first, then select components against that list of requirements.

 

In FPGA design, you would do well to arrange your design to get by without floating point.

 

You will realise faster and cheaper and lower power floating point capability in a DSP than in an FPGA.  Consider adding a DSP or general purpose processor to your board design, if you don't already have one.

 

Given the vagueness of your description, this is the best advice I can manage for you.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
mvalvo
Adventurer
Adventurer
4,421 Views
Registered: ‎11-07-2007

sorry, I probably worded this poorly. 

 

I'm asking if there is better performance doing 32-bit float multiplies and divides in a PPC processor rather than a Microblaze processor.

 

say I had a c++ function doing 100 floating point multiplies and divides.  would the PPC finish the function faster than Microblaze? and why?

0 Kudos
ddemmin
Participant
Participant
4,418 Views
Registered: ‎02-10-2009

Virtex 5 is the last to have a PPC (FXT family).  The future hard processors will be with the ZYNQ family combining a dual core ARM with 7-series fabric.

 

http://www.xilinx.com/publications/matrix/Product_Selection_Guide.pdf

0 Kudos
goran
Xilinx Employee
Xilinx Employee
4,400 Views
Registered: ‎08-06-2007

Hi,

 

PowerPC cores runs faster than MicroBlaze and has a better CPI so it will be faster than MicroBlaze in general.

But it also depends if you enabling the FPU core or not.

For MicroBlaze it's easy, just set C_USE_FPU = 1 and you have a single-precision FPU.

For PowerPC, you need to add the APU_FPU coprocessor module. The FPU for PowerPC also supports double-precision.

 

If you enable the FPU in MicroBlaze, it will be faster than PowerPC without the FPU.

 

When both have the FPU enabled, they use roughly the same amount of clock cycles for the operations. However the PowerPC can run almost double as fast so PowerPC will be the best solution.

But since Xilinx is phasing out PowerPC (our next hard processor core will be a ARM Cortex A9), using PowerPC might not be the best solution for a future products.

When Zynq devices arrives, they will be much faster than MicroBlaze since there is two A9 and both has the NEON coprocessors (SIMD floating-point).

 

So I would advice to use MicroBlaze now and later Zynq when it arrives.

 

Göran

 

0 Kudos