IR Drop分析之Redhawk分析流程

IR Drop分析之Redhawk分析流程

文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点。点击进去后出现任何损失与社区无关。

清明小长假过的好快,又得开始码字了。今天跟大家分享数字 IC 后端设计实现中 IR drop 的分析流程以及如何改善 IR drop,实现一个 robust 的芯片。这个 topic 也是吾爱 IC 社区的粉丝们提出来的。小编这么给力,是不是得给点个赞或来个赞赏啥的,呵呵!另外还有一个好消息,小编的公众号收到腾讯的邀请开通广告了,在每篇文章底部都有 “广告” 字样的广告,希望各位看文章的同时,顺便蛮点击下,对各位来说举手之劳的事情,也算是支持下。感谢!好了,下面进入今日的主题。

1.IR** drop 的定义**

  • IR drop 是指在集成电路中电源和地网络上电压下降和升高的一种现象。随着半导体工艺的不断演进,金属互连线的宽度越来越窄,导致电阻值不断变大(供电电压也越来越小),IR drop 的效应越来越明显。因此,现在的芯片最后都把 IR drop 的分析做为芯片 signoff 的一个必要步骤。业界的 signoff 工具大部分采用的是 Redhawk。

2.IR** Drop 的种类**

IR drop 主要分为两种。一种是静态的 IR drop,另外一种则是动态的 IR drop。

  • 静态 IR drop 现象产生的原因主要是电源网络的金属连线的分压,是由于金属连线的自身电阻分压造成的。电流经过内部电源连线的时候产生电源压降。所以静态 IR drop 主要跟电源网络的结构和连线细节有关。因此静态 IR drop 主要考虑电阻效应,分析电阻的影响即可。

  • 动态 IR drop 是电源在电路开关切换的时候电流波动引起的电压压降。这种现象产生在时钟的触发沿,时钟沿跳变不仅带来自身的大量晶体管开关,同时带来组合逻辑电路的跳变,往往在短时间内在整个芯片上产生很大的电流,这个瞬间的大电流引起了 IR drop 现象。同时开关的晶体管数量越多,越容易触发动态 IR drop 现象。

3. 静态 IR Drop 分析的流程

图 1 静态 IR Drop 分析流程

官方的建议是建立如图 2 所示的目录结构。其中 def 包括了不同 instance 和模块的逻辑和物理连接关系。通过 ICC 或者 ICC2 写出对应的 def 文件。

图 2 IR Drop 分析目录结构

lef 是指 Std cell,IP,Memory,io,bond pad,子模块的 lef。除了子模块的 lef 外,其他 fab 厂都会提供对应的文件。子模块的 lef 可以由 Milkyway 来生成。这里需要注意的是 tech lef 必须写在 lef list 中的第一个。lib 是指 design 中所用到的 standard cell,memory,ip,io 等子模块的 lib 文件,这些文件 fab 厂或者 Vendor 均有提供。

ploc 文件也称为 PAD 文件,其中包含 design 中所有的供电点信息,比如 power pad,center pad 的 instance 名字,坐标位置,layer 层次以及 power net 信息。spef 文件为数字后端实现后抽取 RC 用来跑 STA 的 spef 文件。

tech 文件是指 Apache 的 tech 文件,这个文件一般可以通过 ircx2tech 来产生。

具体命令如下:

ircx2tech -i rc_ircx.rc_cworst.ircx -o rc_ircx.rc_cworst.tech -v max -m IRCX2tech.mapping

Timing 文件可以通过 STA 中的 PT session 来产生对应的 Timing 文件。具体产生步骤如下:

restore_session top.pt_session

source pt2timing.tcl

getSTA *

VCD(Value Change Dump)文件一般由数字前端工程师提供。VCD 文件是 IEEE1364 标准 (Verilog HDL 语言标准) 中定义的一种 ASCII 文件。它主要包含了头信息,变量的预定义和变量值的变化信息。正是因为它包含了信号的变化信息,就相当于记录了整个仿真的信息,我们可以用这个文件来再现仿真,也就能够显示波形。因为 VCD 是 Verilog HDL 语言标准的一部分,因此所有的 verilog 的仿真器都要能够实现这个功能,也要允许用户在 verilog 代码中通过系统函数来 dump VCD 文件。我们可以通过 Verilog HDL 的系统函数 $dumpfile 来生成波形,通过 $dumpvars 的参数来规定我们抽取仿真中某些特定模块和信号的数据。

