关于ILM问题
hier design, block出ILM给top level用,
一般flat design不需要这个
block就是partition吧,一般的流程不是assemble就可以了吗
相当于每个block的.lib timing model
简单来说吧,在hier flow中,当被打裂出来的若干个block一一实现后,需要将每个block抽取ILM等模型,接着回到top level,将这些ILM模型specify给top,然后再打平ILM,那么在top level就可以实现整个chip了。
为什么要用ILM呢?
这是一种比black box的timing lib更精确,但是又没有完全flatten的设计精确的一种设计思路。
ILM的模型将这个block内的reg2reg path都删除,仅仅保留reg2out,in2reg的path。因为只有这些path才需要在top level上进行opt或者balance。一个block中,其实大部分都是reg2reg的path,又没有在top level起作用,那就索性删除咯。 所以ILM会写出spef,v等等被缩减的文件。这样就可以在top level的critical path上通过delay calculation进行计算,并包含了ILM中的内容,这样比timing lib要精确很多,并且也不会占用过多的memory。
原理其实很简单,但是美中不足的是,ILM是fixed的,在top level不可以对ILM内部进行opt。但是,您可以使用FlexILM,将支持ILM内部的opt。
看需要了。
建议好好研读UG
恩,不错,班门弄斧补充一点,ILM中有的内部paths不要删除:
内部path每个gate是interface nets的一部分.
到regs是被不同的clocks驱动. (Interclock paths)
包括了input/output loop back paths.
SI aggressor net to I/O net.
path有用于port的driver/load element.
总而言之,能flatten的做就用flatten,Hier flow做起来就伤不起了
3ks
学习了,ilm
icc最新的叫block abstraction, 老的 ilm被淘汰了,
block abstraction 类似于flex ILM , 可以优化边界的,
学习了
学习了