我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?
拾陆楼知识星球入口
通常我们用keepout margin去降低多pin cell类型的密度,这里提供一种替代方案,即使用placement label。好处是只限制多pin cell彼此间距,不会影响多pin与少pin之间的place,对利用率,绕线等的负面影响要小。
#给所有5 pin D1驱动的lib cell加label,彼此之间至少三个site的间距。
set m [get_object_name [get_lib_cells -filter "number_of_pins >=5&& *name=~D1BWP*"]
set_placement_spacing_label -name m -side both -lib_cells [get_lib_cells $m]
set_placement_spacing_rule -label {m m} {0 2}
如果要剔除寄存器或者一定尺寸的lib cell,可以用width属性和is_sequential去筛选。