When running CompXlib I receive the following type of error:
What does this error mean and how do I resolve it?
Many of the EDK and IP cores use encrypted simulation models to provide simulation functionality while protecting the underlying operation of the component from being seen.
The interface to these encrypted models is in what is known as a protected region.
While the simulation tool sees the encrypted model as a black box, it still can and does check the connections to that black box to ensure they are correct.
Any inconsistencies found can only be reported as an error in the protected region since further detail is not available due to the encrypted nature of the model.
In the context of CompXlib, these type of errors typically indicate that the model versions have become out of synch with each other.
In doing so, the port connections have likely changed between versions, or the model name has changed to reflect the new version number, so a simulation model which instantiates it will no longer be able to connect to that model definition.
One reason that has been seen for this error with ModelSim occurs when the modelsim.ini file contains the mappings to the compiled library location for each library.
If the same modelsim.ini file is used for multiple compilations, the modelsim.ini file can become corrupted and contain references to libraries from different versions of the tool.
For this reason, the modelsim.ini used for a CompXlib compilation should be new.
The order of the modelsim.ini search for ModelSim is as follows:
1) Check the global environment variable $MODELSIM for the location
2) Look in the current directory for the modelsim.ini
To see if an existing global ModelSim library exists, perform the following command:
If this variable and modelsim.ini file exist, then you can
A) Remove the environment variable so a modelsim.ini file is created in the local directory
B) Rename the existing modelsim.ini file so that a new one is created in the global allocation.
If one exists in the local directory, and the global environment variable is not defined, you can rename the existing modelsim.ini file to a new name