AR# 2938: A1.4/A1.5: logical block reported as 'unexpanded' by ngdbuild
A1.4/A1.5: logical block reported as 'unexpanded' by ngdbuild
general description: In A1.5/A1.4, if a logical block is 'unexpanded', ngdbuild will report an error and not create a .ngd file.
In relationship to 'unexpanded' blocks, the behavior of ngdbuild in A1.4/A1.5 was changed. In A1.4/A1.5, if ngdbuild detects 'unexpanded' blocks, ngdbuild will error and not produce a .ngd file. M1.3 ngdbuild would report unexpanded blocks as warnings and create a .ngd file. An .ngd file with unexpanded blocks cannot be mapped. An 'unexpanded' block is a missing part of the overall design.
An 'unexpanded' block happens if ngdbuild cannot merge all the modules of a design into one .ngd file. If ngdbuild cannot find the netlist file for an instance, ngdbuild will error and report an unexpanded block. This can easily happen if ngdbuild cannot find/read all the netlist files for a design. If the instance of a module has pins that do not exist in its corresponding netlist file, ngdbuild will report an 'unexpanded' block.
In general, if an 'unexpanded' error is reported by ngdbuild, there are two main courses of action. Check the .bld file for messages about pin mismatches. Check that all the files that ngdbuild needs to merge can be found by ngdbuild;Place all design files for a design in the same directory.
Possible causes for unexpanded block: 1. The netlist file(s) wasn't found. 2. The symbol name for the module doesn't match the netlist filename. 3. There isn't a net in the netlist file for every pin in the symbol(pin mismatch error). 4. An invalid file extension was used for a filename(The valid file extensions are:
For EDIF: .edn,.edf,.edif,.sedif For XNF: .xnf,.xtf,.xff,.xg,.sxnf FOr PLD: .pld
Note, you must use the right type of file extension with the right type of netlist. Naming an EDIF file with a '.xnf' file extension can cause ngdbuild to give an unexpanded error.