电子说
今天我们要介绍的时序分析概念是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
全部0条评论
快来发表一下你的评论吧 !