The following warning message occurs:
"WARNING:Pack:680 - The register symbol xyz has the property IOB=TRUE, but failed to join an I/O component. Please try constraining the register together with a valid pad or I/O buffer symbol."
Why does the register fail to be packed into an I/O component?
What are the restrictions involved, and how can I debug this problem?
There are a number of restrictions that can cause an I/O register pack can fail:
As a debug technique, apply the same BLKNM constraint to I/O register and I/O buffer. This hard constraint results in a more detailed message with information about why the I/O component pack is not possible.
Example UCF syntax:
INST "problem_ff" BLKNM = XYZ ;
INST "problem_iobuf" BLKNM = XYZ ;