Primetime里面的腳本小技巧


1)     PT里面的attribute比較,大家抓取一些pin/net的屬性值的時候,可以不用再自己寫判斷條件去過濾了,可以直接用attribute判斷,比如:

get_* –filter "attr1 >@attr2" ,直接返回過濾后的collection

 

2)     如何抓取某種libcell在設計里的例化instance,以前大家可能會用ref_name去判斷,現在可以直接用:

get_cells -of $lib_cells

 

3)     PT 里面多了些指針屬性操作,比如pin.cell,cell.lib_cell , pin.net ,pin.lib_pin等等,這樣就可以方便大家少敲幾行code,畢竟碼農的時間是很值錢的:

set pins [get_pins -hier * -leaf -filter "cell.area > $threshold"]

 

4)     如何減少PT抓取cell/pin的runtime,這就需要大家在寫腳本的時候盡量減少搜索空間,比如明確知道要找的在哪個hierarchy或者有哪些關鍵字的話,都可以幫助減少runtime,舉幾個小例子:

        a)      set_false_path -to [get_pins A/B*/C1?/ff*/D]; 工具會直接只在A/B下尋找

        b)     set_false_path -to [get_pins –hier ff*/D ;用leafpattern去匹配

        c)      set_false_path -to [get_pins –hier ff*/D*-filter "full_name =~ */C1?/*"] ;結合leaf pattern 和部分hierarchicalname

        d)      currentinstance HIER1/HIER2

set pins [get_pins -hier -filter "full_name =~ *PATTERN/D"];通過currentinstance去減少搜索空間

 

5)     最后一個小建議,凡是工具會自己使用Multi-thread去跑的命令,就不要去parallel_execute/parallel_foreach_in_collection/redirect-bg, 這些支持多線程的就是大家比較熟悉的update_timing/report_timing/check_noise/report_constraint/report_qor等等


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM