STA分析(四) lib model

library中的一个cell可以是一个standard cell,IO buffer,或者一个complex IP。其中包含area,functionality,timing,power等相关的信息。

一个cell的timing model:最基本的有两类,Linear Timing Model,D=D0 + D1*S + D2*C。D0,D1,D2表示常数,S表示Transition time,

                                              C表示output load capacitance。在亚微米尺寸(submicron 100nm--1um)下,误差就会比较大。

                                   Non-Linear Delay Model(NLDM),delay用二维矩阵来表示,变量为Transition time和Capacitance。一般的矩阵大小为3*3

                                              8*7等。其余值通过拟合的算法来实现。

                                   CCSM与ECSM模型,1)NLDM中的output load只含capacitance。而CSM/ECSM中还包含interconnect resistance。NLDM中

                                                                  通过其他方法可以得到一个equivalent effective capacitance,得到与RC相同的延时。

                                              2)Composite Current Source(CCS)/Effective Current Source Model(ECSM)都是通过一个等效的电流源来更好的描

                                                 述output driver。 

                                              3)因为在90nm之下,input pin capacitance同时由input slew 和 output load来决定,所以在这两个模型中

                                                 input cap是基于timing arc的,是transition time和output capacitance的矩阵。也称作receive pin capacitance

                                                 而NLDM是基于pin的。

                                              4)这两个模型包含有Niose的信息。

                                              但是工具读起来会很慢,所以一般PR用NLDM,signoff用CCS/ECSM。

                                   Slew Derating的概念,早期的很多slew都是10%-90%,而现在基本都到了30%-70%。所以会有一个slew derate factor的因

                                              子,一般是0.5。library_transition_time * slew_derate才是最终的transition time。

                                   在这些model中都会包含对power和leakage的描述。power与timing的类似。leakage的与State-Dependent Models类似。

Combinational Cells model:针对每一条timing arc(组合逻辑每有一路径,就会多一时序弧),如果是positive_unate,negetive_unate。都会有四个属

                                         性。cell_rise,rise_transition,cell_fall,fall_transition。分别表示上升沿和下降沿的propagate delay和slew。

                                         如果是negetive_unate,输入input,输出应该使用fall_delay,fall_transition。反之亦然。

Sequential Cells model:timing arc有Setup check arc,Hold check arc,Recovery check arc,Removal check arc,CK-to-output propagation

                                   delay arc。对应于timing_type。

                                   1)其中Setup check arc和Hold check arc都有两个属性rise_constraint,fall_constraint,是data transition和

                            clock transition的函数。setup的值和hold的值都可以为负,但是setup value + hold value必须是正,表示数据必须稳定一段时间。

                                   2)Recovery check arc,Removal check arc与setup和hold的时序弧描述差不多。data transition和clock transition的函数。

                                   3)CK-to-output propagation delay arc。对应timing_type是FF的有效沿。timing_sence是non_unate。包含四个属性,

                            cell_rise,cell_transition,cell_fall,cell_transition。关于clock transition和output capacitance的函数。

State-Dependent Models:timing arc的属性依靠其他pin的状态。用when描述状态,sdf_cond应用在sdf的生成过程中。

                                      一个cell可以有state-dependent和non-state-dependent两种模型,在state的状态不满足时,使用non-state的模型。

                                      state-dependent的模型可以用来描述power,leakage,transition time,rise/fall delay,timing constraints。

Black Box的Timing model接口:只关注接口的timing,而不关注内部的时序问题。

                                      主要有四种时序弧。1)Input to output combinational arc,                       combinational logic paths timing arc

                                                               2)Input sequential arc,                                           setup and hold timing arc

                                                               3)Asynchronous input arc,                                      Recovery and removal timing arc

                                                               4)Output sequential arc,                                         clock to pins ouput propagation delay arc

转载于:https://www.cnblogs.com/-9-8/p/4632630.html

你可能感兴趣的:(STA分析(四) lib model)