| |||
1. 问题描述:
VCS编译重复定义文件可能会出现如下的情况:
(1) 编译报error [MPD] module previously declared
(2) 编译报warning [OPD] override previous declaration
2. 原因:
基于sv LRM 1800-2012, section 33.3.1.1多个相同名字的module被map在同一个lib中需要报告出来
3. 解决办法
(1) 在允许覆盖的情况下,消除不报error, 用-top指定顶层或加选项-error=noMPD
=> 推荐使用此方法,log不会报error会报warning。
(2) 需要消除warning和error的情况下,可以采用libmpa功能,分到不同的lib中
最好的做法其实还是将多个module定义的文件去掉,只保留一个真实的module定义即可!!!