)
在SDF文件中我们通常都会看到负的interconnectdelay或负的module path delay。默认情况下elaborator会把negative delay全部设为0这样会导致时序过于悲观。所以后仿真时我们一般需要添加negative delays检查的选项。负延时在SDF文件里会出现在以下几个关键字中DELAY段里面的INTERCONNECT和IOPATH或者TIMINGCHECK段里面的SETUPHOLD和RECREM。1. 出现negative delays的原因在深亚微米技术(deep submicron)中关于串扰(crosstalk)和噪声(noise)对design的信号完整性(signal integrate)的影响越来越大。主要表现在glitch和对delay的影响。在分析crosstalk时其中受影响的signal叫做victim。影响别的signal的叫做aggressors。对整个design的影响主要表现在带来glitch和影响的delay。Crosstalk Delay由于对couplingcapacitance的充放电crosstalk会影响cell和interconnect本身的delay。1)aggressor net steady此时没有crosstalkvictim net的变化是正常的RC延时。2)aggressor switching in same direction此时因为coupling cap一般小于grouded cap所以delay会变小。称为negative delay。3)aggressor switching in oppo direction此时delay会变大。称为positive crosstalk delay。在分析crosstalk delay时worst positive delay 和 worst negative delay分别计算rise/fall edge。所以会有四种positive rise delaynegative rise delaypositive rise delaynegative fall delay。2. elaborator对interconnect和iopath负延时的操作:要使elaborator能够正确适应负延时分析interconnect和iopath delay必须满足以下关系(interconnect iopath) 0如果负延时不能完全被其他正延时补偿时elaborator将会报warning并把其余的负延时设为0。1)negative interconnect delay假设SDF中在G4和G3之间存在一个-3ns的negativeinterconnect delay。其中G4 AND gate specify块的定义为and a(out1, A, B);specify(A * out1) (2, 3, 4);(B * out1) (3, 4, 5);endspecifyG3 NOR gate specify块的定义为nor o(out2, D, C);specify(D * out2) (1, 2, 3);(C * out2) (0.5, 1, 2);endspecify当elaborator处理interconnect的负延时时它会先将其与与其相连的port之间进行调整。对于driver G4其最小的iopathdelays为2ns。使用下面的计算来解决从G4到G3输入端的负延时。(minimun of the iopath delays)(negative interconnect delay)2(-3)-1而残留的负延时将会与load端即G3的D端来消除。由于-110所以该negative interconnect delay可以被elaborator成功调整。否则该negative interconnect delay将会被设为0。2)negative module path delay在此例子中negative iopath delay出现在G4A-out1(-3ns)B-out1(-1ns)。其中G5和G4之间的interconnect delay为2nsG4和G3之间的interconnectdelay为1ns。并且G5的specify块定义为buf b(out, in);specify(in * out) (1);endspecify当elaborator处理iopath的负延时时它会先将其与与其相连的interconnect之间进行调整。即2(-3)-1然后残留的负延时将与G4输出端的interconnect相互调整即-110所以该negative iopath delay可以被elaborator成功调整。否则该negative iopath delay将会被设为0。