数字IC后端设计实现之Innovus自动修复Min Step DRC Violation方案

server/2024/11/14 13:08:35/

在实际IC后端项目中我们经常会遇到min step的DRC Violation,如下图所示。

innovus min step drc violation

在咱们IC后端训练营项目中也会遇到这类DRC Violation。这类DRC Violation的本质是出现Metal的Notch,即metal有凹槽。
如果是pg net的 Min Step问题,我们可以使用下面的命令来尝试修复。

fixVia -minstep (这个命令无法修复signal net的min step问题)

但是我们经常会发现使用这个命令无法修复干净。

在这里插入图片描述

setVerifyGeometryMode -area { 0 0 0 0 } -layerRange { M1 M1 } -minWidth false -minSpacing false -minArea false -sameNet false -short false -overlap false -offRGrid false -offMGrid false -mergedMGridCheck false -minHole false -implantCheck false -minimumCut false -minStep true -viaEnclosure false -antenna false -insuffMetalOverlap false -pinInBlkg false -diffCellViol true -sameCellViol false -padFillerCellsOverlap true -routingBlkgPinOverlap true -routingCellBlkgOverlap true -regRoutingOnly false -stackedViasOnRegNet true -wireExt true -useNonDefaultSpacing false -maxWidth false -maxNonPrefLength -1 -error 2147483646 -warning 2147483646

verifyGeometry

注意事项:innovus20版本之后已经使用verify_drc替换原来的verifyGeometry命令了。

set_verify_drc_mode -area {0 0 0 0 } -layer_range { M1 M1} -disable_rules {jog2jog_spacing eol_spacing cut_spacing min_cut enclosure color min_area } -check_same_via_cell false -limit 2147483646
verify_drc

在做drc修复之前,需要提前设置好verify的相关mode。特别提醒在innovus中即便是添加routing blockage来自动修复drc,在ecoRoute之前也必须先执行verify_drc,否则工具会看不到这个routing blockage的存在。

verify_drc之后,我们就可以dbGet 来获取DRC Violation的Marker来快速抓取到DRC Violation的位置并做相应的处理工作。

innovus中根据DRC Violation自动修复DRC的方法

我们可以借助工具的fillNotch来进一步修复M1 的Min Step DRC Violation。

foreach m1 [dbGet top.markers.box] {
fillNotch -area $m1 -report m1_fillnotch
}


http://www.ppmy.cn/server/141600.html

相关文章

filerchain是什么类

FilterChain是Java Web开发中用于处理过滤器链的一个接口,主要在Servlet规范中定义。它用于在请求到达最终的目标资源(如Servlet或JSP页面)之前,依次调用一系列的过滤器(Filter)。每个过滤器可以对请求和响…

【开源免费】基于SpringBoot+Vue.JS宠物咖啡馆平台(JAVA毕业设计)

博主说明:本文项目编号 T 064 ,文末自助获取源码 \color{red}{T064,文末自助获取源码} T064,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

【C++】 C++游戏设计---五子棋小游戏

1. 游戏介绍 一个简单的 C 五子棋小游戏 1.1 游戏规则&#xff1a; 双人轮流输入下入点坐标横竖撇捺先成五子连线者胜同一坐标点不允许重复输入 1.2 初始化与游戏界面 初始化界面 X 输入坐标后 O 输入坐标后 X 先达到胜出条件 2. 源代码 #include <iostream> #i…

「Mac玩转仓颉内测版3」入门篇3 - Cangjie的基本语法与结构

本篇将深入探讨Cangjie语言的基本语法与结构。这些基础知识为编写高效、可维护的代码奠定了坚实基础。通过理解语句结构、表达式、注释及数据类型&#xff0c;能够更自信地使用Cangjie进行编程。 关键词 Cangjie基本语法语句结构表达式注释数据类型控制结构 一、基本语法 1.…

设计模式-七个基本原则之一-单一职责原则 + SpringBoot案例

单一职责原理:(SRP) 面向对象七个基本原则之一 清晰的职责&#xff1a;每个类应该有一个明确的职责&#xff0c;避免将多个责任混合在一起。降低耦合&#xff1a;通过将不同的职责分开&#xff0c;可以降低类之间的耦合度&#xff0c;提高系统的灵活性。易于维护&#xff1a;当…

Node.js笔记

问&#xff1a;npm install时&#xff0c;报错误&#xff1a;Failed to remove some directories。怎么办&#xff1f; 答&#xff1a;我在使用npm安装electron时总是报上面的错误&#xff0c;具体如下&#xff0c;我问遍了KIMI和通义&#xff0c;回答的方法都解决不了。还搜索…

组件间通信(组件间传递数据)

组件间通信(组件间传递数据) 在 Vue.js 中&#xff0c;组件间通信是开发者需要经常处理的任务&#xff0c;特别是在构建具有多层次组件的复杂应用时。根据组件之间的关系和数据流的复杂程度&#xff0c;可以采用不同的通信方式。以下是常用的几种组件间通信方式&#xff1a; …

在uniapp中封装请求接口 (带刷新token)

import { apiUrl } from /config/global-config.js import { useUserStore } from ../stores import { usePageRoute } from "/composable/usePageRoute.js"// 默认配置 const DEFAULT_CONFIG {timeout: 60000,// showLoading: true,// loadingText: 加载中... }// …