相关阅读
静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm=1001.2014.3001.5482
在静态时序分析中,不管是组合逻辑单元(如与门、或门、与非门等)还是时序逻辑(D触发器等)在时序建模时都拥有多条时序弧(Timing Arc)。时序弧是用来描述信号(翻转)传播路径一种抽象。举例来说,对于组合逻辑单元,每个输入引脚(Pin)到输出引脚都有相应的时序弧;对于时序逻辑单元,有从时钟引脚到输出引脚的时序弧,也有从时钟引脚到数据引脚的建立、保持时间约束时序弧。每个时序弧都有时序敏感(Timing Sense),它描述了信号(翻转)在沿着时序弧传播过程中的翻转特性,即对应不同的输入翻转,输出是如何翻转的。时序敏感分为三类,分别是正单调性(Positive Unate)、负单调性(Negative Unate)和非单调性(Non Unate),下面详细说明这三者。
一个时序弧的正单调性指的是,当不是时序弧起点的其他输入引脚的信号值固定为某一组特定值时,时序弧起点输入引脚的正翻转只可能引起时序弧终点输出引脚的正翻转,时序弧起点输入引脚的负翻转只可能引起时序弧终点输出引脚的负翻转,“可能”指的是时序弧起点输入引脚的翻转可能并不会导致时序弧终点输出引脚翻转,但在进行时序分析时我们不考虑这种情况,因为工具总是尽可能让信号(翻转)传播下去而不是在中间中断,这也意味着时序分析的结果是悲观的、保守的。例如,一个与门的每个输入引脚到输出引脚的时序弧都是正单调性的,如图1所示。
图1 与门的正单调时序弧
在分析图1的与门中时序弧的时序敏感时,我们会固定非时序弧起点输入引脚的值为一组固定值(对于与门是1),因为只有其他输入引脚的值为1,才能使时序弧起点输入引脚的翻转传播到时序弧终点输出引脚,否则(当其他输入引脚的值存在0)输出会直接固定为0。对于与门的每一个引脚都应该这样分析,从这个例子中我们也可以看出,在根据时序弧进行时序分析时,不会考虑多个输入引脚同时翻转的情况(这很显然,因为一条时序弧中不会包含两个输入引脚,而时序路径由时序弧组成,自然也就无法分析多个输入引脚同时翻转了)。如果与门的例子明白了,那么对于或门时序弧的分析也是同理,它也是正单调性的,且会固定非时序弧起点输入引脚的值为0,原因也是为了让翻转传播。
一个时序弧的负单调性指的是,当不是时序弧起点的其他输入引脚的信号值固定为某一组特定值时,时序弧起点输入引脚的正翻转只可能引起时序弧终点输出引脚的负翻转,时序弧起点输入引脚的负翻转只可能引起时序弧终点输出引脚的正翻转。例如,与非门和或非门的每个输入引脚到输出引脚的时序弧都是负单调性的,如图2所示。
图2 或非门的负单调时序弧
就如正单调性一样, 在分析与非门的时序敏感时会固定非时序弧起点输入引脚的值为1,在分析与非门的时序敏感时会固定非时序弧起点输入引脚的值为0(如图2所示),这都是为了翻转的传播。
一个时序弧的非单调性指的是,当不是时序弧起点的其他输入引脚的信号值固定为某一组特定值时,这个时序弧可能是正单调的也可能是负单调的,这取决于特定的不是时序弧起点的其他引脚的信号取值。也许这个解释比较晦涩难懂,下面将举例说明。
一个异或门的每个输入引脚到输出引脚的时序弧都是非单调性的,如图3所示。
图3 异或门的非单调时序弧
对于两输入异或门而言,当不是时序弧起点的另一个引脚值固定为1时,该时序弧是负单调;当不是时序弧起点的另一个引脚值固定为0时,该时序弧是正单调。在对这种元器件进行分析时,常常使用状态相关的时序模型,这在之后的文章中会进行解释。
我们再举最后一个非单调性的例子,一个二选一数据选择器的选择输入引脚Sel到输出的时序弧是非单调性的。假设Sel为1选择A输入,Sel为0选择B输入。当A输入引脚值固定为0,B输入引脚值固定为1时,Sel输入引脚的正翻转(从选择B输出到选择A输出)会导致输出引脚的负翻转,Sel输入引脚的负翻转(从选择A输出到选择B输出)会导致输出引脚的正翻转,即体现负单调性;当A输入引脚值固定为1,B输入引脚值固定为0时,Sel输入引脚的正翻转(从选择B输出到选择A输出)会导致输出引脚的正翻转,Sel输入引脚的负翻转(从选择A输出到选择B输出)会导致输出引脚的负翻转,即体现正单调性。对于其他A、B的取值情况,Sel输入引脚的翻转不会导致输出翻转,所以不在考虑范围内。
综上所述,一个时序弧的时序敏感指的是输出翻转和输入翻转的关系:如果时序弧起点输入引脚的正翻转只可能引起时序弧终点输出引脚的正翻转,时序弧起点输入引脚的负翻转只可能引起时序弧终点输出引脚的负翻转,则这段时序弧是正单调的;如果时序弧起点输入引脚的正翻转只可能引起时序弧终点输出引脚的负翻转,时序弧起点输入引脚的负翻转只可能引起时序弧终点输出引脚的正翻转,则这段时序弧是负单调的;如果某些情况下,时序弧起点输入引脚的正翻转可能引起时序弧终点输出引脚的正或负翻转,时序弧起点输入引脚的负翻转可能引起时序弧终点输出引脚的负或正翻转,即可能是正单调的也可能是负单调的,则这段时序弧是非单调的,对这种时序弧时序分析时要进行分类讨论。(注意描述中的”可能”二字)