07-07-2020 12:36 AM
Tools: Vivado 2019.2, Xcelium 19.03.019, Ubuntu 18.04
We use a couple of python scripts to automate the simulations of some of our project variants. The scripts generate a list of files for a simulation and then runs it in a simulation workspace. No design files are copied into this workspace. We are running into error within protected source code issues with the mipi_csi2_rx_ctrl_v1_0_rfs.v file.
After generating the simulation libraries and copying the following files to a test directory (we normally generate IP projects and source these files from where they usually end up being copied by Vivado):
if we try to run a simulation with Xcelium with the following command:
xrun mipi_csi2_rx_ctrl_v1_0_8_defines.v mipi_csi2_rx_ctrl_v1_0_rfs.v mipi_top.v -F xrun-args.txt
Compilation, elaboration, and simulation complete without issues. But if we call it from any other directory, compilation for the *rfs.v file fails. For example:
cd ..; xrun mipi_test/mipi_csi2_rx_ctrl_v1_0_8_defines.v mipi_test/mipi_csi2_rx_ctrl_v1_0_rfs.v mipi_test/mipi_top.v -F mipi_test/xrun-args.txt
Interestingly it fails with the above-mentioned error within protected source code, but the log shows errors: 0 and warnings: 0 for the failing modules.
mipi_top.v and xrun-args.txt attached as well as the simulation logs for passed and failed simulations.
07-07-2020 07:49 PM
I see relative path in the xrun-args.txt.
Could it be the cause?
07-08-2020 07:03 AM - edited 07-08-2020 07:10 AM
No, even if I use an absolute path for the library path I get the same results, pass when calling xrun in the same directory as the source files, fails when calling it from a different directory.
If I force the library path argument call to fail by inserting a typo and either call xrun within the same source directory or in a different directory, compilation doesn't even start:
TOOL: xrun(64) 19.03-S019: Started on Jul 08, 2020 at 06:50:21 PDT xrun: *F,DLCLAF: Fatal cds.lib error: Invalid path - /home/user/deleteme/simlibs/cds.lib ( code: 20 ).
Attaching xrun logs with the absolute cds path directory runs. The cds path directory can be seen in both being called with an absolute path and still the same results.
If I don't call -cdslib in the arguments, now elaboration fails when calling xrun in the same directory but compilation still passes without issues. If I call xrun in a different directory without using the -cdslib argument again, compilation fails as before. So this doesn't seem to be an issue with the libraries. Attaching the logs as well.
07-08-2020 06:12 PM
Are there any other files within the original directory that can be auto-searched for include files?
Other than that, I have no idea. I'd suggest that you cross check with Cadence to see why 0 error is given even if it reports error in protected region.