We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 64349

Vivado Simulator does not compile a module even though it is included in my project and is marked for use in simulation


In my design, Post-synthesis functional simulation is generating the following warning in reference to the sp_ram module during static elaboration:

[VRFC 10-122] sp_ram remains a black-box since it has no binding entity ["/proj/xirsqa/impflow/sralph/results/FUJI_BRAM_5_27/project_1/project_1.srcs/sim_1/imports/src/behav.vhd":81]

The module is defined in a file named sp_sync_ram.vhd which has been added under design sources and marked for use in both synthesis and simulation.
The result is that this module is treated as a black box and the output from the module shows all undefined 'U' values.


This issue is typically seen when the SOURCE_MGMT_MODE property of current_project is set to DisplayOnly.

That is, the Sources window pop-up menu command "Hierarchy Update" is set to "Automatic Update, Manual Compile Order".

For post-synth simulation in DisplayOnly mode, the design graph calculates all of the files from the simset and the netlist.

Automatic computation of side files from the source fileset in DisplayOnly mode is not performed.

Therefore if the file is not included in the simset, it is not included in the .prj and not passed to Vivado Simulator for compilation.

As a work-around, you will need to add the missing files manually to the simulation fileset and set the used_in values as below:

add_files -fileset sim_1 -norecurse <user-path>/project_1/project_1.srcs/sources_1/imports/src/sp_sync_ram.vhd 
set_property used_in {simulation testbench} [get_files sp_sync_ram.vhd -of_objects [current_fileset -simset]] 
set_property used_in_simulation 1 [get_files sp_sync_ram.vhd -of_objects [current_fileset -simset]] 

Alternatively, you can set the "Hierarchy Update" to "Automatic Update and Compile Order", which sets SOURCE_MGMT_MODE to ALL.

Those files from the source fileset will be fetched automatically in post-synthesis or post-implementation simulation.
AR# 64349
Date Created 04/21/2015
Last Updated 05/19/2015
Status Active
Type Known Issues
  • Vivado Design Suite