本文选自知识星球,更多干货知识以及后端笔记、视频教程等,欢迎加入星球进行查看。
星球上线了基于GPT4和个人IC设计知识库的IC设计 AI机器人 ,星球成员可以免费使用!!AI机器人24小时随时随地都能立刻回答用户的提问哦,效果非常棒!可以同时在电脑、手机、平板等多个平台上使用。
AI机器人还有绘图功能哦,最近几期的封面都是用AI机器人绘制的。
AI机器人的所有功能介绍如下:
基于GPT4和个人IC设计知识库的IC设计机器人v1.0正式上线
同时星球QQ群还有分享高达55万+字的个人数字后端设计笔记,欢迎加入。
《dbShape应用练习与结果的图形化展示》
想抓出下图中纵向Metal6 PG stripe左右扩宽5um之外的Core区域,并且用红色全部填满来进行标注:
我们可以用下面的命令来抓取Metal6的PG stripe(也就是先抓Special wire,然后通过条件筛选shape属性是PG stripe且layer name是Metal6的部分),-if就是条件筛选:
[DEV]innovus 59> get_db nets .special_wires -if {.shape==stripe&&.layer.name==Metal6}
special_wire:0x7fff6a22aa70 special_wire:0x7fff6a0bdc70 special_wire:0x7fff6a0c0260 special_wire:0x7fff6a233760 ……
我们可以通过get_db xxx .rect来得到上面所有Shape的rect的坐标:
[DEV]innovus 60> get_db [get_db nets .special_wires -if {.shape==stripe&&.layer.name==Metal6}] .rect
{975.94 326.44 983.94 1115.56} {775.94 326.44 783.94 1115.56} ……
接着可以通过dbShape的SIZEX操作(SIZEX如果为正值则代表往左右各延伸指定的距离)来将上面的图形左右各往外延伸5um,输出格式的话可以采用rect的形式:
[DEV]innovus 61> dbShape [get_db [get_db nets .special_wires -if {.shape==stripe&&.layer.name==Metal6}] .rect] SIZEX 5 -output rect
{420.94 625.44 438.94 1124.56} {470.94 616.44 488.94 1115.56} {520.94 625.44 538.94 1124.56} ……
至此,如果你想看下效果,可以用下面的proc来通过指定rect坐标来方便在GUI里面标注一些矩形:
可以用下面的命令来将结果展示出来:
set shapes [dbShape [get_db [get_db nets .special_wires -if {.shape==stripe&&.layer.name==Metal6}] .rect] SIZEX 5 -output rect]
foreach rect $shapes {
hq_draw_rect -color red -rect $rect
}
其中上面Proc中的setLayerPreference命令可以指定绘制图形的填充方式,None的话就是中间是空的,上图就是这样的效果,
setLayerPreference layer_${color_name} -color $color_name -lineWidth 3 -isVisible 1 -stipple Bold
如果改成Brick的话就是砖块的效果:
Grid的效果:
Cross的效果:
其他几种效果从名字很容易就能看出来,这里就不展示了:
Horizontal -> 水平线
Vertical -> 竖线
Slash -> 斜线
Backslash -> 反斜线
下面的命令可以清除GUI里面的annatation:
delete_gui_object -all
上面的命令并还没有实现我们的预期,下面接着讲:
...(完整推文见知识星球)...
...
基于这个教程,下面出一个非常实用的dbShape tcl脚本编程题:
根据Floorplan对于宽度小于$X或者高度小于$Y的narrow channel,自动创建Soft blockage。或者更复杂一点,根据宽度/高度的不同区间自动去添加hard/soft/partial这些不同类型的placement blockage...
该功能在实际项目中非常、非常 常用。
星球简介
低功耗设计技术总结 - 3万字,129页 IR drop的分析与修复总结 - 4.3千字,20页 数字后端理论及实践-ICC干货笔记 - 11万字,423页 数字后端理论及实践-Innouvs教程(第4版)- 5.7万字,316页 ICC2教程-星球精编版 - 2万字,125页 数字后端理论及实践-Innouvs教程(第5版)- 11.8万字,635页 面试笔试题整理 面试笔试经验分享(第1版)- 1.6万字,48页 面试笔试题整理 面试笔试经验分享(第2版)- 2.3万字,87页 ICC2 ICC与Innovus的命令对照(第1版) Tcl与DesignCompiler教程(第1版)- 6.1万字,183页 DRC规则讲解、DRC的检查与修复(第1版)- 7.3千字,26页 Congestion的分析与修复专题(第1版)- 1.2万字,41页 Perl-Tk教程(第1版)- 1.6万字 73页 星球精华推文分类整理合集(第1版)- 1.8万字,75页 星球精华推文分类整理合集(第2版)- 4.4万字,160页 面试笔试题整理 面试笔试经验分享(第3版)- 2.7万字,96页 星球精华推文分类整理合集(第3版)- 6.6万字,240页 时序分析与sdc专题笔记(第1版) - 3.1万字,115页 星球精华推文分类整理合集(第4版)- 8.4万字,296页 更多教程、笔记持续更新中。。。