0

我想在 Synopsys DVE 的会话文件中创建一个具有通用 TOP 名称的信号组。我的目的是通过定义正确的“TOP”值来使用相同的 tcl 文件进行块级和系统级调试。

set TOP "TOP.Block_level"
#set TOP "TOP.SYSTEM_LEVEL.HIER1.HIER2"

set _session_group_1 Group1
gui_sg_create "$_session_group_1"
set Group1 "$_session_group_1"

set a "${TOP}.level1.signal1"
#add_wave $a # Works

# Oringial code
gui_sg_addsignal -group "$_session_group_1" { topA.level1.signal1  topA.level1.signal2 }

# Expected implementation similar to: but fires error that "$TOP.level1.signal1" not found
gui_sg_addsignal -group "$_session_group_1" { $TOP.level1.signal1  topA.level1.signal2 }

欣赏解决方案。谢谢

4

1 回答 1

0

大括号 ( {}) 阻止 TCL 解释器评估$TOP. 您应该使用双引号 ( ") 作为列表分隔符或使用以下list命令:

gui_sg_addsignal -group "$_session_group_1" "$TOP.level1.signal1  topA.level1.signal2"

或者

gui_sg_addsignal -group "$_session_group_1" [list $TOP.level1.signal1  topA.level1.signal2]
于 2019-05-15T09:49:58.713 回答