I implemented floating point adder in virtex2-pro and now recomplied it in virtex4. There is no compile error in synthsis & implement. But the performance (speed) is a little reduced. So I want to improve the speed. Is there anyone who can let me know how to start ? I mean what part I should focus on.
Maybe some simple changes in the HDL-code can help and you don't even need to try different parts. The entire Virtex4-architecture (V5 as well) is optimized for synchronous resets. For example, some synthesis tools automatically infer the fast DPS48s for counters, but only if you use a synchronous reset, because the hard-macro is designed for a synchronous reset. If you have an asynchronous reset, the synthesis tools synthesize LUT-based counters, which use up more resources and could be slower.
It's possible that the same applies for arithmetic functions you use in your floating point adder.
--
My email address is only valid until the end of the month.
Try figuring out what the address is going to be after that...
Synchronous resets are signals like any other signal (except that there is a big fanout to this signal but this is handled well by the synthesis tool). Asynchronous resets are special signals where signal skew is a big problem. One should use global signal buffers and global (dedicated) reset wires in FPGAs. Often they can be inferred using a primitive as mentioned in every manual of FPGAs.
For performance problems I would suggest to read the timing report _very_ carefully and to try to understand where the critical path is. This includes looking into the netlist and being creative to have an imagination, about what signals the timing report talks.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.