对于工具默认的单周期来说, latch edge-lanuch edge=T,如果不考虑时钟的skew, Tclk2-Tclk1=0, 上式可以表达成:Setup slack=T-(Tsu+Tco+Tdata),这就是为什么说源寄存器与目的寄存器之间延迟不能太长的原因, 延迟越长, slack越小。 Hold slack=data arrival time -data required time =(launch edge + Tcl...
Data Required Time Setup = Clock Arrival Time-Tsu 数据保持需求时间(Data Required Time Hold) 因为数据必须在Th之后才能改变,因此: Data Required Time Hold= Clock Arrival Time+Th 最后计算Slack Setup Slack = Data Required Time Setup -Data Arrival Time Hold Slack = Clock Arrival Time - Data Required...
Slack是指数据需要达到时间和实际达到时间之差。 Data Arrival Time : 数据在datapath上传输的时间 Data Required Time : 时钟在clock path上传输的时间 Setup Slack = Data Required Time – Data Arrival Time Hold Slack = Data Arrival Time – Data Required Time 有了setup和hold概念和计算公式后,很容易就能...
Hold slack=Tco + Tdata – Th,这就是为什么说源寄存器与目的寄存器之间延迟不能太短的原因,时间太短,slack越小。 hold slack 计算例子: setup slack计算:
Setup slack=T-(Tsu+Tco+Tdata),这就是为什么说源寄存器与⽬的寄存器之间延迟不能太长的原因,延迟越长,slack越⼩。Hold slack=data arrival time – data required time =(launch edge + Tclk1 + Tco + Tdata) – (latch edge + Tclk2 – Th)=(launch edge – latch edge) – (Tclk2 – Tcl...
slack(hold)=数据到达时间(hold)-数据要求时间(hold),因此,只由数据到达时间时延大于数据要求时间,slace值才为正值 2.2 path requirement 在前言中也提到path requirement,path requirement中的即为公共周期内捕获时钟的有效沿时间减去启动时钟的有效沿,setup分析取最小值,hold分析取最大值。
Setupslack=T-(Tsu+Tco+Tdata),这就是为什么说源寄存器与目的寄存器之间延迟不能太长的原因,延迟越长,slack越小。 Hold slack=data arrival time – data required time =(launch edge + Tclk1 + Tco + Tdata) – (latch edge + Tclk2 –Th) ...
例:假设下面的path在worst PVT条件下的setup slack如下所示: 而对应的best PVT条件下的hold slack如下: 可以看到setup和hold的slack都是负的。仔细分析delay值可以发现,导致这种情况发生的原因是多样化的: 1) 不同PVT条件下clock line的delay大概呈2倍比例,而data line的delay比例高达3.4 ...
Slack(hold) = Data Arrival Time-Data Required Time 本来hold分许也叫作Min delay analysis,可以这样理解如果把setup Slack的计算公式当做是一种标准型,那么我们就希望Min delay这个值负的越多越好。当然这里实际是反过来了,取了个相反数,那就是越大越好。
Setup slack =714 - 200 - 160 - 400 = -36 ps 因此,对于相同的时序路径,setup和hold slack都变为负值。解决方案可以是: 1、利用使用延迟变化较小的cell(或者线延时)。 2、将工作条件(PVT)限制在更窄的范围内。 3、降低频率,同时增加data path延时。