为什么会出现could not open ahdlcmi module library ?
这是个复杂的问题, 出现在Cadence IC5.1.41早期版本中。如果升级到5.1.41.ISR以后的版本,就没有这个问题了。
在早期的Cadence版本中,Verilog-A代码被转换为C代码,再利用Cadence 本身装载目录下的gcc编译成shared library, 然后链接成compiled model library (CMI). 这样做的本意是第一次编译过之后,后续仿真的速度会比Veirlog-A解释器的速度要高。
如果Cadence 的gcc没有被正确装载,就会出现这个问题。所以在操作系统设置上要用正确的环境变量调用到Cadence 自带的gcc, 具体办法请参考UNIX手册,说的简单点就是$PATH 和$LD_LIBRARY_PATH的设置。
另一个错误来源就是已经编译好的CMI的保护设置被后续编译的用户不断试图改写而造成的。这个是Cadence早期版本的漏洞,升级以后就没问题了。
楼上讲的很好,还有一个方法,如果总是碰到AHDLCMI的问题而无法仿真的话,可以考虑在Spectre参数中设置ahdlcom=0来禁止编译CMI,这样可以保证电路仿真正常进行,但是:
1. 这个方法不适用于Spectre仿真器的Turbo和APS模式;
2. Cadence利用编译CMI形成动态库优化仿真速度,而禁止编译会在速度上略微受到影响;
多谢两位,小弟感激不尽
我也遇到了相同的问题。原因是库文件中有一个是以数字开头的文件。改了之后就可以了。
我也遇到了相同的问题。原因是库文件中有一个是以数字开头的文件。改了之后就可以了。
申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习本站推出的微波射频专业培训课程。