SDC命令详解:使用reset_design命令重置设计
相关阅读
SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482
reset_design命令用于重置当前设计。本文针对Design Compiler,但该命令同样存在于PrimeTime、IC Compiler等工具中,它们大致相同,略有差别。
重置当前设计会产生广泛的影响,包括移除当前设计设置的所有SDC约束(效果等同于remove_sdc命令)、移除绝大多数设置在对象上的属性、移除用户创建的对象(如时钟和时序组)。
在使用reset_design命令时,有几点需要注意:
1、reset_design命令不会移除UPF约束,要想移除UPF约束,需要使用remove_upf命令。
2、reset_design命令只会移除那些用户定义的约束,而无法移除默认约束。例如对于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
假设用户用set_operating_conditions命令和set_wire_load_model命令设置了约束,随后使用reset_design命令移除了这些约束,如果此时默认工作环境和默认线负载模型恰好与之前设置的约束相同,用户可能会产生困惑,认为reset_design命令失效了,其实不然,使用write_sdc命令输出一个SDC文件就可以对此进行验证,其中用户指定的set_operating_conditions命令和set_wire_load_model命令并不存在。
3、reset_design命令不会移除使用set_attribute命令设置的用户自定义属性。
4、reset_design命令不会重置或移除变量,包括应用变量(application variable)和用户自定义变量(user-defined variable)。
5、当reset_design命令命令移除用户创建的对象时,包含这些对象的集合也会被自动删除。
执行reset_design命令将产生广泛的影响,结果几乎等同于从头开始设计流程。如果只想移除少量属性,建议使用remove_attribute命令,或者可以通过设置这些属性的命令来移除特定属性,一些设置属性的命令(例如set_cost_priority)有-default选项,该选项可移除该命令之前设置的所有属性。