目标之间的关系
Tcl 在搜索网表中的目标时,除了上述根据名字条件直接搜索的方式,还可以利用目标间的关系,使用-of_objects(在 Tcl 中可以简写为-of)来间接搜索特定目标。 Vivado 中定义的五类目标间的关系如下页左图所示。
以上示右图的设计来举例,
get_pins -of [get_cells my_i] //返回 my_i/I0 my_i/I1 my_i/I2 my_i/O
get_nets -of [get_cells my_i] //返回 a b c d
get_cells -of [get_nets -of [get_cells my_i]] //返回 i_12 i_5 i_1 my_i
下图是一个更复杂的示例,涉及跨层次搜索。可以看到在 get_pins 时,要加上-leaf 才能准确定位到门级元件(或 blackbox)的端口 q。另外,在实际操作中,使用 get_nets 和 get_pins 时,需要视情况而加上其它条件( -filter)才能准确找到下述例子中的 cells ( i2) 。<