请教encounter中post-mask eco遇到的问题
最初的设计,加入spare cell是采用 create sparemoudle 的方式添加的spare cell
dig.eco.v中只改了一个地方,只添加了一个单元
DEL01BWP7T ECO_cell_1 (//ECO
.I(n600),//ECO
.Z(ECO_net_1)//ECO
);//ECO
//AOI211D0BWP7T U35 (.A1(n600), //ECO
AOI211D0BWP7T U35 (.A1(ECO_net_1),
.A2(n14),
.B(n42),
.C(n5),
.ZN(n8));
而且相应的spare cell 也有这个单元:
DEL01BWP7T DEL01BWP7T_spr_gate1291 (.I(FE_OFN883_tie_hi_net0));
DEL01BWP7T DEL01BWP7T_spr_gate1290 (.I(FE_OFN883_tie_hi_net0));
DEL01BWP7T DEL01BWP7T_spr_gate1289 (.I(FE_OFN883_tie_hi_net0));
DEL01BWP7T DEL01BWP7T_spr_gate1288 (.I(FE_OFN883_tie_hi_net0));
DEL02BWP7T DEL02BWP7T_spr_gate1287 (.I(FE_OFN883_tie_hi_net0));
DEL02BWP7T DEL02BWP7T_spr_gate1286 (.I(FE_OFN883_tie_hi_net0));
DFCND2BWP7T DFCND2BWP7T_spr_gate1285 (.D(FE_OFN882_tie_lo_net0),
在做post-mask eco时,使用的命令行如下:
coDesign -postMask -modifyOnlyLayers 1:5 -spareCells spr* dig.enc.dat dig dig.eco.v
运行过程中,总是报错:
**ERROR: (SOCSYC-2100):Instance U_DIG/U_MEDIAN/ECO_cell_1 added but couldn't find spare cell for it.
但可以确定,dig.eco.v网表中新增加的ECO_cell_1的确是sparemodule中存在的单元。但不知道为何就是找不到相应的spare cell去替换。
请有经验的大侠们帮忙分析和解答一下,我的flow中是哪里出了问题?
在eco的过程中,看起来也找到了这个spare cell的:
Specifying instance [spr_15/DEL01BWP7T_spr_gate1291] as spare gate.
Specifying instance [spr_15/DEL01BWP7T_spr_gate1290] as spare gate.
Specifying instance [spr_15/DEL01BWP7T_spr_gate1289] as spare gate.
Specifying instance [spr_15/DEL01BWP7T_spr_gate1288] as spare gate.
Specifying instance [spr_15/DEL02BWP7T_spr_gate1287] as spare gate.
Specifying instance [spr_15/DEL02BWP7T_spr_gate1286] as spare gate.
Specifying instance [spr_15/DFCND2BWP7T_spr_gate1285] as spare gate.
Specifying instance [spr_15/DFCND2BWP7T_spr_gate1284] as spare gate.
....
Specifying instance [spr_1/AOI222D2BWP7T_spr_gate2] as spare gate.
Specifying instance [spr_1/TIEHBWP7T_spr_gate1] as spare gate.
Specifying instance [spr_1/TIELBWP7T_spr_gate0] as spare gate.
Specified 1397 instances as spare gate.
**ERROR: (SOCSYC-2100):Instance U_DIG/U_MEDIAN/ECO_cell_1 added but couldn't find spare cell for it.
**WARN: (SOCSYT-6782):Design has no tie cells so all tie connections will be connected to ground.
因为这里报错,所以后续ecoroute也会报错
#ERROR (NRDB-160) INSTANCE U_DIG/U_MEDIAN/ECO_cell_1 is unplaced. All instances must be placed before routing. Refer to Cadence placer or checkPlace for more information.
请大家指点一下,这种情况是哪里做得不正确!
多谢!
怎么今天发帖子,总是显示不出来呢?奇怪!
自己回复了一下,贴子终于在讨论区里出现了,呵呵。以前都没遇到过这样的情况。
用原來的instance name
DEL01BWP7T DEL01BWP7T_spr_gate1291
並且确认他们在同一个module里面,如果不在的话,要从一个module引线到另一个module
在做post-mask eco时,使用的命令行如下:
ecoDesign -postMask -modifyOnlyLayers 1:5 -spareCells spr* dig.enc.dat dig dig.eco.v
原帖中漏了写了第一字母“e”
首先谢谢陈涛小编!
用原來的instance name
DEL01BWP7T DEL01BWP7T_spr_gate1291
並且确认他们在同一个module里面,如果不在的话,要从一个module引线到另一个module
还有以下疑问:
1.是说网表中要做特殊处理吗?我还以为:网表中进行正常改动即可,只要网表中用到的cell是spare cell中有的即可。
2.用原來的instance name 这个具体该定义在哪里?
3.如果不在同一个module里的话,如何从一个module引线到另一个module?怎么实现呢?
多谢小编!
dig.eco.v中只改了一个地方,只添加了一个单元
DEL01BWP7T ECO_cell_1 (//ECO
.I(n600),//ECO
.Z(ECO_net_1)//ECO
);//ECO
上面那个单元的名字不能是ECO_cell_1,应该是原来的名字 DEL01BWP7T_spr_gate1291
DEL01BWP7T DEL01BWP7T_spr_gate1291 (.I(FE_OFN883_tie_hi_net0));
如果不再同一个module里,要在module上加port,把线连出来,接在一起
再不懂的话,我也没辙了
我的理解也是这样:前端直接把要用到的那个spare cell单元,做好相应的连接修改,后端读入,进行eco。
但前端认为,他不用去管具体要用哪个spare cell,直接改动自己想改的地方(只要确保他加入的单元是spare cell里面有的就行),然后我做post-mask eco的时候,工具会自动去映射到相关的就近的spare cell,自动进行替换。
到底实际实现post-mask eco时,应该是怎样的流程呢?
如果前端改网表时真要具体到使用某一个spare cell ,不就很有局限性吗,如何得知它就是距离最近的呢?提前在图中查找定位?而且如果网表中有很多地方都需要替换改动,这么做是不是就很耗时?
EDI这么弱智?
可以的,我们一直这么做的,没有问题
不行的话,人工找spare cell改不就好了,
数量不多的话 人工找spare cell 比工具找快
那么请教你,我的flow中具体是哪里出了问题,为什么网表中新加的inst总是找不到对应的spare cell呢?请帮忙指点一下,多谢!
问题就在于量很多,这样的话,人工找的方式就显得有点吃力了。
有specifysparecell应该不会出现找不到的?
那你看我是哪里出问题了,可能导致这样的错误呢?你做过,肯定很有经验了!
研究了很久,各种可能都去猜测了,就是不得结果,始终报这个错。
你帮我看看,如果需要什么其它报告内容,我可以再提供给你。
我有给你短消息,你收到了吗?希望能得到你的帮助!
实在没招了,只能怀疑是不是encounter版本问题,顺便问一下,你这个flow能顺利跑通的情况下用的什么版本?
8.1,11.1都可以,应该不是版本问题
-spareCells spr*--> -spareCells *spr* 試試
最后到底是如何解决的呢? 关注中
请问,最后你问题解决了吗?我也碰到了同样的问题,完全不知出路啊