原创 Multicycle Exceptions基本用法

2009-2-15 14:51 6538 6 10 分类: FPGA/CPLD

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


部分内容译自Altera应用笔记


AN 481: Applying Multicycle Exceptions in the TimeQuest Timing Analyzer


 


多周期建立时间     Multicycle Setup


建立时间关系(setup relationship)被定义为在发射沿(launch edge)和锁存沿(latch edge)之间一定数量的时钟周期数(Latch Edge – Launch Edge)。对于每个寄存器到寄存器(register-to-register)的路径,TimeQuest Timing Analyzer 会计算该路径的建立时间余量。建立时间余量的计算如公式1Equation 1)所示。


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


点击看大图 


当执行建立时间检查时,距离目的寄存器的 latch edge 最近的那个源时钟launch edge 即为该路径检查的 launch edge


特权同学刚郁闷了为什么在一个reg2pin的分析中,使用20nssource clk和一个8nsdestination clk(virtual clk)进行output delay分析时,竟然出现了launch edge = 20nslatch edge = 24ns的奇怪现象。按常理想,我觉得应该分别是launch edge = 0nslatch edge = 8ns才对啊。呵呵,这里给出了解答。因为对于一个20ns的源时钟和一个8ns的目的时钟来说,如果我们把他们的0起点对齐,就会发现每个8ns时刻(比如8ns,16ns,24ns,32ns,40ns为一个循环周期)寻找它们最近的一个源时钟(比如0ns,20ns为一个循环周期),那么一定发现目的时钟的24ns和源时钟的20ns是最近的,TimeQuest Timing Analyzer在默认情况下就是如此寻找两个edge的,那么在对于这样的不同频率的时钟进行路径分析时大家可要注意了。


setup check =  current latch edge  -  closest previous launch edge


而一个多周期建立时间(multicycle setup),其建立时间检查将有所不同。


默认情况下,TimeQuest Timing Analyzer执行单周期建立时间分析,这将导致建立时间关系(setup relationship)总是等于一个时钟周期(Latch Edge – Launch Edge)。通过多周期建立时间值(multicycle setup value)添加到设计约束中,建立时间关系(setup relationship)将会得到增强——或者说是缓解。


EMSEnd Multicycle Setup)模式通过默认锁存沿的右移修改了目的时钟的锁存沿,Figure 2展示了各种EMS值及其相应的锁存沿。



点击看大图 


EMS值(时钟周期数量)为锁存沿相对发射沿的右移时钟周期个数。


SMSStart Multicycle Setup)模式是通过左移默认源时钟的锁存沿。Figure 3显示了各种SMS值及其相应的发射沿。



点击看大图 


       Table 2展示了SDC命令在TimeQuest Timing Analyzer中应用于EMSSMS中。


TimeQuest Timing Analyzer不会报告负的建立时间和保持时间关系。当一个负的建立时间或者负的保持时间被计算在内时,TimeQuest Timing Analyzer移动发射沿和锁存沿以使其满足建立时间和保持时间关系。


Figure 4显示了由TimeQuest报告的Figure 3中的负的建立时间。


乍一看,没太明白上面Figure 3Figure 4都是表示的SMS模式下Launch edgelatch edge的关系,但是为什么又有所不同。其实仔细看资料,发现F3是实际的一种SMS模式时钟沿变化的一种情况,而F4则是TimerQuest分析中的一个模型。



点击看大图 



点击看大图 


多周期保持时间     Multicycle Hold


保持时间关系(hold relationship)被定义为在发射沿和锁存沿之间一定数量的时钟周期数(Launch Edge – Latch Edge)。对于每个寄存器到寄存器路径而言, TimeQuest Timing Analyzer会为其计算保持时间余量。保持时间余量的计算参看Equation 2



点击看大图 


The TimeQuest Timing Analyzer执行两个保持时间检查。第一次保持时间检查用于确定当前发射沿的数据不会被前一个锁存沿捕获。第二个保持时间检查用于确定下一个发射沿的数据不会被当前锁存沿捕获。


hold check 1 = current launch edge  -  previous latch edge


hold check 2 = next launch edge  -  current latch edge


TimeQuest Timing Analyzer为每个可能的建立时间执行保持时间检查,而不只是最坏的建立时间关系。然而,只有最坏的时间关系会被报告。


如果一个保持时间检查和建立时间检查重叠了,那么保持时间检查将被忽略。


通常情况下,对于单一周期的保持时间分析,保持时间关系被定义为Equation 3



点击看大图 


保持时间关系也是指在发射沿和锁存沿之间的一定数量的时钟周期。正如建立时间的分析,TimeQuest Timing Analyzer默认进行单周期的保持时间分析。如果你的实际有多周期关系,应用多周期命令分配放宽被作为单周期保持时间计算的保持时间关系。多周期保持时间通过添加多个指定时钟周期放宽了保持时间余量等式。


EMH左移默认的锁存沿。Figure 6展示了各钟EMH值及其相应的锁存沿。



点击看大图 


TimeQuest Timing Analyzer不会报告负的建立时间和保持时间关系。当计算到一个负的建立时间或者保持时间关系时,TimeQuest Timing Analyzer移动锁存沿和发射沿以满足建立和保持时间关系。


Figure 6展示了由TimeQuest Timing Analyzer报告的Figure 5中负的保持时间对应的保持时间关系。



点击看大图 


SMH右移默认发射沿对应的锁存沿。Figure 7展示了各种SMH值及其对应的发射沿。



点击看大图 


Table 3展示了EMHSMH应用在TimeQuest Timing Analyzer中的SDC命令。



点击看大图 


 


 


 

文章评论4条评论)

登录后参与讨论

用户377235 2012-10-27 22:02

有没有自己做过得电路,并测试通过的电路发上来,供大家学习一下

用户1638247 2011-7-16 15:41

SMH右移默认发射沿对应的锁存沿还是右移默认锁存对应的发射沿? 照图上的理解不对,还是我理解错了?

coyoo 2009-8-12 09:53

是啊,f2和f4显示的都是launch edge固定,而latch edge在右移?!!

ilove314_323192455 2009-8-11 18:37

EMS(End Multicycle Setup)模式通过默认锁存沿的右移修改了目的时钟的锁存沿,SMS(Start Multicycle Setup)模式是通过左移默认源时钟的锁存沿。所以你仔细看时序分析的latch edge和launch edge,不一样的。

coyoo 2009-8-11 15:54

感觉figure4和figure2表达的是一个意思吗,为什么一个是SMS而另一个确实EMS?
相关推荐阅读
特权ilove314 2016-06-30 21:16
例说FPGA连载6:FPGA开发所需的技能
例说FPGA连载6:FPGA开发所需的技能 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   前面的文字已经做了很多铺垫,相信读...
特权ilove314 2016-06-28 21:09
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-28 21:05
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-26 22:11
例说FPGA连载4:FPGA语言与厂商介绍
例说FPGA连载4:FPGA语言与厂商介绍 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   Verilog与VHDL 说到FP...
特权ilove314 2016-06-23 21:26
例说FPGA连载3:FPGA与其它主流芯片的比较
例说FPGA连载3:FPGA与其它主流芯片的比较 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   FPGA、ASIC和ASSP...
特权ilove314 2016-06-21 20:32
例说FPGA连载2:FPGA是什么
例说FPGA连载2:FPGA是什么 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   2015年伊始,Intel欲出资百亿美金收...
EE直播间
更多
我要评论
4
6
关闭 站长推荐上一条 /4 下一条