今天我们要介绍的数字后端基本概念是Placement Bound(布局约束)。Bound是一个约束的概念,用来控制placement的摆放,通常,在一个Bound区域里的standard cell会摆放得更近一些。个人感觉bound对timing的优化作用有限,有时候反而不如不用,因为很多standard cell并不是你想放的地方工具就觉得好。
Bound按照类型,可以分为move bound和group bound。move bound需要指定固定的区域,属于这个bound里面的standard cell会尽可能摆放在这个区域;而group bound没有固定的区域,它的位置会随着standard cell的移动而移动。
而这两种bound按照约束强弱,又可分为soft, hard, exclusive三种类型。
soft bound: 工具会尽可能将standard cell摆放到bound区域内,但也可能摆放到外面,可以认为该区域“可以进,可以出”
hard bound: 工具必须将standard cell摆放到bound区域内,但该区域可以摆放别的standard cell,可以认为该区域“可以进入,不可以出去”
exclusive bound: 工具必须将standard cell摆放到bound区域内,而且该区域不可以摆放别的standard cell,可以认为该区域“不可以进入,不可以出去”
![](https://img.haomeiwen.com/i2486995/8b5a85fbe2661082.png)
使用方法:
命令:
move bound
create_bound -name movebound -boundary
{{100 100} {200 200}} [get_cells attr*]
group bound
create_bound -name groupbound
[get_cells adder*]
GUI
![](https://img.haomeiwen.com/i2486995/147b90fa67bb74c6.png)
原文链接:https://www.sohu.com/a/219358698_99933533
网友评论