VLSI Physical Design Note
Router DRC Discussion
Routing guidance
DRC Fix
surgical fixers:
- patch
- color flipper(cut layer)
- via mover
- via swapper
- wire mover
- color flipper(metal layer)
dynamic check
lef 中的限制性规则
- 限制性: 例如 ENDOFLINE
- scenario: 例如 SPACING 与 ENDTOEND
- 如 enclosure 规则只需要满足一条(规则间的或关系)
一些规则的介绍
SPACING 0.07 NOTCHLENGTH 0.155 CONCAVEENDS 0.055;
DRC data structure
- DrcBox: 通过 Route object’s bbox 构造
- bbox
- pointer to Route object
- Note: 和 Route object 对应, 因此这个 DrcBox 不会变更, 后续只会基于 merged drcLine 改动
- DrcPoint
- Point: x/y location
- pointer to DrcLine (x/y direction)
- DrcLine: 通过一个 DrcBox 构造四条
- pointer to DrcPoint(from, sink)
- pointer to DrcBox
- NetShapes: 通过 flatnet 构造当前 layer 的 flatnet 上的数据
- flatnet: cell 上的 hierarchy 压成一个 net
- vector
- vector
corners - vector
max rectangle - vector
xdim/ydim
- Drc DB: vector
- DrcLayer
- vector
: 直接通过 NetShape 获取 - map<flatnet, netshape>
- KDTree
- KDTree
- KDTree
- vector
- DrcLayer
Drc engine: 每次存放 routelayer 与 上层 cutlayer
- hole 逆时针, counter 顺时针
merge 过程中不处理 box & box, 只是将 drcLine 进行合并
drc violation 返回方式: 通过 kdtree 找到所有相关的 DrcBox, 向 Route 返回对应的 object
缺陷:
- 增量检查:
Routing biwave
resource: net 自身携带的 shape, 只能通过 net 自身进行管理 occupy: 增加的 shape, 公用资源
- static cost: the cost from existing objects
- dynamic cost: the cost from violation marker
Concept
Router db 简介
rtflatnet: design level flat net
rtholder: local net, 对应一个 rtflatnet, 表示
This post is licensed under CC BY 4.0 by the author.