← 2022 · 小米 笔试

推荐答案 测试一下

当一个乘法器需要10个cycle才能完成计算任务,对其需要设置multicycle,setup会设置为10,hold设置为()

A.9 B.不需要设置 C.10 D.1
单选题 中等 笔试真题单选

参考答案

正确选项为A.9。 在静态时序分析中,对于多周期路径(multicycle path),通常需要同时设置setup和hold的多周期约束。其核心规则是:若路径需要N个时钟周期完成数据传播(即数据在launch沿之后N个时钟周期才被捕获),则setup的multicycle应设置为N,而hold的multicycle应设置为N-1。 理由如下: - **setup检查**:默认情况下,setup检查是相对于launch沿的下一个时钟上升沿。当路径需要多个周期时,需要将捕获沿向后推迟N-1个周期,因此setup multicycle设为N(等效于将捕获沿移到launch沿之后的第N个时钟沿)。 - **hold检查**:默认hold检查是相对于同一个launch沿的同一时钟沿(即launch沿之后的第一个时钟沿)。如果只修改setup而不调整hold,hold检查仍会在launch沿之后的第一个时钟沿进行,此时数据尚未稳定(因为路径需10个周期),导致违例。因此,需要将hold检查也向后推迟N-1个周期,即hold multicycle设为N-1,使得hold检查在launch沿之后的第N-1个时钟沿进行(此时数据已稳定,且与新的capture沿保持合适的相对关系)。 本题中乘法器需要10个cycle,故setup设为10,hold应设为9。 易错点: - 部分考生误以为hold不需要设置或与setup相同(选C或D); - 混淆了setup和hold的multicycle含义,错误认为hold应为1(选D)。 - 实际上,如果只设置setup而不设置hold,工具默认hold multicycle为0,会导致hold检查过于严格,必须显式指定hold为N-1。

涉及知识点

  • 多周期路径(multicycle path)概念
  • setup和hold的多周期约束规则
  • 静态时序分析中捕获沿的调整原理
  • 默认hold检查与multicycle设置的关系
  • 常见错误:hold multicycle设置错误
登录后反馈错题
下一题 →