找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1562|回复: 2

[转帖] redhawk流程

[复制链接]

20

主题

1

回帖

148

积分

技术员

积分
148
发表于 2023-6-8 10:50:40 | 显示全部楼层 |阅读模式
本帖最后由 jiuwei 于 2023-6-8 10:52 编辑

1.IR drop概念
IR drop指电路中出现电压升高或者下降的现象。根据电阻分压的原理可知,一条又长又细的金属线两端的电压是不一样的。在先进工艺下,金属线的宽度越来越细,导致电阻值也越来越高,IR drop问题也越来越明显。目前,业界主流的IR drop分析工具是redhawk。正好前段时间做了一个项目,用redhawk跑了一个block的IR drop,记录一下主要流程。

2.IR drop分类
IR drop一般可以分为静态IR drop和动态IR drop。静态IR drop一般只考虑电源网络的电阻分压效应,不考虑内部cells的动态翻转。动态IR drop是电源在电路开关切换的时候电流波动引起的电压压降。一般来说,同一时刻,一个区域内越多的cells翻转,IR drop效应越明显。

3.redhawk的准备文件
跑redhawk之前,需要提前准备好文件,包括:def(ICC2吐出来的)、spef(starRC生成)、lef、lib、ploc文件(记录供电点位置信息)。其中lef需要包括stdcell、IP、memory等这些lef,还需要包括tech lef以及IR drop专用的lef。ploc文件一般是POWER PAD的位置,或者是block的顶层metal的位置,如下所示。其中,第一列是名称,第二列是x坐标,第三列是y左边,第四列是metal的层次,第五列是power net的名称。

对于静态IR drop而言,还需要timing文件,这个由pt产生,产生的脚本如下所示:

  1. restore_session xx/xxx/xxx/session
  2. set rc_slew_lower_threshold_pct_rise 20
  3. set rc_slew_lower_threshold_pct_fall 20
  4. set rc_slew_upper_threshold_pct_rise 20
  5. set rc_slew_upper_threshold_pct_fall 20
  6. source xxx/xxx/xxx/xxx/pt2timing.tcl
  7. getSTA *
复制代码

对于动态IR drop而言,需要VCD文件,由前端设计人员提供,并给出窗口时间以及FRONT_PATH,如下所示:


4.运行redhawk
启动redhawk命令:redhawk -i ./run_static.tcl

其中run_static.tcl文件里面内容如下所示:

  1. import gsr top.gsr
  2. setup design
  3. setup analysis_mode static
  4. perform pwrcalc
  5. perform extraction -power -ground
  6. preform analysis -static
  7. explore design
  8. export db static.db
复制代码

重点是top.gsr文件里面的内容,上述用到的文件都定义在top.gsr里面。还定义了power nets、温度和翻转率,如下所示:

  1. VDD_NETS {VDD 1.2
  2. VDDQ 2.1}
  3. GND_NETS {VSS 0}
  4. TEMPERATURE 85
  5. TOGGLE_RATE 0.1
复制代码

还定义了DECAP cell,如下所示:

  1. DECAP_CELL {
  2. FILLCAP4_A12TR40
  3. FILLCAP8_A12TR40
  4. FILLSGCAP16_A12TR40
  5. FILLSGCAP32_A12TR40
  6. FILLSGCAP64_A12TR40
  7. FILLSGCAP128_A12TR40
  8. }
复制代码

还定义了top的功耗或者内部模块的功耗,如下所示:

  1. BLOCK_POWER_FOR_SCALING {
  2. FULLCHIP ucon 0.0949
  3. FULLCHIP ucon/xxx/xxx/xxx/xxx/MRAM_BANK_0_inst 0.0007277
  4. }
复制代码

其中,ucon是最顶层的名字,MRAM_BANK_0_inst是其中一个MRAM的名字。

5.结果分析
跑完redhawk后可以先快速的看一下结果是否满足要求,一般静态IR drop要求在3%左右,动态IR drop要求在10%左右。可以打开adsRpt目录下面的redhawk.log文件查看worst IR drop,如下所示:


可以发现,静态IR drop和动态IR drop都满足要求。如果不满足要求,可以根据坐标位置或者instance name去ICC2中查看情况。是不是PG strap打的有问题,或者是cells太多太密了等等。

6.改善IR drop的方法
1.提升PG strap的密度,包括增加PG strap的宽度以及减小PG strap的间隙。但是会导致绕线资源的降低,需要合理使用。

2.添加DECAP cell。

3.将IR drop严重的区域内的cells往四周推开,降低cells density,从而降低一个区域内register同时翻转的概率。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
EDA1024论坛免责声明
请勿上传侵权资料及软件! 如果发现资料侵权请及时联系,联系邮件: fenxin@fenchip.com QQ: 2322712906. 我们将在最短时间内删除。

0

主题

7

回帖

56

积分

实习生

积分
56
发表于 2023-6-13 11:15:09 | 显示全部楼层
感谢分享

36

主题

463

回帖

1093

积分

工程师助理

积分
1093
发表于 2023-12-30 21:01:02 | 显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EDA1024技术论坛

GMT+8, 2024-10-18 10:47 , Processed in 0.042449 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表