本文选自知识星球,更多干货知识以及后端笔记、视频教程等,欢迎加入星球进行查看。
星球上线了基于GPT4和个人IC设计知识库的IC设计 AI机器人 ,且最近将模型升级为了GPT-4 128K模型,也加入了更多IC知识库,星球成员可以免费使用!!AI机器人24小时随时随地都能立刻回答用户的提问哦,效果非常棒!可以同时在电脑、手机、平板等多个平台上使用。
AI机器人还有绘图功能哦,最近几期的封面都是用AI机器人绘制的。
AI机器人的所有功能介绍如下:
基于GPT4和个人IC设计知识库的IC设计机器人v1.0正式上线
同时星球QQ群还有分享高达55万+字的个人数字后端设计笔记,欢迎加入。
《ICC2教程 - Shape相关常用命令及属性的查看与修改》
Shape有哪些常用属性
在讲后续内容之前,我们先看下Shape有哪些常用属性,我们后边可以根据这些属性使用-filter选项来进行筛选或者用命令对这些属性进行更改。我们可以使用list_attr命令查看Shape有哪些属性:icc2_shell> list_attributes -application -class shapelayer_name shape string A mask_constraint shape string A,S no_mask, mask_one, mask_two, mask_three, mask_four, same_masknet_type shape string A analog_ground, analog_power, analog_signal, clock, deep_nwell, deep_pwell, ground, nwell, power, pwell, reset, scan, signal, tie_high, tie_low, unsetphysical_status shape string A,S application_fixed, fixed, locked, minor_change, unrestrictedshape_use shape string A,S area_fill, core_wire, detail_route, follow_pin, global_route, lib_cell_pin_connect, macro_pin_connect, opc, pg_augmentation, rdl, ring, shield_route, stripe, trunk, user_route, zero_skew#其中area_fill是版图中为了满足最小密度规则而添加的Metal和Via的Fill;pg_augmentation是出于IR-drop考虑在版图中添加的额外的电源地Shape;is_vertical shape boolean Ais_horizontal shape boolean A#我们可以通过这两个属性判断一段shape是水平的还是纵向的。end_extension shape distance A,S start_extension shape distance A,S Shape真实的长度并非是length,需要加上start_extension和end_extension,它们是一段shape在头部和尾部延伸的长度,这个与Innovus中的length是一样的,可以参照Innovus中report_route -net的介绍。我们可以自己给某些添加的某些shape打上一些Tag,这样的话方便识别,如果发现问题的话我们也方便用命令抓出所有自己添加Tag的shape一下子删除,非常快捷。如何得到Shape的某属性的值
命令:get_attribute或者在写脚本的时候直接用简写get_attr也可以。icc2_shell> get_attr [get_shapes PATH_137_106] neticc2_shell> get_attr [get_shapes PATH_137_106] net.nameicc2_shell> get_attr [get_shapes PATH_137_106] layericc2_shell> get_attr [get_shapes PATH_137_106] layer.nameicc2_shell> get_attr [get_shapes PATH_137_106] layer_nameicc2_shell> get_attr [get_shapes PATH_137_106] shape_useicc2_shell> get_attr [get_shapes PATH_137_106] physical_statusicc2_shell> get_attribute [get_shapes PATH_136_771] bbox{1564.92000 0.00000} {1566.72000 722.40000}如何使用filter过滤得到需要的Shapes
使用filter然后加上前面的属性已经匹配的条件即可。比如下面的命令可以得到VM1层VDD及GND的Strap/Stripe:get_shapes -of_objects {VDD GND} -filter {layer_name == VM1 && shape_use == stripe}{PATH_136_1181 PATH_136_1180 PATH_136_1179 PATH_136_1178...}下面的命令可以选中版图中所有的VM(VM1/VM2等)层的电源地Stripe,其中=~可以用来匹配某个Pattern:icc2_shell> change_selection [get_shapes -of_objects {VDD GND} \-filter "layer_name=~VM* && shape_use==stripe"]如何更改Shape的layer
注意:该属性是read only的,我们无法通过set_attribute进行更改。icc2_shell> set_attribute [get_shapes PATH_21_3743] -name layer -value M4Warning: Unable to set attribute 'layer' for shapes because it is read only (ATR-010)我们可以在GUI里面右键修改Properties(快捷键Ctrl+r):icc2_shell> gui_change_layer -object [get_shapes PATH_21_3743] -layer M4如果喜欢本公众号也请多多分享哟,谢谢您的关注