0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Synopsys工具中命令中filter的妙用是什么

sanyue7758 ? 來源:艾思后端實現(xiàn) ? 2023-06-11 09:38 ? 次閱讀

在S家的后端設(shè)計工具里,包括DCICC、ICC2、PT , 大體的命令都是相通的。并且主要命令的命名和分類都是有一定的相似性的(但是要注意:盡管在相同的命令下,由于輸入和參數(shù)配置的差異,命令的結(jié)果可能會有不同,尤其是在delay計算方面)。

簡單總結(jié)如下

命令組 解釋 舉例
get_* 得到目標(biāo)的返回值 get_cells .get_pins
report_* 返回目標(biāo)的屬性,內(nèi)容的詳細報告 report_timing, report,report_power_domain

這里,一起來關(guān)注一下get_* 命令家族,并且了解一下通用的選項filler。

先一起看一下這類命令的選項描述。

51c43cc8-07a7-11ee-962d-dac502259ad0.jpg

既然是一個命令組,當(dāng)然會有一些類似點,這個命令家族一般有如下的選項設(shè)計:

$cmd -filter -quiet -nocase -exact-OTHER_OPTIONpatterns

通用的選項細節(jié)描述如下

選項 描述
-filter 使用某種屬性來做進一步過濾
-quiet 安靜的運行,不打印可能出現(xiàn)的warning
-nocase 關(guān)閉patterns的大小寫敏感
-exact 需要對patterns進行完全匹配

后三個選項比較好理解,這里一起來仔細看一下filter這個選項。

filter簡單地說,是在當(dāng)前的get_* 命令下的一個二次過濾的選項。具體可以使用什么樣的過濾方式方法,是基于這個命令所屬于的類(class)的,這個命令組的命名方式,一般是get_$class,譬如說get_cell所對應(yīng)的類(class)就是cell;get_clocks所對應(yīng)的類(class)就是clock。所以,所有filter可以操作的范圍就是這個class里邊的數(shù)據(jù)/屬性。

下圖是cell的attribute的摘錄

51ff6ece-07a7-11ee-962d-dac502259ad0.jpg

用戶可以根據(jù)這個attribute列表的具體細節(jié)來對cell來進行二次過濾,一個舉例如下

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

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

通過運行,會得到所有名字為*lace* 的cell,返回值如下:


5232d55c-07a7-11ee-962d-dac502259ad0.jpg

這里使用條件運算符**=~** 是一個模糊匹配,place也是*lace*的模糊匹配的結(jié)果,這里就被正確的返回出來了。

再看一個稍微復(fù)雜一點的例子

得到所有的buffer cell,

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

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

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

得到數(shù)據(jù)庫里所有的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"

這個執(zhí)行結(jié)果如下


52a0b25c-07a7-11ee-962d-dac502259ad0.jpg

什么,這還不夠厲害,還有更彪悍的操作?

得到所有面積大于3 area_unit的

buffer/invert

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

運行結(jié)果如下

52ca96c6-07a7-11ee-962d-dac502259ad0.jpg

這么復(fù)雜的操作,最好驗證一下,先來看一下面積

52f95024-07a7-11ee-962d-dac502259ad0.jpg

沒有問題,都是大于3的器件

再來看一下pin的數(shù)目

531d8246-07a7-11ee-962d-dac502259ad0.jpg

也都正確,都是兩個pin

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

533ade9a-07a7-11ee-962d-dac502259ad0.jpg

完美,所有的結(jié)果都被驗證正確無誤。

到這里,想必同學(xué)們都有了一種體會了吧。這里的get_attribute和-filter有著天人合一的感覺,一個是query 一個是 status。通過這種按需查找的方法。數(shù)據(jù)庫里的東東基本上都會被你摸個遍了。

這里再來看一個命令嵌套的組合拳

面積大于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*"

嵌套,就是無休無止的嵌套,就是要在浩如煙海的數(shù)據(jù)大海中,找到你要的那根針!靈活使用這些命令,理論上講不存在命令行里找不到的那根針。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Filter
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    21070
  • 過濾器
    +關(guān)注

    關(guān)注

    1

    文章

    427

    瀏覽量

    19519
  • PIN管
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    6305

