← 集成电路基础测试题

推荐答案 测试一下

请说明setup/hold time violation ,并画图说明(10 分)

问答题 中等 经典问答问答题

参考答案

建立时间(setup time)是指数据在时钟有效沿到来之前必须保持稳定的最短时间,保持时间(hold time)是指数据在时钟有效沿之后必须保持稳定的最短时间。建立时间违例(setup violation)指数据在时钟沿到来之前未能提前达到稳定,导致无法正确捕获;保持时间违例(hold violation)指数据在时钟沿之后过快变化,导致采样数据出错。 图1:理想时序示意图。时钟clk上升沿,数据D在setup time窗口内稳定,hold time窗口内仍稳定,输出Q正确。 图2:setup violation。数据D在clock上升沿前变化太晚,setup time窗口内不稳定,导致Q可能出现亚稳态或错误值。 图3:hold violation。数据D在clock上升沿后变化太早,hold time窗口内不稳定,同样导致Q出错。 产生违例的原因:setup violation多由组合逻辑路径过长、时钟频率过高、时钟偏斜(skew)过大引起;hold violation多由组合逻辑延迟过短、时钟偏斜过大(如时钟树不平衡)导致数据过快传播。 修复方法:setup violation可通过降低时钟频率、插入流水线、优化组合逻辑、减少路径延迟、减小时钟偏斜等解决;hold violation可通过增加缓冲器延迟、插入延迟单元、调整时钟偏斜(如人为增加数据路径延迟)等解决。 画图说明:需绘制三个时间轴对齐的波形图,标注clock上升沿、setup time窗口、hold time窗口、数据变化边沿。第一个图显示数据边沿在setup window前稳定且持续至hold window后;第二个图显示数据边沿进入setup window内;第三个图显示数据边沿在hold window内变化。

涉及知识点

  • 建立时间(setup time)定义
  • 保持时间(hold time)定义
  • 时序违例原因与修复方法
  • 时序图绘制要点
← 上一题
登录后反馈错题