TclOK
仅仅因为 Tcl 脚本 / SDC / UPF 里的一处语法错误,浪费了数小时的 EDA 工具运行时间 ?
困扰已久的问题,交给 TclOK 来解决
% tclok your_top_script.tcl -autorun your_eda_tool -your_eda_tool_options ...
相比一些 EDA 工具自带的开源 Tcl 语法检查器,TclOK 有什么独特优势?
- 传统 Tcl 语法检查器只进行 “静态”检查
- 由于 Tcl 命令没有被实际 “执行”,导致大多数实际运行时的错误无法被发现 🙄
- 可能误报实际运行时不存在的错误
- SDC 支持:仅当厂商提供插件时
- UPF 支持:不支持
- 层次化检查:无
- TclOK 采用 “静态+动态” 检查
实际案例?3
set a 123
if $a {
puts $a $a $a; # 内联变量 $a 后 puts 参数错误
}
source bad_filepath.tcl; # 文件路径错误
Tcl 脚本 | 任意 EDA 工具 | TclOK | 其他常见 Tcl 检查器 |
---|---|---|---|
第 2 行:expr 省略花括号 | 通过 | 通过 | 可能报警告(Noise) |
第 3 行:变量内联后错误 | 报错 / 停止 | 报错 | 可能通过(Error Missed) |
第 5 行:文件路径错误 | 报错 / 未被执行 | 报错 | 可能通过(Error Missed) |
检查报告
视频演示
现在就免费下载试用:
-
实际错误发现率与未定义命令的数量有关;用户可通过定义命令约束进一步提升检查精确度 ↩︎
-
支持表达式分步求值、循环展开、用户自定义 proc 内部单步调试、虚拟执行至指定行数时打印出指定变量的值等 ↩︎
-
更多与其他 Tcl 语法检查器的对比案例:https://zhuanlan.zhihu.com/p/1916081687705677911 ↩︎