推荐答案
测试一下
题目
对于timing check,说法错误的是
A hold time可以是负数
B 用$setuphold可以检查setup和hold time
C setup time不可以是负数
D hold time表示时钟有效沿到来之前多久,数据data就需要保持稳定的时间
参考答案与知识点
参考答案
错误说法是D。解析:hold time指的是时钟有效沿之后数据需要保持稳定的时间,而不是之前。D选项错误地将hold time描述为时钟有效沿之前,实际上这是setup time的定义。A选项正确,hold time可以为负值,表示数据可以在时钟有效沿之后变化,只要满足负的hold time约束(例如数据路径延迟远大于时钟路径延迟时)。B选项正确,$setuphold是SystemVerilog中用于同时检查setup和hold time的系统任务,可以指定负的时序检查值。C选项不正确,setup time理论上也可以是负数,当数据路径延迟大于时钟路径延迟时,允许数据在时钟有效沿之后到达,但需满足建立时间与保持时间的平衡。因此说法错误的是D。
涉及知识点
- setup time定义
- hold time定义
- 负时序余量
- $setuphold系统任务
- 建立时间与保持时间的关系