Description
Keywords: 7.1, instance
When I try to instantiate a IOBUFDS, as in the example below, the following error occurs:
"ERROR:Xst:2033 - Port I of Input buffer <instance_name> is connected to GND"
Example
IOBUFDS lvds_ibufg_crystal
(
.IO(inp),
.IOB(inn),
.I(1'b0),
.O(outp),
.T(rst)
);
Solution
This issue is fixed in ISE 8.2i.
If you are using 8.1i or earlier, follow these steps to work around this issue:
1. Create a black box NGC file to instantiate in your design. The following is a module that instantiates only the IOBUFDS (this is a Verilog example; refer to the ISE Language Templates for a VHDL example):
module diff_iobuf (T, I, IO, IOB, O);
input T;
input I;
inout IO;
inout IOB;
output O;
IOBUFDS lvds_ibufg_crystal
(.IO(IO), .IOB(IOB), .I(I), .O(O), .T(T));
endmodule
2. Synthesize this module and deselect the XST option to insert I/O buffers (see the XST User Guide or ISE Help for more information on this process).
3. Place the NGC file in NGDBuild's "macro search path" (see the ISE Help for more information on this process).
NOTE: It is important that XST does not have access to this NGC file (named diff_iobuf) because it can still cause the same problems.
4. Instead of instantiating IOBUFDS, you must instantiate diff_iobuf.