从零开始的PR学习之旅 -Floorplan

我有什么,我要做什么,我要怎么做,我要做到什么程度
在做Floorplan之前,需要明确Floorplan的目的:
1. 确定芯片面积
2. I/O单元的摆放
3. hard macro,模块的摆放

细分概念:
1、box
2、row
3、track
4、physical constrains
5、blockage &Halo
6、Instance Group
7、Hierarchical Partition

一、Box
分为Die box、IO box、Core box
在这里插入图片描述
思考题:为什么Core box和IO box留有空隙?

二、Row
定义在LEF的Site中,Row也有自己的方向,通常相邻的row会相互abut并且flip,这样相邻site可以共用一根电源线,节省Power资源。

SITE sitename
CLASS {PAD | CORE}
SYMMETRY {X|Y|R90}
SIZE width BY height
END sitename

Row由Site组成

三、Track
在这里插入图片描述
pitch指的是指最小宽度加上最小间距之和

四、Macro(推荐手动摆放,数量多可以自动摆放)
1、memory(ram、row)
2、IP(PLL,sensor,…)
a) 模块尽量摆放在靠近相应输入输出口的位置
macro之间要留有一定空隙,给予布线资源
合理设置macro摆放的角度
在GUI界面的Floorplan —> Automatic FloorPlan
—> Plan Design(可以自动摆放Macro)
同一个module下的单元尽量放在一起
五、Constraint
不加约束的话,module可以放在core的任何一个区域。
Guide(向导约束):“可进可出”的约束,属于该模块的单元可以放置在该范围内,也可以放在该范围外,不属于该模块的单元也可以放置在改向导范围内
Region(区域约束):“可进不可出”的约束,属于该模块的单元只能放置在指定区域内,但该区域内可以放置其他单元
Fence(限制约束):强约束,“不可进不可出”的约束,属于该模块的单元只能放置在该区域内,且不允许放置其他单元
将module挪进Core后,工具会默认设置成Guide约束
六、Placement Blockage
1、Hard:在设计的任何阶段都不能摆放任何block和cell
2、Soft:在Placement阶段不能摆放std cell ,但是在place opt、CTS、ECO place、place legalization时可以被place
3、Partial:需人为设定一个百分比值,在place之后,该区域的place density不能超过设定的百分比
4、Macro Only:不允许摆放macro,但是对于std cell,可以任意摆放
七、Route Blockage
不允许该区域内走线
八、Halo
Halo是基于macro生长,可以跟着macro一起移动,而blockage是基于area
九、Instance Group
用于将来自不同module的不同instance组织在一起,确保它们在布局时能够更紧密地摆放
十、Partition
待更新

Physical Design Input

把做Floorplan前需要导入的文件在这记录一下
用到哪个文件再去细节学习
在这里插入图片描述

  1. Netlist(网表)
    作用:描述了逻辑器件的连接关系,网表其实还是用verilog来写的,只不过是以逻辑门的形式呈现出来。
    在这里插入图片描述

  2. Lib(标准单元时序库文件)
    包含std cell的时序信息,专门用来做时序综合、时序分析或者说功耗分析。一个lib文件主要包含std cell 的传播延时(cell delay)、输出负载(output load,即输出的电容负载)和输入的转换时间(input transition)。
    用途:计算std cell 的 cell delay,也就是计算传播延时,计算原理:A发生变化后要过多久B才能发生变化
    cell delay
    Timing Lib Module:NLDM(非线性延时模型,速度快但是精度低)、CCS(复合电流源延时模型,速度慢)
    NLDM:本质是一个查找表,只要确定了input transition和output load,就能确定cell delay。但是如果input transition和output load不能再NLDM里找到对应的值,那么就要进行插值计算,这样得到的cell delay的精度必然会下降,那么就可以使用CCS的Lib文件。
    CCS:在先进工艺中经常用到,能够提供精确的cell delay。它的本质也是一个查找表,但是除了拥有input transition和output load外,还拥有output charging current,也就是电流随时间变化的一个函数。因为电流是随时间变化的,所以每一个pin都会有比NLDM更多的查找表,工具会根据输出电流来计算cell delay。在这里插入图片描述

  3. LEF
    数字后端设计需要两种维度的文件,分别是physical view和timing view。其中physical view包含LEF文件。
    LEF文件需要描述所有std cell的一个物理特征,一种GDS版图的抽象形式,包含了每个单元电路的物理形状,但是只包含自动布局布线过程中我们需要关系的那部分信息,比如单元电路的形状、方向,pin的名称和位置等。
    在这里插入图片描述
    Macro IV:表示这是一个可以被调用的单元,名字叫IV
    Class core:放置在core区域
    Origin:原点坐标
    SIZE 3 BY 12 :宽度3,高度12(单位在Tech LEF 里)
    SYMMETRY:表示对称方向
    SITE CORE:表示可以放置在core区域
    PIN A:里面的内容描述的都是Pin A的形状,首先介绍A的方向(input),天线效应的尺寸(1.4),Port表示A是可以和外部连接,mental 1:在金属层1,形状是(0.5,5)到(1.0,5.5)
    OBS:阻挡物,不允许设置的范围在mental 1

  4. Design Constraints(设计约束文件)
    设计约束文件包含DRC(Design Rule Constraints)和OPT(OPtimization Constraints,优化约束)
    DRC:是半导体工艺厂提供的。
    1、最小或最大金属宽度、间距
    2、max transition and max cap(也叫load)
    3、等等
    SDC:Synopsys design constraints
    待更新

LEF:一种GDS版图的抽象形式,一般也叫physical view,包含了每个单元电路的物理形状,但是只包含自动布局布线过程中我们需要关系的那部分信息,比如单元电路的形状、方向,pin的名称和位置等
Lib:描述std cell 的timing信息
Tech LEF:包含了每层mental的最小间距、最小宽度、方向、单位,电阻,电容等等(工艺参数)
ITF:获得金属互连线的寄生参数信息
MAP:物理层映射
Macro:或者也叫Block
DEF:包含物理设计细节

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值