首页 > 其他分享 >后端基础——congestion

后端基础——congestion

时间:2023-03-30 23:12:06浏览次数:49  
标签:Gcell congestion 基础 绕线 cell design Congestion

congestion,中文名是拥塞。这是一个反应设计绕线资源一个重要指标参数。通常在还没有final routing的阶段使用,拥塞程度越高,一般意味着后期绕线越容易出现metal short,spacing violation等drc。

 

 

1,通常分为以下几类congestion

(1)Channel Congestion:此种现象比较常见,也比较简单,多发生于hard macro之间。当macro之间的空隙不足以满足需要穿过的net所需要的资源的时候,就会发生channel congestion。因此,在floorplan阶段,考虑每个channel中可能穿过的net数量,配合metal layer层数和routing rule估算绕线资源是通常需要后端设计者考虑的事。遇到channel congestion时最简单的想法当然是增大macro距离,但这并不是总是有用,尤其是channel中有逻辑cell穿过的时候,设计者需要根据design的逻辑规划数据走向,控制channel内的逻辑数量。

(2)PG(Power Ground)Congestion:此种情况多由于power/ground的结构不合理或者过剩导致的。常用的手段是,如果在芯片局部出现绕线紧张的现象,会通过删除部分pg via/shape来释放一部分绕线资源。当然,这样做的前提是电源网络足够稳固(robust),IR-drop和power EM不会发生很大恶化。

(3)High Cell Density Congestion:此种congestion主要是由于局部或整体的cell过于密集导致的。在实际设计中,局部出现这种congestion的情况比较常见,我们可以通过很多手段来控制局部的density:placement blockage(soft hard partial), keepout margin(cell spacing constraint), cut row等。与此同时,工具也会提供一些功能来控制局部density,比如icc2的place.coarse.max_density。

(4)High Pin Density Congestion:此种congestion多发生于多pin cell集中的区域。在某些design中,如果不加控制,逻辑综合的结果可能是几百上千个此类cell聚集在一起从而造成某个区域的net十分密集。在place阶段,尽管工具会尝试把这些cell尽量推开,但是由于逻辑本身的限制优化空间有限。因此需要综合阶段配合,选择合适的cell来综合网表。例如可以禁用此类cell,使综合工具将其逻辑进行拆分。但是这样做的后果是可能导致design的逻辑数量增加,面积增大,功耗上升。因此需要对各方面的影响进行评估。

(5)Logic Congestion:此类congestion可以说是最棘手的问题之一。因为在后端结果看来,可能这类congestion的区域中cell density很低,也没有或者很少有多pin cell,周围也没有marco阻挡,但是congestion却一塌糊涂。原因可能在于前端工程师为了节省面积而将某一个模块复用多次,连接了过多的input或者output;也可能是design中存在大量的同级选择逻辑(如几百位的选择器)。原因不一而足,需要后端工程师去深入分析design才能得出结论。这类问题需要向前端工程师反馈,与他们沟通能否修改RTL,而且常常以牺牲面积或者性能为代价。

 

2,衡量congestion 的指标

(1)Overflow

Congestion 分析基于一个基本『单元』称为GCELL: Routing Grid cell. Gcell 是工具自己定义的一个单位格子,通常是一个ROW 的高度的小正方形,用户可以根据自己的需求在工具里设置Gcell 的大小。当Gcell 定义好之后,每个Gcell 包含固定的绕线资源,如一个Gcell 有5 个track, 如果有7 条线要经过该Gcell 那该Gcell 的overflow 就是2。在分析Congestion 时,对于面积大density 低的设计,只看overflow 并不能确定congestion 是否有问题,此时Hotspot 更能反应真实情况。 用reportCongestion -overflow查看情况

(2)Hotspots

hotspot表征的是设计中congestion的热点,它是用面积来表示hotspot的分数。如果这个分数越高代表的是这个位置有congestion的点比较多。所以这个位置附近就有比较聚集的congestion问题。

参考资料:

数字后端设计能否绕通的两大技术指标—overflow和hotspot - 知乎 (zhihu.com)

(10条消息) 手把手教你在innovus中使用verify_drc_IC拓荒者的博客-CSDN博客

 

标签:Gcell,congestion,基础,绕线,cell,design,Congestion
From: https://www.cnblogs.com/hwzhao/p/17274729.html

相关文章

  • linux设备树-基础介绍
    一、介绍1.1为什么引入设备树我们首先回顾一下我们之前学习过的驱动程序。比如:linux驱动移植-lcd驱动基础;在arch/arm/plat-samsung/devs.c文件中定义了platform设备s3c_device_lcd,在arch/arm/mach-s3c24xx/mach-smdk2440.c文件定义了platform数据smdk2440_fb_info。linux驱动......
  • python基础学习总结
    python关键字也是以下划线或者字母开头。python关键字可以通过导包获取关键字如下: ['False','None','True','and','as','assert','async','await','break','class','continue'......
  • 前端基础小复习
    目录1.HTTP协议四大特性2.HTTP协议数据传输格式3.状态码4.基本选择器会前端基础在IT行业很有帮助,无论是做爬虫数据分析,解析数据,做数据清洗都有帮助,因为我准备做数据获取过程中发现浏览器的HTML看不懂,直接影响了我的工作进度,因此直接暂停,网页结构有三个部分组成的即HTML、CSS......
  • 03-网络安全-web渗透环境搭建(基础篇)
    01--所需系统环境:虚拟主机系统部署(vmware,虚拟主机创建、虚拟主机网络配置(桥接,便于网络中多个主机都能访问虚拟主机)、虚拟软件功能,快照、克隆、镜像文件加载,ova文件制作)(模拟被攻击者、攻击者、通讯方)windows2003/2008windows 7/10linux系统  kail/contos02--网站服务架......
  • MySQL数据库怎么创建表?MySQL数据库基础知识
    MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。MySQL最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库......
  • Python计算机视觉基础实验3-显著性检测(HC&FC)
    一、实验基础图像显著性检测图像的显著性是指对于给定一副真实世界中的场景图像,人们会自动地识别出感兴趣区域,忽略掉不感兴趣的区域,即将注意力集中在图像中某些显著的部分区域。图像的注意预测,也称视觉显著性检测,指通过智能算法模拟人的视觉系统特点,预测人类的视觉凝视点(就是全神贯......
  • JAVA~适合新手和复习~基础七(线程)
    Java多线程编程一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。线程和进程关系:一个进程包括由操作系统分配的内存空......
  • VUE3基础笔记
    date:2023-3-3010:00:00categories:-前端系列tags:-VUEtitle:VUE3基础笔记视频地址:2022最新Vue零基础小白入门教程,从入门到精通,快速上手简单易懂_哔哩哔哩_b......
  • 【0基础学爬虫】爬虫基础之网页解析库的使用
    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易......
  • 基础篇丨链路追踪(Tracing)其实很简单
    作者:涯海一、分布式链路追踪的起源当周末躺在被窝里,点外卖时;双11的零点,疯狂提交订单时;假期和基友激情开黑,五杀超神…在这个精彩纷呈的互联网世界里,这些应用背后又隐......