当前位置: 首页 > news >正文

Design Compiler:语法检查工具dcprocheck

相关阅读

Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm=1001.2014.3001.5482


        dcprocheck是一个在Design Compiler存在于安装目录下的程序(其实它是一个指向snps_shell的符号链接,但snps_shell可以根据启动命令名判断执行哪部分程序),用于检查Tcl脚本是否符合语法规范。

        dcprocheck程序使用起来十分方便,直接将需要检查的Tcl脚本作为参数传入即可,如下所示。

shell> dcprocheck test.tcl

        以图1所示的Tcl脚本为例,其中存在几个问题,读者可以先自己找找。

// test.tcl
create_clock -period 10 [get_ports clk
set_input_delay 0.5 [get_port data_in] -clocks clk

        下面为使用dcprocheck程序进行语法检查的结果。

Synopsys Tcl Syntax Checker - Version 1.0

Loading snpsTcl.pcx...
Loading syn.pcx...
scanning: /home/zhangchen/DCNXT_2021.06/lab1/scripts/test.tcl
checking: /home/zhangchen/DCNXT_2021.06/lab1/scripts/test.tcl
test.tcl:1 (parse) parse error: missing close-bracket
create_clock -period 10 [get_ports clk
                        ^
test.tcl:2 (warnUndefProc) undefined procedure: get_port
get_port data_in
^
test.tcl:2 (SnpsE-UnkOpt) Unknown option 'set_input_delay -clocks'
set_input_delay 0.5 [get_port data_in] -clocks clk
                                       ^
test.tcl:2 (SnpsE-ExtraPos) Extra positional or unknown option 'set_input_delay clk'
set_input_delay 0.5 [get_port data_in] -clocks clk

        上面的问题中需要注意的是,即使get_port命令在某些EDA工具中(比如Design Compiler)是允许的,但这只是因为默认配置文件(比如.synopsys_dc.setup)中将get_port设置为get_ports命令的别名了,而不是真的存在一个get_port命令,有关默认配置文件的更详细介绍,参考下面的博客。

Design Compiler:默认配置文件https://chenzhang.blog.csdn.net/article/details/144016186

        下表列出了一些dcprocheck程序常用的参数,注意这些选项需要放在待检查的脚本参数前。

选项功能
-quiet显示最少的警告和错误信息
-verbose显示检查总结,包括有多少警告和错误
-suppress message阻止特定警告或错误的检查和显示
-W1只检查和显示错误信息
-W2只检查和显示用法警告和错误信息
-W3/-Wall检查和显示所有警告和错误信息

相关文章:

  • mapbox基础,加载ESRI OpenStreetMap开放街景标准风格矢量图
  • C++中常见函数
  • 算法进阶指南 分形
  • Java垃圾回收的隐性杀手:过早晋升的识别与优化实战
  • 「合诚」携手企企通共建新材料和健康产业采购数智化新生态
  • rqlite:一个基于SQLite构建的分布式数据库
  • MySQL数据库应用技术试卷
  • main函数参数
  • PyTorch 深度学习 || 6. Transformer | Ch6.2 注意力机制
  • 使用PX4,gazebo,mavros为旋翼添加下视的相机(仿真采集openrealm数据集-第一步)
  • Java 通过 JNI 调用 C++ 动态库的完整流程
  • 获客系统 V2
  • AI一周事件(2025年3月31日至4月7日)
  • 汇丰eee2
  • LDAP高效数据同步:Syncrepl复制模式实战指南
  • 【AI】Ragflow构建本地知识库
  • 数据结构与算法-数学-容斥原理,高斯消元解线性方程组
  • (C语言)双向链表(教程)(指针)(数据结构)
  • 从表格到序列:Swift 如何优雅地解 LeetCode 251 展开二维向量
  • 【JAVA】十、基础知识“类和对象”干货分享~(三)
  • 普京提议于15日在土耳其恢复俄乌直接谈判
  • 要更加冷静地看待“东升西降”的判断
  • 警惕“全网最低价”等宣传,市监总局和中消协发布直播消费提示
  • 98年服装“厂二代”:关税压力下,我仍相信中国供应链|湃客Talk
  • 重庆党政代表团在沪考察,陈吉宁龚正与袁家军胡衡华共商两地深化合作工作
  • 城管给商户培训英语、政银企合作纾困,上海街镇这样优化营商环境