This is exactly the reason why I prefer the Altera boards more than the Xilinx boards... With the Xilinx ISE Design Suite I had the same problem and I had to do a work-around for dividing numbers. With the Altera Quartus II the division with / works just fine.
Very interesting, it's been some time since I've used Altera tools, my experience was positive (this was around 2005-2006). Mostly (90+%) using Xilinx tools. It seems that Altera has integrated a module generator for division; Xilinx would have you core-generate one I guess and the process would be manual.
I don't know if both X and A optimize for constant multiplications or divisions. Does anybody know?
There are known algorithms for strength reduction. For instance, I have implemented kdiv for division, it generates generic assembly and optimized C routine for divisions by integer constants. The result is a floored integer.
I also have a kmul based on suitable algorithms (Bernstein/Briggs).
See here for kdiv:
http://sourceforge.net/projects/kdiv/It is licensed under BSD, so it is basically do whatever but attribute!
I also have complete support for these stuff in my high-level synthesis tool , HercuLeS (
http://www.nkavvadias.com/hercules) but this is another story.
Best regards
Nikolaos Kavvadias
http://www.nkavvadias.com