今天想来聊一聊timing model。Top层在做STA的时候,为了速度的考量,有的时候不会把所有block都做flatten(展平化)处理,而Timing model就是block在给更高层级用的时候所抽取出来的timing信息集。目前我知道有三种,ETM、ILM和HS,下面我分别来介绍一下。
ETM全称是Extracted Timing Model,它的思想很朴素,就是会把每个port的timing信息都保留下来,block内部的信息一概不知。从外来看,一个ETM就像一个黑盒子,只能看到block的port。它保留了in到out的延时,并且还有clk到in的setup/hold require time。其实ETM模型就很像我们用的cell的lib,都是只能看到它们的pin或者port,所得到的delay信息都是黑匣子式的,内部具体的delay都是被隐藏的。这种ETM模型的优点就是抽取速度快,但是缺点是不太准。比如Top层接进来一条net,flatten来看是一条,但如果使用ETM,等于硬是把他打成两端来算delay,结果当然就有所偏差。其准确度大概在90%左右。
第二种ILM是Interface Logic Model,它相比ETM来说,多保留了port到第一级reg的信息,包括所有net的信息及cell的信息,也就是in2reg和reg2out这些路径被保留下来给更高层级来用。而reg2reg的timing信息就被抽取出来,路径就不再保留。这样从top来看的话,可以看到block门口