setup:在时钟到来之前,数据保持稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器。(Tlogic_min+Tclock_q_min >Tskew+Thold)(Tskew考虑时钟树向前偏斜的情况)
hold:在时钟到来之后,数据保持稳定不变的时间, 如果保持时间不够,数据同样不能被打入触发器。(Tclock>Tclock_q_max+Tlogic_max+Tseup+Tskew)(Tskew考虑时钟树向后偏斜的情况)
降频一般是可以解决setup violation的,但是如果出现hold violation, 如果负slack的值比较大,一般要修改设计或约束,如果负slack值较小,可以在P&R阶段通过insert buffer 来fix掉
在POST Sim或者STA时,用Worst Case下的延迟计算Setup。用Best Case下的最小延时计算Hold。
Worst Case:低电压,高温。
Best Case:高电压,低温。
在选择工艺库的时候,首先,要考虑时序,就是说要考虑选择的元器件的Worst Case下,要能够满足时序要求。再次,在考虑低功耗。特别是对Memory的选择。
recovery:有些类似于setup检查,是指撤销复位时,rst变到非复位状态的电平必须在clk之前一定的时间到来,可以保证clk在采样时,DFF处于非复位状态
removal:有些类似与hold检查,但又不完全相同,它是指复位时,rst在clk到来之后还需要维持的时间,否则会出现复位不成功
clock skew:clock在不同时序器件clk脚上的时间差异叫做clock skew
clock uncertainty:clock在时序器件clk脚上的不确定性,包括clock jitter和clock skew两部分的总和.
clock transition:clock信号的skew时间。分为上升沿时间和下降沿时间。
clock gating:指门控时钟。由于低功耗的要求,有些模块会停止工作。通过停掉clock减少这些模块的耗电.
clock jitter:clock源是芯片外部管脚引入或是内部PLL产生的。clock的每个周期时间都会有微小的偏差,这种偏差叫做clock jitter.
clock latency:clock源到时序器件的clk脚的延迟叫做clock latency.
clock tree:从一个clock源出发,clock网络经过多级buffer,到达每个时序器件的clk脚。为了保证从clock源到每个器件clk脚的延时相差不多,clock在布局布线时做成树形网络结构,叫做clock tree
所谓抖动,就是指两个时钟周期之间存在的差值,这个误差是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,布线对其没有影响,如图1-6-7。除此之外,还有一种由于周期内信号的占空比发生变化而引起的抖动,称之为半周期抖动。总的来说,jitter可以认为在时钟信号本身在传输过程中的一些偶然和不定的变化之总和。
时钟偏移(skew)是指两个相同的系统时钟之间的偏移。它表现的形式是多种多样的,既包含了时钟驱动器的多个输出之间的偏移,也包含了由于PCB走线误差造成的接收端和驱动端时钟信号之间的偏移。
信号完整性对时序的影响,比如串扰会影响微带线传播延迟;反射会造成数据信号在逻辑门限附近波动,从而影响最大/最小飞行时间;时钟走线的干扰会造成一定的时钟偏移。有些误差或不确定因素是仿真中无法预见的,设计者只有通过周密的思考和实际经验的积累来逐步提高系统设计的水平。
|