CAUSE: The specified instance of the
ALT_BIDIR_DIFF or the
ALT_BIDIR_BUF I/O primitive is used in an illegal configuration.
The ports of the primitive must be connected as follows:
ALT_BIDIR_DIFF
port
|
Connected to
|
bidirin |
the padio port of the altddio_bidir megafunction |
oe
|
the oe_out port of the altddio_bidir megafunction |
io
|
bidirectional pin |
iobar
|
bidirectional pin |
ALT_BIDIR_BUF
port
|
Connected to
|
bidirin |
the padio port of the altddio_bidir megafunction |
oe
|
the oe_out port of the altddio_bidir megafunction |
io
|
bidirectional pin |
Note that all the ports should be directly connected in the specified way. This error can also occur if there is any inversion in between.
This error can also occur if the
padio port of the altddio_bidir megafunction has multiple fanouts. The port must have a single fanout to the primitive.
Example usage:
module ddio_top
(aset,
combout,
datain_h,
datain_l,
inclock,
sclr,
oe,
outclock,
bidir1,
bidir2
);
input aset;
input sclr;
output combout;
input datain_h;
input datain_l;
input inclock;
input oe;
input outclock;
inout bidir1;
inout bidir2;
wire tmp_oe;
wire tmp_padio;
myddio_bidir sample_ddio(.aset(aset),
.combout(combout),
.datain_h (datain_h),
.datain_l(datain_l),
.inclock(inclock),
.oe(oe),
.outclock(outclock),
.padio(tmp_padio),
.oe_out(tmp_oe),
.sclr(sclr));
alt_bidir_diff my_bidir (.bidirin(tmp_padio), .oe (tmp_oe), .io(bidir1), .iobar(bidir2));
endmodule
ACTION: Use the primitive with the altddio_bidir megafunction and compile the design again. If you just care about naming your negative bidirectional pin, use the ALT_IOBUF_DIFF or the ALT_IOBUF primitive instead.