因为 VCD 记录了信号的完整变化信息,我们还可以通过 VCD 文件来估计设计的功耗,而这一点也是其他波形文件所不具备的。 PrimeTime PX (Prime Power,这个工具其实是功耗分析的 Signoff 工具)都可以通过输入网表文件,带功耗信息的库文件以及仿真后产生的 VCD 文件来实现功耗分析。

由于静态 IR Drop 分析是基于 power 平均分布在每个 instance 上,因此我们在分析 IR Drop 前还需要给 design 中各个子模块指定一个预估的功耗值。这个功耗值的确定需要根据以往的项目经验或者实测功耗值,额外再添加点 margin。这个功耗值如果设置不合理,分析出来的结果也是不具备参考价值的。另外,还需要设置合理的 toggle rate 值。

参考脚本如下:

# Setup anlysis mode

setup analysis_mode static

# Design Importing

import gsr top.gsr

setup design

# Power calculation

perform pwrcalc

# Extract PG RC

perform extraction -power -ground

perform gridcheck

#Perform anlysis

perform analysis -static

#perform emcheck -mode avg

#run Redhawk explorer

explore design

# -constraint_file “cons.rpt”

#save database

export db static_ir.db

4. 动态 IR Drop 分析的流程

图 3 动态 IR Drop 分析流程

动态 IR Drop 分析的流程如图 3 所示。动态 IR Drop 分析主要有三种方法。第一种是 Vectorless 分析方法,第二种是 Base VCD 的分析方法,第三种是 VCD-driven 的 Vectorless 分析方法。比较常用的是前面两种方法。前期的数据准备与静态 IR Drop 分析类似。动态 IR Drop 分析需要读入 APL 文件,比如 standard cell 的 cdev 文件。

在项目前期,由于数字后端实现的 database 没有 ready,后仿可能也没有时间做,所以此时动态 IR Drop 的分析一般都是基于 Vectorless。而项目后期都是需要基于某个场景下,比如 max power,去产生对应的 VCD,然后再去做基于 VCD 的动态 IR drop 分析。基于 VCD 动态 IR drop 的分析一般可以不指定各个子模块的功耗值,工具可以从 VCD 中获取对应的 power 值,如果没有对应的功耗值,则采用用户设置的值。

参考脚本:

# Setup anlysis mode

setup analysis_mode dynamic

# Design Importing

import gsr top.gsr

setup design

# Power calculation

perform pwrcalc

# Extract PG RC

perform extraction -power -ground -c

perform gridcheck

#Perform anlysis

perform analysis -dynamic

#perform emcheck -mode avg

#run Redhawk explorer

explore design

# -constraint_file “cons.rpt”

#save database

export db dynamic_ir.db

5.IR** Drop 的影响**

  • 性能下降

电压降低后,gate 的开关速度变慢,性能降低。因此,对于高性能的设计,必须将 IR Drop 控制在很小的范围内。

  • 芯片功能错误

在极端的情况下功能也会受影响的。在深亚微米下,如果 power network 做的不够好,然后碰上了很不好的 case,IR drop 在某个局部区域特别大(特别是动态 IR drop),从而导致 STA 阶段 signoff 的 timing 与实际情况不一致(考虑 OCV 仍然无法 cover design 的要求),导致 setup 或者 hold 的违例。setup 的违例,可以通过抬高电压来提升频率,但是代价是功耗上去了,而且如果动态 IR drop 不够 robust,可能通过抬电压,setup 能提升的空间也有限。而一旦出现 hold 违例,那芯片就无法正常工作。因此在先进工艺中,IR drop 的影响特别大,需要引起各位的高度重视。

6. 改善 IR drop 的方法

  • 提高 power mesh 密度

  • 增加 power switch cell 数量

  • 插足够多的 decap cell(含 decoupling capacitance)

  • 将同时翻转的寄存器摊开些摆放

更多关于 IR drop 分析的细节,可以在公众号回复 “IR” 获取 Redhawk User guide

