dangling signal multisource xst
"WARNING:Xst:528 - Multi-source in Unit <entity> on signal <sig> not replaced by logic."
This warning often appears in conjunction with "Xst:529."
Solution 1:
This warning appears when XST determines that there is contention on a particular signal. If the processes assigning values to this signal are mutually exclusive (as in the case of 3-state buffers), this message can be ignored.
However, in most cases, XST is able to determine when multiple drivers are illegal, and will stop synthesis soon after this message.
Check this signal and modify your code to avoid the existing contention.
Solution 2:
In some cases, XST ties unconnected output ports to ground. If the output port is part of a 3-state bus, which in turn connects to another 3-state bus, then connecting one bit of the bus to ground will cause a multiple-driver error. Verify that this is not occurring in your design by searching for the following warning:
"WARNING:Xst:1305 - Output <dataout<23>> is never assigned. Tied to value 0."
To work around this issue, remove the unused output port.
Solution 3:
This has also been seen in the following condition:
When there is an association signal named to_qvm_d4.Q_num.
When using association signal(to_qvm_d4.Q_num), XST will rename it to "to_qvm_d4_Q_num" during synthesis. There is signal named "to_qvm_d4_Q_num" in the same architecture. XST is confused with these two signals and errors.
To work around this issue, rename either of the two signals.