My design contains previously generated HDL files for fifo_generator_v9_3. I can add the HDL files to a Vivado 2013.1 or 2013.2 project without issue. However, when I add it the same way in Vivado Design Suite 2013.3, the incorrect top level is chosen. The number of design sources is 90, and 39 source files cannot be found.
Attempting to open the elaborated design in 2013.3 results in the following error:
Starting RTL Elaboration : Time (s): cpu = 00:00:55 ; elapsed = 01:22:50 . Memory (MB): peak = 4513.012 ; gain = 3855.758
ERROR: [Synth 8-4169] error in use clause: package 'fifo_generator_v9_3_pkg' not found in library 'fifo_generator_v9_3' [/proj/project_2013_3.srcs/sources_1/imports/add_files_manually/fifo_generator_ramfifo.vhd:112]
INFO: [Synth 8-2810] unit fifo_generator_ramfifo ignored due to previous errors [/proj/2013_3/project_2013_3.srcs/sources_1/imports/add_files_manually/fifo_generator_ramfifo.vhd:114]
ERROR: [Synth 8-1940] entity fifo_generator_ramfifo is not yet compiled [/proj/project_2013_3.srcs/sources_1/imports/add_files_manually/fifo_generator_ramfifo.vhd:255]
ERROR: [Synth 8-1031] integer is not declared [/proj/project_2013_3.srcs/sources_1/imports/add_files_manually/fifo_generator_ramfifo.vhd:257]
ERROR: [Synth 8-1031] integer is not declared [/proj/project_2013_3.srcs/sources_1/imports/add_files_manually/fifo_generator_ramfifo.vhd:259]
ERROR: [Synth 8-1031] integer is not declared [/projproject_2013_3.srcs/sources_1/imports/add_files_manually/fifo_generator_ramfifo.vhd:263]
ERROR: [Synth 8-1031] integer is not declared [/proj/project_2013_3.srcs/sources_1/imports/add_files_manually/fifo_generator_ramfifo.vhd:264]
The Vivado 2013.1 and 2013.2 tools have no such issues and elaborated design open without error.
Is this a known issue?
This error is due to a difference in behavior in 2013.3 and future releases compared with previous tool versions.
This is not a bug but part of the ongoing effort to use stricter, more LRM compliant library binding rules in the Vivado tool. The fact that this worked in the past is in fact due to lax, and non-LRM compliant library binding rules that were in place in older software.
This occurs because files are added to the project but not setting libraries on them. The top level source is explicitly expecting to use libraries, and the instantiations are scoped to specific named libraries, which do not exist in the design.
If you must use this version of the FIFO Generator and cannot upgrade to the version in the software being used, then please find the attached script called "set_libs.tcl". This script sets the correct expected library on each file. If you are experiencing this issue, then in the same project where you are seeing the failures, run this set_libs.tcl script, and you will notice that the hierarchy is now correct with no missing instantiations.
If you experience any problems running this script, please contact Xilinx Support.
|Name||File Size||File Type|