这期内容当中小编将会给大家带来有关数字电路实现中的DRC是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

数字实现硅农大方向可分为前端后端或中端后端,再细分可分为综合、DFT、形式验证、PR, PV, PI, STA 等,细分之后各工种缝扣子的缝扣子,挂衣领的挂衣领,相互有了差别,但是不论哪一个工种,都会涉及到一个词叫DRC: Design Rule Check.

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 可能是一张一维或二维的表格。
 

数字电路实现中的DRC是怎样的-风君雪科技博客

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. 
 

数字电路实现中的DRC是怎样的-风君雪科技博客

数字电路实现中的DRC是怎样的-风君雪科技博客

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 的个数
 随着工艺结点的进步一直在暴增,管中窥豹,可见制造过程的复杂跟艰难,所以一切的贵都是合理的。
 

数字电路实现中的DRC是怎样的-风君雪科技博客

数字电路实现中的DRC是怎样的-风君雪科技博客

数字电路实现中的DRC是怎样的-风君雪科技博客

DFT 相关的DRC

随着工艺的进步设计的复杂应用场景的特殊需求多元化,DFT 越来越复杂,rule 也越来越多,通常最常涉及的DFT DRC 包含如下部分:

数字电路实现中的DRC是怎样的-风君雪科技博客