在本科的时候,学习电路系统分析时印象很深的一堂内容是讲解叠加定理:对于一个线性系统,一个含有多个独立源的双边线性电路的任何支路的响应,等于每个独立源单独作用时的响应的代数和。
恰巧最近分析应用中的电路时序问题,在分析各种类型的时序时发现这条定理用在保持时间与建立时间上也非常nice!
在此处为了阐明观点,以一个典型的时序分析题目进行讲解:
下图中的电路,器件延时如图中标注,将框内电路作为一个寄存器,其有效setup time=()ns,hold time=()ns?
对于建立时间Tsu:
1、 当仅存在时钟路径的延时,从整体来看,IN端口的Data需要在时钟信号CLK上升沿的前1ns即开始保持稳定,此时整体的建立时间为1ns
则时钟路径延迟对建立时间的影响为-1ns。
2、 当仅存在数据路径的延时时,从整体来看,IN端口的Data需要在时钟信号CLK的上升沿之前的4ns保持稳定即可,此时整体的建立时间为4ns。
则数据路径的延迟对建立时间的影响为 2ns
对两种影响进行叠加,最终系统整体的真实建立时间为:
Tsu_primitive (-1) ( 2)=3ns
对于建立时间Th:
1、 当仅存在时钟路径的延时,从整体来看,IN端口的Data需要在时钟信号CLK上升沿之后的3ns期间保持稳定,此时整体的保持时间为3ns
则时钟路径延迟对保持时间的影响为 1ns。
2、 当仅存在数据路径的延时时,从整体来看,IN端口的Data需要在时钟信号CLK的上升沿之后的0ns保持稳定即可,此时整体的保持时间为0ns。
则数据路径的延迟对保持时间的影响为-2ns
对两种影响进行叠加,最终系统整体的真实保持时间为:
Th_primitive (1) (-2)=1ns