derive_pg_connection创建的VDD VSS两个port有什么用
derive_pg_connection的时候 用选项 -create_ports top 创建top level的 VDD 和 VSS 的两个port
请问这俩port有什么作用呢;自己的这个 design最高layer用的metal6,放到chip level的时候,用metal7的strap直接和design中的metal6的
strap直接连接不就可以给deisgin供电了吗 为什么还需要创建两个port呢?
模块级别的时候就必须有这两个port。如果没有ICC在顶层run lvs的时候top power ring会在该模块上方报出一堆VDD NULL,VSS NULL short的错误!因为模块没有这两个port,顶层就没法对这个模块derive ,给calibre跑lvs的网表module定义里头也会少了这两个power port, top flat lvs网表都可能吃不进去
有这2个port会更好,方便的多
那top的话 就没必要设置这两个port了 是吧
也要的,写出verilog出来 也有的,
小编 也就是说无论是 block level的desing还是 chip level的design都必须声明这个port吗
感觉如果block level,我的最高层用的是metal6做的strap,那么在top层 直接用metal7 通过打孔方式就可以连接起来 就可以给这个block供电啊不明白为什么需要另外的两个port呢
顶层也要,只是我们经常把power port 当信号port定义了,如果定义了,就只好在网表最后assign上去了,没定义就按正常流程走
你可以去试一试,我保证你打不上via,除非你把这个模块移开,并且生成和模块内部一模一样的m6放在那里。你可以把这个模块当std cell看待,如果一个std cell没有power pin,它是不是没法derive,那就没法连power strap,你即使手动放在site上它也是和power strap short了
恩 这么一说 就理解了! 挺形象的 多谢哈!
突然想起来,对于top level来说,创建了VDD VSS的port,因为port是逻辑上的,那是否还需要
create_terminal来为此port创建terminal呢?
学习了,牛人啊
在top design m7打via到m6的时候,你就会发现模块上方不好处理了,这个时候其实就是需要你把所有power m6生成terminal,然后derive到top design里头的VDD VSS上,然后create preroute via 选项选从ring到macro pin
convert_wire_to_pin 命令就是干这个事情的
版大的意思是说将 top level 的 metal7 转换为 pin?
明天去试试,我都是写个循环把wire生成terminal
wire为什么要转化成 terminal,版大说的没有很理解;您能在稍微详细说下嘛,多谢了
就是把stripes 选中做为terminal出来, 上面 高层金属power route的时候可以tap上,
你如果没这个需求,可以忽略,有的需求再来学
哦 原来如此 明白了!3q!