Answers Database


Exemplar/M1 NGDBUILD: ERROR:basnb:79 (pin mismatch) and ERROR:basnu:93 (unexpanded) design with instantiated modules


Record #3144

Product Family: Software

Product Line: Exemplar

Product Part: Leonardo

Product Version: 4.1.3

Problem Title:
Exemplar/M1 NGDBUILD: ERROR:basnb:79 (pin mismatch) and ERROR:basnu:93 (unexpanded) design with instantiated modules



Problem Description:
Urgency: HOT

General Description:

Leonardo or Galileo users may encounter the following errors during
NGDBUILD (Flow Engine Optimize):

    ERROR:basnb:79 - Pin mismatch between block "miss1188", TYPE="preyes",
       and file "/home/pbm/preyes.ngo" at pin "q_out(7:0)(0)". Please make
       sure that all pins on the instantiated component match pins in the
       lower-level design block. (Pin-name matching is case-insensitive.)

    ERROR:basnu:93 - logical block "pm1188" of type "preyes" is unexpanded.

This error is caused by bus-notation mismatches between Exemplar's EDIF and
other vendors' netlists (e.g., LogiBLOX). Exemplar, by default, uses bus
arraying in its EDIF netlists, which NGDBUILD does not understand.


Solution 1:

FOR LEONARDO USERS:

When writing the EDIF netlist, bus arraying must be disabled. To effect
this change, do ONE of the following:

1. In the Write dialog box (Menu: IO -> Write, or Flow Guide: Write), click
    the Advanced button. In the Set Write Variables dialog box, UNSELECT
    the following option:

       Allow writing arrays (busses) in EDIF output

    Click Set, then proceed with the EDIF Write as normal.

2. If you are processing the design from the Leonardo command line or from
    a script file, add the following set command before your write command:

       set edif_write_arrays FALSE



Solution 2:

FOR GALILEO USERS:

Buses must be expanded when writing the EDIF netlist. There is no
checkbox that sets or unsets this option in the Galileo GUI. The change
can be made via a 'Special Option' in the GUI, or in a command file:

Using the Galileo GUI:
---------------------

1. In the Galileo GUI click on the Synthesis Options icon. In the
    Synthesis Options windows add the following to the 'Special Options'
    field:

    -nobus

2. Synthesize the design in Galileo as normal.


Using a Command File:
--------------------

1. If you do not already have a command file, create one in a text editor.
    Add the following line to your command file:

       -nobus

2. Set this newly created file as your command file. From the main Galileo
    window, Choose Options -> Control Files from the menu bar, or in the
    RUNTIME OPTIONS panel, click Control Files. In the Logic Explorer
    Control Files dialog box, set the Command Files field to the filename of
    the command file from Step 1, then click OK.

3. Synthesize the design in Galileo as normal.




End of Record #3144 - Last Modified: 08/28/98 16:50

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