我想在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 }
欣赏解决方案。 谢谢
答案 0 :(得分: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]