1引言
RTL设计人员面临的重大挑战之一是预先确定完整的时间例外。这在复杂的设计中成为一个迭代过程,其中基于关键路径或时序报告的路径分析失败来识别额外的时间异常。这种方法留下了大量的可能不是真实的时序路径,但是这些路径从来没有被识别出来,因为它们可能不会出现在关键路径报告中。但是,综合和计时工具在不需要时将继续花费资源来优化这些路径。同时,它也会影响器件的面积和功耗。
本文档的目的是提供虚假和多循环路径例外的例子,甚至有经验的设计师都很容易忽略这些例外,并通过对时序报告的迭代来识别。
1.1错误的路径
假路径是设计中的那些定时弧,其中在特定时间间隔内源寄存器的改变不会被目标寄存器捕获。假路径可以按以下设计拓扑进行分类。
1.1.1静态虚假路径
静态错误路径是那些设计中的定时弧,源寄存器的激励不会对目标寄存器产生任何影响或改变。即使源和目标触发器都在相同的时钟域上运行,这些拓扑中的时序路径也不能被任何输入向量所敏化。
示例 - 1
以下拓扑描述了静态错误路径的示例。这里D1.Q的变化将永远不会导致D4.D的任何变化。D4的触发值总是由D2的值决定的。因此,对于这个特定的电路D1-> D4可以被视为错误的路径。
图 1:静态时序路径
示例 - 2
在一个系统中,定义一个控制位,如果该位置位,则进入DMA控制器的时钟将在低功耗(STOP)模式下保持使能状态,否则时钟将在STOP模式下被选通。