时序库概述
模型:
包含信息:库名、查找表、各参数单位
非线性延迟模型
延迟模型
以反相器为例,主要有两种延迟特征:
- Tr: output rist delay
- Tf: output fall delay
反相器的延迟主要取决与两个因素:
- output load,指的是负载电容,负载电容越大,延迟也越大
- transition time of the signal at the input,转化时间越大,延迟也越大
非线性延迟模型
非线性模型使用一个二维查找表指定延迟,如下图中的index1和index2,这两个是查找表的索引,查找表中会包含不同路径、上升或下降转换等不同的延迟信息。
上图是反相器输出端的延迟信息,可以看到cell_rise和cell_fall是两个独立的模型。
如果坐标并不在查找表中,应该怎么办呢?
实际参数是连续的,而查找表是离散的,所以这种情况肯定会发生的。我们可以将查找表映射到空间中,然后通过高斯消元法计算。某一点的延时,可以使用周围的四个点求解。
Slew Threshold and Slew Derating
在老工艺中,翻转域值会定为10%和90%,而随着工艺进步,会将域值设定到30%和70%。实际值沿用30%-70%,而库使用10%-90%,实际值范围只有一半,如果想得到实际值,那么就需要乘以slew_derate_from_library : 0.5
(70-30)/(90-10)
总而言之,库到实际值需要乘以derate
在自己K库的时候会用到这个参数,在低功耗等场景下,在原有库上做拓展,还要进行晶体管级仿真。
时序模型
组合逻辑
以二输入与门为例,两条timing arcs都是positive_unate,因此input pin rise对应output rise,反之相同。
会有四个查找表模型来指定延迟:
时序单元
时序单元的路径相比组合逻辑更加复杂。
建立时间:
保持时间:
CK->Q:
线载模型
分布式模型
线载模型,也使用查找表
若线长不在库的查找表中时,使用slop参数可以求解。