推荐答案
测试一下
题目
Setup 和 hold time 是一个器件固有不变的吗?一般这两个 violation 怎么修?一个时序器件 setup 或者 hold time 可能是负数么,如果可能,举例什么情况下是可能的?
Setup 和 hold time 是一个器件固有不变的吗?
参考答案与知识点
参考答案
Setup和hold time并非绝对不变,它们取决于工艺、电压、温度(PVT)以及内部电路设计,通常作为器件特性给出,但在不同条件下会发生变化。修复setup violation的方法包括:插入缓冲器或优化逻辑以减少组合逻辑延迟、降低时钟频率、使用更快的工艺或调整时钟偏斜(如将时钟延迟到更晚的沿)。修复hold violation的方法包括:插入延迟缓冲器以增加数据路径延迟、优化时钟树使时钟更早到达、调整时钟相位或使用延迟单元。一个时序器件的setup或hold time可以是负数。例如,在标准单元库中,当内部触发器的时钟端通过较长的缓冲路径传递时,外部参考的时钟沿相对于内部时钟沿会有延迟。此时,外部数据信号在外部时钟沿之后变化仍能满足内部建立时间,从而表现为负的setup时间。典型的例子是:芯片输入接口的setup要求可能为负,因为内部时钟树延迟使得外部时钟沿晚于内部采样点;或者在某些高速双沿采样电路中,由于内部时钟分相,数据相对于时钟的窗口可能偏移。负数时间并不是说器件内部时序要求为负,而是表示相对于外部参考点的等效时序约束。
涉及知识点
- Setup/hold time受PVT影响并非绝对不变
- Setup violation修复:降频、减路径延迟、调整时钟偏斜
- Hold violation修复:加延迟单元、调整时钟相位
- 负数setup/hold time的含义与成因
- 外部接口参考点不同导致的等效负数时序