我正在整合由独立团队编码的硬件分区。
我发现系统中有时不需要的`定义是由另一个系统设置的,导致错误。
例如
usb_sys.v
--------
`define USB2
`ifdef USB
//normal usb ( this is accidentally switched on )
`ifdef USB2
//USB2 stuff ( this is intended to switched on )
`ifdef USB3
//USB3 stuff
在另一个系统中
another_sys.v
`define USB //not another protocol
冲突是致命的,因为对bug的观察是依赖于预处理器的。它可能在VCS仿真中工作正常但在DesignCompiler综合中失败。
为了解决这个问题,我正在寻找一种方法来提取VCS预处理结果。并且逻辑与综合网表进行比较。这有助于在预处理后保持代码的一致性。