I have a Vivado project which contains an .ngo file as a submodule but when I attempt to synthesize the design, the following error occurs:
ERROR:NgdBuild:653 - An invalid target architecture "xc5vlx30ff676-2" was given in the "-p" option value. Please consult the Xilinx Programmable Logic Data Book to find a legal target package.
This error occurs when the part name is not specified in the ngo/edif/ngc design itself. Vivado is choosing a default part xc5vlx30ff676-2 which is not valid for the operation.
You can work around the issue by generating the ngc file from the ngo file, and adding the generated .ngc to the project in place of the .ngo file.
To generate the ngc file, use the following command:
ngcbuild xxx.ngo xxx.ngc
This issue is resolved in the Vivado 2013.2 tool.