天天看点

timing paths

Timing paths:

       1, input - to - register timing path

timing paths

       2, register – to – register timing path

timing paths

       3, register – to – output timing path

timing paths

       4, Combinational Paths

              Input 输入后没有经过时序,纯组合逻辑到output输出。

timing paths

Input delay

timing paths

      依据原则就是,将其补成一个register – to – register path

       所以外围模拟计算input delay时clk用的时input 的clk 。T input delay <=> Tc-q + 到达in之前的路径延迟

Output delay

timing paths

       依据原则同样是,将其补成一个register – to – register path

       所以外围模拟计算output delay时clk与前一个触发器的用同一个时钟源。T output delay <=> 从out之后到外围下一个触发器之前的路径延迟 + Tsetup

Constraining Combinational Paths by Virtual Clock

timing paths

     在某些情况下,有必要创建一个存在于系统中但不在设计中的时钟。

     如果未指定源对象,则使用虚拟时钟,该时钟在设计中实际上不存在。

     源对象表示设计中时钟的位置。 源对象可以是设计的输入端口或设计内的引脚虚拟时钟没有来源。

     它存在于内存中,但不是设计的一部分。

     虚拟时钟指定相对于时钟的输入和输出延迟

     虚拟时钟未连接到当前设计中的任何端口或引脚。  

同步时钟 :

       从同一个时钟源出来的 可以经过pll分频成不同的频率 但其相位关系已知  故同步

       从不同时钟源出来的,即使频率相同 也不同步

       即: 同源同频 <=> 同步  ,同源不同频 <=> 同步 ,同频不同源 <=> 不同步

静态时序分析:

timing paths

      在一个时钟驱动下数据在时钟上升沿从FFI出来 经过组合逻辑运算之后

      在下一个时钟上升沿来临前至少setup时间 到达FF2让其寄存住数据

   (附加:在流水线中,其中一步是比较大的组合逻辑,运算时间比较久,而下一级计算比较简单,根据上图可以得到启示,向下一级借时间。具体做法是:比如上图FF1,FF2之间为本级运算,那么可以在FF2的CLK前加一些buff,使其向后偏移一定时间,则该级拥有了比之前长的计算时间,但是由于下一级的时钟沿(FF3)到达时间不变,则相当于缩短了下一级的计算时间)

timing paths

如果slack为正则说明有时间裕量,时序要求满足。

继续阅读