笔试真题:1、 什么是建立时间、保持时间,如果setup time violation或者hold time violation 应该怎么做?(10分)
答案:建立时间:是指在触发器的时钟信号采样边沿到来之前,数据保持稳定不变的时间。
保持时间:是指在触发器的时钟信号采样边沿到来之后,数据保持稳定不变的时间。
图一 D
触发器的建立时间和保持时间的定义 Timing path 时序路径分析方法:分析时序路径时常见的变量:Tclk =
时钟周期,是可变的,比如1KHz ~5.0GHz
Tcq =
触发器的时钟端C
到输出端Q
的延时,是器件属性,是固定不变的
Tcomb =
两个触发器之间组合电路的延时,是可变的,可以通过设计进行优化逻辑
Tsetup =
建立时间是触发器的固有属性,是定值
Thold =
保持时间是触发器的固有属性,是定值Tskew =
相邻两个触发器之间的时钟的偏移,是可变的图二 setup
和hold timingpath
的分析Setuptime violation:建立时间在静态时序分析时必须满足以下条件:Tclk > Tcq+ Tcomb + Tsetup - Tskew
如果setup time violation,
则上述公式不成立。 Setuptime violation solution:调整上述公式中的变量:Tclk,Tcomb,Tskewl 增大Tclkn 就是降低数字系统的工作频率 (很多产品分等级,是根据频率来分的;品质好的芯片,频率高,价格贵;品质差的芯片,降频,贱卖)l 减少Tcomb:n 从数字电路逻辑功能设计的角度看u 在组合电路之间插入寄存器,增加流水线(pipeline);u 在不改变逻辑功能的前提下,对组合逻辑电路进行优化;u 减少扇出或者负载;n 从数字物理版图实现的角度看u 更换速度更快的标准单元(HVT– High Voltage Threshold, SVT – Standard Voltage Threshold, LVT- Low VoltageThreshold)u 更换驱动能力更强的标准单元(X2,X4)u 跟换阻值更低的金属层以减少标准单元电路的负载和金属线网的延迟l 增加Tskewn 在时钟路径上,插入buffer,增加时钟路径的延迟,但是不能影响hold timing。
Holdtime violation:保持时间在静态时序分析时必须满足以下条件:Thold < Tcq + Tcomb - Tskew
如果hold time violation,
则上述公式不成立。 Holdtime violation solution:l 增大Tcombn 在组合电路的数据传输路径上,插入延迟单元(buffer),增加组合逻辑延迟;但是当组合逻辑延时增加时,setup time可能会出现违例。这时候就需要做平衡(balance)。由此可以看出setup和hold time是相互制约的。l 减小Tskewn 时钟树调整,做好clocktree balance,hold就容易收敛。因为hold time与时钟周期没有关系。
总结:setup
和hold
是相互制约的。修复hold
之后,setup
的裕量就会变小或者变成负值。因此时钟频率越高,setup
和hold
相互制约越严重,甚至会出现修复setup
之后,hold
就会违例,或者修复hold
之后,setup
就会违例的现象。
笔试真题:1、 什么是建立时间、保持时间,如果setup time violation或者hold time violation 应该怎么做?(10分)
答案:建立时间:是指在触发器的时钟信号采样边沿到来之前,数据保持稳定不变的时间。
保持时间:是指在触发器的时钟信号采样边沿到来之后,数据保持稳定不变的时间。
图一 D
触发器的建立时间和保持时间的定义 Timing path 时序路径分析方法:分析时序路径时常见的变量:Tclk =
时钟周期,是可变的,比如1KHz ~5.0GHz
Tcq =
触发器的时钟端C
到输出端Q
的延时,是器件属性,是固定不变的
Tcomb =
两个触发器之间组合电路的延时,是可变的,可以通过设计进行优化逻辑
Tsetup =
建立时间是触发器的固有属性,是定值
Thold =
保持时间是触发器的固有属性,是定值Tskew =
相邻两个触发器之间的时钟的偏移,是可变的图二 setup
和hold timingpath
的分析Setuptime violation:建立时间在静态时序分析时必须满足以下条件:Tclk > Tcq+ Tcomb + Tsetup - Tskew
如果setup time violation,
则上述公式不成立。 Setuptime violation solution:调整上述公式中的变量:Tclk,Tcomb,Tskewl 增大Tclkn 就是降低数字系统的工作频率 (很多产品分等级,是根据频率来分的;品质好的芯片,频率高,价格贵;品质差的芯片,降频,贱卖)l 减少Tcomb:n 从数字电路逻辑功能设计的角度看u 在组合电路之间插入寄存器,增加流水线(pipeline);u 在不改变逻辑功能的前提下,对组合逻辑电路进行优化;u 减少扇出或者负载;n 从数字物理版图实现的角度看u 更换速度更快的标准单元(HVT– High Voltage Threshold, SVT – Standard Voltage Threshold, LVT- Low VoltageThreshold)u 更换驱动能力更强的标准单元(X2,X4)u 跟换阻值更低的金属层以减少标准单元电路的负载和金属线网的延迟l 增加Tskewn 在时钟路径上,插入buffer,增加时钟路径的延迟,但是不能影响hold timing。
Holdtime violation:保持时间在静态时序分析时必须满足以下条件:Thold < Tcq + Tcomb - Tskew
如果hold time violation,
则上述公式不成立。 Holdtime violation solution:l 增大Tcombn 在组合电路的数据传输路径上,插入延迟单元(buffer),增加组合逻辑延迟;但是当组合逻辑延时增加时,setup time可能会出现违例。这时候就需要做平衡(balance)。由此可以看出setup和hold time是相互制约的。l 减小Tskewn 时钟树调整,做好clocktree balance,hold就容易收敛。因为hold time与时钟周期没有关系。
总结:setup
和hold
是相互制约的。修复hold
之后,setup
的裕量就会变小或者变成负值。因此时钟频率越高,setup
和hold
相互制约越严重,甚至会出现修复setup
之后,hold
就会违例,或者修复hold
之后,setup
就会违例的现象。