如何在tcl模式下向dc_shell传递参数?

yzuktlbb  于 2023-08-07  发布在  Shell
关注(0)|答案(2)|浏览(239)

我试图通过我的shell脚本向设计编译器shell传递参数。

clk_period=20.30
dc_shell-t -f my_scripts.tcl $clk_period

字符串
它给出一个错误

Error: Unexpected argument '20.30'


如何使用这样一个功能?我在tcl编程中使用tclsh编译器时通过argc和argv使用它。但dc shell不接受额外的参数

tpxzln5u

tpxzln5u1#

您也可以从shell传入环境变量,并使用getenv访问它们:

# my_scripts.tcl:
try {
    set clk_period [getenv CLK_PERIOD]
} on error {msg} {
    puts "ERROR: missing CLK_PERIOD environment variable"
    puts "Message: $msg"
    exit 1
}

字符串
命令:

CLK_PERIOD="20.30" dc_shell-t -f my_scripts.tcl

83qze16e

83qze16e2#

我只是终于发现了一种方法来做到这一点后,我自己出现在我的搜索。一些工具显然使用了-tclargs,但在Synopsys中却不是这样。x选项允许您传入一个tcl命令。这样就可以了:

% dc_shell -f script.tcl -x "set test true"

字符串
脚本可以回显$test并显示true。

相关问题