12-17-2008 12:01 PM
WARNING:Xst:1989 - Unit <mem_ctrl>: instances <Mcompar__cmp_eq0041>, <Mcompar__cmp_eq0045> of unit <LPM_COMPARE_1> are equivalent, second instance is removed
WARNING:Xst:1988 - Unit <L2>: instances <Mcompar__cmp_le0000>, <Mcompar__cmp_gt0000> of unit <LPM_COMPARE_3> and unit <LPM_COMPARE_7> are dual, second instance is removed
Why do these warning appears and how can I find out where the problem is, that is, how could I identify what part of my VHDL code is wrong?
Or at least, if anyone could tell me how to avoid seconds instances from being removed, that is, keep both firsts and seconds instances in my synthesized design.
12-17-2008 04:06 PM
In the synthesis properties, turn off "Equivalent register removal".
This isn't necessarily a problem. Often you'll find the "equivalent registers" have been
added during synthesis because you also have "register duplication" turned on.
I'm not at my work computer right now, so the above quoted terms may not be exactly
right. In any case they are in the synthesis properties and both are on by default.
Under most conditions you can safely ignore these warnings. Where you may run into problems
is removal of registers that were duplicated in order to push into the IOB's, or registers
duplicated to speed up the clock by reducing the fanout.
12-19-2008 08:15 PM
12-30-2008 12:55 AM
or add "save" flag in your desing to keep them from been trimed