Answers Database


NGDBUILD netlist priority: What's the searching order NGDBUILD uses to merge hierarchical modules into a .ngd file


Record #6782

Product Family: Software

Product Line: FPGA Implementation

Product Part: ngdbuild

Product Version: 1.5is2

Problem Title:
NGDBUILD netlist priority: What's the searching order NGDBUILD uses to merge hierarchical modules into a .ngd file



Problem Description:
Urgency: Standard

Problem Description:

If a design contains multiple macros(netlists) with different netlist formats, which netlist has hig her
priority for NGDBUILD to merge them together to produce a .ngd file.

The available netlist extensions are:

edn, edf, edif, sedif, xnf, xtf, xff, xg, sxnf, pld, xco, ngc, nmc


Solution 1:

The following is the order NGDBUILD searches for macro netlists:

1. If the macro has a FILE property, NGDBUILD will search for a .nmc(hard macor) file first.
2. NGDBUILD will look for a previously-read .ngc or ngo file.
3. NGDBUILD will look for an .ngc file matching the name given in the FILE property regardless
     of what extension is given in the FILE property). Once the .ngc file is found, NGDBUILD will
     not search for any other netlists. If no FILE property on the netlist, NGDBUILD will search for
    .ngc file first.
4. If the FILE attribute specifies an extension, NGDBUILD will give preference to that extension.
     If no FILE attribute is specified, NGDBUILD will search the netlists in the order below
     .xtf .xg .xff .sxnf .xnf .sedif .edn .edf. .edif .pld .xco.
5. If NGDBUILD finds a netlist file above, it will look for a matching .ngo file, either in the dire ctory
     given by the -dd option or in the current working directory. If no .ngo file exists or if the .n
go file
     is older than the netlist file, NGDBUILD runs EDIF2NGD or XNF2NGD to create .ngo file.
6. If an appropriate .ngc or .ngo file was found, NGDBUILD will incorporate it into the design, and

     attempt to use bus-aware netlist binding(matching bus pins) to incorporate the file.
7. If no netlist is found, NGDBUILD will proceed to the next macro, and issue an UNEXPANDED error

So in general, the searching order is:

.nmc .ngc .xtf .xg .xff .sxnf .xnf .sedif .edn .edf .edif .pld .xco






Solution 2:

It's a good design practice to always have macro components with different netlist names. If somehow

one component has the same name but different extensions, it might produce incorrect result because

NGDBUILD may take in the incorrect netlist.




End of Record #6782 - Last Modified: 06/16/99 16:45

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