相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482目录指定回显命令指定回显命令返回值指定发生错误时继续执行sh_continue_on_error默认值为truesh_script_stop_severity默认值为none指定文件名其他相关变量sh_command_abbrev_mode默认值为Anywheresh_command_abbrev_options默认值为truesource命令用于读取一个Tcl脚本并在当前shell环境执行其实它并不是一个SDC命令归为此类只是为了方便管理该命令相对标准Tcl命令source添加了一些功能增强选项。本文针对Design Compiler但该命令同样存在于PrimeTime、IC Compiler等工具中它们大致相同略有差别。source命令的BNF范式有关BNF范式可以参考以往文章为source [-echo] [-verbose] [-continue_on_error] file //注该命令的选项和参数顺序任意指定回显命令默认情况下Design Compiler中的source命令与标准Tcl命令一样会回显其返回值即Tcl脚本中最后一条执行命令的返回值如有return语句则以该语句为准。如果指定了-echo选项则在执行Tcl脚本中的命令时会将其回显如下所示。dcnxt_shell source test.tcl 1 dcnxt_shell source test.tcl -echo set a 1 # THIS IS A COMMENT set b 1 1 dcnxt_shell需要的是对于Tcl脚本中的注释(#)如果指定了-echo选项也会回显对于命令中的变量置换($)、命令置换([])等操作如果指定了-echo选项会保持其置换前的形式回显是按实际执行情况进行的即如果Tcl脚本提前终止则后续命令不会被回显。指定回显命令返回值-verbose选项指定在Tcl脚本中的命令执行后回显其返回值如下所示。-verbose选项可以配合-echo选项一起使用。dcnxt_shell source test.tcl -verbose 1 1 1 dcnxt_shell source test.tcl -verbose -echo set a 1 1 # THIS IS A COMMENT set b 1 1 1 dcnxt_shell使用dc(nxt)_shell -f file的方式执行Tcl脚本时相当于启动dc(nxt)_shell后执行source -echo -verbose file命令。指定发生错误时继续执行-sh_continue_on_error选项用于指定在命令执行出现语法错误如CMD-005和CMD-010错误和其他语义错误实际上如果sh_script_stop_severity变量为none非致命的语义错误不会导致Tcl脚本执行终止后继续执行。sh_continue_on_error默认值为true该变量用于指定在命令执行出现语法错误和其他语义错误实际上即使sh_continue_on_error变量为false如果sh_script_stop_severity变量为none非致命的语义错误不会导致Tcl脚本执行终止后继续执行。建议使用source命令的-continue_on_error选项而不是使用此变量因为该选项只适用于单个Tcl脚本而不是整个会话。sh_script_stop_severity默认值为none该变量只在sh_continue_on_error设置为false时生效。当其设置为E时如果出现了任何错误终止Tcl脚本执行当其设置为W时如果出现了任何警告或错误终止Tcl脚本执行。指定文件名文件名可以是完全展开的文件名也可以以波浪号~家目录开头。在正常情况下仅根据你输入的内容查找文件。但是如果系统变量sh_source_uses_search_path设置为true则会根据search_path变量设置的路径来查找文件。source命令支持多种文件格式可以是简单的ASCII脚本文件、使用gzip压缩后的ASCII脚本文件。关于search_path变量的更多信息可以参考下面的博客。Design Compiler搜索路径search_path变量详解https://blog.csdn.net/weixin_45791458/article/details/143085356?ops_request_miscelastic_search_miscrequest_idcfaa08ac2e40826b6e046b794c56702fbiz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~all~ElasticSearch~search_v2-1-143085356-null-null.nonecaseutm_termsearch_pathspm1018.2226.3001.4450其他相关变量sh_command_abbrev_mode默认值为Anywhere该变量用于设置命令名简写模式作为一种便利功能。如read_file命令可以简写为read_f只要其代表唯一的命令名即可。脚本文件中不应使用任何命令或选项的缩写形式因为这些缩写在后续版本中可能会发生变化从而导致脚本不兼容或出错。尽管该变量的默认值是Anywhere但建议在配置文件中将其设置为Command-Line-Only。同时也可以将其设置为None以完全禁用命令缩写功能。sh_command_abbrev_options默认值为true该变量用于设置选项简写模式作为一种便利功能。如read_file -format verilog命令可以简写为read_file -f verilog只要其代表唯一的选项即可。脚本文件中不应使用任何命令或选项的缩写形式因为这些缩写在后续版本中可能会发生变化从而导致脚本不兼容或出错。尽管该变量的默认值是true但建议在将其设置为false以完全禁用选项缩写功能。