Vivado 综合阶段什么约束生效?

Q:在Vivado或其他综合工具(如Synplify)上,综合阶段需要添加什么约束呢?

A: Vivado综合默认是timing driven模式,除了IO管脚等物理约束,建议添加必要的时序约束,有利于综合逻辑的优化,同时综合后的design里面可以评估时序。

Q:如果综合只是翻译成网表过程,那么这些约束又有什么用呢?用来优化网表结构吗?

A: 所谓timing driven,时序约束的有无会对网表产生影响,帮助工具尽可能朝着设定的performance优化网表。

Q:我现在用的Synplify的edf ,这个edf 没有加什么约束。 在VIVADO下,EDF 作为顶层是直接跳过综合阶段的,那么就没有优化的过程了,这样做实际效果就会大打折扣,我这样理解没错吧?

A: Synplify综合阶段可以读入sdc的,对综合后的网表也有驱动作用,具体请参考synopsys文档。

从Vivado流程来说,EDF在综合阶段是作为黑盒子,在implementation阶段与其他模块做link,如果添加了时序约束,对EDF这部分逻辑是不影响的,但剩余部分逻辑依然起作用。当然,如果你的顶层就以EDF形式输入,那就没有综合的步骤,直接在impl阶段读入约束。

最新文章

最新文章