proc get_area {args} {
parse_proc_arguments -args $args opt
set pattern ""
if {[info exists opt(-pattern) ]} {
set pattern $opt(-pattern)
}
set area 0
foreach_in_collection c [get_flat_cell *${pattern}*] {
set area [expr [get_attribute $c area] + $area]
}
puts "Pattarn \"${pattern}\" cell area is: $area"
return $area
}
define_proc_attributes get_area \
-info "get_area for specified pattern" \
-define_args {
{-pattern "instance name pattern" AString string required } \
}
- 其中在define_proc_attributes 中默认可选项都是 array 项,在函数主题中处理Opt ,先通过parse_proc_arguments -args $args opt 传递进来。
然后访问参量 set pattern $opt(-pattern)
- define_proc_attributes get_area \
-info "get_area for specified pattern" \ #cmd -help 打印出命令描述
-define_args {
{-pattern "instance name pattern" AString string required } \#
}