verilogfpgaxilinxsynthesizevlsi

Should Xst 646 warning in Xilinx be ignored?


In my code, I've to use some registers which are used to store some values for making decision in code. They don't directly take values from input wire. Now, I'm getting ...

Signal is assigned but never used. This unconnected signal will be trimmed during the optimization process.

Should I ignore this warning? My simulation works correctly.


Solution

  • The short answer is: no, you shouldn't. The long answer is (as usually) "it depends".

    Assigned signals that are detected as not being in use could mean that you forgot to connect a port of your module, or you mispelled a signal name. In these cases, it is likely that your design won't behave as expected.

    On the other hand, there is a kind of construction that usually leads to this warning: the case in that a register is defined with N bits, although only some of them are actually used (for example, an 8 bit control register in a device, in which only bit 0 is used). In this case, the warning can be safely ignored. Your simulation will not be affected by this.

    So just ask yourself whether that particular signal should be used (read) by any other part in your design or not.