微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > set up time的问题

set up time的问题

时间:10-02 整理:3721RD 点击:
以下我是从一个博客上copy来的,大家看看对set up time理解有没有问题?我现在有点糊涂了。
Tclk= Frequency of operation (can be variable)
Tcq= Flop clock to Flop q delay (fixed/constant)
Tcomb= Delay on the combinational logic between the Flops (can be variable)
Tsetup= Setup time of a Flop (fixed/constant)
Thold= Hold time of a Flop (fixed/constant)
Tskew= Delay between clock edges of two adjacent flops (delay offered by clock path) (can be variable)

一、首先来看setup time,其正常工作要满足的公式为
Tclk > Tcq + Tcomb + Tsetup - Tskew
如果出现了setup violation那么就意味着上面的公式变成了
Tclk < Tcq + Tcomb + Tsetup - Tskew

怎么啦建立时间违规,一般就是寄存器间组合逻辑电路延迟太大(Tcomb),导致右边式子增大了啊;更精确的说就是建立时序余量<0,即Laucn edge发出的数据到达时间(data arrival time)太晚,比Latch Edge的时钟要求时间(data required time)要晚。

意思就是说当我把set_clock_uncertainty 的值增大就代表我这个设计降频了?

说反了,uncertainty越大,一个周期里可用的时间就短了,相同于升频了

根据我贴出来那个公式理解,我就觉得是unc增大,就相当于降频,你再帮我理一理,我感觉有点乱了。

unc就是上面那个Tskew

没必要盲目的记公式,要理解,uncentainty相当于变化部分,变化部分加大了。 那么时钟周期内稳定可用部分的时间变少了。相当于升频约束

你最好还是按照timing path来进行分析更好理解一点,没必要按照上面的公式计算,上面的公式写的有些模棱两可,比如
Tclk= Frequency of operation 这里写的是clk的频率, Tclk应该是周期才对,频率的倒数.
Tskew= Delay between clock edges of two adjacent flops 这里写的有点笼统,两个相邻FF的clk 沿的差值,两个相邻的FF?谁是减数,谁是被减数,放在公式里还是有点区别的,
所以先不要在意这些公式, 按照timing path来分析才最准确.

uncentainty是给设计留margin的,setup的uncentainty增大意味着约束更加紧,留给组合逻辑的时间更少,相当于提高频率。你博客的公式是错的,应该改成 Tclk > Tcq + Tcomb + Tsetup + Tskew

楼上正解!

10楼正解

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top