Applying Multicycle Exceptions in the TimeQuest Timing AnalyzerAltera Note

  这是一篇关于multicycle exception的Note,文章很详细的介绍了End Multicycle Setup,End Multicycle Hold,

Start Multicycle Setup,Start Multicycle Hold之间的区别,并给出了比较详细的例子。

1.基本概念

  • Multicycle Setup:建立关系(setup relationship)定义为latch edge 与 launch edge之间的一系列时钟周期,表达式是latch edge-launch edge。

Setup slack=latch edge+Tclk2-Tsu-(launch edge+Tclk1+Tco+Tdata)

=(latch edge-lanuch edge)+(Tclk2-Tclk1)-(Tsu+Tco+Tdata)

下面这个公式值得注意:

setup check = current latch edge – closest previous launch edge

这个公式是对单周期的分析来说的,多周期只是在latch edge 与 previous launch edge之间插入需要的周期,为了方便以后的说明,定义如下几个缩写:

EMS右移目的时钟的latch edge,SMS左移源时钟的launch edge,但是这样在报告Setup或Hold关系时就会出现负值,

TimeQuest Timing Analyzer不支持负值,它是通过波形的整体右移来解决这个问题。注意对比图3与图4.

Multicycle Hold:hold relationship定义为launch edge and latch edge之间的一系列时钟,表达式是Launch Edge – Latch Edge。

TimeQuest Timing Analyzer进行两种Hold 检查:一种检查当前的launch edge是否被前一latch edge捕获;

一种检查下一launch edge是否被当前的latch edge捕获,公式如下:

Hold check 1 = current launch edge – previous latch edge

Hold check 2 = next launch edge – current latch edge

 

对于单周期时序分析来说,launch edge – latch edge = 0 clock cycles。

 

EMH左移目的时钟的latch edge,TimeQuest Timing Analyzer不支持负值,它是通过波形的整体右移来解决这个问题,SMH右移源时钟的launch edge。

 

 

 

 

 

原文地址:https://www.cnblogs.com/woshitianma/p/2890764.html