tag 标签: 多周期路径

相关博文
  • 热度 11
    2017-2-17 09:13
    3087 次阅读|
    0 个评论
    5、多周期路径 建立时间(setup) 多周期路径一般用在比较复杂的逻辑约束中,这些复杂的逻辑根本不可能在一个周期内完成,所以会出现多周期路径,例如有些乘法器就需要多个周期才能完成。 保持时间(hold) 一般而言,保持时间的检查建立在setup检查上,保持时间应该提前于建立时间1T(工具进行sta检查的时候就是如此,),所以应该有如下图的检查关系。 但是上图的hold检查点(要是launch点)是不对的,想象一下上图的uff1变成uff0频率的1/3,hold的检查点应该前移2T。所以检查点更新为clk1的第一个上升沿。 上面的约束3代表当前的多周期是3个周期,2代表当前的hold检查点再默认的检查点往前移动2个点,之所以做这样的设定是因为工具是默认launch沿后的1个T是默认setup检查点,setup检查点的前1T是默认hold检查点。如果变成了多周期,工具是不知道当前的是多周期路径,所以你要告诉它当前的多周期是多少,也就是setup检查点更新到了哪里,hold的点更新到了哪里。
  • 热度 21
    2016-4-24 17:27
    1137 次阅读|
    0 个评论
    5 、多周期路径 建立时间( setup ) 多周期路径一般用在比较复杂的逻辑约束中,这些复杂的逻辑根本不可能在一个周期内完成,所以会出现多周期路径,例如有些乘法器就需要多个周期才能完成。 保持时间( hold ) 一般而言,保持时间的检查建立在 setup 检查上,保持时间应该提前于建立时间 1T (工具进行 sta 检查的时候就是如此,),所以应该有如下图的检查关系。   但是上图的 hold 检查点(要是 launch 点)是不对的,想象一下上图的 uff1 变成 uff0 频率的 1/3 , hold 的检查点应该前移 2T 。所以检查点更新为 clk1 的第一个上升沿。 上面的约束 3 代表当前的多周期是 3 个周期, 2 代表当前的 hold 检查点再默认的检查点往前移动 2 个点,之所以做这样的设定是因为工具是默认 launch 沿后的 1 个 T 是默认 setup 检查点, setup 检查点的前 1T 是默认 hold 检查点。如果变成了多周期,工具是不知道当前的是多周期路径,所以你要告诉它当前的多周期是多少,也就是 setup 检查点更新到了哪里, hold 的点更新到了哪里。