在IC数字仿真阶段,有时会调用多个lib cell进行仿真。但是,多个lib 中可能,会对同一个cell都有primitive的定义,而且定义是完全相同的。此时,xrun会报错,提示 *E, DUPUNI,在不同的文件中重复定义。
此时,xrun 可以通过添加选项 -allowredefinition ,来解决这个问题;但是需要注意的是:这几个cell中的定义必须一致才行,要不然就和你的设计初衷不一样了。后编译的选项,可能会会覆盖前面的代码,造成仿真出现问题时,不容易定位原因。
因为lib cell设计人员,不应该随便修改,所以可以使用该选项来解决问题。如果是verilog block代码,在导入时,就应该确保代码的唯一性,防止代码块的错用。
在IC数字仿真过程中,遇到多个libcell中相同cell重复定义导致的*xrun*报错时,可以使用*-allowredefinition*选项避免冲突,但要求所有定义必须一致。否则,后期编译可能覆盖代码,影响问题定位。对于verilogblock代码,应确保导入时的代码唯一性,防止错用。
9840

被折叠的 条评论
为什么被折叠?



