AR# 64349

|

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

描述

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 ["<user-path>/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.

As a result, 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. (The Sources window popup menu command "Hierarchy Update" is set to "Automatic Update, Manual Compile Order".)

For post-synthesis 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 a simset, it is not included in .prj and not passed to Vivado Simulator for compilation.

As a work-around, you 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, users can set the "Hierarchy Update" to "Automatic Update and Compile Order", which equivalently 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
日期 03/13/2017
状态 Active
Type 已知问题
Tools
People Also Viewed