微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > ICC中添加添加POWER/GND port的问题

ICC中添加添加POWER/GND port的问题

时间:10-02 整理:3721RD 点击:
自己做的一个数字模块,模块本身并没有VDD/VSS的定义,但是在ICC中要添加VDD,VSS两个PORT,要如何操作呢?
我尝试了:
derive_pg_connection -power_net VDD -power_pin VDD -ground_net VSS -ground_pin VSS -create_ports top
发现虽然有了VDD,VSS这两个PORT了,但是ICC不会自动把net VDD,VSS自动连到这两个port VDD,VSS上面去, 在这里困住
了,希望各位大侠能够帮忙提示一下,多谢~

直接把模块里得port补上不就得了,这样下次再用也方便啊

恩,我现在这么做了,在verilog里面直接加了VDD和VSS的端口定义,现在在ICC里面有这两个PORT了,但是遇到的问题是没办法把这两个PORT和net VDD,VSS连起来,其他的PORT都是正常的能够和信号连起来.我的脚本是:
# Connect PG nets
derive_pg_connection -power_net VDD -power_pin VDD -ground_net VSS -ground_pin VSS
derive_pg_connection -power_net VDD -ground_net VSS -tie
check_mv_design -power_nets
# Set up the port position
set_port_location -layer_name MET4 -layer_area {-0.5, -0.5, 0.5, 0.5} VDD
set_port_location -layer_name MET4 -layer_area {-0.5, -0.5, 0.5, 0.5} VSS
# Do the placement floorplan, as the reference for floorplan
create_fp_placement
# Create core power/gnd rectangle rings
create_rectangular_rings -nets {VDD VSS} -left_segment_width 2 -right_segment_width 2 -bottom_segment_width 2 -top_segment_width 2 \
-left_offset 1 -right_offset 1 -bottom_offset 1 -top_offset 1
我的设计没有PAD,因为系统设计是数模混合,我只做数字个小模块,只要把信号连到几个PORT上就可以了,所以我只加了个rectangular_rings来连各个CELL的VDD和VSS, 但是就是怎么样能够让rectangular_rings和PORT VDD和VSS连上呢?还是说我这个思路本身就不对,有其他的操作我没有做呢?谢谢各位大大指点迷津啊~

缺省的时候setmw_logic0_netVSS
set mw_logic1_netVDD
按理说, -create_ports创建后, VDD/VSS net和port对应关系就好了,
实在不行,就 create_net/connect_net ,
这个是最死板的做法,肯定能行的
derive_pg_connections 是create_net/connect_net的特色形式,也就是针对P/G nets,

问一下
你说的没连是逻辑上还是物理上
逻辑上 derive_pg_connection -power_net VDD -power_pin VDD -ground_net VSS -ground_pin VSS 应该就可以
物理上当然要自己再连起来喽

逻辑上应该是连起来了,我用connect_net VDD VDD的时候,报的信息显示是net VDD已经连上port VDD了,可是由于port VDD是我在ICC中使用creat_port -direction "inout" VDD创建的,不是RTL网表本身自带的端口,所以在initial_floorplan以后,这个VDD端口就是停在原点死活不能移动,不像其他端口都已经被自动分配到了四周,后面的place_opt和route_opt也不会把这个端口和net VDD逻辑上连起来,这个问题折腾了两天了,什么办法都试过了,接近崩溃.还请大侠帮忙解答下,多谢~

一般来讲并不需要把VDD/VSS net连到物理上的 VDD/VSS port,
物理上电源线都是有 Stripe、ring的,
只要能出pin,连到外面就行了, 而且肯定是很多stripe,ring
VDD/VSS port只是个逻辑概念,物理上的意义不大,
如果是chip level,都是power pad拉电源线到ring ,stripe上,
即使VDD/VSS port放在原点,也不影响其他东西的, 不要紧的,

preroute_instances
preroute_standard_cells (里面设置VDD GND)

你要确认一下你的power net 是不是VDDVSS

我现在也遇到了同样的问题。
利用
create_portconnect_net
的方法如果将普通的net连接到创建的port上没有问题,但是将PG net连接就会出现连接不上的问题。
难道不是用这种方法来创建电源/地port的?
请各位大大出招啊。
多谢。



最后我还是没自己创建VDD/VSS的PORT,而是添加power strap的时候把strap延伸到module boundary上自己产生PORT,例如VSS:
create_power_straps -nets {VSS} -configure rows -direction vertical -layer MET3 -width 10 -start_at 150 \
-configure groups_and_step \
-num_groups 1 -step 210 \
-extend_low_ends to_boundary_and_generate_pins \
-extend_high_ends to_boundary_and_generate_pins

可以试试~具体的用法man一下create_power_straps

谢谢alphavor_jay兄,我回头试试

想请教下小编:我现在对derive_pg_connection 的作用有点模糊,他是让我们用到的所有的电源地对应的连接起来吗?为什么说VDD和vss是逻辑的呢?
还有我用了check_mv_design -power_nets出现了错误,对于错误我还没有一定的概念,烦请指教下,不知道要用什么命令来改。
http://bbs.eetop.cn/thread-323647-1-1.html

大哥我的没有io库现在要加vdd和gnd这个应该咋加?具体的脚本应该咋写非常感谢!

最后我还是没自己创建VDD/VSS的PORT,而是添加power strap的时候把strap延伸到module boundary上自己产生PORT,例如VSS:
create_power_straps -nets {VSS} -configure rows -direction vertical -layer MET3 -width 10 -start_at 150 \
-configure groups_and_step \
-num_groups 1 -step 210 \
-extend_low_ends to_boundary_and_generate_pins \
-extend_high_ends to_boundary_and_generate_pins
你可以在ICC里man create_power_straps看一下这条命令具体怎么用的

这句话 可以在上面生成vss但是好像不是port啊况且也不会自动的连接到内部的(意思就是管子上的)vdd上面啊晕还是有点不懂!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top