我想从列表创建一个集合。
friends1
是姓名列表。
我正在尝试做:
set friends2 ""
foreach frnd $friends1 {
append_to_collection friends2 $frnd
}
错误:参数“object_spec”至少需要一个集合 当“集合”参数为空时追加到集合(SEL-014)
有什么想法吗?谢谢!
我相信 Synopsys 集合只能由 Synopsys 对象组成,例如网络、引脚等。Friend 不是 Synopsys 对象...但假设您有 Synopsys 对象名称列表,您可以使用相应的“get”函数将列表变成集合。
set col_of_nets [get_nets $nets]
set col_of_pins [get_pins $pins]
...
要向后移动(集合到名称列表),请使用 get_object_name。
set names_of_nets [get_object_name $col_of_nets]
...
这是老问题了。但仍然没有得到答复。
您需要先创建一个集合才能追加到它。
这是一个关于如何操作的简短视频...
https://www.usessionbuddy.com/user/vlsicoder/termtosvg_v6ai8tfv.svg/
如果有人登陆这里使用 Innovus 脚本,
append_to_collection
只能将对象附加到集合。所以首先让你的friend2
成为一些东西的集合。
例如,如果您的
frnd
是一个 pin 对象。
set friend2 [get_pin <pin_name>] ;# Create a collection of PIN first
foreach frnd $friend1 {
append_to_collection friends2 $frnd
}
或者,如果您
friend1
已经是一个收藏了。
set friend2 [get_pin <pin_name>]
foreach_in_collection frnd $friend1 {
append_to_collection friends2 $frnd
}