原文標(biāo)題:Synopsys工具中命令中filter的妙用

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    TAS5805M 128 Tap FIR filter的作用是什么?

    如下圖所示 1、128 Tap FIR filter的作用是什么? 2、TAS5805M Process Flows只是介紹FIR濾波器系數(shù)用類似于MATLAB的工具生成,再倒入進
    發(fā)表于 10-15 07:41

    phprename()函數(shù)的妙用

    phprename()函數(shù)的妙用 大家都知道,rename()函數(shù)可以對文件或目錄進行重命名的操作。其實它還可以做很多事情。 熟悉unix的朋友應(yīng)該知道shell命令mv,它相當(dāng)
    發(fā)表于 01-11 09:33

    fpgafir filter的參數(shù)怎么設(shè)置?

    fpgafir filter的參數(shù)怎么設(shè)置?
    發(fā)表于 07-05 17:57

    PADS Filter(過濾器)的妙用

    PADS Filter(過濾器)的妙用
    發(fā)表于 09-15 10:41

    IC設(shè)計:Synopsys2018 版本 EDA 工具免費分享

    IC設(shè)計:Synopsys2018 版本 EDA 工具免費分享1. 下載的文件列表包含一下文件;加群Q:139869702ReadMe:文件就是現(xiàn)在你正在閱讀的文件,主要是詳細的說明軟件的使用和包含
    發(fā)表于 11-30 18:56

    C語言的結(jié)構(gòu)體和共用體在單片機妙用是什么

    【分享】C語言的結(jié)構(gòu)體和共用體在單片機妙用C語言的結(jié)構(gòu)體和共用體,往往在單片機應(yīng)用開發(fā)中被忽視。如果能夠用起來,不僅能夠極大的提高單片機的運行效率,還可能解決一些看起來無法解決的問題?,F(xiàn)在,給
    發(fā)表于 11-30 06:13

    松香在維修妙用

    松香除了起助焊劑作用外,還有許多妙用(1)顯象管石墨層大面積脫落后,會使光柵暗淡。將廢電
    發(fā)表于 04-16 22:12 ?2418次閱讀

    S參數(shù)在高頻測量妙用

    S參數(shù)在高頻測量妙用在個人計算機平臺邁入 GHz階段之后,從計算機的中央處理器、顯示界面、存儲器總線到I/O接口,全部走入高頻傳送的國度,于是高
    發(fā)表于 07-23 11:26 ?2293次閱讀

    “冷卻法”與“加熱法”在修理妙用

    “冷卻法”與“加熱法”在修理妙用
    發(fā)表于 09-04 14:41 ?705次閱讀
    “冷卻法”與“加熱法”在修理<b class='flag-5'>中</b>的<b class='flag-5'>妙用</b>

    linux命令無法使用怎么辦

    linux命令無法使用是怎么回事?問題分析
    發(fā)表于 05-28 09:02 ?1870次閱讀
    linux<b class='flag-5'>中</b><b class='flag-5'>命令</b>無法使用怎么辦

    SAW Filter在零頻接收機之角色

    SAW Filter在零頻接收機之角色
    的頭像 發(fā)表于 01-05 14:18 ?848次閱讀

    Synopsys工具命令filter妙用

    在S家的后端設(shè)計工具里,包括DC、ICC、ICC2、PT , 大體的命令都是相通的。并且主要命令的命名和分類都是有一定的相似性的(_但是要注意:盡管在相同的命令下,由于輸入和參數(shù)配置的
    的頭像 發(fā)表于 06-14 14:57 ?846次閱讀
    <b class='flag-5'>Synopsys</b><b class='flag-5'>工具</b><b class='flag-5'>中</b><b class='flag-5'>命令</b><b class='flag-5'>中</b><b class='flag-5'>filter</b>的<b class='flag-5'>妙用</b>

    linuxsource命令的用法

    在Linux,source命令通常用于重新執(zhí)行剛修改的初始化文件,使之立即生效,而不必注銷并重新登錄。source命令可以用于讀取并執(zhí)行腳本文件
    的頭像 發(fā)表于 11-08 14:35 ?2195次閱讀

    磁環(huán)在EMC妙用

    磁環(huán)在EMC妙用
    的頭像 發(fā)表于 11-27 14:48 ?731次閱讀
    磁環(huán)在EMC<b class='flag-5'>中</b>的<b class='flag-5'>妙用</b>

    電容在ESD測試整改妙用

    電容在ESD測試整改妙用
    的頭像 發(fā)表于 12-07 09:44 ?602次閱讀
    電容在ESD測試整改<b class='flag-5'>中</b>的<b class='flag-5'>妙用</b>