UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 334

XNFPREP 5.0: IOB primitives w/inverted outputs give PPR ERROR 1305

Solution




If a design contains an IOB primitive with the output inverted, XNFPREP 5.0
will incorrectly expand the symbol, inverting the output of the IO symbol.

If the design is headed for APR, xnfmap "recollapses" the IOB. But if the
design is used as input to ppr, the user will get the following error from
PPR about the illegally inverted i/o symbol:

*** PPR: ERROR 1305:
The '$1I2_OBUF' symbol pin 'O' cannot be legally inverted


To work around this problem, use a discrete inverter ( as opposed to putting
a "NOT" tag on the IOB primitive ) which the tools will merge into the
IOB. Altenatively, replace the IOB primitive with standard gates.


The following is an example of how the error is exhibited in the netlist.

IOB primitive configuration:

BASE=IO
CONFIG=OUT:O:NOT


After XNFPREP, the .XTF file contains the following OBUF record:

SYM, $1I2_OBUF, OBUF, SYSTEM=XNFTRIM, LIBVER=2.0.0
PIN, I, I, $1N6
PIN, O, O, $1I2_EXT, , INV
END

The inversion on the 'O' pin of the OBUF is incorrect.

AR# 334
Date Created 08/31/2007
Last Updated 03/31/1997
Status Archive
Type ??????