【Innovus】做postmask功能ECO需要分几步

数字IC后端设计实现中的Post-mask ECO应该怎么做? 阅读详情
AI摘要

本文详细介绍了在Innovus环境中进行Postmask ECO(工程变更指令)流程的操作步骤,包括读入设计、确认网表差异、连接电源地、指定sparecell列表、映射sparecell、手动优化、ECO路由、时序分析、DRC检查以及最终的GDS输出。这一流程对于IC后端设计中修复设计问题至关重要。

一般Postmask功能ECO流程分成以下几步:修改RTL和验证、修改网表(LEC)、后端工具里ECO Route。如下图:

3fe0f262787219c25db14d5827b22cb4.png

因为是postmask,所以不能加减stdcell,但可以用spare cells来映射。今天重点来介绍在Innovus里实现ECO Route需要怎么操作。

第一步:读入设计,并替换新网表

source design.enc.dat/design.globals

set init_verilog design_pr_eco.v

init_design

第二步:读入老def,对比网表差异

ecoDefIn -postMask -reportFile eco.rpt design.def

通过eco.rpt来确认是否新加了cell,新加的cell是否有可能直接用sparecell替换。

第三步:连接电源和地

globalNetConnect VDD -type pgpin -pin VDD -inst * -module {}

globalNetConnect VSS -type pgpin -pin VSS -inst * -module {}

globalNetConnect VDD -type tiehi -inst * -module {}

globalNetConnect VSS -type tielo -inst * -module {}

第四步:指定spare cell列表

source -echo -verbose sparelist.tcl

6daf10d7b375c20abb489dc6ff996b9a.png

修改逻辑释放出来的cell也应当加到sparecell列表里。

第五步:映射spare cells

ecoPlace -useSpareCells true

第六步:手动优化place

attachTerm spr_1/spr_gate594 A n_tiehi_net

detachTerm spr_1/spr_gate594 Y

attachTerm spr_1/spr_gate752 A n_20211125_3_inv

attachTerm spr_1/spr_gate752 Y wire45008

检查place后用到的sparecell的远近和连线长短,手动交换sparecell。

第七步:eco route

ecoRoute

editDeleteViolations

ecoRoute

第八步:分析timing及timing ECO

setAnalysisMode -analysisType onChipVariation -cppr both

timeDesign -postRoute

timeDesign -postRoute -hold

...

第九步:检查及清除DRC

verify_drc

verifyGeometry

verifyConnectivity

verifyProcessAntenna

...

第十步:导出GDS,保存新设计

streamOut

saveDesign

...

最后,用一张图片来总结一下输入和输出文件,如下图:

f8167cc62000753d7a92630149d89e1d.png

都说PostMask ECO难,到底难在哪里 总结了六点关于芯片做postmask eco难的原因 阅读详情

相关推荐

数字后端零基础入门系列 | Innovus零基础LAB学习Day11(Function ECO流程)

数字后端零基础入门系列 | Innovus零基础LAB学习Day11(数字IC后端实现post-Mask ECO流程)

weixin_37584728的博客 1707

数字IC设计中ECO的那些事,其实并不是事

数字IC设计中ECO的那些事,其实并不是事! 点击标题下「蓝色微信名」可快速关注 刚好最近一直在忙着芯片的测试工作(发现某些 bug),都没来得及规划公众号文章的内容,都是想到啥写啥。等后面没那么忙的时候,小编就抽空来整理一个清单,让大家循序渐进,系统地来学习数字后端设计实现的整个环节。so, 今天先跟大家聊聊数字 IC 设计中 ECO 的那些事。ECO 中文翻译就是工程变更(Engineering Change Order)。很多工作几年的朋友,肯定或多或少都接触过这个事情。因为 design 中写的算法

weixin_37584728的博客 1万+

Innovus ECO修复实战:ecoAddRepeater插buffer/inverter详解

在芯片后端实现中,ECO(工程变更单)是功能冻结后修复时序、DRC和antenna违例的常用手段。其核心思路是在不影响既有布局的前提下,通过插入buffer或inverter对局部net进行“微创手术”,以改善信号完整性、修复hold time或切断长金属走线。作为Innovus中关键的ECO命令,ecoAddRepeater能够精准控制cell类型、插入位置和逻辑极性,配合ecoRoute和时序更新,可以在最小扰动下完成修复。理解其与传统addRepeater的区别,掌握批量脚本、位置控制、spare c

weixin_42520573的博客 299

ECO基本概念:post-mask eco

ECO, conformal lec, post-mask, spare cell, freed cell, gate array

weixin_52822919的博客 707

数字IC工程师必看:Post-Mask ECO与Pre-Mask ECO的5个核心差异点

本文深入解析数字IC设计中Post-Mask ECO与Pre-Mask ECO的5个核心差异点,包括实施时机、可修改范围、Spare Cell策略、金属层修改约束及项目风险成本权衡。特别针对Innovus工具中的ECO流程操作差异进行技术对比,帮助工程师在流片关键阶段做出最优决策,确保芯片设计正确性与经济效益。

weixin_29248611的博客 115

