news 2026/7/5 14:52:52

SDC命令详解:使用source命令读取脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SDC命令详解:使用source命令读取脚本

相关阅读

SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482


目录

指定回显命令

指定回显命令返回值

指定发生错误时继续执行

sh_continue_on_error(默认值为true)

sh_script_stop_severity(默认值为none)

指定文件名

其他相关变量

sh_command_abbrev_mode(默认值为Anywhere)

sh_command_abbrev_options(默认值为true)


source命令用于读取一个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_misc=elastic_search_misc&request_id=cfaa08ac2e40826b6e046b794c56702f&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~ElasticSearch~search_v2-1-143085356-null-null.nonecase&utm_term=search_path&spm=1018.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,以完全禁用选项缩写功能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 14:50:13

topics in life

Lets raise a toast to our cooperation. Mr Zhang is going to be a long term strategic partner for us. Come over and propose a toast to Mr Zhang.I cant drink alcohol So Id like to toast you with tea instead.——tea? You think tea is the same as wine?Mr zha…

作者头像 李华
网站建设 2026/7/5 14:49:34

如何利用downr1n实现iOS设备有线降级与越狱的完整指南

如何利用downr1n实现iOS设备有线降级与越狱的完整指南 【免费下载链接】downr1n downgrade tethered checkm8 idevices ios 14, 15. 项目地址: https://gitcode.com/gh_mirrors/do/downr1n downr1n是一款专为具备checkm8硬件漏洞的iOS设备设计的开源降级工具&#xff0c…

作者头像 李华
网站建设 2026/7/5 14:46:23

C语言 结构体(上)

1.什么是结构体&#xff1f;C 语言内置类型 例如&#xff1a;int / char / float 只能保存单一数据&#xff0c;而结构体&#xff08;struct&#xff09; 是一种自定义复合数据类型&#xff0c;可以把多个不同类型、相关联的数据当作一个整体。比如描述一个学生&#xff1a;姓名…

作者头像 李华
网站建设 2026/7/5 14:45:35

跨平台macOS组件下载神器:gibMacOS完全指南

跨平台macOS组件下载神器&#xff1a;gibMacOS完全指南 【免费下载链接】gibMacOS Py2/py3 script that can download macOS components direct from Apple 项目地址: https://gitcode.com/gh_mirrors/gi/gibMacOS 在跨平台环境中获取macOS安装文件一直是个技术难题&…

作者头像 李华
网站建设 2026/7/5 14:45:15

深耕 XR 安卓底软开发:Framework 定制、渲染优化与系统稳定性实战

前言 元宇宙、空间计算和物联网硬件正在以肉眼可见的速度落地。VR 头盔、AR 眼镜、MR 空间设备逐渐进入量产阶段,但这些设备跟我们平常用的手机、平板并不一样。XR 头戴设备是异形的嵌入式终端:双屏且异构、对空间渲染算力要求极高、传感器并发多路、姿态感知要做到近乎实时…

作者头像 李华
网站建设 2026/7/5 14:43:40

TVA对具身智能领域的核心技术支撑(20)

前沿技术介绍&#xff1a;AI智能体视觉&#xff08;TVA&#xff0c;Transformer-based Vision Agent&#xff09;是依托Transformer架构与“因式智能体”理论所构建的颠覆性工业视觉技术&#xff0c;属于“物理AI” 领域的一种全新技术形态&#xff0c;完成了从“虚拟世界”到“…

作者头像 李华