09 Row

既然是学习数字后端,那么Row的概念相信肯定不会陌生,Row是表征Floorplan横向排列的一个重要网格,我们可以把它理解为“排”。它对std cell的摆放起着限制约束作用。Row是placement的基础,因为凡是需要摆放std cell的地方,就必须先创建Row。那我们就来直观的感受一下Row:

如上图所示,Row是由Site组成的。而Site定义的是最小的布局单元

我们在lef中随意找一个Site,去看它的内容:

我们对第一个Site为例进行解析

SITE CoreSite                        CoreSite就是此site的名字

        CLASS CORE                site的类别

        SIZE 0.2 BY 1.71            site的宽度,高度

END Coresite                          结束符

        一般来说,SITE的类别通常分为core和pad,正如我们截取的部分,它们分别对应着std cell的row和io cell的row。但此处截取的部分似乎没有对SITE方向的定义,实际上SITE的方向有X,YR90三个参数。X代表可以沿X轴翻转,Y代表可以沿Y轴翻转,R90代表可以任意翻转。SIZE则是定义site的宽度,BY则是高度,因为site定义的是最小的布局单元,所以std cell都是site的整数倍高度,宽度。现在对SITE应该有一个浅层次的了解了。下面回归正题-----ROW

Row也是有自己的方向,如下图所示:

(1)Floorplan --Row--create core row

(2)create core row(当然也可以create io row,这里以create core row为例)

思考:为什么row有两种类型,IO row Core row?

提示:理解上文:“SITE的类别通常分为core和pad,正如我们截取的部分,它们分别对应着std cell的row和io cell的row。”

Site Name,是不是就是我们定义的site,点开看看:

这里有两种site,所以我们的row可以有两种选择,根据实际情况分析到底选择用哪一个site。

然后我们看Bottom Row Orient:

我们可以选择Bottom的Row的方向

double bacl rows:

相邻两个Row之间怎样摆放,

原图:(其实这里应该先clear Row,待改善。。。。。)

我们先选择第一个看看效果:

然后选择第二个:

通过上面的图理解这句话“相邻的row会相互about并且flip,这样相邻的site可以公用一根电源线,节省Power资源”。所有的std cell都必须snap到row上面,这是基本的place规则。而默认情况下std cell的摆放方向遵从Row的方向(没想到把,Row也有方向),即方向箭头一致,但根据cell本身的symmetry,std cell的摆放位置也可以有如下的选择:

这是最常见的Row,实际的design当中,还存在一些其他种类的Row,例如double height,trible height的Row,用来摆放两倍高,三倍高的cell。

一下子说了好几个内容:site,row,std cell。可能分开说都懂,但是聚在一起它们有什么关系呢?我们上面提到过:“Row是由Site组成的。而Site定义的是最小的布局单元,std cell都是site的整数倍高度,宽度。所有的std cell都必须snap到row上面”

好好理解一下上面的话,从空间的维度去想象它们之间的关系。

黄色框内的就是coresite,红色框一直延申过去就是Row

还有一点值得我们注意:虽然一般情况下,只允许我们创建整数倍高的Row,如上面的double height,trible height的Row。但在Voltage island中,我们允许创建非整数倍高的Row,如默认电压区域用9T单元,而在Voltage island中使用了12T,不是整数倍,那么这时候就需要创建非整数倍高的Row,如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值