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

在实际IC后端项目中我们经常会遇到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的位置并做相应的处理工作。

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

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

相关推荐
IC拓荒者2 天前
数字后端零基础入门系列 | Innovus零基础LAB学习Day11(Function ECO流程)
数字ic后端·数字后端培训·innovus零基础lab·innovus零基础入门·function eco·post-mask eco·innovus eco步骤
IC拓荒者4 天前
数字IC后端设计实现之Innovus place报错案例 (IMPSP-9099,9100三种解决方案)
数字后端·数字ic后端·ic后端培训·innovus零基础lab·innovus place·innovus零基础·scan chain
IC拓荒者5 天前
TSMC12nm工艺数字IC后端实现难点都有哪些?
数字ic后端·数字后端培训·calibre lvs·物理验证lvs·tsmc12nm·t12nm数字后端·double pattern
IC拓荒者8 天前
DDRPHY数字IC后端设计实现系列专题之数字后端floorplan&powerplan设计
数字后端培训·innovus零基础lab·ddrphy后端实现·数字后端项目案例
IC拓荒者8 天前
数字IC后端实现之Innovus specifyCellEdgeSpacing和ICC2 set_placement_spacing_rule的应用
数字ic后端·数字后端培训·calibre drc·drc·innovus零基础入门·innovus drc·物理验证drc
IC拓荒者13 天前
Innovus Flexible H-tree and Multi-tap Clock Flow Lab实操系列教程(Day1)
数字ic后端·数字后端培训·时钟树综合·innovus零基础入门·flexible htree·clock tree·multi-tap clock
IC拓荒者14 天前
物理验证Calibre LVS | SMIC Process过LVS时VNW和VPW要如何做处理?
lvs·数字ic后端·物理验证·ic后端培训·calibre lvs·vnw vpw·衬底接触
IC拓荒者19 天前
数字后端零基础入门系列 | Innovus零基础LAB学习Day9
数字ic后端·数字后端培训·innovus零基础lab·数字后端innovus·数字后端零基础·后端零基础入门·innovus走线
IC拓荒者19 天前
物理验证Calibre LVS Debug案例之通过deleteEmptyModule解决LVS问题
数字ic后端·数字后端培训·数字后端入门·calibre lvs·empty module·t12nm lvs案例·物理验证lvs