相关阅读
SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482
remove_sdc命令用于移除当前设计中设置的所有SDC约束,需要注意的是,UPF约束不会被移除,要想移除UPF约束,需要使用remove_upf命令。本文针对Design Compiler,但该命令同样存在于PrimeTime、IC Compiler等工具中,它们大致相同,略有差别。
remove_sdc命令只会移除那些用户定义的约束,而无法移除默认约束。例如对于Design Compiler而言,会在link_library变量或local_link_library属性(两者统称为link_path)中的第一个逻辑库(即主库)中搜索默认工作环境(operating condition)和默认线负载模型(wire load model),如下面两篇文章所说。
SDC命令详解:使用set_operating_conditions命令进行约束(bc_wc模式和on_chip_variation模式)https://chenzhang.blog.csdn.net/article/details/146458759?spm=1001.2014.3001.5502静态时序分析:线负载模型的选择机制
https://chenzhang.blog.csdn.net/article/details/140619371?spm=1001.2014.3001.5502
常见误区1
假设用户用set_operating_conditions命令和set_wire_load_model命令设置了约束,随后使用remove_sdc命令移除了这些约束,如果此时默认工作环境和默认线负载模型恰好与之前设置的约束相同,用户可能会产生困惑,认为remove_sdc命令失效了,其实不然,使用write_sdc命令输出一个SDC文件就可以对此进行验证,其中用户指定的set_operating_conditions命令和set_wire_load_model命令并不存在。
常见误区2
假设用户用set_dont_touch命令和set_load命令进行了设置,随后使用remove_sdc命令,但这并不起作用,因为set_dont_touch命令和set_load命令并不是SDC命令(虽然它们确实设置了对象的属性),它们不会受到remove_sdc命令的影响,可以使用reset_design命令重置当前设计。