微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 建立保持时间余量的计算问题

建立保持时间余量的计算问题

时间:10-02 整理:3721RD 点击:
最近做一道面试题,如下:


答案的计算是:
Tsu slack=(2T+T C3 max—Tsu max)-(T F1 cq max+T L1 max)=0.5
而我觉得最坏的情况是:
Tsu slack=(2T+T C3 min—Tsu max)-(T F1 cq max+T L1 max)=0.2
类似的,我算的T hd slack 也和答案不一样。
求教各位大神!

我也觉得你说的更对

setup就看max不回去看min



   那是不是Tsu的计算都用max,Thd的计算都用min?



   你的计算方式类似于PT的OCV分析,那个参考答案类似于PT的bc_wc分析方式。



分析setup时,使用做大延迟来做;   分析hold时,使用最小延迟来做。

因为具体delay时间,是与工艺,温度,电压有关系的。
setup是分析最大延迟路径,而最大延迟是发生在特定的条件下,
在该条件下,大家都是最大延迟所以要用max,都是max。

但是感觉应该做不到所有的都是最大,只能说是统计上都满足吧~



    是的

首先,我们要理解max,min的含义:
  1. max:通常指foundry提供的db,lib中ss(worst)这种情况,即:工作电压最低,工作温度最高时的延时,我们也正是运用此corner来计算setup冗余,因为此时foundry提供的cell延时最大;
  2. min:通常指foundry提供的db,lib中ff(best)这种情况,即:工作电压最高,工作温度最低时的延时,我们也正是运用此corner来计算hold冗余,因为此时foundry提供的cell延时最小;  3. 我们要知道setup,hold的含义(这里就不作赘述)。
  4. 你要知道这些cell都是在相同电压和温度下工作的,所以,延时要是max就都是max,要min就都是min;
所以我们运用max延时计算setup,运用min计算hold,明白这几点,你就知道为什么答案是正确的,你的计算方式是错误的。



谢谢大大!你这么一说,就理解透了。

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

网站地图

Top