奇怪的LVS问题
找一下這個std的 port 5在 layout的哪
看看是不是有打了text 而且又floating的情形
check一下LVS command file metal text 的連接性
PORT5就是指的是VDD,为什么会认两次呢!
"5" 應該是那個port 打的text name
檢查一下layout有沒有用任何layer 層打下那個text
有的話看一下該layer 層電性和哪層metal 連接
比如說
layer 40 M1
text_layer 112
attach 40 112
layer 42 M2
text_layer 114
attach 42 114
假使你在power上用layer 114 打了一個text 5
LVS會認為 M1 VDD, M2 5,
而M1, M2間又無SHORT故為2個PORT
我只能想到可能是這樣了...
5 应该是衬底,默认是接到VDD或者VSS。
我也是这么想的!但怎么样才能让LVS过呢?
就是这个原因……之前被这个搞过一次,在multi power design中,衬底并不是直接连到power rail上的
我们遇到这种情况就要改spice了
那大牛我改怎么改呢?焦头烂额中。
你这是Multi-VDD的design 么?
是的!
那我再问个问题,你的STD CELL中衬底和source是否连在一起呢,还是STD cell中没连,只是在TOP中连在一起的 呢?
按我的经验如果STD cell中衬底和source连起来的话应该不会出现这个问题。

衬底应该是在top层才连得把!网表里standcell定义就和上面图中定义的一样。
这个图是我从layout中抽取的网表,如果你是在top中才把衬底和source连起来的话,那你就需要在网表中把衬底的pin也定义出来,比如
.SUBCKT INVD1 VDD VSS ZN I VNW
MO ZN I VDD VNW pch...
这个VNW就是指衬底,一般成熟的库都会给你弄好这些的,可能是你拿到的库不是最新的版本或者是special release版本。
如果我在定义standcell的子网表中加了VNM这个pin的话,那在spice网表中是不是也要加上这个pin,
比如说XU_BUFX8M BUFX8M $PINS A=VIN Q=VOUT VDD=VDD VSS=VSS VNW=VDD,数量比较多,这样改起来比较麻烦啊
是这样的,所以说你用的库不是成熟的库啊,成熟的库会在lef或者Milkyway中也定义好VNW 这样的pin,这样PR工具就可以像处理 VDD VSS这样处理VNW了。
你这样的问题只能先写个脚本处理一下了。
,脚本怎弄?
用VIM或者其他的编辑器替换,比如:%s/VDD=VDD / VDD=VDD VNW=VDD/g
