微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 增量编译

增量编译

时间:10-02 整理:3721RD 点击:
设置参数:-Mupdata -Mdir=./csrc
第一次是全部编译2200文件。
第二次编译采用了增量编译,但重新编译的文件也有1800个。
在第二次编译之前 没有做任何修改
但compile log 里面说
This module or some inlined child module(s) has/have been modified.

跑过好多次,重新编译的文件基本都在1800左右。
请问各位大神们,这个病症的原因?

VCS仿真是吧?建议用三步仿真方法(使用vlogan,vhdlan),把文件编译成library

我研究研究你说的方法。

感谢分享,正愁这个问题呢,回头试试

你的问题和我的问题有相似之处?

但compile log 里面说
This module or some inlined child module(s) has/have been modified.
在vcs里面用什么参数才能看出,到底是那些地方改变了,才导致recompile

我试了试2楼的方法,我也发现我也有recompile,我怀疑是必要的,因为我vlogan时看log文件里只有parsing什么或者是warning,用vcs编译时才有的recompile,我这里也是比原本的模块数少点,原来大概290+现在大概200+,所以应该没什么问题。

在elaborate里总会有recompile,但是analyze那一步你可以把,之前编译过的库注释掉。例如你把dut编译到一个库里面,然后后面就可以把相应的vlogan和vhdlan注释掉了

嗯,我确实是你说的那么做的,我写了两个脚本,一个就是vlogan DUT 成一个库,另一个是之后要重复做的编译TB和仿真出波形,第一个脚本只需要执行一次,之后就是选case跑第二个脚本

那感觉增量编译对编译来说没有太多的改善。



我是全放在一个filelist里面,都做编译。从增量编译的解释来说,它只是看到有改动的才会重新编译。
我把filelist里面最简单的module都看了一遍,把include, 之类的都删除了,
就剩下简单的verilog code。
再重新第一次编译,在第二次编译的时候看这个module会不会再次编译,
结果,哎,还是再次被编译了
找了user guide好久也没有找到问题的原因。

最让我感到好奇的是,到了门级仿真的时候,发现每次都会再来一次全编译,
每次都是新的一样。
在compile.log里面也找不到 increment 的关键字了,说明压根就没有用到增量编译。
几万的文件每次都是一次一次的再来一遍。

确实不明白这个的原理

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top