09-21-2011 02:30 PM
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?
09-21-2011 02:43 PM
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
09-21-2011 03:37 PM
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?
09-21-2011 04:01 PM
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.
09-22-2011 04:23 AM
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.