今天我們要介紹的時序分析概念是ETM。全稱 extracted timing model 。這是在層次化設計中必須要使用的一個時序模型文件。由block owner產生,在頂層設計使用。
當block owner做完PR以后,需要將block邊界上的timing信息抽取出來,存放成一個timing lib文件。這個lib文件就是ETM文件。可以將做完PR的block理解為一個Macro,ETM就是該Macro的lib文件。頂層讀入每個block的ETM文件后,就能看到block邊界上的timing信息。
根據設計階段的不同,我們可以在preCTS, postCTS以及postRoute之后分別抽取ETM供頂層人員使用,當然越往后階段的ETM越精確.
來看看ETM文件里有什么內容:
boundary timing arc :包括in2reg,reg2out,in2out三種timing path的信息,reg2reg的path會被忽略
1) In2reg:
存入ETM中的是setup和hold的arc
Setup arc = data path delay (input to FF) + FF setup value – clock path delay
Hold arc value = data path delay (input to FF) - FF hold value – clock path delay
2) Reg2Out
存入ETM中的是時序邏輯的延遲
時序邏輯延遲 = delay (CLK到CK pin) + delay (CK pin到output port).
3) In2Out
存入ETM中的是組合邏輯的延遲
組合邏輯延遲 = Path delay
當然,ETM model里還會保存很多內容,比如
Design rule (max fanout, max_transition, max_cap)
Clocks (包括create_clock和generate clock)
Path Exceptions, case constant等,大家有興趣可以去研究下。
使用方法
**PT: **extract_model
extract_model -library_cell -output model2 -format {db}
EDI: do_extract_model
do_extract_model -cell_name test_model -library_name test_lib test.lib
-
時序邏輯電路
+關注
關注
2文章
94瀏覽量
16567 -
時序分析
+關注
關注
2文章
127瀏覽量
22575 -
ETM
+關注
關注
0文章
9瀏覽量
7610
發布評論請先 登錄
相關推薦
評論