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

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

3天内不再提示

Synopsys工具中命令中filter的妙用

冬至子 来源:艾思后端实现 作者:艾思后端设计 2023-06-14 14:57 次阅读

在S家的后端设计工具里,包括DCICC、ICC2、PT , 大体的命令都是相通的。并且主要命令的命名和分类都是有一定的相似性的( 但是要注意:尽管在相同的命令下,由于输入和参数配置的差异,命令的结果可能会有不同,尤其是在delay计算方面 )。

简单总结如下

image.png

这里,一起来关注一下get_* 命令家族,并且了解一下通用的选项filler 。

先一起看一下这类命令的选项描述。

image.png

既然是一个命令组,当然会有一些类似点,这个命令家族一般有如下的选项设计:

$cmd -filter -quiet -nocase -exact -OTHER_OPTION patterns

通用的选项细节描述如下

image.png

后三个选项比较好理解,这里一起来仔细看一下filter这个选项。

filter 简单地说,是在当前的get_* 命令下的一个二次过滤的选项。具体可以使用什么样的过滤方式方法,是基于这个命令所属于的类(class) 的,这个命令组的命名方式,一般是get_$class ,譬如说 get_cell 所对应的类(class) 就是 cell ;get_clocks 所对应的类(class) 就是 clock 。所以,所有filter可以操作的范围就是这个class里边的数据/属性。

下图是cell 的 attribute的摘录

image.png

用户可以根据这个attribute列表的具体细节来对cell来进行二次过滤,一个举例如下

得到所有full name中包含 lace的器件

# get all *lace* cell 
get_cells -filter "full_name=~*lace*"

通过运行,会得到所有名字为lace 的cell,返回值如下:

image.png

这里使用条件运算符**=~** 是一个模糊匹配,place也是lace的模糊匹配的结果,这里就被正确的返回出来了。

再看一个稍微复杂一点的例子

得到所有的buffer cell,

但是cell名字一定是包含lace字符串的

# get all *lace* buffer 
get_cells -filter "full_name=~*lace* && ref_name=~*BUF*"

另外一个很常用的filter例子是:

得到数据库里所有的std-cell

然后计算它们的面积总和

get_cells -hier -filter "mask_layout_type==std"
set area 0
foreach_in_collection c [get_cells -hier -filter "mask_layout_type==std"] {
    set area [expr [get_attribute $c area] + $area]
}
puts  "Total std-cell area is $area"

这个执行结果如下

image.png

什么,这还不够厉害,还有更彪悍的操作?

得到所有面积大于3 area_unit的

buffer/invert

get_cells -filter "area >3 && number_of_pins==2"

运行结果如下

image.png

这么复杂的操作,最好验证一下,先来看一下面积

image.png

没有问题,都是大于3的器件

再来看一下pin的数目

image.png

也都正确,都是两个pin

最后来看一下,是不是都是buffer/invert

image.png

完美,所有的结果都被验证正确无误。

到这里,想必同学们都有了一种体会了吧。这里的 get_attribute 和 -filter 有着天人合一的感觉,一个是query 一个是 status。通过这种按需查找的方法。数据库里的东东基本上都会被你摸个遍了。

这里再来看一个命令嵌套的组合拳

面积大于3 并且

有两个以上的pin的非SPARE cell 的器件

它们的output pin

get_pins -of [get_cells -filter "area >3 && number_of_pins >2"] -filter "pin_direction==out && full_name!~*SPARE*"

嵌套,就是无休无止的嵌套,就是要在浩如烟海的数据大海中,找到你要的那根针!灵活使用这些命令,理论上讲不存在命令行里找不到的那根针。

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

    关注

    1

    文章

    417

    浏览量

    19216
收藏 人收藏

    评论

    相关推荐

    别克君越控开关失灵,什么情况怎么解决

    开关
    YS YYDS
    发布于 :2023年06月23日 00:38:57

    phprename()函数的妙用

    phprename()函数的妙用 大家都知道,rename()函数可以对文件或目录进行重命名的操作。其实它还可以做很多事情。 熟悉unix的朋友应该知道shell命令mv,它相当
    发表于 01-11 09:33

    fpgafir filter的参数怎么设置?

    fpgafir filter的参数怎么设置?
    发表于 07-05 17:57

    PADS Filter(过滤器)的妙用

    PADS Filter(过滤器)的妙用
    发表于 09-15 10:41

    模拟设计之noise filter,切记设计要考虑

    问题尤其凸显在,一个宽带宽OPA 到ADC的设计,此时滤波器必须慎重的考虑,且必须放在ADC 采样的的前级。通常参考图示模型:您的有效信号的中心频率决定了filter的各个分离元件的参数:当然
    发表于 11-26 17:33

    Synopsys 仿真求助

    各位大神,小弟现在在做运用Synopsys 工具的仿真。现在希望通过仿真模拟获得网表中所有node的值(包括wire和output)。目前使用的软件有design compiler, TetraMax 和VCS。 请问有没有办法可以实现?谢谢。
    发表于 09-07 02:48

    allegro的designer object find filter无法勾选中TEXT选项

    allegro的designer object find filter无法勾选中TEXT选项,如图有哪位帮忙指导下是怎么回事?
    发表于 11-20 11:23

    请问贵司是否有PWM Filter的设计工具

    问下,贵司是否有PWM Filter 的设计工具
    发表于 08-12 10:13

    fpgafir filter的参数如何设置?

    fpgafir filter的参数怎么设置?
    发表于 06-03 05:55

    IC设计:Synopsys2018 版本 EDA 工具免费分享

    IC设计:Synopsys2018 版本 EDA 工具免费分享1. 下载的文件列表包含一下文件;加群Q:139869702ReadMe:文件就是现在你正在阅读的文件,主要是详细的说明软件的使用和包含
    发表于 11-30 18:56

    请问一下cadence工具好用还是synopsys工具好用?

    请问一下cadence工具好用还是synopsys工具好用?
    发表于 06-23 06:34

    C语言的结构体和共用体在单片机妙用是什么

    【分享】C语言的结构体和共用体在单片机妙用C语言的结构体和共用体,往往在单片机应用开发中被忽视。如果能够用起来,不仅能够极大的提高单片机的运行效率,还可能解决一些看起来无法解决的问题。现在,给
    发表于 11-30 06:13

    电阻在时序设计妙用

      如何实现电阻在时序设计妙用呢?   举个例子:   一个设计要求FPGA芯片兼容的支持两个厂家的存储器,但是经过时序分析发现,这两个厂家的存储器虽然引脚的的定义完全相同,但是它们的时序参数却
    发表于 04-23 15:50

    Synopsys收购仿真工具供应商EVE

    电子发烧友网讯 :至少这一次,谣言最终成为现实了。近日,EDA和IP供应商Synopsys公司宣布已经完成对仿真工具供应商EVE的收购。具体财务细节不详。 Synopsys公司对此表示,EVE及其ZeBu硬
    发表于 10-08 17:16 1570次阅读

    磁环在EMC中的妙用

    磁环在EMC中的妙用
    的头像 发表于 11-27 14:48 431次阅读
    磁环在EMC中的<b class='flag-5'>妙用</b>