数字IC后端实现之PR工具中如何避免出现一倍filler的缝隙?

devtools/2024/11/29 16:31:30/

数字IC后端实现中,由于有的工艺foundary不提供Filler1,所以PR工具Innovus和ICC2在做标准单元摆放时需要避免出现两个标准单元之间的缝隙间距是Filler1。为了实现这个目的,我们需要给PR工具施加一些特殊的placement constraint(典型案例就是咱们社区TSMC 28nm项目)。

数字IC后端设计实现之Innovus place报错案例 (IMPSP-9099,9100三种解决方案)

下面分别分享ICC2和Innovus两个工具的做法。

【思考题】为何同是28nm工艺,GlobalFoundary为何支持任意两个标准之间的间距是一倍Filler的宽度?

ICC2中实现脚本:

###删除现有的spacing rule

remove_placement_spacing_rules -all

###设置placementspacing rule来控制cell的摆放 (这样设置还可以避免一些DRC)

set_placement_spacing_label -name X -side both -lib_cells [get_lib_cells /]
set_placement_spacing_rule -labels {X X} {0 1}

###检查设置是否成功
report_placement_spacing_rule > spacing_rule.rpt

延伸:这里也可以针对设计中那些不好绕线的cell来设置spacing rule来避免DRC。

set_placement_spacing_label -name X -side both -lib_cells [get_lib_cells /AOI]

数字后端cell <a class=spacing rule" />

Innovus中实现脚本:

setPlaceMode -place_detail_legalization_inst_gap 2

innovus  cell edge spacing 约束


http://www.ppmy.cn/devtools/137965.html

相关文章

使用GitZip for github插件下载git仓库中的单个文件

背景&#xff1a;git仓库不知道抽什么疯&#xff0c;下载不了单个文件&#xff0c;点击下载没有反应&#xff0c;遂找寻其他方法&#xff0c;在这里简单记录下。 使用GitZip for github插件下载仓库中的单个文件 1、首先在浏览器安装插件&#xff0c;并确保为打开状态。 2、然…

Mac电脑使用Python控制桌面【pyautogui】

pyautogui可以用于实现自动化任务,如控制鼠标、键盘,进行点击、输入、选择、屏幕截图等操作,方法与selenium、uiautomator2类似,相对于selenium是做web自动化,pyautogui更像是按键精灵之类的工具。 0、Mac电脑设置权限 需要在设置-隐私与安全性-辅助功能中设置: 如果你是…

机器学习6_支持向量机_算法流程

最大化&#xff1a; 限制条件&#xff1a; &#xff08;1&#xff09; &#xff08;2&#xff09; 如何求解这个对偶问题&#xff0c;同时基于对偶问题给出支持向量机算法的统一流程。 (核函数) 只要知道核函数&#xff0c;就可以求个这个最优化的对偶问题。 求解了这个对偶…

LeetCode训练Day1

LeetCode26 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &a…

QT配置文件详解

TEMPLATElib TEMPLATE变量用于指定项目模板类型&#xff0c;其值可以是以下几种&#xff1a; app&#xff1a;建立一个应用程序的makefile&#xff0c;这是默认值。lib&#xff1a;建立一个库的makefile。vcapp&#xff1a;建立一个应用程序的Visual Studio项目文件。vclib&a…

shell编程5,字符串运算符

声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&#…

Python深度学习框架:PyTorch、Keras、Scikit-learn、TensorFlow如何使用?学会轻松玩转AI!

前言 我们先简单了解一下PyTorch、Keras、Scikit-learn和TensorFlow都是什么。 想象一下你要盖一座大房子。你需要砖头、水泥、工具等等&#xff0c;对吧&#xff1f;机器学习也是一样&#xff0c;需要一些工具来帮忙。PyTorch、Keras、Scikit-learn和TensorFlow就是四种不同的…

线程的生命周期

线程的生命周期描述了线程从创建到消亡的整个过程&#xff0c;以及在这个过程中线程所经历的不同状态。以下是线程生命周期的详细解释&#xff1a; 一、新建&#xff08;NEW&#xff09; 当使用new关键字创建一个线程对象时&#xff0c;线程进入新建状态。此时&#xff0c;线…