Return to Support Page
 homesearchagentssupportask xilinxmap

Answers Database


EDIF2XNF 5.x: Error 3, port name not found on external library primitivefor cell


Record #396

Product Family:  Software

Product Line:  Mentor

Problem Title:
EDIF2XNF 5.x: Error 3, port name not found on external library
primitivefor cell



Problem Description:
In some cases, EDIF2XNF 5.x may issue an error similar to the following:

   Error: 3 port name I1 not found on external library primitive for cell OR2

When EDIF2XNF is executed, it looks for information about Xilinx primitives
in the $LCA/data directory.  If the obsolete libraries are installed, you
will see edif2000, edif3000, and edif4000 directories under $LCA/data.	With
the Unified Libraries, you will see another set of similarly named
directories underneath $LCA/data/unified.

In these directories are .eds files that describe the correct pinout of the
Xilinx primitives.  If the ports, or pinout, of the symbol on the schematic
sheet do not match the ports shown in the .eds file for the corresponding
primitive, the above error will occur.	By default, EDIF2XNF looks in the
$LCA/data (obsolete) directory for the appropriate device family (e.g.,
$LCA/data/edif4000) unless given the -l option (automatically inferred by
Men2XNF8).

This error message has several causes and solutions.


Solution 1:

A Mentor gen_lib part was inadvertently included in the schematic.
EDIF2XNF is trying to match the ports on the gen_lib part with the ports
from the Xilinx library, which are incompatible.

The design must be modified so that all of its components come from the
same library.  You can check library usage with the "listref" command in
Unix (a Mentor-supplied program) or with the Report -> Show References ->
For Design selection in PLD_DMgr.  Any references to the old library will
show up, for example, as $LCA/lib4k (XC4000 design); while references to
the Unified library will show up, for example, as $LCA/xc4000.



Solution 2:

You are using Unified Libraries, and are running EDIF2XNF without the -l
option.  As stated above, EDIF2XNF by default looks in the $LCA/data
directory, which corresponds to the obsolete libraries, for .eds files.
Either add the following to your command line:

   edif2xnf -l $LCA/data/unified/edif4000   (XC4000 target, for example)

or run Men2XNF8, which automatically infers the necessity for the -l
option.



Solution 3:

You have mixed Unified and obsolete libraries.	Men2XNF8, if it sees a
single Unified Library component, assumes that the entire design was drawn
with Unified Libraries.  If there are any obsolete library parts in the
design, EDIF2XNF (with the -l option) will try to crossmatch an obsolete
library part with a Unified Library port description, the two of which will
be incompatible.  Even when running EDIF2XNF separately without the -l
option, you will get a similar situation as in case #2, where the program
tries to crossmatch a Unified library part with an obsolete library port
description.

The design must be modified so that all of its components come from the
same library.  You can check library usage with the "listref" command in
Unix (a Mentor-supplied program) or with the Report -> Show References ->
For Design selection in PLD_DMgr.  Any references to the old library will
show up, for example, as $LCA/lib4k (XC4000 design); while references to
the Unified library will show up, for example, as $LCA/xc4000.



End of Record #396

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

© 1998 Xilinx, Inc. All rights reserved
Trademarks and Patents