Answers Database


NGDBUILD/MAP 1.5i/2.1i: "Unexpanded block" warnings/errors with design from a third party entry tool (e.g. Orcad, Protel, Synario) (basnu:93).


Record #3324

Product Family: Software

Product Line: FPGA Implementation

Product Part: ngdbuild

Problem Title:
NGDBUILD/MAP 1.5i/2.1i: "Unexpanded block" warnings/errors with design from a third party entry tool (e.g. Orcad, Protel, Synario) (basnu:93).



Problem Description:
Urgency: Standard

General Description:

While implementing XNF or EDIF netlists exported from a third party entry tool
such as Orcad, Protel, or Synplicity, you may encounter "unexpanded" warnings
and errors during NGDBUILD or MAP.

These errors make reference to non-primitive macro symbols from Xilinx libraries.

WARNING:basnu:93 - logical block "inst_name" of type "M2_1" is unexpanded.
Logical Design DRC complete with 1 warning(s).

ERROR:basnu:93 - logical block "inst_anme" of type "M2_1" is unexpanded.
Errors detected in general drc.

The reason this occurs is because some third party XNF/EDIF netlist
writers will only expand the design down to the macro-level and not down to
the primitive level. M1 expects the input design to be expanded down to the
primitive level.
It is up to the third party vendor to supply netlists (either EDIF or XNF format) for the user to complete the implementation. The needed macro netlists tend
to be grouped together in one directory.


Solution 1:

1. The first step in resolving this issue is locating the directory which contains
      netlists for Xilinx macro library symbols.
      -Search your local drives for the netlists. - For example, if you
      encountered a problem expanding a module of type "M2_1," search
      your drives for "M2_1.*"

      If you cannot find this directory, please contact the third party vendor.

   - The default install location for OrCad macro netlist files is:
      CAPTURE\LIBRARY\XIL_M1\<device family>


2. When you have located the directory where the macro netlists reside,
     you must reference them in your implementation.
For this, there are two options.

   A. Source this library directory for NGDBUILD. To do this,
      add the following switch to the NGDBUILD command line.
        -sd X:\<path_to_netlist_directory>

      If we are using Design Manager, there are two methods.

      i. 1. Before implementation, go to the Implementation Options Template.
          Design->Options->Edit Options...
      2. Select the "Translate" interface tab.
      3. Under the Macro Search Path, enter the full path to the library
          directory. The "Browse" button can help.
      3. Re-run the implementation.

      ii. Alternatively, the specific command can be entered
         using the Template Manager as described in
         (Xilinx Solution 1227).

   B. Also, instead of specifying a source directory, you can
      place the required netlists into one directory and run the
      implementation from this directory. This can be
      accomplished by copying the macro netlists to the current
      project directory.




End of Record #3324 - Last Modified: 09/01/99 18:39

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