Cheers everybody
I am implementing some computation and some memory blocks in Xilinx Spartan 3.
and there is following collision between memory block and multipliers:
Code is OK, simulation and rough synthesis OK.
But when it comes to implementation, it crahes because for each memory component Xilinx needs to allocate 1 multiply unit (for some unknown reasons, sharing some elements, whatever)
Unfortunately I have more multiplications in the design than available. Normally it is not a problem - Xilinx allocates all hard multipliers available and the rest is created from dissipated logic.
But in this particular case Xilinx ISE tool (fool?) first allocates absolutely all multipliers available on board for the arithmetics and then says it cannot make the memories because there are no more free multiply units left.
Such stupid thing ...
The question is:
How to force Xilinx ISE to first implement the memory and then use the remaining multipliers for arithemtic action (as it should be by default).
OR perhaps
How to turn off the allocation of the hard multipliers for arithmetic
OR something ?
Is there any other way than to design these multiplying units on my own ...
Thanks in advance
I am implementing some computation and some memory blocks in Xilinx Spartan 3.
and there is following collision between memory block and multipliers:
Code is OK, simulation and rough synthesis OK.
But when it comes to implementation, it crahes because for each memory component Xilinx needs to allocate 1 multiply unit (for some unknown reasons, sharing some elements, whatever)
Unfortunately I have more multiplications in the design than available. Normally it is not a problem - Xilinx allocates all hard multipliers available and the rest is created from dissipated logic.
But in this particular case Xilinx ISE tool (fool?) first allocates absolutely all multipliers available on board for the arithmetics and then says it cannot make the memories because there are no more free multiply units left.
Such stupid thing ...
The question is:
How to force Xilinx ISE to first implement the memory and then use the remaining multipliers for arithemtic action (as it should be by default).
OR perhaps
How to turn off the allocation of the hard multipliers for arithmetic
OR something ?
Is there any other way than to design these multiplying units on my own ...
Thanks in advance