相关文章推荐(不看保证后悔)

CRPR 能补偿 crosstalk 吗?

原来电路最高工作频率是这么算出来的(STA 基础篇)

数字后端面试问答 No.1-3(每日三问)

秒杀数字后端实现中 clock gating 使能端 setup violation 问题

教你轻松调 DCT 和 ICC 之间 Timing 与 Congestion 的一致性

数字芯片设计实现中修复 setup 违例的方法汇总

数字 IC 设计中 ECO 的那些事,其实并不是事!

Scan chain reordering 怎么用你知道吗?

如何评价数字后端设计中 floorplan 的好坏?

数字后端实现时 congestion 比较严重,你 hold 得住吗?

数字后端实现 place 过程进阶

Final netlist release 前,你应该做好哪些工作?

基于 Physical Aware 的动态功耗优化实现方案

深入浅出讲透 set_multicycle_path,从此彻底掌握它

【大师必备】最全的数字 IC 设计经典书籍电子版下载

你与数字后端大神的差距在这里,快来瞧瞧!

数字后端实现时 congestion 比较严重,你 hold 得住吗?

时钟树综合(clock tree synthesis)基础篇

【福利】数字 IC 后端各种 Userguide 下载

好了,今天的内容分享就到这里。另外,因为公众号更改推送规则,小编分享的每篇干货不一定能及时推送给各位。为了避免错过精彩内容,请关注星标公众号,点击 “在看”,点赞并分享到朋友圈,让推送算法知道你是社区的老铁,这样就不会错过任何精彩内容了。

如果你想和小编有更进一步的沟通交流的机会,欢迎加入小编知识星球,让我们一起学习成长,共同进步。相信在这里能让你成就一个更完美的自己

小编知识星球简介(如果你渴望进步,期望高薪,喜欢交流,欢迎加入 ****)

在这里,目前已经规划并正着手做的事情:

  • ICC/ICC2 lab 的编写

  • 基于 ARM CPU 的后端实现流程

  • 利用 ICC 中 CCD(Concurrent Clock Data)实现高性能模块的设计实现

  • 基于 ARM 四核 CPU 数字后端 Hierarchical Flow 实现教程

  • 时钟树结构分析

  • 低功耗设计实现

  • 定期将项目中碰到的问题以案例的形式做技术分享

  • 基于 90nm 项目案例实现教程(ICC 和 Innovus 配套教程)

  • 数字 IC 行业百科全书

吾爱 IC 社区知识星球星主为公众号” 吾爱 IC 社区” 号主,从事数字 ic 后端设计实现工作近八年,拥有55nm,40nm,28nm,22nm,14nm等先进工艺节点成功流片经验,成功tapeout 过三十多颗芯片

这里是一个数字 IC 设计实现高度垂直细分领域的知识社群,是数字 IC 设计实现领域中最大,最高端的知识交流和分享的社区,这里聚集了无数数字 ic 前端设计,后端实现,模拟 layout 工程师们。

在这里大家可以多建立连接,多交流,多拓展人脉圈,甚至可以组织线下活动。在这里你可以就数字 ic 后端设计实现领域的相关问题进行提问,也可以就职业发展规划问题进行咨询,也可以把困扰你的问题拿出来一起讨论交流。对于提问的问题尽量做到有问必答,如遇到不懂的,也会通过查阅资料或者请教专家来解答问题。在这里鼓励大家积极发表主题,提问,从而促进整个知识社群的良性循环。每个月小编会针对活跃用户进行打赏。

最重要的是在这里,能够借助这个知识社群,短期内实现年薪百万的梦想!不管你信不信,反正已经进来的朋友肯定是相信的!相遇是一种缘分,相识更是一种难能可贵的情分!如若有缘你我一定会相遇相识!知识星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有 881 星球成员,感谢这881童鞋的支持!欢迎各位渴望进步,期望高薪的铁杆粉丝加入!终极目标是打造实现本知识星球全员年薪百万的宏伟目标
在这里插入图片描述

欢迎关注 “吾爱 IC 社区

微信号:ic-backend2018
在这里插入图片描述

https://mp.weixin.qq.com/s/BWdnrQIupC4OWH26EkVGhQ

  • 10
    点赞
  • 173
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值