0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用dbShape并显示dbShape运算之后的结果

jf_tpHP8OJR 来源:集成电路设计及EDA教程 2023-04-06 10:07 次阅读

主要内容:如何用dbShape并显示dbShape运算之后的结果

我们可以在Innovus中通过dbShape来对一些shape进行几何运算,比如OR AND XOR等,这些对于我们写一个版图上Check的custom tcl或者基于版图的分布情况生成一些Placement/Routing blockage等等是非常有帮助的。比如星球分享过的:

如何写脚本检查设计中是否Missing filler(也就是std cell之间存在gap)问题,并且将Error显示在Error browser中?

那么对于运算之后的结果,我们如何将它显示出来呢?

我们可以通过add annotation的方式来完成,在ICC2里面命令是gui_add_annotation,在Innovus里面是add_gui_shape,示例如下:

poYBAGQuKYyACqTPAABF2TMChKU447.jpg

两个图形直接做OR运算之后得到的是一个polygon,是不能直接用add_gui_shape -polygon来实现的,因为两者格式不一样,感兴趣的可以试一下就知道了,下面给出一个解决方案:

可以把polygon里面的多个rect来分别显示出来,也就是用多个rect拼起来显示出polygon的形状:

foreach i [dbShape $shape1 OR $shape2 -output rect] {add_gui_shape -rect $i -layer xxx}

效果如下图所示: 如果你觉得出来的结果是空心的不方便看,那么还可以通过下面的命令来修改显示的pattern和线宽

setLayerPreference xxx -color yellow -lineWidth 9 -isVisible 1 -stipple Cross

3bebf158-d402-11ed-bfe3-dac502259ad0.png  

现在你可以思考一个问题,我们如何计算上面运算结果的多边形Shape的面积呢?应该用什么命令呢? 你可以自己思考探索一下。

下面公布结果:

答案还是dbShape命令:

[DEV]innovus 6> dbShape $shape1 OR $shape2 -output area 28

任何dbShape运算产生的多边形都可以用上面或者下面的方式来得到它的面积:

[DEV]innovus 7> dbShape [dbShape $shape1 OR $shape2] -output area 28

和真实面积是吻合的:4*4*2-2*2=32-4=28







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • GUI
    GUI
    +关注

    关注

    3

    文章

    662

    浏览量

    39740
  • XOR
    XOR
    +关注

    关注

    0

    文章

    12

    浏览量

    161975
  • Innovus
    +关注

    关注

    1

    文章

    20

    浏览量

    2700

原文标题:Innovus教程 - 如何做几何运算并显示运算结果 - dbShape与add_gui_shape命令

文章出处:【微信号:集成电路设计及EDA教程,微信公众号:集成电路设计及EDA教程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    何用运放实现加减法运算

     前面的反相放大器和同相放大器可以实现乘法运算的功能,这一小节我们来看如何用运放实现加减法运算
    发表于 02-02 14:12 4.7w次阅读
    如<b class='flag-5'>何用</b>运放实现加减法<b class='flag-5'>运算</b>

    AFE5808A串变换之后数据错位,输出结果具有不确定性,为什么?

    AFE5808A串变换之后数据错位,输出结果具有不确定性,求问可能的原因有哪些?
    发表于 01-01 07:23

    51单片机proteus仿真用单片机端口演示数据的乘法运算结果

    无符号整型数据,将这两数相乘后强制转换为无符号字符型数据。通过P0口将运算结果显示出来在keil c51中创建新工程ex8,编写如下程序代码,编译
    发表于 03-22 10:43

    51单片机proteus仿真用单片机端口演示数据的除法运算结果

    代替,比如可以先用除法运算获得整数部分,然后用求余运算获得余数,再对余数进行运算。2、本例实现一个除法运算,所得上的整数部分送P1口显示,小
    发表于 03-22 10:47

    何用MSP430实现AD转换,显示到1602上?求程序

    何用MSP430实现AD转换,显示到1602上?求程序
    发表于 10-10 13:29

    请问Dsplib中的函数运算结果和Matlab运算结果不一致是什么原因?

    我用的开发板是TMS320C5535,想要做卷积运算,自己写的卷积函数,运算时间太长,于是改用Dsplib里面的convol1函数。测试数据: x=[1,2,3,4,5]h=[6,7,8,9,10
    发表于 07-27 06:33

    labview控制功率计不显示所测结果,Reset之后没有数据的原因是什么?

    labview控制功率计,对其配置可以看到已经成功了,但不显示所测结果,Reset之后没有数据的原因是什么?求各位大神帮帮忙
    发表于 03-09 08:40

    何用CPLD器件实现DAGC运算

    数字增益控制电路的原理是什么如何用CPLD器件实现DAGC运算?数控衰减器在中频电路中引入的冲击振荡问题数控衰减器的实现方法
    发表于 04-08 06:02

    何用C语言实现显示16只灯的状态开关灯?

    何用C语言实现显示16只灯的状态开关灯?
    发表于 10-19 09:39

    何用一个LCD12864显示操作和结果的界面?

    何用一个LCD12864显示操作和结果的界面?
    发表于 11-03 07:29

    何用正点原子ATK91105A接收显示stm32采集的图像信息

    何用正点原子ATK91105A接收显示stm32采集的图像信息
    发表于 11-04 20:02

    何用ChipScopy创建运行link sweep

    这个Demo将介绍如何用ChipScopy创建运行link sweep。
    的头像 发表于 07-10 15:45 1216次阅读

    何用Python计算提高机器学习算法和结果

    本文将简要介绍常用的距离度量方法、它们的工作原理、如何用Python计算它们以及何时使用它们。这样可以加深知识和理解,提高机器学习算法和结果
    发表于 10-31 10:58 627次阅读

    何用低成本MCU实现音乐频谱显示

    何用低成本MCU实现音乐频谱显示
    的头像 发表于 10-18 17:10 899次阅读
    如<b class='flag-5'>何用</b>低成本MCU实现音乐频谱<b class='flag-5'>显示</b>

    vlookup函数显示公式不显示结果

    VLOOKUP函数是Excel中非常常用的一种函数,用于在一个数据范围内查找某个值,返回相应的结果。但有时候,在使用VLOOKUP函数时会遇到公式不显示结果的问题。本文将为您详细解释
    的头像 发表于 12-01 11:22 2.3w次阅读