Description: When using a generic map, Leonardo Spectrum writes out black box components with the generic map value appended in the EDIF netlist . This causes an unexpanded error in NGDBuild, because the black boxes are not defined in the netlist.
This will happen if each VHDL file is read with an individual read statement. To correct this, collect all VHDL files in one list, and read the list with one read statement.
Solution
Example of correct TCL script:
clean_all set part v400epq240 set process 8 set working_dir "./" read {"./common/_package.vhd"} -work lib_packages read {"./common/_package_body.vhd"} -work lib_packages
# List the VHDL files in one read command read { "./Control_rtl.vhd" "./Block_struct.vhd" "./Delay_rtl.vhd" "./top.vhd" } -work test_lib