插不上PG VIA怎么办?

ICC2用create_pg_vias给power mesh打孔,可以选bbox,可以选layer,可以选type……非常好用。

但是,经常遇到有些地方打不上孔。明明很简单的power嘛,不可能有DRC啊,可为什么就是打不上。试了半天也不行,难道是工具bug?算了,还是问问AE先。啥?AE明天才来啊,郁闷……

今天分享一个很强大的debug方法,能很快解决绝大多数打不上pg via的问题。

方法很简单,create_pg_vias有个选项-show_phantom,翻译成中文叫:幽灵现身。加上这个选项后,如果有打不上的via,这个命令会生成一个error file,告诉你某个地方打不上孔是因为什么原因。

create_pg_vias -show_phantom

举个栗子,我想把这个地方加一个VIA78,把M7,M8的power mesh连接起来

现在用这个命令

icc2_shell> create_pg_vias \

      -nets VSS \

-within_bbox {{{297 1025} {298 1026}}} \

-from_layers M7 \

-to_layers M8

Log:

Instantiating vias for 1 intersections starts

Starting via DRC checking ...

Committed 0 vias.

Error: DRC violations prevented new vias to be inserted. (PGR-051)

 

从log里看,via没有插入成功,原因是有DRC violation。但是是什么DRC 呢?不知道。这个时候就可以用“显示幽灵这个”功能了

 icc2_shell> create_pg_vias \

    -nets VSS \

    -within_bbox {{{297 1025} {298 1026}}} \

    -from_layers M7 \

    -to_layers M8 \

    -show_phantom

 log:

Instantiating vias for 1 intersections starts

Starting via DRC checking ...

Committed 0 vias.

Error: DRC violations prevented new vias to be inserted. (PGR-051)

Number of phantom vias: 1

 

仔细看log,这时有一个幽灵孔出现了。这时,再开打error brower研究一下。

选择checker是“create_pg_vias”那个error data,打开之,就能看到幽灵孔了,选择幽灵孔,可以看具体原因

中可以发现,有DRC是因为via78和"routing objects" overlap了。奇怪了,via78这层明明啥也有没有啊,和谁overlap了?

打开别的东西看看,咦,在via78发现了routing blockage 

猜你喜欢

转载自www.cnblogs.com/lelin/p/12582214.html