相关阅读
SDC命令详解
https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482
目录
[指定输出IC Compiler环境](#指定输出IC Compiler环境)
[指定输出IC Compiler II环境](#指定输出IC Compiler II环境)
write_environment命令用于将设计或单元中的环境(包含已更改的应用变量设置、约束设置、部分属性设置等信息)输出为脚本文件(其实它并不是一个SDC命令,归为此类只是为了方便管理),该命令可以提供用于比较Design Compiler与IC Compiler环境的文件,解决它们之间的一致性问题。
本文针对Design Compiler,但该命令同样存在于IC Compiler工具中,它们大致相同,略有差别。write_environment命令的BNF范式(有关BNF范式,可以参考以往文章)为:
write_environment
[-cells cell_list | -designs design_list]
[-output file_name] [-suffix suffix]
[-environment_only] [-constraints_only] [-no_lib_info]
[-compress]
[-consistency | -script | -capture_setup]
指定层次单元列表/集合
-cells选项用于指定一个层次单元列表/集合(输出该层次单元对应设计的环境),对于列表而言,如果有多于一个对象,需要使用引号或大括号包围(对使用集合无效),关于列表和集合的区别,可以参考下面的博客。
SDC命令详解:使用集合(Collection)而不是字符串(String)/列表(List)作为命令参数
https://chenzhang.blog.csdn.net/article/details/147144571 -cells选项和-designs选项是互斥的,只能使用其中一个。如果都不使用,则默认输出当前设计的环境。
指定设计列表/集合
-designs选项用于指定一个设计列表/集合(输出对应设计的环境),对于列表而言,如果有多于一个对象,需要使用引号或大括号包围(对使用集合无效)。
-cells选项和-designs选项是互斥的,只能使用其中一个。如果都不使用,则默认输出当前设计的环境。
指定文件名
-output选项指定脚本文件的名称,如果使用了该选项,则将所有信息包含在一个脚本文件中(即使指定了多个层次单元或设计);如果不使用该选项但使用了-suffix选项,则会为每个设计生成一个脚本文件,文件名为<设计名>.<后缀>,其中后缀由-suffix选项指定;如果不使用该选项且不使用-suffix选项,则会将所有信息输出至标准输出。
如果名称以.gz结尾,则脚本文件会以gzip格式输出。
指定后缀
-suffix选项用于指定脚本文件的后缀。
指定仅环境
-environment_only选项用于指定仅输出已更改的应用变量和库单元上设置的部分属性。
指定仅约束
-constraints_only选项用于指定仅输出部分属性设置(类似write_script命令)。
指定不包含库单元信息
-no_lib_info选项用于指定输出不包含库单元上设置的部分属性。
指定压缩
-compress选项用于指定脚本文件以gzip格式写出,与-output选项一起使用才生效。
指定一致性
-consistency选项用于指定写出一个用于consistency_checker工具进行一致性检查的文件,其中包含所有变量设置、库单元上设置的部分属性、部分属性设置(类似write_script命令)、布图规划信息(write_floorplan命令)、拥塞优化信息(report_congestion_options命令)、布线方向信息(report_preferred_routing_direction命令)、命令规则信息(report_name_rules命令)等。
该选项与-output选项一起使用才生效,且-cells选项、-designs选项、-environment_only选项、-constraints_only选项和-no_lib_info选项失效。
-consistency选项和-script选项、-capture_setup选项是互斥的,只能使用其中一个。
指定输出IC Compiler环境
-script选项用于指定输出IC Compiler环境,包含ddc文件,布图规划信息等。
该选项与-output选项一起使用才生效,且-cells选项、-designs选项、-environment_only选项、-constraints_only选项和-no_lib_info选项失效。
-consistency选项和-script选项、-capture_setup选项是互斥的,只能使用其中一个。
指定输出IC Compiler II环境
-capture_setup选项指定输出IC Compiler II环境到snpsSetupCapture目录中,其中包括所有公共变量设置、以加密格式保存的隐藏变量设置、库单元上设置的部分属性、在IC Compiler II LInk中设置的应用选项(通过set_app_options命令设置)。
使用该选项时-cells选项、-designs选项、-environment_only选项、-constraints_only选项和-no_lib_info选项失效。
-consistency选项和-script选项、-capture_setup选项是互斥的,只能使用其中一个。
Multicorner-Multimode支持
该命令仅对当前场景生效,换句话说只能输出当前场景中的环境。
关于场景的更多介绍,可以参考下面的博客。
使用consistency_checker工具
为了缩短设计开发时间,需要尽量减少Design Compiler与IC Compiler之间的QoR相关性问题,两个工具之间环境设置不同,是导致相关性问题的主要原因之一,为检测这些问题,可以使用consistency_checker工具,图1展示了该工具的使用方法。

图1 consistency_checker的使用方法
有关consistency_checker工具的更下载和多信息,可见下面这篇Solvnet文章所示。
Using the Consistency Checker to Automatically Compare Environment Settings Between Design Compiler and IC Compiler
https://solvnetplus.synopsys.com/s/article/Using-the-Consistency-Checker-to-Automatically-Compare-Environment-Settings-Between-Design-Compiler-and-IC-Compiler-1577133837732 如果想要比较Design Compiler与IC Compiler II、Fusion Compiler之间的设置,可见下面这篇Solvnet文章所示。