数字实现硅农大方向可分为前端后端或中端后端,再细分可分为综合、DFT、形式验证、PR, PV, PI, STA 等,细分之后各工种缝扣子的缝扣子,挂衣领的挂衣领,相互有了差别,但是不论哪一个工种,都会涉及到一个词叫DRC: Design Rule Check.
数字电路实现中的DRC 老驴只知道以下三类:
Timing 相关的DRC: transition, capcitance, fanout.
Physical 相关的DRC, 无数多条。
DFT 相关的DRC.
Timing 相关的DRC
Max/min Transition time: 用于约束信号翻转时上升或下降过程所允许的最大或最小时间,在数字电路实现过程中,该值可以从library 中读出,或用命令set_max_transition, set_min_transition 进行设置。如果两个值同时存在,工具在优化或检查时以最紧的为标杆。
如下例所示,在library 中通常会有default_max_transition 的定义,在pin 上会有max_transition 跟min_transition 的定义,先进工艺的lib 中max_transition 跟min_transition 可能是一张一维或二维的表格。
Max/Min Capcitance: 定义cell inout 或output port 能够驱动的最大和最小电容负载,在数字电路实现过程中,该值可以从library 中读出,或用命令set_max_capacitance, set_min_capcitance 定义,通常用命令设置的值不应该大于library 中定义的值。同样在library 中通常会有default_max_capacitance 的定义,在pin 上有max_capacitance 跟min_capacitance 的定义,先进工艺的lib 中max_capacitance 跟min_capacitance 可能是一张一维或二维的表格,下例是一张一维表 index 是frequency 跟一张二维表index 是frequency 跟transition.
Max/Min Fanout: 在老工艺的lib 中通常会有fanout 的定义,在新工艺的library 中通常都没有fanout 的定义,所以在工具解析library 时会报max fanout 未定义的警告,在实现过程中通常用命令set_max_fanout/ set_min_fanout 来约束。据说在先进工艺结点,只要把max transition 跟max capcitance 修干净,max_fanout 并不是一个必须要遵守的hard rule.
Physical 相关的DRC
Placement 跟Routing 都分别有许多rule, Placement 的rule 规定了谁跟谁可以放在一起,谁跟谁不能放在一起,谁跟谁放在一起要距离多远才不会摩擦除火花或者相互撕咬;Routing 的rule 规定了金属走线跟过孔的宽度、厚度、高度及线之间的距离。大致有如下类型:
- Minimum width and spacing for metal
- Minimum width and spacing for via
- Fat wire Via keep out Enclosure
- End of Line spacing
- Minimum area
- Over Max stack level
- Wide metal jog
- Misaligned Via wire
- Different net spacing
- Special notch spacing
- Shorts violation
- Different net Via cut spacing
- Less than min edge length
Physical DRC 的个数随着工艺结点的进步一直在暴增,管中窥豹,可见制造过程的复杂跟艰难,所以一切的贵都是合理的。
DFT 相关的DRC
随着工艺的进步设计的复杂应用场景的特殊需求多元化,DFT 越来越复杂,rule 也越来越多,通常最常涉及的DFT DRC 包含如下部分:
本文转载自公众号: 陌上风骑驴看IC
原文链接:https://mp.weixin.qq.com/s/yNPN06-3dCRQfKXsDRzMuQ
未经作者同意,请勿转载!