Post

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
  • 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.