Answers Database


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


Record #334

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


Problem Description:




Solution 1:




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.





End of Record #334 - Last Modified: 04/01/97 07:38

For the latest news, design tips, and patch information on the Xilinx design environment, check out the Technical Tips!