Error: <file> in protected region

Hi all,
I created the xil_ip URAM_RDBACK in vivado and used it in the questa simulation to make use of Ultra-ram in my project. But i end up getting these errors.
** Error: project_1_uram/project_1_uram.ip_user_files/ipstatic/hdl/uram_rd_back_v1_0_rfs.v(82): in protected region
** Error: project_1_uram/project_1_uram.ip_user_files/ipstatic/hdl/uram_rd_back_v1_0_rfs.v(82): in protected region
** Error: project_1_uram/project_1_uram.ip_user_files/ipstatic/hdl/uram_rd_back_v1_0_rfs.v(82): in protected region
** Error: project_1_uram/project_1_uram.ip_user_files/ipstatic/hdl/uram_rd_back_v1_0_rfs.v(82): in protected region
** Error: project_1_uram/project_1_uram.ip_user_files/ipstatic/hdl/uram_rd_back_v1_0_rfs.v(82): in protected region

I also precompiled all the ip’s in vivado with questa simulator and used the work directory created for uram_rdback in my project compile path, but still got the issues.

Can anyone explain why is this the case?

Thanks,
Ganesh

In reply to ganesh shetti:

This is the result of AMD/Xilinx being a bit too paranoid and encrypting their super-secret model of a uram

What’s probably going on is, within the encrypted contents of the model, there’s a 'include of some file. And you’re missing the incdir in your simulator path. (alternative likely problem is a $readmem task trying to read an initialization file)

There can be other similar problems, but that’s the most likely problem.
Now, how to find out? Well that’s tricky because you can’t see the contents of the file. A 15 second fix if one could said contents. But now, you must try hit and miss approaches, and hope for the best. Failing that, contact Xilinx support (if you’ve got access to it), and have them tell you your entire workflow is wrong. They’ll try and get you to change the entire workflow, fail at least once or twice, and finally, perhaps come up with a solution in a few months time (which in the end, was just the missed incdir).

All because a model of a ram is a super-innovative construct and most be protected at all cost. (sigh)…

Seriously however, try just adding a bunch of +incdir directories - pointing to the source locations of the IP. One of them will probably get things working.