I downloaded Xilinx free Web ISE 5.2i, and toying with different design to get the feeling of this Spartan-3 thingy. The only Spartan-3 device supposed to be supported by the free verison is 3S50. I am saying "supposed", because I cannot make it instantiate neither multipliers nor block RAMs. According to the data sheet, there are enough of them in the device, but mapper thinks there are none. Why is that? - My error (so I hope!) - Bug in ISE - Limitation of the free version - Typo in the datasheet, and there are no multipliers really.
Code follows. In this test (one of so many!) I let ISE infer a multiplier:
Synthesizer infers one:
but then, in the final report, says *something* is overmapped. Note it does not mark overused resource with an asterisk like '(*)':
There supposed to be 4 of MULT18X18S in this part, but then maper fails with a more detailed, but not more explainable diagnostics:
-kkm