提问人:JoshTitle 提问时间:10/1/2023 更新时间:10/1/2023 访问量:41
Tcl:将带方括号的参数传递给过程 (SDC)
Tcl: pass argument with square brackets to procedure (SDC)
问:
我想构建一个 SDC 模拟器。 这是我的流程:
proc set_false_path { body ... }
proc get_pins { body ...}
我使用 tcl 内置的“source”来读取 SDC 文件,MY_SDC_FILE.sdc(MY_SDC_FILE.sdc 中有很多文件)
在文件中,有一个命令:
set_false_path -through [get_pins my_pin[1]]
它将报告“无效的命令名称”1“错误
我尝试像“proc 1 { body ...}”一样做 proc,但如果有像 [100000] 这样的情况,则很耗时。 任何修复错误的方法,谢谢。
答:
0赞
Colin Macleod
10/1/2023
#1
您可以通过适当的报价来避免此问题:
set_false_path -through [get_pins {my_pin[1]}]
TCL的报价规则记录在 https://www.tcl-lang.org/man/tcl/TclCmd/Tcl.htm
评论
0赞
JoshTitle
10/1/2023
谢谢,但我不能用 {} 修改 my_pin[1],这个文件来自其他人。
1赞
Colin Macleod
10/1/2023
好吧,尝试一个包含有效 Tcl 代码的文件恐怕不太可能起作用。source
1赞
Colin Macleod
10/1/2023
实际上,你可以用 tcl-lang.org/man/tcl/TclCmd/unknown.htm 做一个黑客来捕捉 、 等的执行,并以某种方式处理它们。[1]
[100000]
0赞
JoshTitle
10/1/2023
欣赏,它现在可以工作了。
评论