Metal ECO Flow

Metal ECO 流程通过金属层布线调整和门阵列填充单元的灵活替换,在不修改底层掩模的前提下实现时序修复,是门阵列设计在掩模制造后进行时序收敛的关键手段。该流程显著降低了后期设计变更的成本和时间,尤其适用于对成本敏感的芯片项目或需要快速迭代的场景。Metal ECO 流程(又称 Post-Mask 流程)是一种针对门阵列(Gate Array)设计的时序修复方案,其核心特点是。:使用指定的门阵列填充单元,通过插入缓冲器或调整单元尺寸修复保持时间违例,同时维持布局密度。,即可完成网表变更。

weixin_45371279的博客 999

数字芯片设计实现中修复setup违例的方法汇总

转自吾爱IC社区在微信的专栏https://mp.weixin.qq.com/s?src=11&timestamp=1555656058&ver=1555&signature=uqS6ge93k0n6Kr4XNm5oze2HB-rHd-ieyIv3Aanx07aWmG4MehKU5lwlo5NCHTy3tnsq6q8EInDSqA9HdvvDjF36Qe9mZsy6iNl...

cy413026的博客 9013

数字IC后端ECO必知:Pre-Mask与Post-Mask的5个关键差异

在数字IC设计流程中,ECO(Engineering Change Order)是物理设计完成后修正逻辑缺陷、适配变更的重要手段。根据介入时机不同,ECO分为Pre-Mask与Post-Mask两大类型,二者在修改自由度、成本结构、验证策略及工具链支持上存在本质区别。Pre-Mask ECO发生在掩膜版制作前,仍可调整RTL和布局布线;Post-Mask ECO则只能基于现有标准单元与spare cell,通过修改金属层连线实现逻辑重构,同时还要面对扫描链一致性、IR drop等隐藏风险。理解这些差异,能够

diaoju3333的博客 296

IC设计工程师必须掌握的技能--ECO(Engineering Change Order)

IC设计流程中的ECO(Engineering Change Order,工程变更指令)可以在多个阶段进行,但主要分为两大类:Pre-Mask ECO和Post-Mask ECO,它们对应不同的实施阶段和成本消耗。

littlemingg的博客 7578

ecoRoute

This command is based on the Nanometer router. You must first run ecoDefIn and ecoPlace before you use this command. -cut_color_flip {0 1}: Fixes cut color DRC violations by flipping. When enabled 1...

hepiaopiao_wemedia的博客 3008

在innovus中通过ecoAddRepeater插入buffer/inverter

在innovus中,我们可以通过ecoAddRepeater命令来在net上添加单个buffer或者成对的inverters。ecoAddRepeater命令的行为由命令setEcoMode控制。 选项说明 -cell <list of cells> 指定插入的buffer或者inverter的类型。 -net <netName> | -term <inst1/term1 inst2/term2 ...> -net指定需要插入buffer/inverters的

kevindas的博客 1万+

innovus中的一些常见命令操作

【代码】innovus中的一些常见命令操作。

weixin_44606964的博客 2964

innovus:ecoPlace/ecoRoute如何节省run time

工具在做ecoPlace/ecoRoute时时间总是很长,下面推荐一些option可以节省run time,简单来说不需要工具在eco是考虑时序等问题。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 2024

Pre-Mask ECO 与 Post-Mask ECO

Pre-Mask ECO 与 Post-Mask ECO

weixin_50437242的博客 1393

Postmask eco flow – pr工具相关操作(innovus)

一般在进行postmask eco时,我们是不会动到base layer的,所以是不可以引入新的cell,只能使用预留的spare cell来修改电路,因此它进行修改范围比较局限,一般只会对逻辑进行修改,动到的cell较少;当然eco并不是万能的,不是前端想怎么改就怎么改的,毕竟地方就那么点,想大改功能,仿佛是天方夜谭,这个时候需要我们后端工程师与他们进行battle了,不过也得配合他们去不断改进eco方案(这个过程相当痛苦,小编刚经历过。e. 指定绕线层次,进行ecoRoute。

芯冰乐 2456

innovus:如何加spare cell

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?加spare cell有两种方式,一种是在网表中定义spare module,一种是pr中create spare module。

m0_61544122的博客 3019

powerPlan的步骤——innovus

创建完power网络后使用verify_drc命令check是否有DRC,verify_PG_short命令查看是否有short。注:M1/M2为横向(V),此外奇数层纵向,偶数层横向(H)如M3为纵向,M4为横向。#把所有inst的VDD pin连接到全局VDD。#把所有inst的VSS pin连接到全局VSS。

qq_44347276的博客 3313

innovus:floorplan阶段插spare cell利用率大于1的问题分析(IMPSP-5526)

这是由于使用了placeSpareModule -uti -stepx -stepy 命令,导致插的太多利用率爆掉了,这个方法好处是插的均匀,坏处是不容易预估利用率,其他加spare的方法可以看上面文章链接。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1058
上一篇: 代工双雄如何走向3nm?
下一篇: 芯片工程师为什么变的这么贵?
白山头
博客等级 码龄7年 1111粉丝 104原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值